public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.DFM}
procedure TForm2.Button1Click(Sender: TObject);
// кнопка завершения ввода пароля
begin
If Edit1.Text = 'не знаю' then begin
with Form1 do begin
Edit1.Visible:= True; N6.Enabled:= True;
Button1.Visible:= True; Button2.Visible:= True;
Button3.Visible:= True; Button4.Visible:= True;
Form2.Visible:= False;
end; end;
end;
procedure TForm2.FormActivate(Sender: TObject);
begin
Edit1.Text:= '';
end;
end.
2.3. Текстовый редактор
2.3. Графический редактор
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ExtDlgs, ExtCtrls, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
Label5: TLabel;
SpeedButton4: TSpeedButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N01: TMenuItem;
N11: TMenuItem;
N21: TMenuItem;
ColorDialog1: TColorDialog;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Label3: TLabel;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Image1: TImage;
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure N2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure N01Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
![]() |
![]() |
var
Form1: TForm1;
F: String; // объявите переменные
PictureChange, NewLine, Frame_Yes : Boolean;
Bitmap : TBitMap;
X0,Y0: Integer;
implementation
{$R *.DFM}
procedure TForm1.N4Click(Sender: TObject); // открыть
begin
if PictureChange then N6Click(Sender);
Bitmap := TBitmap. Create;
if OpenDialog1.Execute then begin
F:= OpenDialog1.Filename;
Bitmap. LoadFromFile(F);
Image1.Canvas. Draw(0,0,Bitmap); end;
end;
procedure TForm1.N5Click(Sender: TObject);
// закрыть (недоработано)
begin
if PictureChange then N6Click(Sender);
end;
procedure TForm1.N6Click(Sender: TObject); // сохранить
begin
if SaveDialog1.Execute then
Image1.Picture. SaveToFile(SaveDialog1.Filename);
end;
procedure TForm1.N7Click(Sender: TObject); // выход
begin
Close;
end;
// активизация формы
procedure TForm1.FormActivate(Sender: TObject);
begin
PictureChange:= False; NewLine:= True; Frame_Yes:= False;
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); // мышка нажата
begin
PictureChange:= True;
if NewLine then begin
Image1.Canvas. MoveTo(X, Y);
NewLine:= False; end;
if SpeedButton1.Down and (button = mbLeft) and not NewLine then
Image1.Canvas. LineTo(X, Y);
if button = mbRight then NewLine:= true;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); // мышь движется
begin
Label3.Caption:= IntToStr(X);
Label4.Caption:= IntToStr(Y);
if SpeedButton2.Down then begin
if ssLeft in Shift then Image1.Canvas. LineTo(X, Y)
else Image1.Canvas. MoveTo(X, Y);
end;
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); // кнопка мыши отпущена
begin
if SpeedButton3.Down then
Image1.Canvas. FloodFill(X, Y,Image1.Canvas. Pixels[X, Y],fsSurface);
if SpeedButton4.Down then begin
Label5.Color:= Image1.Canvas. Pixels[X, Y];
Image1.Canvas. Pen. Color:= Label5.Color;
Image1.Canvas. Brush. Color:= Label5.Color;
end;
end;
procedure TForm1.N2Click(Sender: TObject);
// цвет
begin
if ColorDialog1.Execute
then begin Label5.Color:= ColorDialog1.Color;
Image1.Canvas. Pen. Color:= Label5.Color;
Image1.Canvas. Brush. Color:= Label5.Color;
end;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject); // ломаная
begin
SpeedButton1.Down:= True; NewLine:= true;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject); // карандаш
begin
SpeedButton2.Down:= True; NewLine:= true;
end;
procedure TForm1.N01Click(Sender: TObject); // толщина 0
begin
Image1.Canvas. Pen. Width:= 1;
end;
procedure TForm1.N11Click(Sender: TObject); // толщина 1
begin
Image1.Canvas. Pen. Width:= 3;
end;
procedure TForm1.N21Click(Sender: TObject); // толщина 2
begin
Image1.Canvas. Pen. Width:= 9;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject); // заливка
begin
SpeedButton3.Down:= True; NewLine:= true;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject); // пипетка
begin
SpeedButton4.Down:= True; NewLine:= true;
end;
procedure TForm1.FormDestroy(Sender: TObject); // закрытие формы
begin
Bitmap. Free;
end;
end.
2.4. Запуск из приложения других программ
unit WinExec1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ShellAPI;
type
TForm1 = class(TForm)
Label1: TLabel;
BitBtn1: TBitBtn;
OpenDialog1: TOpenDialog;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;

implementation
{$R *.DFM}
procedure TForm1.BitBtn1Click(Sender: TObject);
var i: word;
PName, POperation: array [0..79] of char;
begin
if RadioButton1.Checked then begin
// Пример использования метода WinExec:
if (OpenDialog1.Execute) then
begin
StrPCopy(PName, OpenDialog1.FileName);
i:= WinExec(PName, SW_RESTORE); // - запуск приложения
Case i of // вывод сообщений о возможных конфликтах:
0: ShowMessage('Не хватает памяти или ресурсов!');
ERROR_BAD_FORMAT: ShowMessage('Ошибочный файл ' + PName);
ERROR_PATH_NOT_FOUND: ShowMessage('Не найдена папка ' +
ExtractFilePath(OpenDialog1.FileName));
ERROR_FILE_NOT_FOUND: ShowMessage('Не найден файл ' + PName);
end;
end;
end else begin
// Вместо WinExec можно применять более "богатую" функцию
// ShellExecute:
// Для этого надо добавить в Uses - ShellAPI
// Примеры:
// Печать документа из Word:
// POperation:= 'Print'; PName:= 'WordFile. doc';
// ShellExecute(Handle, POperation, PName, nil, nil, SW_RESTORE);
// Запуск калькулятора:
// POperation:= 'Open'; PName:= 'Calc';
// ShellExecute(Handle, POperation, PName, nil, nil, SW_RESTORE);
// Открытие папки c:\Program Files:
POperation:= 'Explore'; PName:= 'c:\Program Files';
ShellExecute(Handle, POperation, PName, nil, nil, SW_RESTORE);
end;
end;
end.
2.5. Динамическая вставка компонентов
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 |




