ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΡΡΡΠ»ΠΎΠΊ ΠΏΡΠΎΠ·ΡΠ°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Π² Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ Π·Π°ΠΏΡΡΠ°Π»ΡΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ string, ΡΠΈΠΏ WideString Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΡΡΠ»ΠΎΠΊ, ΠΈ Π»ΡΠ±ΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² ΡΠ΅Π»ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΡΠΈΠΏΠΎΠΌ BSTR, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΡΡ Π² COM/DCOM ΠΈ OLE.
Π€ΡΠ½ΠΊΡΠΈΠΈ Windows API Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΈΠΏ string. ΠΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠΌΠΈΡΡ Π½Π° #0 (Π½ΡΠ»Ρ-ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, null-terminated strings). ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΏΠΎΡΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΊΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Ρ ΠΊΠΎΠ΄ΠΎΠΌ 0. Π Π°Π½ΡΡΠ΅ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΡΡΠΎΠΊ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π» ΡΠ΅ΡΠΌΠΈΠ½ ASCIIZ. ASCII β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ, Z β zero. Π‘Π΅ΠΉΡΠ°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ASCII Π² ΡΠΈΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Ρ ΠΎΡΡ ΡΡΠΎ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ ΡΡΡΠΎΠΊΠΈ. ΠΠ°ΠΊ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ, Π² Delphi ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ ΡΠΈΠΏΠ° string Π½Π΅ΡΠ²Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ», Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΠΉΡΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ΅ ΡΠΈΡΠ»Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Π½ΡΠ»Ρ-ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π°.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΡΠ»Ρ-ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π² Delphi ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ»ΡΠΆΠΈΡ ΡΠΈΠΏ PChar. Π€ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΈΠΏΠ° Char, Π½ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΡΠΎΠΊΠΈ, ΠΈ Π·Π° Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠ΄Π΅ Π±ΡΠ΄ΡΡ ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΠΈ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π΄Π»Ρ Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΡΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅ΡΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ½ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΡΠΎΡΠ» #0.
Π‘ΡΡΠΎΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ PChar, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ string β ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ±ΡΠ°ΡΠ½ΠΎΠ΅ Π½Π΅Π²Π΅ΡΠ½ΠΎ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, string β ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΡΡΡΠΎΠΊΠΈ, Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ΅ΠΉΡΡ Π½ΡΠ»Π΅ΠΌ, Ρ.Π΅. ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ PChar. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ, Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΡΡΠΈΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠ°ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ° string ΠΊ PChar. Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ.
ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ API, ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π² ΡΠΏΡΠ°Π²ΠΊΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ LPCTSTR (ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΡΠ½ΠΊΡΠΈΠΈ SetWindowText), Π° Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ β LPTSTR (GetWindowText). Π Π°Π½Π΅Π΅ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° C ΠΏΠΎΡΠ»Π΅ LP ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Ρ.Π΅. ΡΠΎ, Π½Π° ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. Π’ΠΈΠΏ LPCTSTR ΠΈΠΌΠ΅ΡΡ ΡΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°Π΅Ρ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ. Π‘ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ SetWindowText, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ (Π»ΠΈΡΡΠΈΠ½Π³ 1.20).
ΠΠΈΡΡΠΈΠ½Π³ 1.20. ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠΈΠΏΠ° LPCTSTR{ ΠΠ°ΡΠΈΠ°Π½Ρ 1 }
SetWindowText(Handle, 'Π‘ΡΡΠΎΠΊΠ°');
{ ΠΠ°ΡΠΈΠ°Π½Ρ 2
S -ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° string }
SetWindowText(PChar(S));
{ ΠΠ°ΡΠΈΠ°Π½Ρ 3
X - ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° Integer }
SetWindowText(PChar('ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ' + IntToStr(X) + '%'));
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π» Π² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°, Π° Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΡΡΠΎΠΊΡ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°Π΅Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Ρ ΡΠ°Π½ΡΡΠΈΠΉΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ S. Π’Π°ΠΊΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ string ΠΊ PChar Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ, Ρ.ΠΊ. ΡΡΡΠΎΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠ»Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ S, Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΠΎ Π·Π΄Π΅ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄Π½Π° ΡΠΎΠ½ΠΊΠΎΡΡΡ: ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ PChar(S) β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ², ΠΏΡΠΈ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΡΠ²Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ _LStrToPChar. ΠΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ, ΠΊΠΎΠ³Π΄Π° string Ρ ΡΠ°Π½ΠΈΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ nil. Π€ΡΠ½ΠΊΡΠΈΡ _LStrToPChar ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΏΡΡΡΠ°Ρ Π»ΠΈ ΡΡΡΠΎΠΊΠ° Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΡΡΡΠ°Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΎΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π° Π΅ΡΠ»ΠΈ ΠΏΡΡΡΠ°Ρ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ nil, Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» #0, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ Π² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°. ΠΠΎΡΡΠΎΠΌΡ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ, Π² ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ.
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, Π° ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΈΠΏΠ° string. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΡΠ΅ΡΡΠ΅ΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ string. ΠΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ PChar. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° string. Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π΅Π³ΠΎ ΠΊ PChar. Π ΡΠΏΠΈΠ»ΠΎΠ³ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΡ SetWindowText ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΈΠΏΠ° LPCTSTR, ΠΊΡΠΎΠΌΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π·Π΄Π΅ΡΡ. ΠΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π½ΡΠ»Ρ-ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ StrNew ΠΈΠ»ΠΈ ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ SysUtils. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠΏΠ° Char. ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π·Π΄Π΅ΡΡ ΡΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½Ρ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠΏΠ° LPTSTR ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°ΡΡ, Π½ΠΎ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΡΡΠΎ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅, Ρ.Π΅. ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π» ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: Π³Π΄Π΅, ΠΊΠ΅ΠΌ ΠΈ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΡΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½Π° ΡΡΡΠΎΠΊΠ°? Π€ΡΠ½ΠΊΡΠΈΠΈ Windows API, Π·Π° ΠΎΡΠ΅Π½Ρ ΡΠ΅Π΄ΠΊΠΈΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ΅ΡΠ°ΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΠΏΠ°ΠΌΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π° Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠΎΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ. Π‘Π°ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΡΡΠΎΠΊΡ Π² ΡΡΠΎΡ Π±Π»ΠΎΠΊ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π²ΡΡΠ°Π΅Ρ Π·Π°Π΄Π°ΡΠ° ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΡΡΠΎΠΊΡ. ΠΠ΄Π΅ΡΡ API Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ ΡΠ΅ΡΠ°ΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ GetWindowText ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ, Π²ΡΠ·Π²Π°Π² ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ GetWindowTextLength. Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° GetCurrentDirectory Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π±ΡΡΠ΅Ρ ΠΈ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΅ΡΠ΅ ΡΠ°Π·. Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° SHGetSpecialFolderPath, Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊΠΎΠ² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ (ΡΡΠΎ, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΠΌΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅). Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ API-ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΡ ΡΡΡΠΎΠΊΠΈ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π±Π°ΠΉΡΠΎΠ², ΡΠ΅ΠΌ Π±ΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡ.
ΠΡΠ΄Π΅Π»ΡΡΡ Π±ΡΡΠ΅Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΠΈΠΏ string ΠΈΠ»ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π½ΡΠ»Ρ-ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊ.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ°ΡΡΠΈΠ²Ρ ΡΠΈΠΏΠ° Char Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ 0 ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΊ Π½ΡΠ»Ρ-ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π½ΠΈΠΌΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄ΠΎΠ±Π΅Π½ ΡΠ΅ΠΌ, ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ Π½Π° ΡΡΠ°ΠΏΠ΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°, Π½ΠΎ "ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π·Π΄ΡΠ°Π²ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π°" ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ Π² ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠ° Π΄Π»ΠΈΠ½Π° Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈ Π±Π΅ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°.
Π‘ΡΡΠΎΠΊΠΈ ΡΠΈΠΏΠ° string ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΠΆΠΈΡΡ Π±ΡΡΠ΅ΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SetLength, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΡΡΡΠΎΠΊΠΈ Π² ΡΡΠ½ΠΊΡΠΈΡ API. ΠΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡ: Π΅ΡΠ»ΠΈ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ°Π²Π½ΠΎΠΉ Π½ΡΠ»Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° string Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ nil, Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° #0. ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ Access violation.
Π’ΡΠ΅ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± β Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π±ΡΡΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ StrAlloc ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΌΡΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ StrDispose. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ try/finally, ΡΡΠΎΠ±Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π½Π΅ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΡΡΠ΅ΡΠΊΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ.