ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠ° ΡΠΎΠ·Π΄Π°Π½Π°, Π½ΠΎ Π΅ΡΠ΅ Π΄ΠΎ Π΅Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π’Π°Π±Π»ΠΈΡΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΡΡΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΌΡ OnCreate. Π ΡΡΠΎΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° — Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° GetPhoneCount… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π΄Π°Π΅ΡΡΡ ΠΎΠ±Π·ΠΎΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² VCL, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ ΠΠ.
ΠΠ±Π·ΠΎΡ Π½Π΅Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. |
Tsession (ΡΠ΅ΡΡΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ). | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅Π°Π½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΠ ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΠ, ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΠΠ, ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. |
TdataBase (Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ). | ΠΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ «ΠΊΠ»ΠΈΠ΅Π½Ρ — ΡΠ΅ΡΠ²Π΅Ρ». ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΠ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΠ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠΊΡΡΡΡΡ Π½Π°Π±ΠΎΡΠ°Ρ Π΄Π°Π½Π½ΡΡ (ΠΠ) ΠΈ ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΠΠ. |
TdataSource (ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π΄Π°Π½Π½ΡΡ ). | Π‘Π»ΡΠΆΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌ Π·Π²Π΅Π½ΠΎΠΌ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ «ΠΠ — ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π΄Π°Π½Π½ΡΡ — Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ». ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΠ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΠ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΠ. |
TdataSet. TBDEDataSet. TDBDataSet. | Π―Π²Π½ΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠ΅Π΄ΠΊΠ°ΠΌΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΈΠΏΠ° ΠΠ (TTable, TQuery, TStoredProc). ΠΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ΄ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ Π² ΠΠ. |
TTable (ΡΠ°Π±Π»ΠΈΡΠ°). | Π Π΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΠ, ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° ΠΠ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π°Π΄ ΠΠ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠ°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TDataSet. |
TQuery (SQL — ΠΊΠΎΠΌΠ°Π½Π΄Π°). | Π Π΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΠ, ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½Π° ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±Π»ΠΈΡ ΠΠ. Π‘ΡΡΡΠΊΡΡΡΠ° Π·Π°ΠΏΠΈΡΠΈ ΠΠ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ SQLΠ·Π°ΠΏΡΠΎΡΠΎΠΌ (select). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΡΡ SQL — ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΠ°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TDataSet. |
TStoredProc (ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°). | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ «ΠΊΠ»ΠΈΠ΅Π½Ρ — ΡΠ΅ΡΠ²Π΅Ρ» Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Ρ ΡΠ°Π½ΠΈΠΌΡΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΠ. ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΠ, Ρ. ΠΊ. ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. |
TField (ΠΏΠΎΠ»Π΅ ΡΠ°Π±Π»ΠΈΡΡ). | Π Π΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΠΎΠ»Π΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΠ. ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΠΎΠ»… ΠΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² public — ΡΠ°ΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΡΠΌΡ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: public. procedure Add; virtual; abstract; procedure Edit; virtual; abstract; procedure Print; virtual; abstract; procedure Delete; virtual; abstract; ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΡΠΈΡ — ΡΡΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Ρ WindowState Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ wsMaximized, ΡΡΠΎΠ±Ρ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΡΠ°Π·Ρ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΡΡ ΡΠ°ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠΎΡΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π±ΡΠ΄ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ ΠΎΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°ΠΌΠΈ, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΌΠΊΠ° ΠΎΡ ΡΠΎΡΠΌΡ fmMDIChild, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ «File» «New». Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Traffic» Π²ΡΠ±Π΅ΡΠ΅ΠΌ ΡΠΎΡΠΌΡ fmMDIChild ΠΈ Π½Π°ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΠ». ΠΠ°Π΄ΠΈΠΌ ΡΡΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΈΠΌΡ fmClients ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ — «ΠΠ»ΠΈΠ΅Π½ΡΡ ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ». Π‘ΠΎΡ ΡΠ°Π½ΠΈΠΌ ΡΠΎΡΠΌΡ Π² ΡΠ°ΠΉΠ»Π΅ uClients.pas. Π’. ΠΊ. Π½Π°ΡΠ° ΡΠΎΡΠΌΠ° Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ ΡΠΎΡΠΌΡ TMDIChild, ΡΠΎ ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π΄Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² public — ΡΠ°ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° TfmClients ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ: procedure Add; override; procedure Edit; override; procedure Print; override; procedure Delete; override; Π Π² implementation — ΡΠ°ΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ uClients ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ (ΠΏΠΎΠΊΠ° Ρ ΠΏΡΡΡΡΠΌ ΡΠ΅Π»ΠΎΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡ): procedure TfmClients. Add; begin. //—-; end; Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ Edit, Print, Delete. ΠΠ°Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ Clients ΠΈ Phones. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TDBGrid, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Data Controls» ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Π½Π° ΡΠΎΡΠΌΠ΅ 2 ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TDBGrid, ΠΎΠ΄ΠΈΠ½ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π°, Π΄ΡΡΠ³ΠΎΠΉ — Π² Π½ΠΈΠΆΠ½Π΅ΠΉ, Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΈΡ gdClients ΠΈ gdPhones. ΠΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TSplitter, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ TDBGrid-ΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π°Π΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ gdPhones ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΠΏΠ°Π½Π΅Π»Ρ TPanel, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΏΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TDBGrid ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Ρ ReadOnly Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ False Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² dgEditing ΠΈ dgTabs ΡΠ²ΠΎΠΉΡΡΠ²Π° Options. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π² gdClients ΠΈ gdPhones ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ DataSource ΡΡΡΠ»ΠΊΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ dsClients ΠΈ dsPhones ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΡΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ uMainDM, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ uClients ΠΏΡΠΎΠΏΠΈΡΠ΅ΠΌ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΌΠΎΠ΄ΡΠ»Ρ uMainDM. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠ±Π΅ΡΠ΅ΠΌ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ «File» «Use Unit». ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Clients ΠΈ Phones ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ²ΡΠ·Ρ «ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ». ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: Π² gdPhones ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡΠΈ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² gdClients Π² dgPhones Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π°Π½Π½ΡΡ . Π£ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° tbPhones ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ ΡΡΡΠ»ΠΊΡ Π½Π° dsClients Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° MasterSource, Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° MasterFields ΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΠΎΠ»Π΅ Id ΡΠ°Π±Π»ΠΈΡΡ Clients, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Ρ Π½Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Clients ΠΈ Phones. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΡΠ²ΠΎΠΉΡΡΠ²Π° Active Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ, ΠΈ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ Π½Π° ΡΠΎΡΠΌΡ fmClients, Π½Π°Π±Π»ΡΠ΄Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ²ΡΠ·Ρ «ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ». ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π΄Π»Ρ ΡΠΎΡΠΌΡ fmClients, ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠΈΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Π΄Π°Π½Π½ΡΡ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½Π΅ΠΌ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ tbClients. Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ ΡΠ΅Π»ΠΊΠ½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΊΠΈ ΠΈ ΠΈΠ· ΠΌΠ΅Π½Ρ Π²ΡΠ±Π΅ΡΠ΅ΠΌ ΠΏΡΠ½ΠΊΡ «Add All Fields». ΠΡΠΈ ΡΡΠΎΠΌ Π² ΠΎΠΊΠ½Π΅ ΠΏΠΎΡΠ²ΡΡΡΡ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Clients. ΠΡΠ±ΠΈΡΠ°Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Π² «Object Inspector», ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° DisplayLabel ΠΈ DisplayWidth. ΠΠΎΠ²ΡΠΎΡΠΈΠΌ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ Clients ΠΈ Π²ΡΠ΅Ρ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ Phones. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π½Π° ΡΠΎΡΠΌΡ fmClients ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½Π΅ΠΌ ΠΌΡΡΠΊΠΎΠΉ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ gdClients. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ ΠΆΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ, ΡΡΠΎ ΠΈ ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Π΄Π°Π½Π½ΡΡ , ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π² gdClients. ΠΠ΅Π»Π°Π΅ΠΌ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈ Π΄Π»Ρ gdPhones. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΎΡΠΌΡ fmDirections ΠΈ fmTraffic Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΠΠ Directions ΠΈ Traffic ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π Π°Π·Π½ΠΈΡΠ° Π»ΠΈΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TDBGrid Π½Π° ΡΠΎΡΠΌΡ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠΎΡΠΌ ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΎΠΊΠ½Π°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π½Π° Π²ΡΠ±ΠΎΡ ΠΏΡΠ½ΠΊΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ΅Π½Ρ ΠΈ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΎΠΊΠΎΠ½. Π’. ΠΊ. ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΡ ΡΠ²ΡΠ·Π°Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΡΠ½ΠΊΡΠ°ΠΌΠΈ ΠΌΠ΅Π½Ρ, ΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ, ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π±ΡΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ. ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΊΡΠΎΠ΅ΠΌ ΠΎΠΊΠ½ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΌΠ΅Π½Ρ, ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½Π΅ΠΌ Π½Π° ΠΏΡΠ½ΠΊΡΠ΅ ΠΌΠ΅Π½Ρ «Π Π°Π±ΠΎΡΠ°» «ΠΡΡ ΠΎΠ΄». ΠΡΠΈ ΡΡΠΎΠΌ Delphi ΡΠ³Π΅Π½Π΅ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅ OnClick Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ. Π ΡΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ Π²Π²Π΅Π΄Π΅ΠΌ ΠΊΠΎΠ΄ Π·Π°ΠΊΡΡΡΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: procedure TfmMain. mnExitClick (Sender: TObject); begin. // — Π·Π°ΠΊΡΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Close; Application.Terminate; end; Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΡΠ°ΠΏΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π° ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ «Π Π°Π±ΠΎΡΠ°» «ΠΠ»ΠΈΠ΅Π½ΡΡ ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ» ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΡ fmClients. Π ΡΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ Π½Π°Π±Π΅ΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Clients, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ uClients. Π§ΡΠΎΠ±Ρ ΠΏΡΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠΎΠ΄ΡΠ»Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² Π½Π΅ΠΌ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ½ΠΊΡΠ° ΠΌΠ΅Π½Ρ «File» «Use Unit». ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π² ΠΌΠΎΠ΄ΡΠ»Ρ uClients ΠΈ Π² interface — ΡΠ°ΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Clients, Π° Π² implementation — ΡΠ°ΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: procedure Clients; begin. if not Assigned (fmClients) then fmClients:=TfmClients.Create (fmMain); fmClients.Show; end; ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠ° ΡΠΎΠ·Π΄Π°Π½Π°, Π½ΠΎ Π΅ΡΠ΅ Π΄ΠΎ Π΅Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π’Π°Π±Π»ΠΈΡΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΡΡΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΌΡ OnCreate. Π ΡΡΠΎΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° — Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° GetPhoneCount. ΠΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ tbClients. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Ρ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ — AfterScroll. ΠΡ ΠΏΡΠΎΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ°Π΅ΠΌ ΡΡΠΎΠΌΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ GetPhoneCount. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΎΠ±ΡΡΠΈΡ OnCreate: procedure TfmClients. FormCreate (Sender: TObject); begin. inherited; with dmMain do begin. tbClients.Active:=True; tbPhones.Active:=True; tbClients.AfterScroll:=GetPhoneCount; end; GetPhoneCount (nil); end; ΠΠ΅ΡΠΎΠ΄ ΡΠΎΡΠΌΡ GetPhoneCount ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ : procedure TfmClients. GetPhoneCount (DataSet: TDataSet); begin. pnPhones. Caption: = 'Π’Π΅Π»Π΅ΡΠΎΠ½ΠΎΠ²: '+IntToStr (dmMain. tbPhones. RecordCount); end; ΠΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΡΡΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ OnActivate. ΠΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ «ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ», ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π°: procedure TfmClients. FormActivate (Sender: TObject); begin. inherited; with fmMain do begin. mnAdd.Enabled:=True; mnEdit.Enabled:=True; mnDelete.Enabled:=True; btAdd.Enabled:=True; btEdit.Enabled:=True; btDelete.Enabled:=True; end; ΠΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠ° ΡΠ΅ΡΡΠ΅Ρ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ OnDeativate. ΠΠΎΠ΄ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΊΠΎΠ΄Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° OnActivate, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Ρ Enabled ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ False. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΡΠΎΡΠΌΡ. ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±ΡΠ΄ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Π·Π°ΠΊΡΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ ΠΠ, ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΠΎΡΠΌΠ΅, ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΡ OnClose: procedure TfmClients. FormClose (Sender: TObject; var Action: TCloseAction); begin. inherited; FormDeactivate (Self); with dmMain do begin. tbClients.Active:=False; tbPhones.Active:=False; tbClients.AfterScroll:=nil; end; fmClients:=nil; ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌ Π²ΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π»Ρ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ Π΄Π²ΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠΎΡΠΌ. ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅, ΡΠ΅Π°Π»ΠΈΠ·ΡΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π΅ Ρ ΠΠ, ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² ΠΏΡΠ½ΠΊΡΠ΅ 3.4.3. |