Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Delphi. Учимся Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 33

Автор Π‘Π΅Ρ€Π³Π΅ΠΉ ΠŸΠ°Ρ€ΠΈΠΆΡΠΊΠΈΠΉ

 T123 = One..Three; //ΠΏΠΎΠ΄Ρ‚ΠΈΠΏ

 TABC = 'A'..'C'; //Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄Ρ‚ΠΈΠΏ

var

 i: T123; //пСрСмСнная I ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния ΠΎΡ‚ 1 Π΄ΠΎ 3

 Ρ: TABC; // пСрСмСнная с ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ 'A', 'B' ΠΈΠ»ΠΈ 'C'

Записи

Π—Π°ΠΏΠΈΡΡŒ  – это структурированный Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… элСмСнтов. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты записи Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ полями. Для объявлСния записи ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ конструкция:

record

 ΠΏΠΎΠ»e1: Ρ‚ΠΈΠΏ;

 β€¦

 ΠΏΠΎΠ»eN: Ρ‚ΠΈΠΏ;

end;

Π—Π°ΠΏΠΈΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ type, Ρ‚Π°ΠΊ ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ var:

type TCD = record //запись для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ CD

 Group String; //ΠΏΠΎΠ»Π΅, хранящСС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ исполнитСля

 Year: Integer; //ΠΏΠΎΠ»Π΅, хранящСС Π³ΠΎΠ΄ альбома

 Title: String; //ΠΏΠΎΠ»Π΅, хранящСС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ альбома

end;

var MyCD: TCD;

ΠΈΠ»ΠΈ нСпосрСдствСнно

var MyCD: record

 Group: String;

 Year: Integer;

 Title: String;

end;

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ полям записи рСализуСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

MyCD.Group:= 'НазваниС Π³Ρ€ΡƒΠΏΠΏΡ‹';

MyCD.Year:= 2005;

MyCD.Title:= 'НазваниС альбома';

ΠšΠ»Π°ΡΡΡ‹

Класс β€” это структура, прСдназначСнная для хранСния Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠΎΠ»Π΅ΠΉ ΠΈ свойств), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ΄Π°, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ эти Π΄Π°Π½Π½Ρ‹Π΅ (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹). Поля, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ класса.

Класс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Π½Π° основС Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса β€” Π² этом случаС ΠΎΠ½ называСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ, Π° Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс β€” Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ класс наслСдуСт всС свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ собствСнныС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Для объявлСния класса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π²ΠΈΠ΄Π°:

type имя_класса = class(имя_Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ_класса)

published

 {объявлСниС ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ‡Π»Π΅Π½ΠΎΠ² класса}

private

 {объявлСниС Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ‡Π»Π΅Π½ΠΎΠ² класса}

public

 {объявлСниС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ‡Π»Π΅Π½ΠΎΠ² класса}

protected

 {объявлСниС Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Ρ… Ρ‡Π»Π΅Π½ΠΎΠ² класса}

end;

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‡Π»Π΅Π½ΠΎΠ² класса

ВсС Ρ‡Π»Π΅Π½Ρ‹ класса ΠΏΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Ρƒ доступа ΠΊ Π½ΠΈΠΌ дСлятся Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ (private), Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ (protected), ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ (public) ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ (published).

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ класса, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ public, Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ для доступа ΠΈΠ·Π²Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля. Π‘Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ доступны Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ элСмСнты, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ published, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ для Π½ΠΈΡ… гСнСрируСтся информация ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния (RTTI β€” Run Time Type Information). Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ RTTI ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ отобраТСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойств Π² инспСкторС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ private, нСдоступны Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ объявлСн класс. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ‡Π»Π΅Π½Ρ‹ класса нСльзя Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ protected, доступны Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ объявлСн класс, Π° Ρ‚Π°ΠΊΠΆΠ΅ доступны всСм Ρ‡Π»Π΅Π½Π°ΠΌ классов, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΡ‚ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Object Pascal Ρ€Π°Π·Π΄Π΅Π» protected Π½Π΅ создаСтся, Π° Ρ€Π°Π·Π΄Π΅Π» published Π½Π΅ указываСтся явно. ВсС Ρ‡Π»Π΅Π½Ρ‹ класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… private ΠΈ public, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ относятся ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ published.

Рассмотрим, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ объявлСния класса TForm (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Forms.pas), Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ для Ρ„ΠΎΡ€ΠΌ Π² прилоТСниях Delphi:

TForm = class(TCustomForm) public

procedure ArrangeIcons;

 procedure Cascade;

 β€¦

published

 property Action;

 property ActiveControl;

 β€¦

end;

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ класс TForm являСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΎΡ‚ класса TCustomForm (Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Forms.pas) ΠΈ содСрТит ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ArrangeIcons, Cascade ΠΈ Ρ‚.Π΄., Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ свойства Action, ActiveControl ΠΈ Ρ‚.Π΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ОбъявлСниС класса ΠΈ Π΅Π³ΠΎ Ρ‡Π»Π΅Π½ΠΎΠ² осущСствляСтся Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ interface ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля, Π° нСпосрСдствСнная рСализация свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² β€” Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ implementation (структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля Object Pascal рассматриваСтся Π½ΠΈΠΆΠ΅).

Π’ΠΎ всСх модулях Ρ„ΠΎΡ€ΠΌ, автоматичСски создаваСмых Delphi, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°:

type TForm1 = class(TForm)

private

 { Private declarations }

public

 { Public declarations }

end;

var Form1: TForm1;

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ прилоТСния объявлСн класс TForm1, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΎΡ‚ класса TForm, Π° Π·Π°Ρ‚Π΅ΠΌ объявлСна пСрСмСнная Ρ‚ΠΈΠΏΠ° TForm1. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ β€” экзСмпляры класса β€” Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.ВсС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Delphi β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, экзСмпляры Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ класса.

Бвойства класса

Бвойства β€” это ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ интСрфСйсы доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НапримСр, Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса tform, Π΅ΡΡ‚ΡŒ свойства height ("высота"), Width ("ΡˆΠΈΡ€ΠΈΠ½Π°"), Color ("Ρ†Π²Π΅Ρ‚") ΠΈ Π΄Ρ€. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ свойствам значСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ внСшний Π²ΠΈΠ΄ ΠΈΠ»ΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ повСдСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Для доступа ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ такая ΠΆΠ΅ конструкция , ΠΊΠ°ΠΊ ΠΈ для доступа ΠΊ полям записи, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

var Form1: TForm1;

…

Form1.Caption:= 'Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„ΠΎΡ€ΠΌΡ‹';

Form1.Font.Color := clWhite;

…

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, свойство Font ("ΡˆΡ€ΠΈΡ„Ρ‚") β€” это Ρ‚ΠΎΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса TFont, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ свойство Color ("Ρ†Π²Π΅Ρ‚").

Π’Π°ΠΊΠΎΠΉ ΠΆΠ΅ способ доступа ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ для всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π² Delphi:

type TForm1 = class(TForm)

 Edit1: TEdit;

private

 { Private declarations }

public

 { Public declarations }

end;

var Form1: TForm1;

…

Form1.Edit1.Text:= '';

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса

ΠœΠ΅Ρ‚ΠΎΠ΄ β€” это ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ»ΠΈ функция, рСализованная Π² классС. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ становится любая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ»ΠΈ функция, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Π½ Π² объявлСнии класса.

Для доступа ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Ρ‡Ρ‚ΠΎ ΠΈ для свойств:

Button1.Click; //Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ with-do

Для упрощСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с записями ΠΈ классами Π² языкС Object Pascal ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция with-do. НапримСр, Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°

MyCD.Group:= 'НазваниС Π³Ρ€ΡƒΠΏΠΏΡ‹';

MyCD.Year:= 2005;

MyCD.Title:= 'НазваниС альбома';

Form1.Caption:= 'Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„ΠΎΡ€ΠΌΡ‹';

Form1.Font.Color:= clWhite;

ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅:

with MyCD do begin

 Group:= 'НазваниС Π³Ρ€ΡƒΠΏΠΏΡ‹';

 Year:= 2005;

 Title:= 'НазваниС альбома';

end;

with Form1 do begin

 Caption:= 'Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„ΠΎΡ€ΠΌΡ‹';

 Font.Color: = clWhite;

end;

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ записи этого ΠΆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°:

with MyCD, Form1 do begin

 Group:= 'НазваниС Π³Ρ€ΡƒΠΏΠΏΡ‹';

 Year:= 2005;

 Title:= 'НазваниС альбома';

 Caption:= 'Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„ΠΎΡ€ΠΌΡ‹';

 Font.Color:= clWhite;

end;

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ записи подстановка ΠΈΠΌΠ΅Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² осущСствляСтся Π² порядкС ΠΈΡ… слСдования. Однако Π² этом случаС трСбуСтся ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… послС слова with, Π½Π΅ использовались поля, свойства ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ названиями, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Delphi

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Delphi состоит ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Ρ€Π΅Ρ… основных Ρ‚ΠΈΠΏΠΎΠ²:

β€’ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .dpr;

β€’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ„ΠΎΡ€ΠΌ β€” Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .pas;

β€’ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ β€” Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .dfm.

Π€Π°ΠΉΠ» .dfm Delphi Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ автоматичСски Π½Π° основании Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, присвоСнных свойствам Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Ρ… Π½Π° Π½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π€Π°ΠΉΠ»Ρ‹ .dpr ΠΈ .pas Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Delphi автоматичСски, Π½ΠΎ Π² Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Рассмотрим ΠΈΡ… структуру.

Π€Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° .dpr

Π€Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Delphi β€” это, ΠΏΠΎ сути, Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ» Π½Π΅ связанный Π½ΠΈ с ΠΊΠ°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ. Π’ Π½Π΅ΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ссылки Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ прилоТСния ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ„ΠΎΡ€ΠΌΡ‹. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ с Ρ‚ Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ:

program имя_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹; //Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ

//Ρ€Π°Π·Π΄Π΅Π», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ссылки Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ„ΠΎΡ€ΠΌ

uses

 Forms,

 Unit1 in 'Unit1.pas' {Form1}; //главная Ρ„ΠΎΡ€ΠΌΠ° прилоТСния

 //ссылки Π½Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ прилоТСния

 //…


{$R *.res} {Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° компилятора ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° рСсурсов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹}

begin

 //инициализация прилоТСния ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

 Application.Initialize;