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