Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΠΎΠ² ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅ Π»Π΅Π²ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ²
ΠΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΠΌΠ΅ΡΡΠΈΠΉΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ Delphi ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Ρ ΡΠ·ΡΠΊΠ° ObjectPascal, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π² ΠΌΠΈΡΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ Π΄ΠΎ 120 000 ΡΡΡΠΎΠΊ Π² ΠΌΠΈΠ½ΡΡΡ. Π‘ΡΠ΅Π΄Π° Delphi Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ DCC.EXE. ΠΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π±ΡΠ» ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΠΎΠ² ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅ Π»Π΅Π²ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΈΠ½ΠΈΡΡΠ΅ΡΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΡΠΊΠΈ Π Π΅ΡΠΏΡΠ±Π»ΠΈΠΊΠΈ ΠΠ΅Π»Π°ΡΡΡΡ ΠΠ΅Π»ΠΎΡΡΡΡΠΊΠΈΠΉ Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΉ ΠΈΠ½ΡΡΠΈΡΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΠ°ΡΠ΅Π΄ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ
ΠΠ£Π Π‘ΠΠΠΠ― Π ΠΠΠΠ’Π
ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅:
«ΠΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ»
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΠΎΠ² ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅ Π»Π΅Π²ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ²
ΠΡΠΏΠΎΠ»Π½ΠΈΠ»:
ΡΡ. Π³Ρ. 417 313 Π―
ΠΡΠΈΠ½ΡΠ»:
Π΄ΠΎΡ. ΠΡΡΡΠΊΠΈΠΉ Π.Π.
ΠΠΈΠ½ΡΠΊ 2005
Delphi — ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ½ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π² ΡΠ΅Π±Π΅ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Ρ ΡΠ·ΡΠΊΠ° ObjectPascal, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ_ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ Pascal, ΡΡΠ΅Π΄ΡΡΠ² Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠ³ΠΎ (Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ) ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΠ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Delphi — ΡΠ»ΡΠΆΠΈΡΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Windows_ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ_ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Windows_ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Delphi ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°:
— Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΠΌΠ΅ΡΡΠΈΠΉΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ Delphi ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Ρ ΡΠ·ΡΠΊΠ° ObjectPascal, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π² ΠΌΠΈΡΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ Π΄ΠΎ 120 000 ΡΡΡΠΎΠΊ Π² ΠΌΠΈΠ½ΡΡΡ. Π‘ΡΠ΅Π΄Π° Delphi Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ DCC.EXE.
— ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ_ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΡΠ½ΠΎΠ²Π½ΡΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Delphi ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ . ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Delphi ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΡΠΎ Π²Ρ ΠΎΠ΄ΡΡ Π² ΡΠΎΡΡΠ°Π² ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π±ΡΠ»ΠΈ Π²ΡΠ·Π²Π°Π½Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ·ΡΠΊ ΠΎΡΡΠ°Π»ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ Ρ ΡΠ·ΡΠΊΠΎΠΌ Pascal, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ BorlandPascal 7.0
— Π±ΡΡΡΡΠ°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (RAD)
Π‘ΡΠ΅Π΄Π° Delphi ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΠ°ΠΊ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ Π΄Π°Π½Π½ΡΡ (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²). ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (VCL) ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°ΡΡΠ°ΡΠ°ΠΌΠΈ Π½Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΡΠΎΡΡΠ°Π² Delphi, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Windows API, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΠ±Π»Π΅Π³ΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
— ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ
Delphi ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Ρ ΠΎΡΠΊΡΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ Π΅Π΅ Π½ΠΎΠ²ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
— ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΠ
Delphi ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ. Delphi Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ InterBase, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ Π½Π° Π»ΡΠ±ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ SQL_ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΎΠ½Π»Π°ΠΉΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΡΠ°ΠΊ, Delphi — ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Windows. Π‘ΡΠ΅Π΄Π° Delphi Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΠ°ΠΊ ΠΈ ΡΠ°Π±Π»ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠ»Π°ΡΡΠΎΠ², Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² Delphi, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΉ Windows API. Delphi ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Ρ ΠΎΡΠΊΡΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ Π΅Π΅ Π½ΠΎΠ²ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ, ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
1. ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»Π° ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅ Π»Π΅Π²ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ².
ΠΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
Π€ΠΎΡΠΌΡΠ»Π° Π»Π΅Π²ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄:
ΠΡΡΠΈΡΠ»ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»Π°. ΠΠΎΠ΄ΡΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»Π° Π² Π²ΠΈΠ΄Π΅ Π·Π°ΡΡΡΠΈΡ ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ.
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ 4 ΡΠΎΡΠΌΡ:
1. ΠΠ»Π°Π²Π½ΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
2. Π€ΠΎΡΠΌΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π·Π°ΡΡΠ°Π²ΠΊΡ:
3. Π€ΠΎΡΠΌΡ Π΄Π»Ρ About:
4. Π€ΠΎΡΠΌΡ Π΄Π»Ρ COM-ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π‘ΡΡΡΠΊΡΡΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ°ΡΡΠ΅ΡΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Microsoft Office Excel. Π‘ΠΎΠ·Π΄Π°Π½Π° ΡΠΏΡΠ°Π²ΠΎΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
4. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ» «Pintegral.exe».
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Ρ.3.
1. ΠΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ .
ΠΠ»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π² Π½Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²Π²ΠΎΠ΄Π° ΠΈΡ Π² ΠΏΠΎΠ»Ρ TΠdit:
2. ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»Π°.
ΠΠ»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»Π° Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ½ΠΊΡΠΎΠΌ ΠΠ°Π½Π½ΡΠ΅->ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡΠ»Π° ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π½Π° ΡΠΎΡΠΌΠ΅:
ΠΠΎΡΠ»Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π½Π° ΡΠΎΡΠΌΠ΅, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π³ΡΠ°ΡΠΈΠΊ ΠΏΠΎΠ΄ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°ΡΡΠ΅ΡΠ°.
3. ΠΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ°ΡΡΠ΅ΡΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Microsoft Office Excel.
ΠΠ°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π»ΠΈΠ±ΠΎ Π²ΡΠ±ΡΠ°Π² Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π€Π°ΠΉΠ»->ΠΠΊΡΠΏΠΎΡΡ Π² Excel Π»ΠΈΠ±ΠΎ Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅.
5. ΠΡΠ·ΠΎΠ² ΡΠΏΡΠ°Π²ΠΊΠΈ.
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ?->Π‘ΠΏΡΠ°Π²ΠΊΠ° Π»ΠΈΠ±ΠΎ Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅.
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΠΊΠ½Π° ΡΠΏΡΠ°Π²ΠΊΠΈ:
6. ΠΡΠ·ΠΎΠ² About.
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ?->About Π»ΠΈΠ±ΠΎ Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅.
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΠΊΠ½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Ρ.3.
7 ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
ΠΡΠ±ΡΠ°ΡΡ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π€Π°ΠΉΠ»->ΠΡΡ ΠΎΠ΄
ΠΠ°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅.
ΠΠΈΠ±ΠΎ ΡΡΠ»ΠΊΠ½ΡΡΡ Π½Π° ΠΊΡΠ΅ΡΡΠΈΠΊΠ΅ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΡΠΎΡΠΌΡ
5. ΠΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ
Π¦Π΅Π»ΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ ΡΠ²Π»ΡΠ»Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
1. ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ: 1,6;
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ: 2,7;
ΡΠΎΡΠ½ΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ: 95;
ΠΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π±ΡΠ» ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π³ΡΠ°ΡΠΈΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΡΠ°ΡΡΠ΅ΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»Π° Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Microsoft Office, ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈ ΡΠ°ΠΉΠ» ΠΏΠΎΠΌΠΎΡΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Ρ ΠΎΠ΄Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π±ΡΠ»ΠΎ Π²ΡΡΠ²Π»Π΅Π½ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠ±ΠΎΠ΅Π² Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΏΡΠΎΡΠ΅ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΠΎΠ², Π²ΡΠ²ΠΎΠ΄Π° Π³ΡΠ°ΡΠΈΠΊΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΌΡΡΠ»ΠΎΠ² ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΠΎΠ² ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠΎΡΡΡΠΏ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΊΠ»Π°ΡΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ COM-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ «pServer.dll» ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΡΡ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
Π€Π°ΡΠΎΠ½ΠΎΠ² Π.Π. Delphi. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. — Π‘ΠΠ±: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ «ΠΠΈΡΠ΅Ρ», 2000. 639 Ρ.
ΠΠ°ΡΠΊΠΎ ΠΡΠ½ΡΡ. Delphi 5 Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ².-Π‘ΠΠ±.: ΠΠΈΡΠ΅Ρ. 2001. — 944 Ρ.
Π.Π―.ΠΡΡ Π°Π½Π³Π΅Π»ΡΡΠΊΠΈΠΉ. Delphi 7. Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅. — Π‘ΠΠ±: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ «ΠΠΈΡΠ΅Ρ», 2004. 1087 Ρ.
ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΡΡΠ΅Π±Π½ΠΈΠΊΠΈ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π‘Π΅ΡΠ²Π΅Ρ:
unit pServer_TLB;
// ****************************************************** //
// WARNING
// ———;
// The types declared in this file were generated from data read from a
// Type Library. If this type library is explicitly or indirectly (via
// another type library referring to this type library) re-imported, or the
// 'Refresh' command of the Type Library Editor activated while editing the
// Type Library, the contents of this file will be regenerated and all
// manual modifications will be lost.
// ********************************************************** //
// PASTLWTR: 1.2
// File generated on 15.11.2005 22:46:27 from Type Library described below.
// ************************************************* //
// Type Lib: C: Documents and SettingsSerghΠ Π°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ»Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΠΎΠ² ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅ Π»Π΅Π²ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² (Delphi)SourceServerpServer.tlb (1)
// LIBID: {73AF5EFB-ABD6−4565−91C3−0E7C137DA989}
// LCID: 0
// Helpfile:
// HelpString: pServer Library
// DepndLst:
// (1) v2.0 stdole, (C:WINDOWSsystem32stdole2.tlb)
// ********************************************************* //
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
interface
uses Windows, ActiveX, Classes, Graphics, StdVCL, Variants;
// ****************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:
// Type Libraries: LIBID_xxxx
// CoClasses: CLASS_xxxx
// DISPInterfaces: DIID_xxxx
// Non-DISP interfaces: IID_xxxx
// ********************************************************//
const
// TypeLibrary Major and minor versions
pServerMajorVersion = 1;
pServerMinorVersion = 0;
LIBID_pServer: TGUID = '{73AF5EFB-ABD6−4565−91C3−0E7C137DA989}';
IID_IIntegral: TGUID = '{287 7719B-94E7−45FB-82BE-7F9CD8A6017C}';
CLASS_Integral: TGUID = '{3AD7BD31−8C15−49ED-A0B5−436 060 913 721}';
type
// ***************************************************//
// Forward declaration of types defined in TypeLibrary
// *******************************************************//
IIntegral = interface;
// *******************************************************//
// Declaration of CoClasses defined in Type Library
// (NOTE: Here we map each CoClass to its Default Interface)
// *********************************************************//
Integral = IIntegral;
// *******************************************************//
// Interface: IIntegral
// Flags: (0)
// GUID: {287 7719B-94E7−45FB-82BE-7F9CD8A6017C}
// *****************************************************//
IIntegral = interface (IUnknown)
['{287 7719B-94E7−45FB-82BE-7F9CD8A6017C}']
function Func (x: Double): Double; stdcall;
end;
// **********************************************************//
// The Class CoIntegral provides a Create and CreateRemote method to
// create instances of the default interface IIntegral exposed by
// the CoClass Integral. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// ***********************************************************//
CoIntegral = class
class function Create: IIntegral;
class function CreateRemote (const MachineName: string): IIntegral;
end;
implementation
uses ComObj;
class function CoIntegral. Create: IIntegral;
begin
Result := CreateComObject (CLASS_Integral) as IIntegral;
end;
class function CoIntegral. CreateRemote (const MachineName: string): IIntegral;
begin
Result := CreateRemoteComObject (MachineName, CLASS_Integral) as IIntegral;
end;
end.
unit uFunc;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
Windows, ActiveX, Classes, ComObj, pServer_TLB, StdVcl;
type
TIntegral = class (TTypedComObject, IIntegral)
protected
function Func (x: Double): Double; stdcall;
end;
implementation
uses ComServ;
// ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
function TIntegral. Func (x: Double): Double;
begin
Result := (x + 0.8) / sqrt (x * x + 1.2);
end;
initialization
TTypedComObjectFactory.Create (ComServer, TIntegral, Class_Integral,
ciMultiInstance, tmApartment);
end.
ΠΠ»ΠΈΠ΅Π½Ρ:
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, TeEngine, Series, TeeProcs, Chart,
Grids, Menus, ToolWin, ComCtrls, ImgList;
type
TfrmMain = class (TForm)
GroupBox1: TGroupBox;
edtA: TEdit;
Label1: TLabel;
edtB: TEdit;
Label2: TLabel;
edtN: TEdit;
Label3: TLabel;
btnApply: TBitBtn;
pnlRes: TPanel;
Chart1: TChart;
Series1: TAreaSeries;
grdAll: TStringGrid;
MainMenu1: TMainMenu;
N1: TMenuItem;
Excel: TMenuItem;
N2: TMenuItem;
nExit: TMenuItem;
N3: TMenuItem;
NApply: TMenuItem;
N5: TMenuItem;
NSave: TMenuItem;
NLoad: TMenuItem;
OpenDialog: TOpenDialog;
SaveDialog: TSaveDialog;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
N4: TMenuItem;
nAbout: TMenuItem;
ToolButton10: TToolButton;
NHelp: TMenuItem;
N6: TMenuItem;
ImageList1: TImageList;
procedure FormCreate (Sender: TObject);
procedure FormClose (Sender: TObject; var Action: TCloseAction);
procedure nExitClick (Sender: TObject);
procedure ExcelClick (Sender: TObject);
procedure NApplyClick (Sender: TObject);
procedure NLoadClick (Sender: TObject);
procedure NSaveClick (Sender: TObject);
procedure nAboutClick (Sender: TObject);
procedure NHelpClick (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
uses uLogo, uIntegral, uAbout;
var
Integral: TIntegral;
{$R *.dfm}
// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ
procedure TfrmMain. FormCreate (Sender: TObject);
var
// ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΡΠΌΡ Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ°
logo: TfrmLogo;
begin
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΎΡΠΌΡ
logo := TfrmLogo. Create (self);
// ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΡΠΎΡΠΌΡ
logo.ShowModal;
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Integral
Integral := TIntegral. Create (1.6, 2.7, 95);
pnlRes.Caption := 'Π Π΅Π·ΡΠ»ΡΡΠ°Ρ = ' + FloatToStr (Integral.Calculate);
Integral.Draw (Series1);
Chart1.ZoomPercent (90);
Integral.FillTable (grdAll);
end;
procedure TfrmMain. FormClose (Sender: TObject; var Action: TCloseAction);
begin
// ΠΡΠΈΡΠ°Π΅ΠΌ ΠΏΠ°ΠΌΡΡΡ
Integral.Destroy;
end;
procedure TfrmMain. nExitClick (Sender: TObject);
begin
Close;
end;
procedure TfrmMain. ExcelClick (Sender: TObject);
begin
Integral.ExcelExport (grdAll);
end;
procedure TfrmMain. NApplyClick (Sender: TObject);
begin
Integral.A := StrToFloat (edtA.Text);
Integral.B := StrToFloat (edtB.Text);
Integral.N := StrToInt (edtN.Text);
pnlRes.Caption := 'Π Π΅Π·ΡΠ»ΡΡΠ°Ρ = ' + FloatToStr (Integral.Calculate);
Integral.Draw (Series1);
Integral.FillTable (grdAll);
end;
procedure TfrmMain. NLoadClick (Sender: TObject);
begin
if (OpenDialog.Execute) then begin
Integral.LoadFromFile (OpenDialog.FileName);
edtA.Text := FloatToStr (Integral.A);
edtB.Text := FloatToStr (Integral.B);
edtN.Text := IntToStr (Integral.N);
pnlRes.Caption := 'Π Π΅Π·ΡΠ»ΡΡΠ°Ρ = ' + FloatToStr (Integral.Calculate);
Integral.Draw (Series1);
Integral.FillTable (grdAll);
end;
end;
procedure TfrmMain. NSaveClick (Sender: TObject);
begin
if (SaveDialog.Execute) then begin
Integral.SaveToFile (SaveDialog.FileName);
end;
end;
procedure TfrmMain. nAboutClick (Sender: TObject);
begin
frmAbout.ShowModal;
end;
procedure TfrmMain. NHelpClick (Sender: TObject);
begin
Application.HelpCommand (0,0);
end;
end.
unit uLogo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TfrmLogo = class (TForm)
Panel1: TPanel;
Label1: TLabel;
Label3: TLabel;
Label2: TLabel;
Image1: TImage;
Timer1: TTimer;
procedure Panel1Click (Sender: TObject);
procedure FormClose (Sender: TObject; var Action: TCloseAction);
procedure Timer1Timer (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmLogo: TfrmLogo;
implementation
{$R *.dfm}
// ΠΠ°ΠΆΠ°ΡΠΈΠ΅ ΠΌΡΡΠΊΠΎΠΉ Π³Π΄Π΅-Π»ΠΈΠ±ΠΎ
procedure TfrmLogo. Panel1Click (Sender: TObject);
begin
// ΠΠ°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠΎΡΠΌΡ
Close;
end;
procedure TfrmLogo. FormClose (Sender: TObject; var Action: TCloseAction);
begin
// ΠΡΠΈΡΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ
Action := caFree;
end;
// ΠΠΎΠ΄Π° ΡΠ°ΠΉΠΌΠ΅Ρ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ
procedure TfrmLogo. Timer1Timer (Sender: TObject);
begin
// ΠΠ°ΠΊΡΡΡΡ ΡΠΎΡΠΌΡ
Close;
end;
end.
unit uIntegral;
interface
uses pServer_TLB, Series, Chart, SysUtils, grids,
ComObj, ActiveX, Windows, StdCtrls;
{ΠΠ»Π°ΡΡ TIntegral}
type
TIntegral = class
private
_A, _B: real;
_N: integer;
// ΠΠ΅ΡΠΎΠ΄Ρ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ property-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
procedure SetA (const Value: real);
procedure SetB (const Value: real);
procedure SetN (const Value: integer);
public
// ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ (ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ)
constructor Create (ANew, BNew: real; NNew: integer);
// ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ property
property A: real read _A write SetA; // Π½Π°ΡΠ°Π»ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
property B: real read _B write SetB; // ΠΊΠΎΠ½Π΅Ρ ΠΈΠ½ΡΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
property N: integer read _N write SetN; // ΠΊΠΎΠ»-Π²ΠΎ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠΉ
// ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»Π° (Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠΌΠΌΡ)
function Calculate: real;
// ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
procedure LoadFromFile (fName: string);
// Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»
procedure SaveToFile (fName: string);
// Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°
procedure Draw (Series: TAreaSeries);
// ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ
procedure FillTable (Stg: TStringGrid);
// ΠΠΊΡΠΏΠΎΡΡ Π² Excel
procedure ExcelExport (Stg: TStringGrid);
end;
implementation
uses Dialogs;
// ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»Π° (Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠΌΠΌΡ)
function TIntegral. Calculate: real;
var
i: Integer;
tmp, h, s: real;
{ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°}
Func: IIntegral;
begin
s := 0;
{Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°}
Func := CoIntegral. Create;
h := (_B — _A)/_N; // ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ°Π³
for i := 0 to _N do
begin
tmp := i * h;
s := s + h * Func. Func (_A + tmp); // ΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°
end;
Result := s; // Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
Func._Release;
end;
// ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ (ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ)
constructor TIntegral. Create (ANew, BNew: real; NNew: integer);
begin
_A := ANew;
_B := BNew;
_N := NNew;
end;
// Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°
procedure TIntegral. Draw (Series: TAreaSeries);
var
i: Integer;
tmp, h: real;
{ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°}
Func: IIntegral;
begin
Series.Clear;
{Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°}
Func := CoIntegral. Create;
h := (_B — _A)/_N; // ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ°Π³
for i := 0 to _N do
begin
tmp := i * h;
{Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² Π³ΡΠ°ΡΠΈΠΊ}
Series.AddXY (_A + tmp, h*Func.Func (_A + tmp));
end;
Func._Release;
end;
// ΠΠΊΡΠΏΠΎΡΡ Π² Excel
procedure TIntegral. ExcelExport (Stg: TStringGrid);
var
j: Integer;
Unknown: IUnknown;
Result: HResult;
AppProgID: String;
App, Ch: Variant;
begin
// Π£ΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ-ΡΠ΅ΡΠ²Π΅ΡΠ°
AppProgID := 'Excel.Application';
Result := GetActiveObject (ProgIDToClassID (AppProgID), nil, Unknown);
if (Result = MK_E_UNAVAILABLE) then
// Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°
App := CreateOleObject (AppProgID)
else
// Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ Ρ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ°
App := GetActiveOleObject (AppProgID);
//——————————————————————————-;
App.Workbooks.Add ();
j:=App.Workbooks.Count;
App.Workbooks[j]. Activate;
//ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ
App.ActiveWorkbook.WorkSheets[1]. Name := 'Π Π΅Π·ΡΠ»ΡΡΠ°Ρ';
//ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ°
For j:=1 to _N-1 do
begin
App.ActiveWorkbook.WorkSheets[1]. Cells[j, 1].Value :=StrToFloat (Stg.Cells[1,j+1]);
App.ActiveWorkbook.WorkSheets[1]. Cells[j, 2].Value := StrToFloat (Stg.Cells[2,j+1]);
end;
App.DisplayAlerts:=False;
// ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅
App.Visible := True;
end;
procedure TIntegral. FillTable (Stg: TStringGrid);
var
i: Integer;
tmp, h: real;
{ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°}
Func: IIntegral;
begin
{Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°}
Func := CoIntegral. Create;
Stg.RowCount := _N + 1;
Stg.Cells[0,0] := 'N';
Stg.Cells[1,0] := 'X';
Stg.Cells[2,0] := 'Y';
h := (_B — _A)/_N; // ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠ°Π³
for i := 0 to _N-1 do
begin
tmp := i * h;
{Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² ΡΠ°Π±Π»ΠΈΡΡ}
Stg.Cells[0,i+1] := IntToStr (i+1);
Stg.Cells[1,i+1] := FloatToStr (_A + tmp);
Stg.Cells[2,i+1] := FloatToStr (h*Func.Func (_A + tmp));
end;
Func._Release;
end;
// ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
procedure TIntegral. LoadFromFile (fName: string);
var
f: file of real;
fa, fb, fn: real;
res: boolean;
begin
{$I-}
{ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ»}
AssignFile (f, fName);
Reset (f);
{Π§ΠΈΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π°}
Read (f, fa);
Read (f, fb);
Read (f, fn);
{ΠΠ°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ»}
CloseFile (f);
{$I+}
{ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ}
res := (IOResult = 0) and (fName <> '');
if (res = false) then
ShowMessage ('ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π°')
else begin {ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠ»Π°ΡΡ}
_A := fa;
_B := fb;
_N := Round (fn);
end;
end;
// Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»
procedure TIntegral. SaveToFile (fName: string);
var
f: file of real;
fn: real;
res: boolean;
begin
{$I-}
{ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ}
AssignFile (f, fName);
Rewrite (f);
{$I+}
{ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ}
res := (IOResult = 0) and (fName <> '');
if (res = false) then
ShowMessage ('ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅')
else begin {ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»}
{ΠΠΈΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»}
Write (f, _A);
Write (f, _B);
fn := _N;
Write (f, fn);
end;
{ΠΠ°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ»}
CloseFile (f);
end;
// ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ property-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
procedure TIntegral. SetA (const Value: real);
begin
_A := Value;
end;
procedure TIntegral. SetB (const Value: real);
begin
_B := Value;
end;
procedure TIntegral. SetN (const Value: integer);
begin
_N := Value;
end;
end.
unit uAbout;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TfrmAbout = class (TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
procedure Button1Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmAbout: TfrmAbout;
implementation
{$R *.dfm}
procedure TfrmAbout. Button1Click (Sender: TObject);
begin
Close;
end;
end.