ïÔÐÒÁ×ÌÑÅÔ email-ÒÁÓÓÙÌËÉ Ó ÐÏÍÏÝØÀ ÓÅÒ×ÉÓÁ Sendsay

Delphi - ÐÒÏÂÌÅÍÙ É ÒÅÛÅÎÉÑ

  ÷ÓÅ ×ÙÐÕÓËÉ  

ðÒÏÂÌÅÍÙ É ÒÅÛÅÎÉÑ × Delphi #29


óÌÕÖÂÁ òÁÓÓÙÌÏË Subscribe.Ru ÐÒÏÅËÔÁ Citycat.Ru

ðÒÏÂÌÅÍÙ É ÒÅÛÅÎÉÑ × Delphi - ×ÙÐÕÓË 29 ÏÔ 13.09.2001.


åÓÌÉ ÏÞÅÎØ ÎÁÄÏ,
ÔÏ ÍÏÖÎÏ É ÚÁÈÏÔÅÔØ.


÷óå ÷ïðòïóù óðòïóéôø ðòåäìïöéôø áòèé÷ù óëïìøëï îáó


äÏÂÒÏÇÏ ÷ÁÍ ×ÒÅÍÅÎÉ ÓÕÔÏË Õ×ÁÖÁÅÍÙÊ ÞÉÔÁÔÅÌØ.

ðÒÏÄÏÌÖÁÀ ÐÒÉÎÉÍÁÔØ ÷ÁÛÉ ÐÒÅÄÌÏÖÅÎÉÑ ÐÏ ÏÒÇÁÎÉÚÁÃÉÉ OFFLine
ÁÒÈÉ×Á ÉÓÈÏÄÎÉËÏ× É ÐÒÏÃÅÄÕÒ.

óÅÇÏÄÎÑ × ×ÙÐÕÓËÅ :
~~~~~~~~~~~~~~~~~~~
1. ïÞÅÒÅÄÎÙÅ ×ÏÐÒÏÓÙ.
2. ïÔ×ÅÞÅÎÎÙÅ ×ÏÐÒÏÓÙ.
~~~~~~~~~~~~~~~~~~~


1. ïÞÅÒÅÄÎÙÅ ×ÏÐÒÏÓÙ.
---------------------


÷ÏÐÒÏÓ 450:

ïÔ: Poi$0n


    á ÎÅ ÐÏÄÓËÁÖÅÔ ÌÉ ËÔÏ, ËÁË ÍÏÖÎÏ ÄÌÑ Dial-Up ÓÏÅÄÉÎÅÎÉÑ ÓÞÉÔÁÔØ
ËÏÌ-×Ï
ÐÅÒÅÄÁÎÎÏÊ É ÐÒÉÎÑÔÏÊ ÉÎÆÏÒÍÁÃÉÉ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 451:

ïÔ: Viscount

õ ÍÅÎÑ ÂÏÌØÛÁÑ ÐÒÏÓØÂÁ, îÁÐÉÓÁÌ ÐÒÏÇÒÁÍÍÕ, ÞÅÒÅÚ clientsocket É
serversocket ÉÄÅÔ ÐÅÒÅÄÁÞÁ ÔÅËÓÔÁ, ËÏÔÏÒÙÊ ÐÅÒÅ×ÏÄÉÔÓÑ × ËÏÍÁÎÄÙ. îÏ Õ
ÍÅÎÑ ÐÒÏÂÌÅÍÁ, ÅÓÌÉ ËÏÍÐØÀÔÅÒ Ó ÓÅÒ×ÅÒÎÏÊ ÞÁÓÔØÀ ÏÔËÌÀÞÅÎ, ÔÏ ÐÒÉ
ÏÂÒÁÝÅÎÉÉ Ó ËÌÉÅÎÔÓËÏÊ ÍÁÛÉÎÙ ÎÁ ÎÅÊ ×ÙÈÏÄÉÔ Windows-ÓËÏÅ ÓÏÏÂÝÅÎÉÅ ÏÂ
ÏÛÉÂËÅ ÓÏÅÄÉÎÅÎÉÑ, ÍÏÖÎÏ ÌÉ ÐÒÏ×ÅÒÉÔØ ÐÏ ÉÚ×ÅÓÔÎÏÍÕ IP ÁÄÒÅÓÕ ÅÓÔØ ÌÉ
×ÏÚÍÏÖÎÏÓÔØ ÓÏÅÄÉÎÉÔØÓÑ ÉÌÉ ÍÁÛÉÎÁ ×ÙËÌÀÞÅÎÁ ÉÌÉ ÎÅÄÏÓÔÕÐÎÁ,


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 452:

ïÔ: áÌÅËÓÅÊ íÁÌÉÎÏ×ÓËÉÊ

÷ Ó×ÏÅÊ ÐÒÏÇÅ Ñ ÈÏÞÕ ÓÄÅÌÁÔØ ÏÔÞ£ÔÙ × MS Word.  óÎÁÞÁÌÁ Ñ ×ÙÐÏÌÎÑÀ SQL
ÚÁÐÒÏÓ (âä - InterBase), Á ÚÁÔÅÍ ÐÅÒÅÂÉÒÁÑ ËÁÖÄÕÀ ÚÁÐÉÓØ ×ÓÔÁ×ÌÑÀ Å£ ×
ÔÁÂÌÉÃÕ ÛÁÂÌÏÎÁ Word'Á.
ôÁË ×ÏÔ ÐÒÏÂÌÅÍÁ × ÔÏÍ, ÞÔÏ ×ÓÅ ÜÔÉ ÏÐÅÒÁÃÉÉ ÐÒÏÉÓÈÏÄÑÔ ÏÞÅÎØ ÄÏÌÇÏ...
÷ÏÐÒÏÓ: ÎÅÌØÚÑ ÌÉ ËÁË-ÎÉÔØ ÒÅÚÕÌØÔÁÔ SQL ÚÁÐÒÏÓÁ ÐÏÍÅÓÔÉÔØ × ËÁËÏÕ
ÎÉÂÕÄØ ÍÁÓÓÉ×, ÞÔÏÂÙ ÐÏÔÏÍ ÂÙÓÔÒÏ ÅÇÏ ÐÅÒÅÂÒÁÔØ É ×ÓÔÁ×ÌÑÔØ ÄÁÎÎÙÅ ×
ÛÁÂÌÏÎ, ÉÌÉ ÍÏÖÅÔ Õ ËÏÇÏ-ÎÉÂÕÄØ ÄÒÕÇÉÅ ÐÒÅÄÌÏÖÅÎÉÑ ÐÏ×ÙÓÉÔØ ÓËÏÒÏÓÔØ
ÐÏÓÔÒÏÅÎÉÑ ÏÔÞ£ÔÏ× Ó ÐÏÍÏÝØÀ OLE × Word'Å?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 453:

ïÔ: Ignat Cherepanoff aka goodenemy

ðÏÞÅÍÕ InterBase 5.6 îå óôá÷éôóñ ËÁË ÓÅÒ×ÉÓ-ÓÌÕÖÂÁ ÎÁ WINDOWS 2000?
ôÏÇÄÁ ËÁËÏÊ ÓÔÁ×ÉÔØÓÑ? É ÇÄÅ ÅÇÏ ×ÚÑÔØ × óÅÔÉ?
ïÞÅÎØ ÐÒÏÛÕ, ÏÔ×ÅÔØÔÅ, Ô.Ë. ÉÚ-ÚÁ ÜÔÏÇÏ ÒÁÓÓÏÇÌÁÓÏ×ÁÎÉÑ ÓÒÙ×ÁÀÔÓÑ
ÐÒÁËÔÉÞÅÓËÉÅ ÒÁÂÏÔÙ × ÉÎÓÔÉÔÕÔÅ (Ñ ÐÒÅÐÏÄ). ïÐÅÒÁÃÉÏÎËÕ ÎÁ NT ÉÌÉ
WIN98/ME ÒÕËÏ×ÏÄÓÔ×Ï ÍÅÎÑÔØ ÎÅ ÎÁÍÅÒÅÎÙ.


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 454:

ïÔ: Okulov
 
ëÔÏ- ÎÉÔØ ÚÎÁÅÔ ÞÔÏ- ÎÉÔØ Ï ÏÐÔÉÍÉÚÁÃÉÉ OpenGL ÐÒÏÇÒÁÍÍ
ðÏÊÔ£Ô ×Ó£ : ÓÓÙÌËɠ ÌÉÎËÉ ÄÏËÉ ÓÏÒÓÙ ÷ó³!!!!!!!!


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 455:

ïÔ: Andriy

æÉËÓÉÒÕÅÔ ÌÉ Windows ÏÔÌÉÞÉÅ ÐÒÉ ÚÁÐÕÓËÅ ÐÒÏÇÉ ÎÁ ÓÔÁÒÔÅ Windows ÉÚ
ÒÅÅÓÔÒÁ, Á×ÔÏÚÁÇÒÕÚËÉ, ÉÌÉ ini ÆÁÊÌÁ É ÐÒÉ ÚÁÐÕÓËÅ ÔÏÊ ÖÅ ÐÒÏÇÉ ×ÒÕÞÎÕÀ
ÐÒÉ ÒÁÂÏÔÅ Windows É ÅÓÌÉ ÄÁ, ÔÏ ËÁË ÜÔÏ ÏÔÌÉÞÉÅ ÓÁÍÏÊ ÖÅ ÐÒÏÇÏÊ,
ÎÁÐÉÓÁÎÏÊ ÎÁ Delphi, ×ÙÕÄÉÔØ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 456:

ïÔ: ÷ÉÔÁÌÑ

õ ÍÅÎÑ ÔÁËÏÊ ×ÏÔ ×ÏÐÒÏÓÉË ÉÍÅÅÔÓÑ Ë ÇÏÓÐÏÄÁÍ ÐÒÇÒÁÍÍÉÓÔÁÍ. òÅÛÉÌ
ÐÏÐÉÓÁÔØ ÎÁ WinApi ÉÚ ÐÏÄ äÅÌÆÉ, ÎÏ
ÐÏÞÅÍÕ ÔÏ ÎÉËÁË ÎÅ ÈÏÞÅÔ ÒÅÇÉÓÔÒÉÔØÓÑ ÍÏÊ ËÌÁÓÓ ÏËÎÁ ÆÕÎËÃÉÅÊ
RegisterClass(). íÏÖÅÔ ËÔÏ ÚÎÁÅÔ × Þ£Í
ÔÕÔ ÔÒÁÂÌ. ôÏÔ ÖÅ ÓÁÍÙÊ ËÏÄ ÂÅÚ ÐÒÏÂÌÅÍ ÒÁÂÏÔÁÅÔ × BP for Windows 7.0.
îÁ ×ÓÑËÉÊ ÓÌÕÞÁÊ ×ÏÔ *.dpr
ÆÁÊÌ. ëÓÔÁÔÉ ×ÄÒÕÇ ÅÓÌÉ ÜÔÏ ×ÁÖÎÏ - äÅÌØÆÑ ÔÒÅÔØÑ.

program Window;
uses Windows, Messages;

var w: TWndClassA;
    h: HWND;
    m: TMsg;

functionFUNCTION WndProc(Wnd, Msg, WParam: Word; LParam: LongInt): Longint;
beginBEGIN
WndProc := 0;
CASE Msg OF
     WM_DESTROY: PostQuitMessage(0);
else     ELSE DefWindowProc(Wnd, Msg, WParam, LParam);
end;end     END;
end;END;

begin
w.style := 0;
w.lpfnWndProc := @WndProc;
w.cbClsExtra := 0;
w.cbWndExtra := 0;
w.hInstance := hInstance;
w.hIcon := 0;
w.hCursor := 0;
w.hbrBackground := COLOR_WINDOW;
w.lpszMenuName := NIL;
w.lpszClassName := PChar('MyWindow');

RegisterClassA(w);
h := CreateWindowExA(0, w.lpszClassName, 'Hello World !!! :-)',
     WS_VISIBLE OR WS_MINIMIZEBOX OR WS_SYSMENU OR WS_BORDER,
     0, 0, 300, 600, 0, 0, hInstance, NIL);

GetMessage(m,0,0,0);
repeatREPEAT
thenifIF m.message = WM_QUIT THEN Exit;
TranslateMessage(m);
DispatchMessage(m);
untilUNTIL NOT GetMessage(m,0,0,0);
end.



ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 457:

ïÔ: õÈÁÎÏ× à.
 
õ ÍÅÎÑ ÏÄÉΠ×ÏÐÒÏÓ:
ðÏÓÌÅ ÎÅËÏÒÅÔÎÏÇÏ ÚÁ×ÅÒÛÅÎÉÑ ÐÒÏÇÒÁÍÍÙ ×ÓÅ ÄÁÎÎÙÅ × âä (Paradox)
ËÏÔÏÒÙÅ ÂÙÌÉ ××ÅÄÅÎÙ × ÔÅËÕÝÅÍ  ÓÅÁÎÓÅ ÐÒÏÐÁÄÁÀÔ.
þÔÏ ÎÁÄÏ ÓÄÅÌÁÔØ ×ÍÅÓÔÏ  - POST  ÉÌÉ ÅÝÅ ÞÔÏ-ÔÏ ÄÏÂÁ×ÉÔØ?
äÏÓÔÕРˠâä ÞÅÒÅÚ BDE/


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 458:

ïÔ: SeRj
 
îÅÄÁ×ÎÏ ËÏ ÍÎÅ ÐÏÐÁÌÁ ÂÁÚÁ ÄÁÎÎÙÈ ÎÁÐÉÓÁÎÎÁÑ ÎÁ VisualFoxPro,
×ÓÑ ÂÁÚÁ ×ÛÉÔÁ × ÏÄÉΠexe ÆÁÊÌ. íÏÖÎÏ ÌÉ × Delphi ÔÁË ÖÅ?
(serjio_ssa@inbox.ru)


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 459:

ïÔ: MODus

íÏÖÅÔ  ÌÉ ËÔÏ-ÎÉÂÕÄØ ÐÏÄÓËÁÚÁÔØ ÐÒÏÃÅÄÕÒÕ ÒÅËÕÒÓÉ×ÎÏÇÏ
ÏÂÈÏÄÁ   ËÁÔÏÌÏÇÏ×   ÌÏËÁÌØÎÏÇÏ   ÄÉÓËÁ   Ó   ÃÅÌØÀ  ÐÏÉÓËÁ  ÆÁÊÌÁ(Ï×)
ÚÁÄÁÎÎÏÇÏ(ÙÈ) ÐÏ ÍÁÓËÅ.


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 460:

ïÔ: Dizzer

íÏÖÅÔ ËÔÏ ÉÍÅÌ ÄÅÌÏ Ó òóè ÆÁÊÌÁÍÉ, ËÁË ÍÎÅ ÜÔÏÔ ÆÁÊÌ ÚÁÇpyÚÉÔØ × Image?
õ ÍÅÎÑ ÅÓÔØ ÂÉÂÌÉÏÔÅËÁ GraphicEx ÏÎÁ pÁÓÛÉpÑÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÓÔÁÎÄÁpÔÎÏÇÏ
Image
ÞÔÏÂÙ ÐÏÎÉÍÁÔØ *.tif; *.tiff *.fax *.bw, *.rgb, *.rgba, *.sgi *.cel;
*.pic
*.tga; *.vst; *.icb; *.vda; *.win *.PCX, *.pcc *.scr *.pcd *.ppm, *.pgm,
*.pbm
*.cut, *.pal *.gif *.rla, *.rpf *.bmp, *.rle, *.dib *.psd, *.pdd *.psp
*.png HÏ
ÉÚ-ÚÁ ÔÁËÏÇÏ ËÏÌÉÞÅÓÔ×Á ÐÏÎÉÍÁÅÍÙÈ ÆÏpÍÁÔÏ× pÁÚÍÅp ÐpÏÇpÁÍÍÙ
y×ÅÌÉÞÅ×ÁÅÔÓÑ ÎÁ
250ë.
íÏÖÅÔ y ËÏÇÏ ÅÓÔØ ÞÔÏ-ÔÏ ÐÏÍÅÎØÛÅ ÄÌÑ ÜÔÏÊ ÃÅÌÉ?



ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 461:

ïÔ: vas

ìÀÄÉ, ÐÏÄÓËÁÖÉÔÅ ÐÒÉÎÃÉÐÙ ÆÏÒÍÉÒÏ×ÁÎÉÑ âä ÐÏ ÔÅÈÎÏÌÏÇÉÉ ÆÁÊÌ-ÓÅÒ×ÅÒ,
Ô.Å. ÓÏÚÄÁÎÉÅ ÁÌÉÁÓÏ×, ÒÁÚÇÒÁÎÉÞÅÎÉÅ ÄÏÓÔÕÐÁ, ÂÌÏËÉÒÏ×ËÁ ÚÁÐÉÓÅÊ.


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 462:

ïÔ: oops

ðÏÖÁÌÕÊÓÔÁ, ÓËÁÖÉÔÅ ËÁË ÍÎÅ ÓÏÚÄÁÔØ ÓÏÅÄÉÎÅÎÉÅ ÕÄÁÌÅÎÎÏÇÏ
ÄÏÓÔÕÐÁ ÉÚ ÓÏÂÓÔ×ÅÎÎÏÇÏ ÉÎÓÔÁÌÑÔÏÒÁ ÐÒÏÇÒÁÍÍÙ? þÔÏ ÄÌÑ ÜÔÏÇÏ ÎÕÖÎÏ?
éÌÉ ÕËÁÖÉÔÅ ÓÓÙÌËÉ ÎÁ ÌÉÔÅÒÁÔÕÒÕ.


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 463:

ïÔ: Makerov A.I.

ðÏÄÓËÁÖÉÔÅ ÐÏÖÁÌÕÊÓÔÁ ËÁË ÍÎÅ ÏÔÌÏ×ÉÔØ PID ÐÒÏÃÅÓÓÁ, ÚÁÐÕÝÅÎÎÏÇÏ ÉÚ
ÐÒÉÌÏÖÅÎÉÑ ÄÅÌÆÉ ÍÅÔÏÄÏÍ:
a=TMyObject.Create;
ðÒÏÃÅÓÓ Ñ×ÌÑÅÔÓÑ OLE-ÐÒÉÌÏÖÅÎÉÅÍ É ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÆÏÎÏ×ÁÑ ÚÁÄÁÞÁ, ÎÅ
ÓÏÚÄÁ×ÁÑ ÏËÏÎ, ÐÏ ËÏÔÏÒÙÍ ÍÏÖÎÏ ÏÔÌÏ×ÉÔØ handle, ÎÏ ËÏÔÏÒÕÀ ÍÏÖÎÏ ÓÎÑÔØ
ÞÅÒÅÚ ÏÂÙÞÎÙÊ ÍÅÎÅÄÖÅÒ ÚÁÄÁÞ ×ÉÎÄÏ×.
ðÏÌÕÞÁÅÔÓÑ, ÞÔÏ ÎÕÖÎÏ ÏÔÌÁ×ÌÉ×ÁÔØ ËÁË-ÔÏ ÐÏ ÉÍÅÎÉ ÉÌÉ ËÌÁÓÓÕ ÐÒÏÃÅÓÓÁ ÎÏ
ËÁË ÜÔÏ ÓÄÅÌÁÔØ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 464:

ïÔ: Ivan

æÕÎËÃÉÑ GetWindowLong, Ñ Ó Å£ ÐÏÍÏÝØÀ ÈÏÞÕ
ÏÐÒÅÄÅÌÉÔØ
ÓÔÉÌØ ÏËÎÁ: ÍÎÅ ÎÕÖÎÏ ÏÔÏÂÒÁÔØ ÏËÎÁ ËÌÁÓÓÁ Button É ÉÚ ÎÉÈ ËÎÏÐËÉ ÓÔÉÌÑ
BS_ëæ÷ûýéçååýô. îÏ Ñ ÎÅ ÚÎÁÀ ËÁË ÐÒÏ×ÅÒÉÔØ, ÐÏÓÌÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÆÕÎËÃÉÉ,
ÐÒÉÎÁÄÌÅÖÉÔ ÉÌÉ ÎÅÔ ËÎÏÐËÁ ÄÁÎÎÏÍÕ ÓÔÉÌÀ. ôÁË ËÁË ÖÅ ÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ
ÓÔÉÌØ
ÏËÎÁ, ÍÏÖÅÔ Ñ ÎÅ ÔÕ ÆÕÎËÃÉÀ ÉÓÐÏÌØÚÕÀ... îÏ ×ÅÄØ ÎÅÔ ÖÅ ÆÕÎËÃÉÉ
GETBUTTONSTYLE!!! åÓÌÉ ÎÅÐÏÎÑÔÅΠ×ÏÐÒÏÓ - ÐÏÖÁÌÕÊÓÔÁ


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 465:

ïÔ: áÌÅËÓ þÅÂÙËÉÎ

éÍÅÀ ÓÌÅÄÕÀÝÕÀ ÐÒÏÂÌÅÍÕ: ÷ äÅÌØÆÉ 5 ÓÔÁÎÄÁÒÔÎÙÊ ËÏÍÐÏÎÅÎÔ NMUDP ÎÅ
ÖÅÌÁÅÔ
ÏÔÐÒÁ×ÌÑÔØ ÛÉÒÏËÏ×ÅÝÁÔÅÌØÎÙÅ ÓÏÏÂÝÅÎÉÑ. äÁÀ ÅÍÕ ÁÄÒÅÓ 255.255.255.255 -
ÔÉÛÉÎÁ... äÏ ÜÔÏÇÏ ÀÚÁÌ IPWorks × äÅÌØÆÅ 3 - ÓÉÑ ÏÐÅÒÁÃÉÑ ÐÒÏÈÏÄÉÌÁ ÂÅÚ
ÏÓÏÂÙÈ ÚÁÔÒÕÄÎÅÎÉÊ... ÷ÏÚÍÏÖÎÏ ÌÉ ÏÔÐÒÁ×ÉÔØ ÛÉÒÏËÏ×ÅÝÁÔÅÌØÎÏÅ ÓÏÏÂÝÅÎÉÅ
× ÐÑÔ£ÒÅ ÉÍÅÎÎÏ ÜÔÉÍ _ÓÔÁÎÄÁÒÔÎÙÍ_ ËÏÍÐÏÎÅÎÔÏÍ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 466:

ïÔ: Cool

éÎÔÅÒÅÓÕÅÔ ÔÁËÁÑ ×ÅÝØ. ë ËÏÍÐÏÎÅÎÔÁÍ TClientSocket É TServerSocket
ÎÅÏÂÈÏÄÉÍÏ ÐÒÉÐÁÑÔØ ÓÏÂÙÔÉÅ OnDataSent, ÐÅÒÅÈ×ÁÔÙ×ÁÀÝÅÅ ÚÁ×ÅÒÛÅÎÉÅ
ÐÅÒÅÄÁÞÉ ÄÁÎÎÙÈ... ðÏÐÒÏÂÏ×ÁÌ ÒÁÚÏÂÒÁÔØÓÑ ÓÁÍ - ÚÁ×ÉÓ... åÓÌÉ ÅÝÅ
ËÁËÉÅ-ÔÏ ÒÅÛÅÎÉÑ ÜÔÏÊ ÐÒÏÂÌÅÍËÉ ÂÕÄÕÔ, ÚÁÒÁÎÅÅ ÂÌÁÇÏÄÁÒÅÎ...


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


2. ïÔ×ÅÞÅÎÎÙÅ ×ÏÐÒÏÓÙ.
----------------------


÷ÏÐÒÏÓ 351:

ïÔ: Bikkin Marat

    õ×ÁÖÁÅÍÙÅ ÇÏÓÐÏÄÁ ÐÒÏÇÒÁÍÍÉÓÔÙ, Õ ÍÅÎÑ Ë ÷ÁÍ Ä×Á ×ÏÐÒÏÓÁ ÐÏ  ÔÅÍÅ
    DBE/Database Desktop.

    1. ëÁË ÐÏÓÍÏÔÒÅÔØ ËÁËÉÅ VALIDITY CHECKS ÂÙÌÉ ÎÁ×ÅÛÁÎÙ ÎÁ ÐÏÌÑ
    ÂÁÚÙ ? (ÈÏÞÕ ÓÄÅÌÁÔØ restructure × Database Desktop Á ÏΠÇÏ×ÏÒÉÔ
    "maximum validity checks failed
     field: size "  :(.

     2. ëÁË ÉÚÍÅÎÉÔØ ÜÔÉ ÓÁÍÙÅ validity checks --ÐÒÁ×ÉÌÁ "ÚÁÎÅÓÅÎÉÑ"
     ÉÎÆÏÒÍÁÃÉÉ × ÐÏÌÑ ÂÁÚÙ É ËÁË ÔÁÍ ×ÏÏÂÝÅ ÍÏÇÌÁ ÏËÁÚÁÔØÓÑ
     ÉÎÆÏÒÍÁÃÉÑ, ÎÅÐÒÁ×ÉÌØÎÁÑ Ó ÔÏÞËÉ ÚÒÅÎÉÑ ÜÔÉÈ ÐÒÁ×ÉÌ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
÷ÏÏÂÝÅ, ×ÓÅ VALIDITY CHECKS - ÏÇÒÁÎÉÞÅÎÉÑ ÎÁ ÚÎÁÞÅÎÉÑ ÐÏÌÅÊ ÂÁÚÙ ÄÁÎÎÙÈ - 
ÓÏÄÅÒÖÁÔÓÑ × ÚÁÇÏÌÏ×ÏÞÎÏÊ ÞÁÓÔÉ (Header) ÂÁÚÙ ÄÁÎÎÙÈ (ÄÌÑ ðÁÒÁÄÏËÓÁ, äÉâÜÊÓ 
É æÏËÓÁ, ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ - ÓÔÒÕËÔÕÒÁ ÂÁÚ üËÓÃÅÓÓÁ É ïÒÁËÕÌÁ ÎÅÓËÏÌØËÏ ÉÎÁÑ, 
Ô.Ë. ÉÈ ÆÁÊÌÙ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ ÐÏ ÎÅÓËÏÌØËÏ ÔÁÂÌÉàËÁÖÄÙÊ). 
äÌÑ ÷ÁÓ, ÏÞÅ×ÉÄÎÏ, ÉÎÔÅÒÅÓÎÅÅ, ÞÔÏ ×ÓÅ - ÷óå - ÜÔÉ ÏÇÒÁÎÉÞÅÎÉÑ ×Ù×ÏÄÑÔÓÑ × 
ÐÒÁ×ÏÍ ÓÔÏÌÂÃÅ äÁÔÁÂÜÊÓ äÅÓËÔÏÐÁ, É ÉÈ ÍÏÖÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ × ÒÅÖÉÍÅ 
"Restructure"! äÌÑ ÜÔÏÇÏ ÄÏÓÔÁÔÏÞÎÏ ×ÙÂÒÁÔØ × ÒÁÓËÒÙ×ÁÀÝÅÍÓÑ ÓÐÉÓËÅ "Table 
properties" (× ÐÒÁ×ÏÍ ×ÅÒÈÎÅÍ ÕÇÌÕ ÏËÎÁ "Restructure") ÐÕÎËÔ "Validity 
Checks".

÷ÏÐÒÏÓ 352:

ïÔ: ïÌÅÇ çÏÎÞÁÒÅÎËÏ

óÄÅÌÁÌ ÐÒÏÇÕ ÎÁ ÐÏÄÏÂÉÉ winpopup. éÓÐÏÌØÚÏ×ÁÌ
ËÏÍÐÏÎÅÎÔÙ TNMMsg TNMMsgServ. òÁÂÏÔÁÅÔ ÞÅÔËÏ,
ÎÏ ËÁË ÐÒÉ ÚÁÐÕÓËÅ ÐÒÏÇÉ ÐÒÏ×ÅÒÉÔØ, ËÔÏ ÉÚ
ÓÏÂÅÓÅÄÎÉËÏ× ÕÖÅ ÅÓÔØ É ÚÁÎÅÓÔÉ ÉÈ × combobox
ÉÌÉ ÄÒÕÇÏÊ ÓÐÉÓÏË?????
×ÔÏÒÏÅ ËÁË ÐÅÒÅÄÁÔØ ÓÏÂÅÓÅÄÎÉËÕ Ó ÐÏÍÏÝØÀ ÜÔÉÈ
ËÏÍÐÏÎÅÎÔ ÆÁÊÌ, ÄÕÍÁÀ ÎÁÄÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÏÔÏË,
ÎÏ ËÁË????

toprocedure TForm1.NMMsg1MessageSent(Sender: TObject);
begin
     StatusBar1.Panels[1].Text := 'óÏÏÂÝÅÎÉÅ ' + NMMsg1.Host + '
ÏÔÐÒÁ×ÌÅÎÏ!';
end;

//ÐÒÉÅÍ ÓÏÏÂÝÅÎÉÑ
procedure TForm1.NMMSGServ1MSG(Sender: TComponent; const sFrom,
  sMsg: String);
begin
     //×ÏÓÓÔÁÎÁ×ÌÉ×ÁÀ ÏËÎÏ
     if WindowState = wsMinimized then
     begin
     WindowState := wsNormal;
     ShowWindow(Form1.Handle, SW_RESTORE);
     end;
     StatusBar1.Panels[1].Text := 'óÏÏÂÝÅÎÉÅ ÏÔ '+sFrom;
     //ÐÏÄÁÀ ÓÉÇÎÁÌ
     MediaPlayer1.Play;
     Memo1.Lines.Add('['+ sFrom +'] '+ sMsg);

end;

//ÇÒÕÖÕ ÓÐÉÓÏË ÈÏÓÔÏ×
toprocedure TForm1.FormActivate(Sender: TObject);
begin
ComboBox1.Items.LoadFromFile('c:\hosts.txt');
end;

//ÏÔÐÒÁ×ÌÑÀ ÍÅÓÓÕ
toprocedure TForm1.BitBtn1Click(Sender: TObject);
begin
    NMMsg1.FromName := Edit2.Text;
    NMMsg1.Host := ComboBox1.Items[ComboBox1.ItemIndex];
    NMMsg1.PostIt(Memo3.Text);
end;
end.


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
ðÒÏ×ÅÒÉÔØ ÓÐÉÓÏË ÐÒÏÓÔÏ: 
ÐÅÒÉÏÄÉÞÅÓËÉ (ÎÅ ÔÏÌØËÏ ÐÒÉ ÚÁÐÕÓËÅ, Á ÔÏ ÍÏÇÕÔ É ÏÔ×ÁÌÉÔØÓÑ) ÐÏÓÙÌÁÊ ×ÓÅÍ 
ÓÏÏÂÝÅÎÉÅ ÔÉÐÁ '~~~ping~~~' 
ÅÓÌÉ ÄÏÛÌÏ, Ô.Å. ÎÅÔ ÏÛÉÂËÉ Connection failed, ÚÎÁÞÉÔ ÔÁËÏÊ ÅÓÔØ. 
Á × ÐÒÉÅÍÎÏÊ ÞÁÓÔÉ, ÅÓÌÉ ÐÒÉÎÑÌ ÓÏÏÂÝÅÎÉÅ '~~~ping~~~' ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÊ. 


÷ÏÐÒÏÓ 353:

ïÔ: åÒ ôÏÓÔÉË

èÏÞÕ ÎÁÐÉÓÁÔØ ÐÒÏÇÒÁÍÍÕ ÄÌÑ ×ÙÂÏÒÁ Shell ÄÌÑ Windows (ÓÔÁÎÄÁÒÔÎÙÊ -
explorer). ô.Å. ×ÍÅÓÔÏ explorer ÐÒÉ ÚÁÇÒÕÚËÅ ÚÁÐÕÓËÁÅÔÓÑ ÍÏÑ ÐÒÏÇÒÁÍÍÁ É
ÉÚ ÎÅÅ ×ÙÂÉÒÁÅÔÓÑ Ë ÐÒÉÍÅÒÕ Far, LiteStep ÉÌÉ ÖÅ ÏÂÙÞÎÙÊ explorer. îÏ
ÐÒÉ ÚÁÐÕÓËÅ explorer ÉÚ ÍÏÅÊ ÐÒÏÇÒÁÍÍÙ ÏÔËÒÙ×ÁÅÔÓÑ ÏÂÙÞÎÏÅ ÏËÎÏ
(ÐÒÏ×ÏÄÎÉË), Á ÍÎÅ ÎÁÄÏ, ÞÔÏÂÙ ÚÁÇÒÕÖÁÌÓÑ "ÒÁÂÏÞÉÊ ÓÔÏÌ". ÷ÉÄÉÍÏ ÎÁÄÏ
ÐÉÓÁÔØ ÎÅ "start explorer.exe" ÉÌÉ ÐÒÏÓÔÏ "explorer.exe", Á ÞÔÏ-ÔÏ
ÄÒÕÇÏÅ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
ÞÔÏÂÙ ÐÒÏÇÒÁÍÍÁ explorer.exe ÚÁÐÕÓËÁÌÁÓØ ÉÍÅÎÎÏ ËÁË ÏÂÏÌÏÞËÁ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ, Á ÎÅ ËÁË ÐÒÏ×ÏÄÎÉË, ÎÁÄÏ × ÆÁÊÌÅ 
system.ini (× ÐÁÐËÅ Windows) ÕËÁÚÁÔØ ÅÅ × ÓÔÒÏËÅ (SHELL=). ôÁË ÖÅ ÍÏÖÎÏ ÕËÁÚÁÔØ ÚÁÍÅÓÔÏ explorer.exe ÌÀÂÕÀ Win32 ÏÂÏÌÏÞËÕ 
(ÎÁÐÏÄÏÂÉÅ WinCommander). îÏ ÔÏÌËÕ ÏÔ ÜÔÏÇÏ ÍÁÌÏ - ÐÏ×ÅÒØ ÍÎÅ. äÁ, É ÄÅÌÁÔØ ÜÔÏ ÎÁÄÏ ÅÝÅ ÄÏ ÚÁÇÒÕÚËÉ ÷ÉÎÄÙ. õ ÍÅÎÑ, ÎÁÐÒÉÍÅÒ, ÜÔÏ 
ÐÒÏÉÓÈÏÄÉÔ ÎÁ ÓÔÁÄÉÉ ÚÁÇÒÕÚËÉ ËÏÍÐØÀÔÅÒÁ (ÐÒÉ ÐÏÍÏÝÉ ÎÁÓÔÒÏÅË × ÆÁÊÌÁÈ config.sys É autoexec.bat). ôÁË ÞÔÏ ÍÏÖÎÏ ÎÁ Turbo Pascal 
ÓÏÚÄÁÔØ ÐÒÉÌÏÖÅÎÉÅ (×ÅÒÎÅÅ ÆÁÊÌ) ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÆÁÊÌÁ system.ini (ÏΠÚÁÇÒÕÖÁÅÔÓÑ ÐÏÓÌÅ ÚÁÇÒÕÚËÉ autoexec.bat). á ÅÓÌÉ ÂÙÔØ 
ÔÏÞÎÅÅ, ÔÏ ÕÖ ÎÅÓËÏÌØËÏ ÆÁÊÌÏ×, ËÏÔÏÒÙÅ ÂÕÄÕÔ ÚÁÇÒÕÖÁÔØÓÑ ÐÒÉ ×ÙÂÏÒÅ ÏÐÒÅÄÅÌÅÎÎÏÊ ÏÐÃÉÉ ÍÅÎÀ, ËÁÖÄÙÊ ÉÚ ÎÉÈ ÂÕÄÅÔ ×ÍÅÓÔÏ 
ÉÍÅÀÝÅÊÓÑ ÓÔÒÏËÉ "SHELL=..." ×ÓÔÁ×ÌÑÔØ ÓÔÒÏËÕ Ó ÎÅÏÂÈÏÄÉÍÏÊ ÏÂÏÌÏÞËÏÊ.

÷ÏÐÒÏÓ 354:

ïÔ: Ziv

ôÁËÏÊ ×ÏÔ ×ÏÐÒÏÓ, ÎÕÖÎÏ ÉÚ äÅÌÆÁËÁ ÐÏÚ×ÏÎÉÔØ ÞÅÒÅÚ ÍÏÄÅÍ, ËÁË ÜÔÏ
ÍÏÖÎÏ ÓÄÅÌÁÔØ. åÓÌÉ ÍÏÖÎÏ, ÎÅÂÏÌØÛÏÊ ÐÒÉÍÅÒ.


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
éÓÐÏÌØÚÕÊÔÅ ÂÉÂÌÉÏÔÅËÕ AsyncPro
éÌÉ ÍÏÖÎÏ ÎÁÐÒÑÍÕÀ ÞÅÒÅÚ óïí-ÐÏÒÔÙ. îÏ ÔÁÍ ÔÏÖÅ ÎÕÖÎÁ ÂÉÂÌÉÏÔÅËÁ, ÄÌÑ ÐÒÑÍÏÇÏ ÄÏÓÔÕÐÁ Ë ÐÏÒÔÁÍ.


÷ÏÐÒÏÓ 355:

ïÔ: MadAM


õ ÍÅÎÑ Ë ×ÁÍ ÐÒÏÓÔÏÊ ×ÏÐÒÏÓ - ÍÏÖÎÏ ÌÉ ËÁË-ÎÉÔØ ÚÁÓÔÁ×ÉÔØ ÒÁÂÏÔÁÔØ
ÐÒÏÇÒÁÍÍËÕ, ÎÁÐÉÓÁÎÎÕÀ × äÅÌÆÉ ÄÌÑ ÒÁÂÏÔÙ Ó âä, ÅÓÌÉ ÎÁ ËÏÍÐÅ ÎÅ
ÕÓÔÁÎÏ×ÌÅÎÁ äÅÌÆÉ (BDE)?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
íÏÖÎÏ, ÉÓÐÏÌØÚÕÊ ËÏÍÐÏÎÅÎÔÙ ÎÁ ÚÁËÌÁÄËÅ ADO. 
ïÔ×ÅÔ 2:
åÓÌÉ ÐÒÏÇÒÁÍÍÁ ÎÁÐÉÓÁÎÁ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ËÏÍÐÏÎÅÎÔ ÐÒÅÄÏÓÔÁ×ÌÑÅÍÙÈ ÔÒÅÔÉÍÉ ÆÉÒÍÁÍÉ É ÎÅ ÉÓÐÏÌØÚÕÀÝÉÍÉ âäå 
(ÒÁÂÏÔÁÀÝÉÍÉ ÎÁÐÒÑÍÕÀ Ó âä ÉÌÉ ÓÅÒ×ÅÒÏÍ âä), ÔÏ ÍÏÖÎÏ, ÔÏÇÄÁ ÎÉ ÄÅÌÆÉ ÎÉ âäå ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÎÅ ÎÕÖÎÏ. åÓÌÉ ÖÅ 
ÐÒÏÇÁ ÎÁÐÉÓÁÎÁ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÓÔÁÎÄÁÒÔÎÙÈ ËÏÍÐÏÎÅÎÔÏ× Delphi (TTable, TQuery, TDataBase É Ô. Ä.) ÔÏ ÎÅÌØÚÑ.
ïÔ×ÅÔ 3:
ë ËÁËÏÊ âä- ÔÏ?
ó ORACLE  É DBF ÜÔÏ ×ÏÚÍÏÖÎÏ.
åÝÅ ×ÏÚÍÏÖÎÏ ÞÅÒÅÚ ODBC , ÎÏ ÜÔÏ ÈÕÖÅ ÞÅÍ ÞÅÒÅÚ BDE.


÷ÏÐÒÏÓ 356:

÷ÏÐÒÏÓ:
ïÔ: å×ÇÅÎÉÊ íÏÒÏÚÏ×

ëÁË ÒÅÛÉÔØ ÐÒÏÂÌÅÍÕ: ÉÍÅÅÔÓÑ ÔÅËÓÔÏ×ÙÊ ÆÁÊÌ, ÎÕÖÎÏ ÅÇÏ ÎÁÐÅÞÁÔÁÔØ ÎÁ
ÍÁÔÒÉÞÎÏÍ ÐÒÉÎÔÅÒÅ × _ÔÅËÓÔÏ×ÏÍ_ ÒÅÖÉÍÅ, Á ÎÅ × ÇÒÁÆÉËÅ. íÅÔÏÄ Ó
ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ AssignFile...WriteLn...CloseFile ÎÅ ÐÏÄÈÏÄÉÔ, Ô.Ë.
ÎÕÖÎÏ, ÞÔÏÂÙ ÏÔÐÒÁ×ÌÑÅÍÙÅ ÎÁ ÐÅÞÁÔØ ÚÁÄÁÎÉÑ ÓÔÁ×ÉÌÉÓØ × ÏÞÅÒÅÄØ (Ô.Å.
ÚÁÄÅÊÓÔ×Ï×ÁÔØ ÓÐÕÌÅÒ Windows, ËÁË ÜÔÏ ÒÅÁÌÉÚÏ×ÁÎÏ × FAR'Å (ÐÅÞÁÔØ ÐÏ
Ctrl+F5).


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
ðÏÓÔÁÎÏ×ËÁ × ÏÞÅÒÅÄØ ÐÅÞÁÔÉ : 
toprocedure TfmDoc.bbPrintClick(Sender: TObject); 
var p, f: String; 
begin 
  p := 'lpt1'#0; 
  f := 'C:\autoexec.bat'#0; 
  CopyFile (PChar(f), PChar(p), False{ÚÄÅÓØ ÍÏÖÅÛØ ÐÏÐÒÏÂÏ×ÁÔØ True}); 
end; 


÷ÏÐÒÏÓ 357:

ïÔ: vahrshev@yandex.ru

åÓÔØ Win2000Server, Ë ÎÅÍÕ ÐÏ COM ÐÏÒÔÕ ËÏÎÎÅËÔÉÔØÓÑ ÄÒÕÇÁÑ ÍÁÛÉÎÁ.
õÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÓÏÅÄÔÎÅÎÉÅ. ëÁË ÉÚ äÅÌÆÅÊ ÏÔËÌÀÞÉÔØ ÜÔÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
ÎÁ ÓÅÒ×ÅÒÅ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 358:

ïÔ: ïÌØÔÁ ëÏÎÓÔÁÎÔÉÎ
 
äÌÑ ×Ù×ÏÄÁ ÐÏÍÏÝÉ (ÈÅÌÐÉËÁ) × ÐÒÏÇÒÁÍÍÅ ÉÓÐÏÌØÚÕÀ RichEdit. ðÒÏÂÌÅÍÁ -
×ÙÔÁÓËÉ×ÁÀ ÆÁÊÌ ÐÏÍÏÝÉ × RichEdit ÉÚ *.RTF, Á ÏΠՠÍÅÎÑ Ó ÇÉÐÅÒÓÓÙÌËÁÍÉ.
çÉÐÅÒÓÓÙÌËÉ ÕËÁÚÙ×ÁÀÔ ÎÁ ÏÐÒÅÄÅÌÅÎÎÙÅ ÁÂÚÁÃÙ × ÄÏËÕÍÅÎÔÅ (ÎÅ ÎÁ ÄÒÕÇÉÅ
ÆÁÊÌÙ). ÷ RichEdit ÇÉÐÅÒÓÓÙÌËÉ ÎÅ ÒÁÂÏÔÁÀÔ. åÓÔØ ÌÉ ×ÏÚÍÏÖÎÏÓÔØ ÓÄÅÌÁÔØ
ÇÉÐÅÒÓÓÙÌËÉ ÒÁÂÏÞÉÍÉ × RichEdit?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
ÇÉÐÅÒÓÓÙÌËÉ ÐÏÄÄÅÒÖÉÍÁÀÔ ÎÅ ×ÓÅ ÓÐÅÃÉÆÉËÁÃÉÉ 
RTF,ÐÏÐÒÏÂÕÊÔÅ RTF ËÏÍÐÏÎÅÎÔ ÏÔ RxLib. 


÷ÏÐÒÏÓ 359:

ïÔ: Westa

åÓÔØ ÂÁÚÁ Paradox, ÆÏÒÍÉÒÕÅÔÓÑ SQL - ÚÁÐÒÏÓ ÐÏ ÔÁÂÌÉÃÅ, ÅÓÌÉ ÚÁÐÉÓØ
ÓÏÄÅÒÖÉÔ ÒÕÓÓËÉÅ ÂÕË×Ù þ ÉÌÉ ñ, ÔÏ ÜÔÉ ÚÁÐÉÓÉ ÎÅ ÒÁÓÐÏÚÎÁÀÔÓÑ. ëÁË
ÂÙÔØ???


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
õ ÍÅÎÑ ÂÙÌ ÓÌÕÞÁÊ, ËÏÇÄÁ Õ ÒÁÚÎÙÈ ÔÁÂÌÉàÂÙÌÉ ÕÓÔÁÎÏ×ÌÅÎÙ ÒÁÚÎÙÅ ÒÁÓËÌÁÄËÉ 
ÐÁÒÁÍÅÔÒ Language × ÏÄÎÏÊ ÔÁÂÌÉÃÅ ÂÙÌ ÒÁ×ÅΠ"Paradox Cyrr 866"  × 
ÄÒÕÇÏÊ ÔÉÐÁ "ascii" ANSI ÒÅÚÕÌØÔÁÔ ÂÙÌ ÐÏÈÏÖÉÍ. 
÷ÙÈÏÄ: 1. ðÏÍÅÎÑÔØ ÒÁÓËÌÁÄËÕ × ÔÁÂÌÉÃÅ 2. ðÏÓÔÒÏÉÔØ ÚÁÐÒÏÓ ÐÏÍÅÎÑ× 
ÔÁÂÌÉÃÙ ÍÅÓÔÁÍÉ × SQL. éÎÏÇÄÁ ÐÏÍÏÇÁÅÔ. 


÷ÏÐÒÏÓ 360:

ïÔ: ïÌÅÇ çÏÎÞÁÒÅÎËÏ

÷ÙÐÏÌÎÑÀ ÓÌÅÄÕÀÝÕÀ ÐÒÏÃÅÄÕÒÕ : NMMsg1.PostIt(Memo1.Text),
ÅÓÌÉ ÕÄÁÌÅÎÎÁÑ ÍÁÛÉÎÁ ÏÔËÌÀÞÅÎÁ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ
'Connection Failed'.... ëÁË ÂÌÏËÉÒÏ×ÁÔØ ÜÔÏ ÓÏÏÂÝÅÎÉÅ,
Á ÐÏËÁÚÁÔØ Ó×ÏÅ? éÌÉ ËÁËÉÍ ÏÂÒÁÚÏÍ ÐÒÉ ÚÁÐÕÓËÅ ÐÒÏÇÉ
ÐÏÌÕÞÉÔØ ÓÐÉÓÏË IP-ÁÄÒÅÓÏ× ÍÁÛÉΠËÏÔÏÒÙÅ ÇÏÔÏ×Ù
×ÓÔÕÐÉÔØ × ËÏÎÔÁËÔ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
þÔÏÂÙ ÐÏËÁÚÁÔØ Ó×Ï£ ÓÏÏÂÝÅÎÉÅ:
 
try
  NMMsg1.PostIt(Memo1.Text);
except
  ShowMessage('MyMessage');
end;


÷ÏÐÒÏÓ 361:

ïÔ: ivc_dima

ñ ÐÙÔÁÀÓØ ÎÁ Delphi5 ÓÏÚÄÁÔØ ÏÔÞÅÔ × Excel ÉÓÐÏÌØÚÕÑ ËÏÍÐÏÎÅÎÔÙ
TExcelApplication, TExcelWorkbook É Ô.Ä.
æÒÁÇÍÅÎÔ ÐÒÏÇÒÁÍÍÙ:

 
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0)
as _Workbook);
   ExcelWorksheet1.ConnectTo(ExcelWorkbook1.ActiveSheet as _Worksheet);

 
ExcelWorksheet1.Cells.Item[1,1].CopyFromRecordset(?,EmptyParam,EmptyPara
m);

   ExcelWorksheet1.Columns.AutoFit;
   ExcelApplication1.Visible[0]:=true;
  
 
ExcelWorkbook1.SaveAs(name,xlWorkbookNormal,Emptyparam,Emptyparam,Emptyp
aram,Emptyparam,xlNoChange,xlUserResolution,Emptyparam,Emptyparam,Emptyp
aram,0);
   ExcelApplication1.Quit

   ÷ ÄÁÎÎÏÍ ÆÒÁÇÍÅÎÔÅ ÎÅ ÍÏÇÕ ÐÅÒÅÄÁÔØ ÐÁÒÁÍÅÔÒ Data:IUnknown × ÆÕÎËÃÉÉ
   CopyFromRecordset(const Data:IUnknown; MaxRows:OleVariant;
MaxColumns:OleVariant)

   îÅ ÓÔÁÌËÉ×ÁÌÉÓØ ÌÉ ÷Ù Ó ÜÔÏÊ ÆÕÎËÃÉÅÊ. ðÏÍÏÇÉÔÅ ÐÏÖÁÌÕÊÓÔÁ
   ÒÁÚÏÂÒÁÔØÓÑ Ó ÜÔÏÊ ÐÒÏÂÌÅÍÏÊ. úÁÒÁÎÅÅ ÂÌÁÇÏÄÁÒÅÎ.  


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
ñ ÐÅÒÅÄÁ×ÁÌ ÉÎÔÅÒÆÅÊÓ _Recordset. ëÕÓÏÞÅË ËÏÄÁ : 

with (DataSource.Dataset as TCustomADODataset)  do begin 
........ 
      CopyFromRecordSet(RecordSet, EmptyParam, EmptyParam); 
// ÔÏ ÅÓÔØ CopyFromRecordSet(YourDataSetName.RecordSet, EmptyParam, 
EmptyParam) 
....... 
end; 


÷ÏÐÒÏÓ 362:

ïÔ: Talis

ðÒÏÂÌÅÍÁ × ÓÌÅÄÕÀÝÅÍ:
úÁÐÕÓËÁÀ Word ÞÅÒÅÚ CreateOleObject('word.application'), ÐÒÏÇÒÁÍÍÁ
ÞÁÓÔÉÞÎÏ ÆÏÒÍÉÒÕÅÔ ÄÏËÕÍÅÎÔ,
ÚÁÔÅÍ ÐÏÌØÚÏ×ÁÔÅÌØ ÅÇÏ ÒÅÄÁËÔÉÒÕÅÔ, ÆÏÒÍÁÔÉÒÕÅÔ É ÓÏÈÒÁÎÑÅÔ. íÏÖÅÔ ÌÉ
Word "ÓÏÏÂÝÉÔØ" ÍÏÅÊ ÐÒÏÇÒÁÍÍÅ,
ÐÏÄ ËÁËÉÍ ÉÍÅÎÅÍ ÓÏÈÒÁÎÅΠÆÁÊÌ ÌÉÂÏ ÓÁÍÁ ÐÒÏÇÒÁÍÍÁ "×ÙÃÁÒÁÐÁÔØ" Õ Word
ÜÔÏ ÉÍÑ ÆÁÊÌÁ?
 

ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 363:

ïÔ: áÎÄÒÅÊ óÅÒÇÅÅ×ÉÞ

óÕÔØ ÐÒÏÂÌÅÍÙ ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏ Ñ ÈÏÞÕ ÉÍÅÔØ ÍÎÏÇÏÓÔÒÏÞÎÙÅ ÐÏÌÑ ×
DBGrid, ËÁË × ExÓel'Å. ÷ ÓÔÁÎÄÁÒÔÎÏÊ ËÏÍÐÏÎÅÎÔÅ, Á ÎÅ × ËÏÍÐÏÎÅÎÔÁÈ
ÐÒÏÞÉÈ ÆÉÒÍ. âÕÄÕ ÏÞÅÎØ ÐÒÉÚÎÁÞÅÌÅÎ. 


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
éÓÐÏÌØÚÕÊ DBCtrlGrid? 
ïÔ×ÅÔ 2:


÷ÏÐÒÏÓ 364:

ïÔ: Egorov
 
íÏÖÅÔ ÂÙÔØ ÍÏÊ ×ÏÐÒÏÓ ÐÏËÁÖÅÔÓÑ ÷ÁÍ ÓÌÉÛËÏÍ ÐÒÏÓÔÙÍ...
ëÁË ÓÄÅÌÁÔØ ÐÅÒÅÍÅÎÎÙÅ ÏÂÝÉÍÉ × DLL É × ×ÙÚÙ×ÁÀÝÅÊ ÐÒÏÇÒÁÍÍÅ? ñ
ÄÏÇÁÄÙ×ÁÀÓØ, ÞÔÏ, ÎÁ×ÅÒÎÏÅ, ÎÕÖÎÏ ÏÔ×ÅÓÔÉ ÏÂÝÕÀ ÐÁÍÑÔØ ÐÏÄ ÜÔÉ
ÐÅÒÅÍÅÎÎÙÅ, ÎÏ ËÁË ÜÔÏ ÓÄÅÌÁÔØ? á ÍÏÖÅÔ ÅÓÔØ ÂÏÌÅÅ ÐÒÏÓÔÏÊ ÓÐÏÓÏÂ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
çÌÏÂÁÌØÎÙÈ ÐÅÒÅÍÅÎÎÙÈ × DLL ÎÅÔ, É DLL ÐÒÏÓÔÏ ÎÅ 
ÓÐÏÓÏÂÎÁ ÈÒÁÎÉÔØ ËÁËÉÅ ÌÉÂÏ ÄÁÎÎÙÅ, ÍÏÖÎÏ ÌÉÛØ × 
ÆÕÎËÃÉÉ ×ÙÚÙ×ÁÔØ ÔÉÐÁ 

Procadure p(var i:integer); 

ôÏÇÄÁ ÐÅÒÅÍÅÎÎÁÑ i ÂÕÄÅÔ ÏÂÝÅÊ ÎÁ ÍÏÍÅÎÔ ×ÙÐÏÌÎÅÎÉÑ 
ÆÕÎËÃÉÉ. åÓÌÉ ×ÓÅ ÖÅ ×ÁÍ ÏÞÅÎØ ÎÁÄÏ ÓÄÅÌÁÔØ ÏÂÝÉÅ 
ÐÅÒÅÍÅÎÎÙÅ - ÉÓÐÏÌØÚÕÊÔÅ COM 
ïÔ×ÅÔ 2:
ðÏ ÐÏ×ÏÄÕ ÏÂÝÉÈ ÐÅÒÅÍÅÎÎÙÈ -
ÄÕÍÁÀ ÜÔÏ ÎÅ ÓÏ×ÓÅÍ ÐÒÁ×ÉÌØÎÏ, ÎÏ Õ ÍÅÎÑ ×ÒÏÄÅ ÒÁÂÏÔÁÌÏ
(ÅÓÌÉ ÎÉÞÅÇÏ ÎÅ ÐÕÔÁÀ). îÕÖÎÏ ÏÂÝÉÅ ÐÅÒÅÍÅÎÎÙÅ ÏÂßÑ×ÌÑÔØ
× ÏÔÄÅÌØÎÏÍ Unit, Á ÅÇÏ ÕÖÅ ÐÏÄËÌÀÞÁÔØ É ÔÁÍ É ÔÁÍ.


÷ÏÐÒÏÓ 365:

ïÔ: anton

ðÒÉÛÌÉÔÅ,ÅÓÌÉ Õ ËÏÇÏ ÅÓÔØ,ÉÓÈÏÄÎÉË ×ÉÄÅÏ-ÐÒÏÉÇÒÙ×ÁÔÅÌÑ.åÝ£ ÐÒÉÛÌÉÔÅ,ÅÓÌÉ
Õ ËÏÇÏ ÅÓÔØ,crack ÄÌÑ ÓÂÏÒÎÉËÁ ËÏÍÐÏÎÅÎÔÏ× MMTool5.óËÁÖÉÔÅ,ÍÏÖÎÏ ÌÉ ÄÅÌÁÔØ
crack ÎÁ Delphi5,× ÓÍÙÓÌÅ ÄÅÌÁÔØ ÎÅÂÏÌØÛÕÀ ËÁËÕÀ-ÎÉÂÕÄØ
ÐÒÏÇÒÁÍÍËÕ,ËÏÔÏÒÁÑ
ÂÕÄÅÔ ÕÂÉÒÁÔØ ÒÅÇÉÓÔÒÁÃÉÀ Ó ÄÒÕÇÏÊ ÐÒÏÇÒÁÍÍÙ.


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
ðÒÏÂÌÅÍÁ ÎÅ × ÔÏÍ ÞÔÏÂÙ ÎÁÐÉÓÁÔØ ËÒÜË ÎÁ äÅÌØÆÉ (ËÏÎÅÞÎÏ ÍÏÖÎÏ, ×ÓÅ 
ÍÏÉ ËÒÜËÉ ÎÁ äÅÌØÆÉ), Á × ÔÏÍ ÞÔÏÂÙ ÎÁÊÔÉ ÓÐÏÓÏ ÕÂÒÁÔØ ÒÅÇÉÓÔÒÁÃÉÀ. á 
ÄÌÑ ÜÔÏÇÏ ÎÕÖÎÙ SoftICE, IDA Pro, BoundsChecker, HIEW, ËÕÞÁ ×ÓÐÏÍÏÇÁÔÅÌØÎÏÇÏ 
ÓÏÆÔÁ, ÒÁÓÐÁËÏ×ÝÉËÉ (ÐÏËÁ ÓÉÎÔÁËÓÉÓ IDA ÎÅ ×ÙÕÞÉÛØ), ÄÏÓËÏÎÁÌØÎÏÅ ÚÎÁÎÉÅ 
ÁÓÓÅÍÂÌÅÒÁ ... É (ÎÅ)ÍÎÏÇÏ ÍÏÚÇÏ× :-) 


÷ÏÐÒÏÓ 366:

ïÔ: Dima

do òÁÂÏÔÁÀ Ó ÂÁÚÏÊ ÎÁ Microsoft SQL Server ÞÅÒÅÚ ADO
 1.××ÏÖÕ ÄÁÎÎÙÅ ÞÅÒÅÚ ÈÒÁÎÉÍÕÀ ÐÒÏÃÅÄÕÒÕ
 2.ÏÂÎÁÌÑÀ ÄÁÎÎÙÅ × ÏÓÎÏ×ÎÏÊ É Ó×ÑÚÁÎÎÏÊ Ó ÎÅÊ ÔÁÂÌÉÃÁÈ
 ADOTable1.active:=false;
 ADOTable2.active:=false;
 ADOTable2.active:=true;
 ADOTable1.active:=true;
 ÂÏÌØÛÁÑ ÔÁÂÌÉÃÁ ÎÁ ÍÁÛÉÎÅ Ó ÐÁÍÑÔØÀ 128 ÏÔËÒÙ×ÁÅÔÓÑ ÎÏÒÍÁÌØÎÏ
 ÎÁ ÍÁÛÉÎÅ Ó 32 ÍÅÇÁÍÉ ÏÔËÒÙ×ÁÅÔÓÑ ÏÞÅÎØ ÄÏÌÇÏ
 íÏÖÅÔ ÄÅÌÁÔØ ËÁË ÔÏ ÉÎÁÞÅ


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
îÅ ÐÏÌØÚÏ×ÁÔØÓÑ TADOTable! éÓÐÏÌØÚÏ×ÁÔØ ×ÅÚÄÅ ÇÄÅ 
ÔÏÌØËÏ ÍÏÖÎÏ TADOQuery.
ïÔ×ÅÔ 2:
>ADOTable1.active:=false;  // îÉ 
>ADOTable2.active:=false;  // × 
>ADOTable2.active:=true;   // ËÏÅÍ 
>ADOTable1.active:=true;   // ÓÌÕÞÁÅ!!! 
ADOTable1.Post; 
ADOTable2.Post; 
ïÔ×ÅÔ 3:
õ TCustomADODataset ÅÓÔØ ÈÏÒÏÛÉÊ ÍÅÔÏÄ ReQuery. éÓÐÏÌØÚÕÊ ÅÇÏ ×ÍÅÓÔÏ 
ÐÅÒÅÏÔËÒÙÔÉÑ. 
ïÔ×ÅÔ 4:
 ðÏÓÔaÒÁÊÓÑ ×ÏÏÂÝÅ ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÐÏÎÅÔ TTable, ÔÁË ËÁË ÏΠÚÁÐÒÁÛÉ×ÁÅÔ ÚÎÁÞÉÔÅÌØÎÙÅ ÒÅÓÕÒÓÙ ÄÌÑ ÒÁÂÏÔÙ Ó ÄÁÎÎÙÍÉ É 
ÏÔËÒÙ×ÁÅÔ ÃÅÌÉËÏÍ ÔÁÂÌÉÃÕ (!!!). éÓÐÏÌØÚÕÊ ËÏÍÐÏÎÅÎÔ TQurey × ÐÁÒÅ Ó TUpdateSQL, ÐÏÓÌÅÄÎÉÊ ÐÏÚ×ÏÌÉÔ ÚÁÐÒÏÓÕ ÄÏÂÁ×ÌÑÔØ, ÉÚÍÅÎÑÔØ É ÕÄÁÌÑÔØ ÄÁÎÎÙÅ. ëÁË Ó 
ÎÉÍ ÒÁÂÏÔÁÔØ? ðÏÓÍÏÔÒÉ ÓÐÒÁ×ËÕ ÐÏ ÅÇÏ Ó×ÏÊÓÔ×ÁÍ ***SQL ÉÌÉ ÐÏÓÍÏÔÒÉ ÐÒÉÍÅÒÙ, ×ÈÏÄÑÝÉÅ × ÐÏÓÔÁ×ËÕ Delphi, Ó ÜÔÉÍ ËÏÍÐÏÎÅÎÔÏÍ.
 
ë ÓÏÖÁÌÅÎÉÀ ËÏÎËÒÅÔÎÙÊ ÐÒÉÍÅÒ ÓÅÊÞÁÓ ÐÒÉËÒÅÐÉÉÔØ ÎÅ ÍÏÇÕ, ÔÁË ËÁË ÐÅÞÁÔÁÀ Ó ÞÕÖÏÊ ÍÁÛÉÎÙ/ åÓÌÉ, ÂÕÄÕÔ ÐÒÏÇÂÌÅÍÙ ÐÉÛÉ ÎÁ ks_soft@chat.ru
P.S. ÅÓÔÅÓÔ×ÅÎÎÏ ÎÁ ðë Ó 32 ÍÅÇÁÍÉ ÄÏÌÇÏ!, ÅÓÌÉ Õ ÔÅÂÑ Windows'98, '2000 ÉÌÉ 'NT ÔÏ 32 ÍÅÇÁ ÚÁÂÉÒÁÅÔ ÐÏÄ ÓÅÂÑ ÔÏÌØËÏ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ, ÄÏÂÁ×Ø Ë ÜÔÏÍÕ 
Delphi5 É ÄÒÁÊ×ÅÒÁ óõâä.... îÏ, ÅÓÌÉ ×ÏÓÐÏÌØÚÕÅÛØÓÑ ÍÏÉÍ ÓÏ×ÅÔÏÍ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ × ÌÀÂÏÍ ÓÌÕÞÁÅ ÐÏ×ÙÓÉÔØÓÑ. öÅÌÁÔÅÌØÎÏ, × SQL ÚÁÐÒÏÓ ÄÏÂÁ×ÉÔØ 
ËÁËÉÅ-ÎÉÂÕÄØ ÏÇÒÁÎÉÞÅÎÉÑ, ÞÔÏ ÂÙ ÎÅ ÏÔËÒÙ×ÁÔØ ÍÉÌÌÉÏΠÚÁÐÉÓÅÊ, Á ÍÁÌ ÍÁÌ ÐÏÍÅÎØÛÅ.


÷ÏÐÒÏÓ 367:

ïÔ: Igor Mahnach

îÅ ÍÏÇÌÉ ÂÙ ×Ù ÐÏÄÓËÁÚÁÔØ ÐÒÏÃÅÄÕÒËÕ ÐÒÉ ÐÏÍÏÝÉ ËÏÔÏÒÏÊ ÍÏÖÎÏ ÐÏÌÕÞÉÔØ
ÐÒÑÍÏÊ ÄÏÓÔÕРˠ×ÉÎÞÅÓÔÅÒÕ. ñ ÐÙÔÁÌÓÑ ÓÄÅÌÁÔØ ÜÔÏ ÞÅÒÅÚ
CreateFile('\\.\vwin32', GENERIC_READ,
        FILE_SHARE_READ + FILE_SHARE_WRITE, nil, OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL, 0 );. 
ó ÄÉÓËÅÔÏÊ ÐÏÌÕÞÁÅÔÓÑ, Á Ó ×ÉÎÞÅÓÔÅÒÏÍ - ×ÙÄÁÅÔ ÏÛÉÂËÕ.


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:


÷ÏÐÒÏÓ 368:

ïÔ: temporary User of NewMail

ëÁË × äÅÌØÆÉ ÐÒÉ×ÑÚÁÔØ ProgressBar Ë Query (Table)?
ëÁË ÓÄÅÌÁÔØ ×ÉÚÕÁÌØÎÙÍ ÐÒÏÃÅÓÓ ÚÁÇÒÕÚËÉ ÐÒÉ ÚÁÐÕÓËÅ 
ÐÒÉÌÏÖÅÎÉÑ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
åÓÔØ Ó×-×Ï OnFetchProgress. 
÷ÙÐÏÌÎÑÅÔÓÑ ÐÒÉ ÉÚØÑÔÉÉ ÄÁÎÎÙÈ ÉÚ ÔÁÂÌÉÃÙ. 

procedure TForm1.TTable1FetchProgress(DataSet: TCustomADODataSet; Progress, 
  MaxProgress: Integer; var EventStatus: TEventStatus); 
begin 
Application.Title := 'Percent complete: ' + 
    IntToStr(Trunc(Progress / MaxProgress * 100)) + '%'; 
  Application.ProcessMessages; 
end; 
ïÔ×ÅÔ 2:
ðÅÒ×ÙÊ ×ÏÐÒÏÓ - ÐÏÞÔÉ ÎÉËÁË. íÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ call 
back functions BDE, ÎÏ ÅÓÌÉ ×Ù ÎÁÐÒÉÍÅÒ ÚÁÐÕÓÔÉÔÅ 
Ë×ÅÒÀ × ÐÁÒÁÄÏËÓÅ - ÐÒÏÇÒÅÓÓ ÔÁÍ ÅÓÔØ, ÔÏÌØËÏ ÔÏÌËÕ ÏÔ 
ÎÅÇÏ ÍÁÌÏ, ÒÁÂÏÔÁÅÔ ÐÌÏÈÏ. åÓÔØ ÔÁË ÖÅ × Rxlib 
ËÏÍÐÏÎÅÎÔ ÄÌÑ ÜÔÏÇÏ - ÒÁÂÏÔÁÅÔ ÐÌÏÈÏ ÐÏ ÔÅÍ ÖÅ 
ÐÒÉÞÉÎÁÍ, ÍÏÖÎÏ ÔÁË ÖÅ ÐÕÓÔÉÔØ Ë×ÅÒÀ × ÐÏÔÏËÅ, Á × 
ÄÒÕÇÏÍ - ÇÏÎÑÔØ ÐÒÏÇÒÅÓÓ ÐÏ ÔÁÊÍÅÒÕ - ÐÒÏÇÒÅÓÓ ÎÉÞÅÇÏ 
ÎÅ ÏÔÏÂÒÁÖÁÅÔ ËÒÏÍÅ ÔÏÇÏ ÞÔÏ ÞÔÏ-ÔÏ ÄÅÌÁÅÔÓÑ, Á Ë×ÅÒÉ 
ÒÁÂÏÔÁÀÔ ÒÁÚ × 10 ÍÅÄÌÅÎÎÅÅ.... 

÷ÏÐÒÏÓ ×ÔÏÒÏÊ Ó×ÏÄÉÔÓÑ Ë ÎÁÐÉÓÁÎÉÀ Splash Screen ÓÍ. 
ðÒÉÍÅÒÙ äÅÌØÆÉ, ËÏÔÏÒÙÅ ×ÈÏÄÑÔ × ÅÇÏ ÐÏÓÔÁ×ËÕ. 
ïÔ×ÅÔ 3:
ÓÄÅÌÁÊ × ÆÁÊÌÅ ÐÒÏÅËÔÁ (dpr) ÔÁË: 

begin 
  Application.Initialize; 
  with TSplash.Create(nil) do 
  try 
    Show;   // show a splash screen contain ProgressBar control 
    Update; // force display of Form5 
    Application.CreateForm(TQR_OBREM, QR_OBREM); 
    ProgressBar1.StepBy(5); 
    Application.CreateForm(TQR_Otchet, QR_Otchet); 
    ProgressBar1.StepBy(5); 
    Application.CreateForm(TQR_Otchet_balance, QR_Otchet_balance); 
    ProgressBar1.StepBy(5); 
  finally 
    Free; 
  end
  Application.Run; 
end. 

Ó ËÁÖÄÏÊ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÎÏÊ ÆÏÒÍÏÊ ÂÕÄÅÔ ÓÄ×ÉÇÁÔØÓÑ ÎÁ 5 ÐÕÎËÔÏ× 
ÐÏÌÏÓËÁ ÂÁÒÁ. 

Á ×ÏÔ Ó query  - ÜÔÏ ×ÒÑÔ ÌÉ, ÅÓÌÉ ÔÏÌØËÏ ÐÒÉ×ÑÚÁÔØ ÓÄ×ÉÇ ÎÁ ÓÏÂÙÔÉÅ 
OnCalcRecord? 


÷ÏÐÒÏÓ 369:

ïÔ: knijitsa@risp.ru

äÒÕÚØÑ, ÐÏÍÏÇÉÔÅ ÎÁÊÔÉ, ÞÔÏ Ñ ÄÅÌÁÀ ÎÅ ÔÁË ÐÒÉ ÓÏÚÄÁÎÉÉ ËÏÍÐÏÎÅÎÔÁ.
ðÙÔÁÀÓØ ÓÏÚÄÁÔØ Ó×ÏÊ ËÏÍÐÏÎÅÎÔ tDiap c ÄÏÞÅÒÎÅÊ ËÎÏÐËÏÊ ÔÉÐÁ tLabel.
(íÎÅ ÎÕÖÎÏ, ÞÔÏÂÙ ÏÔÒÁÂÁÔÙ×ÁÌÉÓØ ÎÁÖÁÔÉÑ ÎÁ ÓÁÍÕ ËÎÏÐËÕ (Á ÎÅ ÎÁ
ËÏÍÐÏÎÅÎÔ Ó ÉÓÓÌÅÄÏ×ÁÎÉÅÍ ËÏÏÒÄÉÎÁÔ ÍÙÛÉ), ÎÏ × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÄÁÎÎÙÈ,
Ó×ÑÚÁÎÎÙÈ Ó ÜËÚÅÍÐÌÑÒÏÍ ËÏÍÐÏÎÅÎÔÁ. (îÁ ÓÁÍÏÍ ÄÅÌÅ tDiap'Ù Ñ ÎÁÍÅÒÅÎ
CreatÉÔØ ×
run-time, Á ËÎÏÐÏË ÍÎÅ ÐÏÎÁÄÏÂÉÔÓÑ ÎÅ ÏÄÎÁ)).

ðÉÛÕ × ÏÐÉÓÁÎÉÉ ÔÉÐÁ:
type tdiap = class (TComponent);
    private
      fLabel: tLabel;
    public
      constructor Create(AOwner: TComponent); override;
    ...
ðÉÛÕ ËÏÎÓÔÒÕËÔÏÒ:
constructor tDiap.Create(AOwner: TComponent);
begin inherited;
   fLabel:=tLabel.Create(AOwner);
   fLabel.Parent:=Self {* ÐÒÉ×ÑÚÙ×ÁÀ Label Ë ËÏÍÐÏÎÅÎÔÕ.
       ðÒÏÂÏ×ÁÌ É InsertControl(fLabel) -- ÎÉÞÅÇÏ ÎÅ ÍÅÎÑÅÔ *};
   end;
òÅÇÉÓÔÒÉÒÕÀ ËÏÍÐÏÎÅÎÔÕ, ×Ó£ ÐÒÏÈÏÄÉÔ.
   óÔÁ×ÌÀ ËÏÍÐÏÎÅÎÔÕ ÎÁ ÆÏÒÍÕ × design time -- ×Ó£ ËÁË Ñ ÏÖÉÄÁÌ, ÎÏ Õ
ÓÏÚÄÁÎÎÏÊ Label ÏËÁÚÙ×ÁÅÔÓÑ ÐÕÓÔÙÍ ÐÏÌÅ Name! úÁÐÏÌÎÑÔØ Name
ÓÔÁÔÉÞÅÓËÉ, ÒÁÚÕÍÅÅÔÓÑ, ÎÅÌØÚÑ -- Ñ ÔÏÇÄÁ ÎÅ ÓÍÏÇÕ ÐÏÍÅÓÔÉÔØ ÎÁ ÆÏÒÍÕ
ÅÝ£ ÏÄÉΠtDiap. îÏ, ÍÎÅ ËÁÚÁÌÏÓØ, ÎÏ×ÙÊ Name ÏÂÑÚÁΠÂÙÌ ÚÁÐÏÌÎÉÔØ
tLabel.Create. 
   îÏ ÎÅ × ÜÔÏÍ ÐÒÏÂÌÅÍÁ -- ÍÎÅ, ÓÏÂÓÔ×ÅÎÎÏ, Name ÂÙÌ ÎÅ ÎÕÖÅÎ. öÍÕ
F9 -- É ÐÒÉ ×ÙÈÏÄÅ ÉÚ ËÏÎÓÔÒÕËÔÏÒÁ (ÄÏ ÚÁÐÕÓËÁ Application.Run) ÐÏÌÕÞÁÀ:

   Project raised exception class EClassNotFound with Message 'Class
   TLabel not found'. Process stopped. Use Step or Run to continue.

   ëÁË ÜÔÏ not found?
   îÅ ÐÏÍÏÇÌÏ É ÏÂÒÁÍÌÅÎÉÅ ÔÅËÓÔÁ ËÏÎÓÔÒÕËÔÏÒÁ ÐÏÓÌÅ "inherited"
ÓËÏÂËÁÍÉ "if csDesigning in componentState then begin" / "end;"
   ðÏÞÅÍÕ ÔÁË ×ÙÛÌÏ, É ËÁË ÎÁÄÏ ÐÒÁ×ÉÌØÎÏ? þÔÏ ÉÚ ÒÁÂÏÔÙ ËÏÎÓÔÒÕËÔÏÒÁ
ÄÅÌÁÅÔÓÑ × design-time, ÎÏ ÎÅ ÄÅÌÁÅÔÓÑ × run-time, É ÎÁÏÂÏÒÏÔ?

   é ÅÝ£: ÐÏÞÅÍÕ-ÔÏ ÐÒÉ ÚÁÐÕÓËÅ ÐÏÑ×ÌÑÅÔÓÑ ÅÝ£ ÎÅÐÒÏÛÅÎÎÏÅ Þ£ÒÎÏÅ ÏËÎÏ
×ÒÏÄÅ ÏËÎÁ MS-DOS-ÐÒÉÌÏÖÅÎÉÑ.


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
îÁ ÐÅÒ×ÕÀ ÞÁÓÔØ ×ÏÐÒÏÓÁ ÏÔ×ÅÔÉÔØ ÎÅ ÍÏÇÕ, Ë ÓÏÖÁÌÅÎÉÀ. îÁ ×ÔÏÒÕÀ: ÷ 
Ó×ÏÊÓÔ×ÁÈ ÐÒÏÅËÔÁ (Ctrl+Shift+F11) × ÚÁËÌÁÄËÅ Linker ÕÂÅÒÉ ÇÁÌÏÞËÕ 
Generate Console Application 


÷ÏÐÒÏÓ 370:

ïÔ: Hitman

to1. ñ ÓÏÚÄÁÀ ËÌÁÓÓ É ÎÁÓÌÅÄÕÀ ÅÇÏ ÏÔ TObject. óÏÚÄÁÀ × ÎÅÍ
ÄÅÓÔÒÕËÔÏÒ, É ÅÇÏ ÐÏÓÌÅÄÎÅÊ ÓÔÒÏËÏÊ ×ÙÚÙ×ÁÀ:
inherited Destroy; // (ÔÁË ÒÅËÏÍÅÎÄÕÅÔÓÑ × ÌÉÔÅÒÁÔÕÒÅ) - ×ÓÅ ÒÁÂÏÔÁÅÔ.
÷ help Delphi ÒÅËÏÍÅÎÄÕÀÔ ×ÙÚÙ×ÁÔØ Free, ÍÏÌ ÏΠËÏÒÒÅËÔÎÏ ÒÁÂÏÔÁÅÔ
Ó ÕËÁÚÁÔÅÌÑÍÉ ÎÁ nil. ïÔÌÉÞÎÏ, ÐÅÒÅÐÉÓÙ×ÁÅÍ ÐÏÓÌÅÄÎÀÀ ÓÔÒÏËÕ:
Free; // (×ÍÅÓÔÏ inherited Destroy);
á ÚÄÅÓØ, ÐÒÉ ×ÙÚÏ×Å ÄÅÓÔÒÕËÔÏÒÁ ÇÅÎÅÒÉÔÓÑ ÉÓËÌÀÞÅÎÉÅ 'Access
violation'. ôÁË × ÞÅÍ ÔÕÔ ÄÅÌÏ?

2. ÷ Delphi ÅÓÔØ ÕÄÏÂÎÙÊ ËÏÍÐÏÎÅÎÔ TList. ðÕÓÔØ Õ ÍÅÎÑ ÏÐÉÓÁÎÙ
ÕËÁÚÁÔÅÌÉ ÎÁ ÚÁÐÉÓÉ(record) PmyRecord.
// ôÅÐÅÒØ Ñ ÄÉÎÁÍÉÞÅÓËÉ ×ÙÄÅÌÑÀ ÐÁÍÑÔØ
new(PmyRecord);
// ÉÎÉÃÉÁÌÉÚÉÒÕÀ ÐÏÌÑ
PmyRecord^.xxx := xxx;
// äÏÂÁ×ÌÑÀ ÕËÁÚÁÔÅÌØ × ÓÐÉÓÏË
myList.add(PmyRecord);
// ÒÁÂÏÔÁÀ ÓÏ ÓÐÉÓËÏÍ
//....
// ÏÓ×ÏÂÏÖÄÁÀ ÐÁÍÑÔØ
myList.Free;

÷ÏÐÒÏÓ, ÞÔÏ ÂÕÄÅÔ Ó ÐÁÍÑÔØÀ, ÏÔ×ÅÄÅÎÎÏÊ ÐÏÄ ÚÁÐÉÓÉ Ó ÐÏÍÏÝØÀ new()?
ïÓ×ÏÂÏÄÉÔÓÑ ÌÉ
ÏÎÁ? éÌÉ Ñ ÐÒÏÓÔÏ ÐÏÔÅÒÑÌ ÎÁ ÎÅÅ ÓÓÙÌËÉ?


ïÔ×ÅÔÉÔØ.

ïÔ×ÅÔ 1:
1. Access violation ÍÏÖÅÔ ×ÏÚÎÉËÁÔØ ÅÓÌÉ ÔÙ × Ó×ÏÅÍ ËÏÍÐÏÎÅÎÔÅ ÓÏÚÄÁÌ ÅÝÅ 
ËÁËÏÊ-ÎÉÂÕÄØ ËÏÍÐÏÎÅÎÔ ×ÒÕÞÎÕÀ. 
ïÔ×ÅÔ 2:
1. Free ÒÅËÏÍÅÎÄÕÀÔ ×ÙÚÙ×ÁÔØ ÅÓÌÉ ÎÁÄÏ ÕÄÁÌÉÔØ ÏÂßÅËÔ ÉÚ ËÏÎÔÅËÓÔÁ
ËÁËÏÇÏ-ÔÏ ÄÒÕÇÏÇÏ ÏÂßÅËÔÁ.
óËÁÖÅÍ 
   o:= TSomeObject.Create();
  //... ËÁËÉÅ-ÔÏ Ó ÎÉÍ ÍÁÎÉÐÕÌÑÃÉÉ
   o.Free();

åÓÌÉ ÚÁÇÌÑÎÕÔØ × ÉÓÈÏÄÎÉËÉ äÅÌØÆÉ ÔÏ ÍÏÖÎÏ Õ×ÉÄÅÔØ ÞÔÏ ÒÅÁÌÉÚÁÃÉÑ Free
ÏÞÅÎØ ÐÒÏÓÔÁÑ -
  if self <> nil
    then Destroy;
Ô.Å. ÏΠÐÒÏ×ÅÒÑÅÔ ÐÏ ËÁËÏÍÕ ÕËÁÚÁÔÅÌÀ ÂÙÌ ×ÙÚ×ÁΠÍÅÔÏÄ É ÅÓÌÉ ÎÅ ÐÏ Nil
ÔÏ ×ÙÚ×ÁÅÔ Destroy, ÎÏ ÏÔÎÀÄØ ÎÅ inherited Destroy.

Ô.Å. ÅÓÌÉ ×ÙÚ×ÁÔØ × ÍÅÔÏÄÅ Destroy ÍÅÔÏÄ Free ÐÒÏÉÚÏÊÄ£Ô ÏÐÏÓÒÅÄÏ×ÁÎÎÙÊ
ÒÅËÕÒÓÉ×ÎÙÊ ×ÙÚÏ× ÔÏÇÏ ÖÅ ÓÁÍÏÇÏ Destroy (îå ÕÎÁÓÌÅÄÏ×ÁÎÎÏÇÏ Destroy, Á
ÉÍÅÎÎÏ ÔÏÇÏ ÖÅ ÓÁÍÏÇÏ). åÓÔÅÓÔ×ÅÎÎÏ ÎÉ Ë ÞÅÍÕ ÈÏÒÏÛÅÍÕ ÜÔÏ ÐÒÉ×ÅÓÔÉ ÎÅ
ÍÏÖÅÔ, ÔÙ ÐÏ×ÔÏÒÎÏ ÐÙÔÁÅÛØÓÑ ÏÓ×ÏÂÏÄÉÔØ ÕÖÅ ÏÓ×ÏÂÏÖÄ£ÎÎÕÀ ÐÅÒ×ÏÊ ËÏÐÉÅÊ
Destroy ÐÁÍÑÔØ É Ô.Ä...


2. éÍÅÎÎÏ, ÐÒÏÓÔÏ ÐÏÔÅÒÑÌ ÓÓÙÌËÉ. åÓÌÉ ÎÕÖÎÏ ÏÓ×ÏÂÏÄÉÔØ ÜÔÕ ÐÁÍÑÔØ ÎÕÖÎÏ
ÃÉËÌÉÔØ ÐÏ ×ÓÅÍÕ ÓÐÉÓËÕ ÐÅÒÅÄ ÏÓ×ÏÂÏÖÄÅÎÉÅÍ ÓÁÍÏÇÏ ÓÐÉÓËÁ.
ïÔ×ÅÔ 3:
1. ÷ ÄÅÓÔÒÕËÔÏÒÅ ÎÕÖÎÏ ×ÙÚÙ×ÁÔØ Destroy ×ÓÅÇÄÁ ! ðÏÔÏÍÕ, ÞÔÏ ÅÓÌÉ ÕÖ ÏΠ
×ÙÚÙ×ÁÅÔÓÑ, ÔÏ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÔÁËÏÇÏ, ÞÔÏ ÁÄÒÅÓ ÏÂßÅËÔÁ nil. á ×ÙÚÏ× Free 
ÔÏÌØËÏ É ÄÅÌÁÅÔ, ÞÔÏ ÐÒÏ×ÅÒÑÅÔ ÎÁ nil. á ÐÏÞÅÍÕ violation - ÎÅ ÚÎÁÀ, ÎÅ 
ÐÒÏÂÏ×ÁÌ ÐÒÏ×ÅÒÑÔØ. 
2. îÅÔ, ÐÁÍÑÔØ ÐÏÄ ÚÁÐÉÓØ ÎÅ ÏÓ×ÏÂÏÄÉÔÓÑ, ËÏÎÅÞÎÏ. ÷ÏÏÂÝÅ, ËÁÖÄÏÍÕ New 
ÄÏÌÖÅΠÓÏÏÔ×ÅÔÓÔ×Ï×ÁÔØ Ó×ÏÊ Dispose ÉÌÉ FreeMem (ÎÅ ÂÕÄÕ ËÁÓÁÔØÓÑ 
Á×ÔÏÍÁÔÉÞÅÓËÏÇÏ ÏÓ×ÏÂÏÖÄÅÎÉÑ, ÎÁÐÒÉÍÅÒ, ÄÏÞÅÒÎÉÈ ËÏÍÐÏÎÅÎÔÏ× ) 





åÓÌÉ ÷Ù ÈÏÔÉÔÅ ËÁË ÍÏÖÎÏ ÓËÏÒÅÅ ÐÏÌÕÞÉÔØ ÏÔ×ÅÔ ÎÁ Ó×ÏÊ ×ÏÐÒÏÓ, ÔÏ
ÕËÁÖÉÔÅ × ÔÅÍÅ ÐÉÓØÍÁ - delphiV,ÉÎÁÞÅ ÐÉÓØÍÏ ÂÕÄÅÔ ÐÒÏÞÉÔÁÎÏ ÚÎÁÞÉÔÅÌØÎÏ
ÐÏÚÖÅ, ÅÓÌÉ ÖÅ Õ ×ÁÓ ÅÓÔØ ÐÒÅÄÌÏÖÅÎÉÑ ÔÏ × ÔÅÍÅ ÐÉÓØÍÁ ÕËÁÖÉÔÅ delphiP.

äÌÑ ÉÎÔÅÒÅÓÕÀÝÉÈÓÑ - ÎÅÍÎÏÇÏ Ï ÓÅÂÅ. òÁÂÏÔÁÀ ÎÁ
ÖÅÌÅÚÎÏÄÏÒÏÖÎÏÍ ÔÒÁÎÓÐÏÒÔÅ ×ÅÄÕÝÉÍ ÐÒÏÇÒÁÍÍÉÓÔÏÍ.
ïÓÎÏ×ÎÙÅ ÍÏÉ ÒÁÚÒÁÂÏÔËÉ - ÜÔÏ ÓÂÏÒ É ÄÏÓÔÁ×ËÁ ËÌÉÅÎÔÁÍ
ÉÎÆÏÒÍÁÃÉÉ Ï ×ÁÇÏÎÁÈ É ÐÏÅÚÄÁÈ: ÇÄÅ ÎÁÈÏÄÉÔÓÑ(ÐÏ òÏÓÓÉÉ),
ËÕÄÁ ÅÄÅÔ. ÷ Ó×ÑÚÉ Ó ÜÔÉÍ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÌ ÄÌÑ e-mail,Socket,âä,ISAPI.

úÁ ÓÉÍ ÐÒÏÝÁÀÓØ - ÓËÏÒÙÈ ÷ÁÍ É ËÁÞÅÓÔ×ÅÎÎÙÈ ÐÒÏÇÒÁÍÍ.

á×ÔÏÒ ÒÁÓÓÙÌËÉ - äÍÉÔÒÉÊ.
ICQ - 89533941.

÷óå ÷ïðòïóù óðòïóéôø ðòåäìïöéôø áòèé÷ù óëïìøëï îáó



http://subscribe.ru/
E-mail: ask@subscribe.ru
ïÔÐÉÓÁÔØÓÑ
õÂÒÁÔØ ÒÅËÌÁÍÕ
òÅÊÔÉÎÇÕÅÔÓÑ SpyLog

÷ ÉÚÂÒÁÎÎÏÅ