Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Interface




Interface

Uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms, Dialogs;

Type

TForm1 = class(TForm)

Private

{ Private declarations }

Public

{ Public declarations }

end;

Var

Form1: TForm1;

Implementation

{$R *.dfm}

end.

 

var

Form1 : TForm1;

 

Button1: TButton;

 

. .

Type

TForm1 = class(TForm)

Button1: TButton;

Private

{ Private declarations }

. .

 

 

<название компонента>:<класс компонента>;

 

{$R *.DFM}

 

 

Tools/Environment Options

Preferences

Editors files,

Ö
Project Desktop

 

Рис. 17

- properties (свойства);

- events (события).

Properties   Events
Название свойства Значение свойства   Название события Имя подпрограммы, обрабатывающей событие
         

 

 

<название><значение>

 

 

Color

Width

Height

 

 

· простые;

· перечисляемые:

· сложные (множественные);

· объекты.

 

 

q visible

 

+

 

 

 
 

 


<Object>.Color := Value;

GetColor, SetCoLor

 

Рис. 18

 
 

 

 


Листинг 19

program Project1;

Uses

Forms, Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

Begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

 

Project/View Source

 

 

Tools/Image Editor

 

Form2.Edit1.Clear

 

Color := clFuchsia Û Form1.Color := clFuchsia

 

 

Uses

 

Project/Options

Application

.ico

 

File/Save All

 

 

 
 

 

 


F9

Ctrl/F9

 

Run/ProgramReset Þ Ctrl/F2

 

Caption

Delphi 4 170, Delphi 5 - 200, Delphi 6 – 227

 

TLabel

 

 

Font

Size

Color

Style

 

 
 

 

 
 

 


OnClick

 

Листинг 20

Type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

….

end;

 

procedure TForm1.Button1Click(Sender: TObject);

Begin

. . .

end;

 

Button1.сaption := "Запуск расчета";

 

 

Ctrl/J

 

Sender:Tobject

 

 

onCreate, onMouseMove, onPaint

 

procedure TForml.Label1Click(Sender: TObject);

Begin

end;

 

position Þ poScreenCenter

Рис. 19

 

 

TForm

TMemo

TLabel

TEdit

TBitBtn

 

 

caption

height

width

name

 

 

align

® alBottom

® alLeft

® alTop

® alRight

® alClient

® alCustom

® alNone

 

 

 
 
ÖOK

 


Additional Þ TBitBtn

 

Kind

- OK;

- Close;

- Cancel;

- Help и др.

 

abI


TEdit

 

 
 
А

 


TLabel

 

 

TMemo

- lines

- text

- scrollBars:

® ssNone

® ssVertical

® ssHorizontal

® ssBoth

- WordWrap:boolean

 

FfhhjhVcvv

hjjkkjk

 

Листинг 21

procedure TfmExample.bbRunClick(Sender:ТObject);

Begin

lbOutput.Caption := edInput.Text;

mmOutput.Lines.Add(edInput.Text);

edInput.Text := '';

edInput.SetFocus;

end;

 

OnActivate OnCreate

 

Events

 

procedure TfmExample.FormActivate(sender:TObject);

begin

edInput.SetFocus;

end;

 

 

Form1.ActivateControl := BitBtn1;

 

Рис. 20

 

 

Additional -> TMaskEdit

EditMask

 

Рис. 21

 

- name → bbResult;

- visible → false.

 

var

x, y:integer;

 

Листинг 22

OnActivate

procedure TfmExample.FormActivate(sender:TObject);

Begin

edInput.SetFocus;

lbOutput.Caption := 'Введите первый опреранд';

end;

 

 

Листинг 23

procedure TfmExample.bbRunClick(Sender:TObject);

Begin

x := strToInt(Trim(edInput.Text)); //преобразование в число первого операнда

mmOutput.Lines.Add('1-ый операнд: '+ edInput.Text);

edInput.Text := '';

edInput.SetFocus;

mmOutput.Caption := 'Введите 2-ый операнд';

bbResult.Show;

bbRun.Hide;

end;

 

Листинг 24

procedure TfmExample.bbResultClick(Sender:TObject);

Begin

y := strToInt(Trim(edInput.Text)); //второй операнд преобразуется в число

mmOutput.Lines.Add('2-ой операнд: '+ edInput.Text);

mmOutput.Lines.Add('Результат: '+ IntToStr(x) + ' ' + IntToStr(y) + '=' + IntToStr(x + y)); //вычисляем и показываем результат

edInput.Text := ''; //очищаем строку ввода

edInput.SetFocus;

lbOutput.Caption := 'Введите первый операнд'; //приглашение к вводу первого операнда

bbResult.Hide;

bbRun.Show;

end;

 

„ Trim - удаляет из вводимой строки обрамляющие пробелы;

„ StrToInt - преобразует строку символов в целое число;

„ IntToStr – производит обратное преобразование.

\

 

Visible:boolean

visible := true

 

 

Hide Show

 

if edInput.Text = '' then

Exit;

 

 

Листинг 25

procedure TfmExample.bbRunClick(Sender:TObject);

Var

i, n, sum:integer;

Begin

if edInput.Text = '' then

exit;

n := strToInt(Trim(edInput.Text));

edInput.Text := '';

edInput.SetFocus

sum := 0;

for i := 1 to n do

sum := sum + i;

mmOutput.Lines.Add('сумма всех чисел в диапазоне 1..'+ IntToStr(n) + 'равна' + IntToStr(Sum));

end;

 

Листинг 26

procedure TfmExample.FormActivate(sender:TObject);

Begin

edInput.SetFocus;

lbOutput.Caption := 'Введите исходное целое число';

end;

 

 

Рис. 22

 

TListBox

 

 

StringList Editor

 

+

-

*

/

 

ItemIndex

 

 

ItemIndex := -1

 

Листинг 27

procedure TfmExample.bbRunClick(Sender:TObject);

Var

x, y, z:real;

Begin

if(edInput1.Text = '') or (edInput2.Text = '') or (lbSign.ItemIndex < 0) then

Begin

beep;

lbOutput.Caption := 'Не все требуемые параметры введены'

End

Else

Begin

Try

x := strToFloat(Trim(edInput1.Text));

Except

ShowMessage('Ошибочная запись числа: '+ edInput1.Text);

edInput1.SetFocus;

Exit

end;

Try

y := strToFloat(Trim(edInput2.Text));

Except

ShowMessage('Ошибочная запись числа: '+ edInput2.Text);

edInput2.SetFocus;

Exit

end;

case lbSign.ItemIndex of

0: z := x + y;

1: z := x - y;

2: z := x * y;

3: try

z := x/y;

Except

z := 1.1e38;

end;

end;

lbOutput.Caption := Trim(edInput1.Text) + ' ' + lbSign.Items[lbSign.Item-Index] + Trim(edInput2.Text) + ' = ';

if z > 1.1e38 then

lbOutput.Caption := lbOutput.Caption + 'бесконечность'

Else

lbOutput.Caption := lbOutput.Caption + FloatTostr(z);

edInput1.Text := '';

edInput2.Text := '';

lbSign.ItemIndex := -1;

end;

end;

Листинг 28

procedure TfmExample.FormActivate(sender:TObject);

Begin

edInput1.SetFocus;

lbSign.ItemIndex := -1;

lbOutput.Caption := 'Введите исходные данные';

end;

SmallInt -32768 .. 32767

Integer -2147483648 .. 2147483647

LongWord 0 .. 4294967295

Int64 -9*1018 .. 9*1018

Cardinal 0 .. 2147483647

 

Currency ± 922 337 203 685 477, 5897

 

«Дата-Время» (TDateTime)

 

1. Date():TDateTime;

2. DateToStr(d:TDateTime):string;

3. DateTimeToStr(d:TDateTime):string;

4. Time: TDateTime;

5. TimeToStr(d:TDateTime):string;

6. DayOfWeek(Date: TDateTime):integer; (1-й день - воскресенье);

7. YearOf(Date: TDateTime): integer;

8. procedure DecodeDate(Date:TDateTime; var Year, Month, Day: Word);

9. procedure DecodeTime(Time:TDateTime; var Hour, Min, Sec, MSec: Word);

10. Now():TDateTime;

 

D := date - 120;

 

 

T := time + StrToTime('1:30');

 

 

Листинг 29

var

A: array of integer;

B: array of array ofreal;

C: array of array of array ofchar;

 

SetLength(<название массива>, <размерность>);

 

SetLength(a, 7);

SetLength(b[2], 9);

SetLength(b[3], 11);

 

A := nil; Finalize(b);

 

Листинг 30

var

v1, v2, v3, v4, v5, v6: variant;

begin

v1 := 2;

v2 := 1234.5678;

v3 := 'пример строки';

v4 := '1000';

v5 := v1 + v2 + v4; // v5 = 2236.5678

 

 

VarType(v: variant):integer;

0 - нет данных;

1 - неизвестный тип;

2 – целый тип SmallInt;

3 – целый тип Integer;

4 – вещественный тип Single;

5 – вещественный тип Double;

6 – вещественный тип Currency;

7 – тип дата/время;

11 – логический тип WordBool;

12 - вариантный массив;

16 – целый тип Byte;

17 – строковый тип и т.д.

 

 

VarToStr(v:variant):string;

 

VarArrayCreate(bounds:array of integer; varType:integer):variant;

 

Листинг 31

var

a: variant;

begin

а := VarArrayCreate([0, 4], 1);

а[0] := 1;

а[1] := 1234.5678;

а[2] := 'здравствуйте';

а[3] := True;

а[4] := VarArrayOf([1, 10, 100, 1000]); {создание и заполнение одномерного массива}

WriteLn(а[2]); {здравствуйте}

WriteLn(а[4][2]); { 100 }

 

 

ShortString

 

 

String

 

 

AssignFile(f, <строка>);

 

 

CloseFile(f);

 

 

 

Menu

 

 

MenuDesigner

 

ОИО Items . . .

 

 

<название формы>.MainMenu1

 

 

 
 

 

 


ОИО Caption

 

Ctrl/→

 

Create Submenu

 

 

ОИО ShortCut

 

-

 

Insert

 

 

Delete

 

 

TMenuItem

 

 

N<номер>

 

Bitmap : TBitmap

 

 

 
 


Break:

 

Checked: Boolean Ö

 

OnClick

 

 

PopupMenu

 

 

AutoPopup:boolean

 

 
 
A

 

 


Caption: text

 

AutoSize: boolean

 

 
 

 


Layout:

 

Transparent: boolean

 

 

WordWrap: boolean

 

abI

 

 

AutoSize: boolean

 

 

 
 

 


CharCase:

 

MaxLength: integer

 

PasswordChar: char

 

 

ReadOnly: boolean

 

SelLength: integer
SelStart: integer
SelText: string

 

OnKeyPress

 

Листинг 32

procedure TForm1.EditKeyPress(Sender:TObject; var Key: char);

Begin

if (Key < '0') or (Key > '9') then

Key := #0; //введенный символ игнорируется

end;

 

Clear
ClearSelection
CopyToClipboard
CutToClipboard
PasteFromClipboard
SelectAll

 

 

TMemo

 

 

Lines:TStrings

 

Memo.Lines.Count

 

 

Text

 

 

TCheckBox

 

 
 
Ö

 

 


Caption

 

 

 
 

 


State:

 

 

Checked: boolean

 

AllowGrayed: Boolean

 

 

Alignment: taLeftJustify / taRightJustify

 

TRadioButton

ž

 

 

Checked

 

 

Caption

 

 

TListBox

 

Columns: LongInt
Items: TStrings
ItemIndex: integer
Selected[i:integer]: boolean
Sorted: boolean

 

 

TComboBox

Рис. 23

 

 

TListBox + TEdit

 

Style = csSimple

 

 

Рис. 24

 
 

 

 


TScrollBar

Рис. 25

 

 

Kind: sbHorizontal / sbVertical
Max
Min
Position

 

 

SetParams(Position, Max, Min: integer)

 

 

OnScroll

 

 

TRadioGroup

 

TRadioButton

 

Caption
Columns
ItemIndex
Items

 

 

TPanel

*

 

Caption

 

TGroupBox

 

 

ADDITIONAL

 

TBitBtn

 

 

Glyph

 

Program Files\Common Files\Borland Shared\Images\Buttons

 

Kind

Рис. 26

? Help X Cancel q Retry X No X Abord All
Ö OK Ö Yes Close Ignore Custom  

 

 

Kind = bkCustom

 

 

TSpeedButton

 

GroupIndex: integer

 

AllowAllUp:boolean

 

Down:boolean

 

 

Flat:boolean

 

 

TMaskEdit

 

EditMask:string

 

IsMasked:boolean

 

<шаблон>;<переключатель 0/1>;<символ-заполнитель>

 

 

L - буква;

l - может быть буква;

А - буква или цифра;

а - может буква или цифра;

С - любой символ;

с - может любой символ;

0 - цифра;

9 - может цифра;

# - может цифра или знаки +, -.

 

 

: - разделитель для часов, минут, секунд;

/ - разделитель полей даты;

; - разделитель частей шаблона;

! - подавляет все ведущие пробелы;

> - следующие за ним все буквы преобразуются в заглавные;

< - следующие за ним все буквы преобразуются в строчные;

<> - отменяются все преобразования букв.

 

 

ХХ-ХХ-ХХ

 

Text:string

 

 

EditText:string

78-15-64

TStringGrid

Рис. 27

RowCount: integer ColCount: integer

FixedRows:integer FixedCols:integer

Height Width

DefaultColWidth 64

DefaultHeight 24

Color

Cells[<столбец>, <строка>]

Form1.StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ‘стол’;

OnKeyDown

Form1.StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := Form1.StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] + Chr(Key).

Selection

Selection.Left, Selection.Top, Selection.Right, Selection.Bottom

 

 

TImage

 

. . .
Picture

 

Image1.Picture.LoadFromFile(‘ ‘);

 

 

Stretch:boolean

 

AutoSize:Boolean

 

 

Transparent:boolean

 

 

TShape

 

Shape := (stRectangle, stSquare, stRoundRect, stRoundSquare, stEllipse, stCircle)

 

 

Pen

 

Brush

 

Color

 

 

Style bsSolid bsClear

 

 

Mode pmBlack pmNotCopy

 

 

Style psClear psSolid psDash

 

Width

 

 

Листинг 33

procedure TForm1.Button1Click(Sender: TObject);

Begin

Shape1.Left := Shape1.Left + 1;

end;

 

Run/Step over (F8)

 

Run/Trace into (F7)

 

 

Run/Run

 

Run/Run to cursor (F4)

 

 

Breakpoint

 

Run/Add Breakpoint/Add Source Breakpoint (F5)

 

 

Рис. 28

 

Рис. 29

 

View/Debug Windows/Breakpoints

 

 

View/Debug Windows/Watches (Ctrl+Alt/W)

 

Рис. 30

 

 

 

Add Watch

 

Expression

 

 

Project/Options

 

Compiler

 

Stopped

 

Error

 

 

Run / Program Reset

 

Листинг 34

 

Try

<операторы, способные вызвать нарушения>

Except

on <тип исключения 1> do <обработчик 1>;

on <тип исключения 2> do <обработчик 2>;

X

on <тип исключения n> do <обработчик n>

[else

<обработчик остальных исключений> ]

end;

 

→ EdivByZero

→ EconvertError

→ EintOverflow

→ EfilerError

 

→ EintOverflow

→ EfilerError

Project/Options

Compiler

 

 

Рис. 31

 


Листинг 35

procedure Form1.Button1Click(Sender:Tobject);

Var

u, r, i: real;

Begin

Try

u := StrToFloat(Form1.Edit1.Text);

r := StrToFloat(Form1.Edit2.Text);

i := u/r;

Except

On EzeroDivide do

Begin

ShowMessage('Не задана величина сопротивления');

exit;

end;

On EconvertError do

Begin

ShowMessage('Исходные величины задаются числами. Десятичный разделитель – запятая');

exit;

end;

end;

Form1.Label4.Caption := FloatToStr(i) + ‘A’;

end;

 

Рис. 32

 
 

 


Листинг 36

procedure Form1.Edit1KeyPress(Sender:Tobject; var Key:Char);

Begin

Case Key of

'0'..'9', chr(8):; //символ появляется в окне редактора, chr(8) – Backspace

‘,’:if pos(‘,’, Edit1.Text)<>0 then

key := chr(0); //игнорируется вторая десятичная запятая

‘-‘:if Length(Edit1.Text)<>0 then

key := chr(0); //игнорируется минус внутри числа

chr(13): Edit2.SetFocus; //передача фокуса во второй редактор при нажатии клавиши Enter

'.': begin

MessageDlg('Десятичный разделитель – запятая', mtInformation, [mbOK], 0);

key := chr(0); //введенный символ игнорируется

End

Else

key := chr(0); //введенные символы игнорируются

end;

end;

 

 

MessageDlg(<сообщение>:string, <тип диалога>:TmsgDlgType, <кнопка>:TmsgDlgButtons; <ссылка на помощь>:longInt);

 

 

 
 


· mtWarning;

· mtError; U

· mtInformation;

· mtConfirmation; ?

· mtCustom

 

TmsgDlgButtons:

· mbYes;

· mbNo;

· mbOk;

· mbCancel;

· mbHelp и др.

 

 

Листинг 37

resp:=MessageDlg('Файл базы данных не найден.' + ‘Создать новую БД?’, mtlnformation,[mbYes,mbNo],0);

if resp = mrYes then begin

 

 

Листинг 38

Type

TForm1 = class(TForm)

Label1: Tlabel; //метка для вывода результата

Label2: Tlabel; //заголовки полей ввода коэффициентов

Edit1: Tedit; // окно ввода коэффициента a

Edit2: Tedit; // окно ввода коэффициента b

Edit3: Tedit; // окно ввода коэффициента c

Button1: Tbutton; // кнопка Вычислить

Button2: Tbutton; // кнопка Очистить

Button3: Tbutton; // кнопка Закрыть

procedure Button1Click(Sender: Tobject);

procedure Button2Click(Sender: Tobject);

procedure Button3Click(Sender: Tobject);

Procedure Edit1KeyPress((Sender:Tobject; var Key:Char);

end;

Var

Form1: TForm1;

 

procedure SqRoot(str1, str2, str3:string: Label1:Tlabel);

Var

a, b, c, d, x1, x2: real;

Begin

if (str1 = ‘’) or (str2 = ‘’) or (str3 = ‘’) then

MessageDlg('Необходимо задать все коэффициенты уравнения', mtWarning, [mbOk], 0)

Else

Begin

A := StrToFloat(str1);

b := StrToFloat(str2);

c := StrToFloat(str3);

if a = 0 then

Begin

Label1.font.color := clRed;

Label1.Caption := 'Коэффициент при второй степени неизвестного равен нулю';

End

Else

Begin

D := sqr(b) – 4 * a * c;

If d < 0 then

Begin

Label1.font.color := clGreen;

Label1.Caption := 'Дискриминант меньше нуля. Уравнение не имеет корней'

End

Else

Begin

X1 := (-b + sqrt(d))/ 2/ a;

X2 := (-b – sqrt(d))/ 2/ a;

Label1.font.color := clBlack;

Label1.Caption := ‘Корни уравнения: ‘+ #13 +’ x1 =’ + FloatToStr(x1) + #13 +’ x2=’ + FloatToStr(x2)

End;

End

End

End;

 

procedure Form1.Edit1KeyPress(Sender:Tobject; var Key:Char);

Var

buf: string[20];

Begin

If Sender = Edit1 then

Buf := Edit1.Text;

If Sender = Edit2 then

Buf := Edit2.Text;

IfSender = Edit3 then

Buf := Edit3.Text;

Case Key of

'0'..'9', chr(8):; //символ просто выводится, т.е. появляется в окне редактора

‘,’:if (pos(‘,’, buf)<>0) or (Length(buf) = 0) or (buf = ‘-‘) then

key := chr(0); //игнорируется вторая десятичная запятая

‘-‘:if Length(buf)<>0 then

key := chr(0); //игнорируется минус внутри числа

chr(13): begin

ifSender = Edit1 then

Edit2.SetFocus;

if Sender = Edit2 then

Edit3.SetFocus;

if Sender = Edit3 then

Begin

Button1.SetFocus;

SqRoot(Edit1, Edit2, Edit3, Label1);

End;

End;

‘.’: begin

MessageDlg(‘Десятичный разделитель – запятая’, mtInformation, [mbOK], 0);

key := chr(0);

End

Else

key := chr(0);

End;

End;

 

Procedure Form1.button2Click(Sender:Tobject);

Begin

Edit1.Text := ‘’;

Edit2.Text := ‘’;

Edit3.Text := ‘’;

Label1.Font.Color := clBlack;

Label1.Caption := ‘’;

Edit1.SetFocus;

end;

 

procedure Form1.Button1Click(Sender:Tobject);

Begin

SqRoot(Edit1, Edit2, Edit3, Label1);

end;

 

procedure Form1.Button3Click(Sender:Tobject);

Begin

Form1.Close;

end;

 

 

FloatToStrF(<переменная вывода>, <тип формата>, <параметры формата>).

FloatToStrF(x1, ffGeneral, 7.2)

 

 

ffExponent Þ <один знак>.<дробная часть>E<показатель десятичной степени>

 

ffCurrency

 

Str(<число>[:<общее число позиций>][:<число десятичных знаков>], <строка>)

 

 

# Enter (chr(13) Û #13)

 

Canvas (холст)

 

 

Рис. 33

 

 

Shape

 

 

BringToFront, SendToBack

 

Delay(<миллисекунды>)

 

Листинг 39

procedure TForm1.OnActivate(Sender: TObject);

Var

i:integer;

Begin

for i := 1 to 50 do

Begin

Shape1.Left := Shape1.Left + 1;

Delay(500);

end;

end;

 

Рис. 34

 

TTimer 

 

Enabled:boolean

Interval:integer

 

OnTimer

 

 

Листинг 40

procedure TForm1.Timer1Timer(Sender: TObject);

Begin

Shape1.Left := Shape1.Left + 1;

end;

 

 

Листинг 41

procedure TForm1.FormActivate(Sender: TObject);

Begin

i := 0;

end;

 

Листинг 42

procedure TForm1.Timer1Timer(Sender: TObject);

Begin

Shape1.Left := Shape1.Left + 1;

i := i + 1;

if i >= 50 then

Timer1.enabled := false;

end;

 

Рис. 35

 

 

Листинг 43

procedure Form1.FormActivate(Sender: TObject);

Begin

Timer1.enabled :=false;

end;

 

procedure TForm1.Timer1Timer(Sender: TObject);

Begin

Shape1.Left:=Shape1.Left +1;

i := i + 1;

if i >= 50 then

Timer1.enabled := false;

end;

 

 

TCanvas

 

 

224

 

Height, Width

Image1. Height

 

ClientHeight, Clientwidth

 

Pen Brush

 

Canvas.MoveTo(x, y)

 

 

PenPos.x, PenPos

 

Canvas.Pixels[x, y] := <цвет>

 

 

<переменная> := <объект>.canvas.pixels[x, y];

 

Canvas.LineTo(x, y)

 

PolyLine(<массив точек>: TPoint)

 

 

Canvas.PolyLine([Point(10, 30), Point(20, 70), …]);

 

 

Листинг 44

Var

m: array[1..10] of TPoint;

Begin

m[1].x := 10;

m[1].y := 30;

m[2].x := 20;

m[2].y := 70;

m[10].x := 160;

m[10].y := 130;

Canvas.PolyLine(m)

 

 

Canvas.PolyBezier(m)

 

 

Canvas.Ellipse(x1, y1, x2, y2)

 

 

Рис. 36

 

 

Canvas.Arc(x1, y1, x2, y2, x3, y3, x4, y4)

 

Рис. 37

 

Canvas.Pie(x1, y1, x2, y2, x3, y3, x4, y4).

 

 
 

 


Рис. 38

 

Canvas.Chord(x1,y1,x2,y2,x3,y3,x4,y4)

 
 

 

 


Рис. 39

 

Canvas.Rectanle(x1, y1, x2, y2)

Canvas.RoundRec(x1, y1, x2, y2, x3, y3)

 
 

 

 


Рис. 40

 

FillRect(<прямоугольник>:TRect)

 

 

FrameRect(<прямоугольник>: TRect)

 

 

Листинг 45

Var

rec1, rec 2: Trect; {определение двух прямоугольников}

Begin

rec1 := Rect(10, 10, 100, 100); {задание координат первого прямоугольника}

rec2 := Rect(110, 10, 200, 100); {задание координат второго прямоугольника}

Form1.Canvas.Brush.Color := clGreen; {задание цвета кисти}

FillRect(rec1); {создание закрашенного зеленым цветом прямоугольника без контура}

FrameRect(rec2); {создание прямоугольника c контуром зеленого цвета без закраски}

 

 

Polygon(<массив точек>:TPoint)

 

 

FloodFill(x, y, Color, FillStyle)

 

TextOut(X, Y: Integer; const Text: string)

 

Рис. 41

 

 

<объект>.Canvas.Font.Style := [fsBold, fsItalic];

 

TImage

 

 

Image1.Picture.SaveToFile('<путь и имя файла>.bmp');

 

 

Image1.Picture.LoadFromFile('<путь и имя файла>.bmp');

 

 

Form1.Image1.Canvas.Pen.Color := clRed;

 

 

Рис. 42

 

Листинг 46

procedure Form1.FormCreate(Sender:TObject);

Var

nc:TColor;

Begin

Image1.Canvas.Pen.Color := clRed; //задание цвета будущей линии

Image1.Canvas.Pen.Width := 3; //установка толщины будущей линии

Image1.Canvas.MoveTo(20, 20); //установка графического курсора в точку начала будущей линии

Timer1.Enabled := False; //дезактивирование таймера при запуске проекта

Timer1.Interval := 300; //установка временного интервала таймера

nc := Form1.Color; //определение цвета фона формы

Image1.Canvas.Brush.Color := nc.; //задание цвета заливки

Image1.Canvas.FillRect(Rect(0, 0, Image1.Width, Image1.Height)); //заливка фона Image1 таким же цветом, что и фон формы

Image1.Canvas.LineTo(100, 100); //создание рисунка линии

end;

 

procedure Form1.Timer1Timer(Sender:TObject);

Begin

Image1.Left := Image1.Left + 1; //сдвиг линии на один пиксель вправо

end;

 

procedure Form1.Button1Click(Sender:TObject);

Begin

Timer1.Enabled := True; //запуск таймера

end;

 

procedure Form1.Button2Click(Sender:TObject);

Begin

Timer1.Enabled := False; //остановка таймера

end;

 

224

 

TСolor 0 ¸ 224-1

 

clRed, clYellow, clBlue

 

 

Form1.Color := 3127;

 

 

Листинг 47

Var

nc: Tcolor;

Begin

nc := 3127;

Form1.Color := 3127;

RGB (Red, Green, Blue)

 

28 = 256

 

 

nc := RGB(104, 67, 201);

 

 

Рис. 43

 
 

 

 


Листинг 48

unit SelectColor;

interface

Uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

Type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

ScrollBar1: TScrollBar;

ScrollBar2: TScrollBar;

ScrollBar3: TScrollBar;

Label4: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

procedure ScrollBar1Change(Sender: TObject);


Поделиться:

Дата добавления: 2015-09-13; просмотров: 67; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты