β‘ ΠΠ»Ρ Π΄Π΅Π½Π΅ΠΆΠ½ΡΡ ΡΠ°ΡΡΠ΅ΡΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠΈΠΏ Currency, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΡΠΈΡΠ»ΠΎ Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ, Π° Π½Π΅ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ, Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ. ΠΡΠΌΠ΅ΡΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠ°ΡΡΡΡ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° (0,100000001490116 Π²ΠΌΠ΅ΡΡΠΎ 0,1) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ RoundTo, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ Π±ΠΎΜΠ»ΡΡΡΡ, ΡΠ΅ΠΌ ΡΠΎΡΠ½ΠΎΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΠ΅Π».
3.3. Π’ΠΎΠ½ΠΊΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ , ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ . ΠΠ΅ Π²ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π³Π»Π°Π²Ρ. ΠΠΎ "ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ" Π·Π΄Π΅ΡΡ ΠΌΡ ΡΠΎΠΆΠ΅ Π²ΡΡΡΠ΅ΡΠΈΠΌ.
3.3.1. ΠΠΈΠ΄Ρ ΡΡΡΠΎΠΊ Π² Delphi
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ ANSI Π² Delphi ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ Π²ΠΈΠ΄Π° ΡΡΡΠΎΠΊ: AnsiString, ShortString ΠΈ PChar. Π Π°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΏΠΎΡΠΎΠ±Π΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π½Π΅Π΅. ΠΠ°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ string ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΈΠΏ AnsiString, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ , ΡΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΈΠΏ ShortString, Π° ΡΠΈΡΠ»ΠΎ β ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠΏΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Huge strings (ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° {$H+/-} ΠΈ {$LONGSTRINGS ON/OFF}, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π°, Π½ΠΎ Π΅ΡΠ»ΠΈ Π΅Π΅ Π²ΡΠΊΠ»ΡΡΠΈΡΡ, ΡΠΎ ΡΠ»ΠΎΠ²ΠΎ string ΡΡΠ°Π½Π΅Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ShortString; ΠΈΠ»ΠΈ, ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, string[255]. ΠΡΠ° ΠΎΠΏΡΠΈΡ Π²Π²Π΅Π΄Π΅Π½Π° Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Turbo Pascal, Π² Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ Π΅Π΅ Π½Π΅Ρ Π½ΡΠΆΠ΄Ρ. ΠΠ½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΠΈΡ. 3.2.
Π ΠΈΡ. 3.2. Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² Delphi
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΡΡΠΎΠ΅Π½ ΡΠΈΠΏ ShortString. ΠΡΠΎ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΠΎΡ 0 Π΄ΠΎ N, Π³Π΄Π΅ N β ΡΠΈΡΠ»ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ShortString N ΡΠ²Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠ°Π²Π½ΠΎ 255). ΠΡΠ»Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ (ΡΡΡ Π΄Π»ΠΈΠ½Ρ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΄Π°Π»Π΅Π΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ M), ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΠΎΡ 1 Π΄ΠΎ M β ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ M+1..N Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ. ΠΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡ ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. Π ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π²ΡΠ΅Π³Π΄Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ N+1 Π±Π°ΠΉΡΠΎΠ².
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° ShortString ΠΎΡΠ΅Π²ΠΈΠ΄Π½Ρ: Π½Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ ΠΎΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠΎΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ 255 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΠΈΡΠΈ Π΄Π»ΠΈΠ½Ρ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΏΡΠΈΠ½ΡΡΡΠΌ Π² Windows, ΠΏΠΎΡΡΠΎΠΌΡ ShortString Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠΈΠ½ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π½ΡΠ»Ρ-ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ: ΡΡΡΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° Π΅Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ, ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π²ΡΡΡΠ΅ΡΠΈΠ²ΡΠΈΠΉΡΡ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² #0. ΠΠ»ΠΈΠ½Π° ΡΠ°ΠΊΠΈΡ ΡΡΡΠΎΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ (Ρ.Π΅. Π² Windows ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ 4 294 967 295 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²). ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΡΠΈΠΏ PChar. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΡΡΡΠΎΠΊΠΈ. Π Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΡΠΎ PChar = ^Π‘har, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅Π²Π΅ΡΠ½ΠΎ: ΡΠΈΠΏ PChar Π²ΡΡΡΠΎΠ΅Π½ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ². ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Ρ Π½ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π΅ΡΠ»ΠΈ P β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° PChar, ΡΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ P[N], Π³Π΄Π΅ N β ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π΅ Π½ΠΎΠΌΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΈΠΏΠ° ShortString, Π·Π΄Π΅ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π½ΡΠΌΠ΅ΡΡΡΡΡΡ Ρ 0, Π° Π½Π΅ Ρ 1). ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ ΡΠΈΠΏΠ° PChar ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈ Π²ΡΡΠΈΡΠ°ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, ΡΠΌΠ΅ΡΠ°Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π±Π°ΠΉΡΠΎΠ² Π²Π²Π΅ΡΡ ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· (Π·Π΄Π΅ΡΡ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ± ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ "+" ΠΈ "-"; Π°Π΄ΡΠ΅ΡΠ½Π°Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Inc ΠΈ Dec Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ PChar).
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ PChar ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ ΠΈ Π·Π° Π΅Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ ΠΈ ΡΠ»ΡΠΆΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²: ΠΎΠ½ΠΈ ΠΏΡΡΠ°ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ AnsiString, Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠ°ΠΌΡΡΡΡ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π³ΡΡΠ±Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°, ΡΠΏΠΎΡΠΎΠ±Π½Π°Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ°ΠΌΡΠΌ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌ.
Π₯ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ Π²ΡΠ±ΠΎΡΠ° Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π½ΡΠ»Ρ-ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ°ΠΌΡΠΌΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ StrNew, StrDispose ΠΈ Ρ.ΠΏ. ΠΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΡΠ΅ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ, ΠΈ Π² ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°ΠΉΡΠΎΠ² Π±ΡΠ»ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΡΡΠ½ΠΊΡΠΈΡ StrDispose ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΎΠ²Π½ΠΎ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΠ»ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π±ΡΠ» Π·Π°ΠΏΠΈΡΠ°Π½ ΡΠΈΠΌΠ²ΠΎΠ» #0, ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΠΈΠΉ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠΈΠΏΠ° Char, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΠΊΠ°ΠΊ Π½ΡΠ»Ρ-ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ ΡΠΈΠΏΠΎΠΌ PChar, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
Π’ΠΈΠΏ AnsiString ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΡΠΈΠΏΠΎΠ² ShortString ΠΈ PChar: ΡΡΡΠΎΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ Π΄Π»ΠΈΠ½Ρ, Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π½ΠΈΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Π² ΠΈΡ ΠΊΠΎΠ½Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» #0, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌΠΈ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ (Π²ΠΏΡΠΎΡΠ΅ΠΌ, ΡΡΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π½Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ½Π°Ρ; ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ AnsiString Π² ΡΡΠ½ΠΊΡΠΈΡΡ API, ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ Π² ΡΠ°Π·Π΄. 1.1.13.).
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° AnsiString β ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ PChar. Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ Π² ΠΏΠ°ΠΌΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΡΡΠΈΠΉ, ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ²ΡΠΈΠΉ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡΠΈΠΉ ΠΏΠ°ΠΌΡΡΡ, Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ. Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ AnsiString ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡ ΠΎΠ± ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΠ°ΠΊΠΈΡ ΡΡΡΠΎΠΊΠ°Ρ Π½ΡΠΌΠ΅ΡΡΡΡΡΡ Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡ ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΏΠ° ShortString.
Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎ, ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ copy-on-demand, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ S1, S2 ΡΠΈΠΏΠ° AnsiString, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π° S1 := S2 Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ S1 ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ S2, Π° ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ ΡΡΡΠΎΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΠΈΡ ΡΡΡΠΎΠΊ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΠ½Π° ΡΠ½Π°ΡΠ°Π»Π° Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π° (Π° ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π°, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠΌΠ΅Π½ΡΡΠ΅Π½) ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°, ΡΡΠΎΠ±Ρ ΡΡΠΎ Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π»ΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠΎΠΊ ΡΠ°Π·Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°.
3.3.2. Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ²
ΠΠΈΡΠ΅ΡΠ°Π»Π°ΠΌΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ Π² Delphi β ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ANSI-ΠΊΠΎΠ΄ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° #.
ΠΠΎΠ³Π΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π», ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎΠ±Ρ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π»ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Delphi ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ Π² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°, Π² ΡΡΠ°ΡΡΠΊΠ°Ρ , ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ.
ΠΠΎΠ»ΠΎΠΆΠΈΠΌ Π½Π° ΡΠΎΡΠΌΡ ΠΏΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄Π»Ρ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° Π½ΠΈΡ (Π»ΠΈΡΡΠΈΠ½Π³ 3.17, ΠΏΡΠΈΠΌΠ΅Ρ Constants Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ΅).
ΠΠΈΡΡΠΈΠ½Π³ 3.17. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»Π°ΠΌΠΈprocedure TForm1.Button1Click(Sender: TObject);
var
P: PChar;
begin
P := 'Xest';
P[0] := 'T'; { * }
Label1.Caption := P;
end;
procedure TForm1.Buttom2Click(Sender: TObject);
var
S: string;
P: PChar;
begin
S:= 'Xest';
P := PChar(S);
P[0] := 'T'; { * }
Label1.Caption := P;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
S: string;
begin
S := 'Xest';
S[1] := 'T';
Label1.Caption := S;
end;
procedure TForm1.Button4Click(Sender: TObject);