var
cur:TPoint; //Ρ ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ
begin
GetCursorPos(cur); //ΡΠ·Π½Π°Π΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ
//ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ
Client.Socket.SendText(IntToStr(cur.X) +'_' + IntToStr(cur.Y));
end;
procedure TForm1.ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
ShowMessage('Connected!'); //ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
end;
procedure TForml.ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
ShowMessage('Disconnected!'); //ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ
end;
end.
β ΠΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ ΠΊ ΠΊΠ½ΠΈΠ³Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ Chapter_16\Client, Π° ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β Π² ΠΏΠ°ΠΏΠΊΠ΅ Chapter_16\Server.
ΠΠ»Π°Π²Π° 17
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° SMS ΡΠ΅ΡΠ΅Π· Internet
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS ΡΠ΅ΡΠ΅Π· Internet. ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΊΡΠ°ΠΈΠ½ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ("UMC", "ΠΠΆΠΈΠ½Ρ", "ΠΠΈΠ΅Π²ΡΡΠ°Ρ"β¦)
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΡΠΌΡ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ SMS, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΡΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΠΈ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, β ΡΠ°ΠΌΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Delphi ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ ΡΠΎΡΠΌΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ SMS-sender (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Caption). Π Π°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠΎΡΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Standard ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Ρ Caption Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΏΠ΅ΡΠ°ΡΠΎΡ:. Π‘ΠΏΡΠ°Π²Π° ΠΎΡ Π½Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ComboBox (ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉΡΡ ΡΠΏΠΈΡΠΎΠΊ) ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Standard ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ°Π±Π». 17.1.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ ComboBox.Items β ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌΡΠΉ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡ ΡΠ΅Π»ΡΠΊΡ ΠΌΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π’Π°Π±Π»ΠΈΡΠ° 17.1. Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ComboBox
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ Name oper ΠΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Text <ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°> Π’Π΅ΠΊΡΡ Π² ΠΏΠΎΠ»Π΅ Items ΠΠΆΠΈΠ½Ρ(066) UMC(050) ΠΠΈΠ΅Π²ΡΡΠ°Ρ(067) ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ SMSΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΠΈ Π£ΠΊΡΠ°ΠΈΠ½Ρ. ΠΡΠ»ΠΈ Π²Ρ ΠΆΠΈΠ²Π΅ΡΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΠ°Π½Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
ΠΠΎΠ΄ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ label, ΠΏΡΠΈΡΠ²ΠΎΠΈΠ² Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Ρ caption Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΎΠΌΠ΅Ρ:. Π‘ΠΏΡΠ°Π²Π° ΠΎΡ Π½Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Edit ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Standard ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ tel (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Name).
ΠΠΈΠΆΠ΅ ΡΡΠΈΡ Π΄Π²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅: (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Caption). ΠΠΎΠ΄ Π½ΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Memo ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Standard, ΠΏΡΠΈΡΠ²ΠΎΠΈΠ² Π΅ΠΌΡ ΠΈΠΌΡ sms. ΠΠ»Ρ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π²ΠΎΠ΄ 160 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Ρ Web-ΡΠ°ΠΉΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½ΠΎΠΉ Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 160 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Ρ sms.MaxLength Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 160.
ΠΠ»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π² ΠΏΠΎΠ»Π΅ sms, ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΏΠΎΠ΄ memo-ΠΏΠΎΠ»Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ°Π±Π». 17.2.
Π’Π°Π±Π»ΠΈΡΠ° 17.2. Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Label Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ Name kolvo ΠΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Caption 0 ΠΠ°Π΄ΠΏΠΈΡΡ ΠΌΠ΅ΡΠΊΠΈ Font.Color clRed Π¦Π²Π΅Ρ Π½Π°Π΄ΠΏΠΈΡΠΈ β ΠΊΡΠ°ΡΠ½ΡΠΉ Font.Size 18 Π Π°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ°Π ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ ΡΠΎΡΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Button ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Standard), ΠΏΡΠΈΡΠ²ΠΎΠΈΠ² Π΅Π΅ ΡΠ²ΠΎΠΉΡΡΠ²Ρ Caption Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΡΠΏΡΠ°Π²ΠΈΡΡ.
ΠΠ»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ ΡΠ΅ΡΠ΅Π· SMTP. Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΅ΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ FastNet ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ½ NMSMTP. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ. ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π² Internet ΠΏΡΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ Ρ ΡΡΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.
Π ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ Π°Π²ΡΠΎΡΠ° ( [email protected]). ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ, Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ.
Π ΡΠ²ΠΎΠΉΡΡΠ²Π΅ NMSMTP1.Host ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ smtp-ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ»Ρ yandex.ru ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ smtp.yandex.ru. Π ΡΠ²ΠΎΠΉΡΡΠ²Π΅ UserID Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π»ΠΎΠ³ΠΈΠ½ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ β ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ heel-adm. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ PostMessage ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° FromAddress Π½Π° [email protected], a FromName β Π½Π° heel-adm. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Port ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° 25.
ΠΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΎΡΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΈΡ. 17.1.
Π ΠΈΡ. 17.1. Π€ΠΎΡΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
procedure TForm1.Button1Click(sender: TObject);
var
num: string; //Π°Π΄ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ
begin
NMSMTP1.PostMessage.Body.Clear; //ΠΎΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡ ΠΏΠΈΡΡΠΌΠ°
//ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ SMS Π² ΡΠ΅ΠΊΡΡ ΠΏΠΈΡΡΠΌΠ°
NMSMTP1.PostMessage.Body.AddStrings(sms.Lines);
//ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠ±ΡΠ°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
case oper.ItemIndex of
0: num:= '38066'+tel.text+'@sms.jeans.com.ua'; //ΠΠΆΠΈΠ½c
1: num:= '38050'+tel.Text+'@sms.umc.com.ua'; //UMC
2: num:= '38067'+tel.Text+'@sms.kyivstar.net'; //ΠΠΈΠ΅Π²ΡΡΠ°Ρ
end;
NMSMTP1.PostMessage.ToAddress.Add(num); //Π°Π΄ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ
NMSMTP1.Connect; //ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ
NMSMTP1.SendMail; //ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎΡΡΡ
NMSMTP1.Disconnect; //ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°
//Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅
ShowMessage('Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ!' + num);
end;
Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ: ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠ±ΡΠ°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ»ΠΈ "ΠΠΆΠΈΠ½c", ΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° "38066", Π΅ΡΠ»ΠΈ "UMC", ΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ "38050", Π΄Π»Ρ "ΠΠΈΠ΅Π²ΡΡΠ°Ρ" β "38067".
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ ΡΠ·Π½Π°Π»ΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΊ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π½ΠΎΠΌΠ΅ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈ Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΡΠΎ ΠΊ Π°Π΄ΡΠ΅ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π½Π° Π½ΠΎΠΌΠ΅Ρ "ΠΠΆΠΈΠ½c" 1565394, Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ²ΡΠ·ΠΊΡ "38066"+"1565394"+"@sms.jeans.com.ua".
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS, ΠΌΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠΈΡΡΠΌΠΎ ΠΈ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΡ. ΠΡΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, ΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄Π΅Π», ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΎΠ½ Π²Π²Π΅Π», ΠΈ ΠΌΠΎΠ³ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Ρ SMS, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ sms. OnChange:
procedure TForm1.smsChange(Sender: TObject);
begin
//ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
kolvo.Caption:= IntToStr(Length(sms.Text));
end;
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΌΠ΅ΡΠΊΠ΅ kolvo. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ SMS Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° ΡΠΈΡ. 17.2.
Π ΠΈΡ. 17.2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS ΡΠ΅ΡΠ΅Π· Internet Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ
ΠΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ
ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS ΡΠ΅ΡΠ΅Π· Internet ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 17.1.
ΠΠΈΡΡΠΈΠ½Π³ 17.1. ΠΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ SMS ΡΠ΅ΡΠ΅Π· Internetunit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Psock, NMsmtp;
type TForm1 = class(TForm)
oper: TComboBox;
sms: TMemo;
Label1: TLabel;
Label2: TLabel;
tel: TEdit;
Label3: TLabel;
Button1: TButton;
NMSMTP1: TNMSMTP;
kolvo: TLabel;
procedure Button1Click(Sender: TObject);
procedure smsChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(sender: TObject);
var
num: string; //Π°Π΄ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ
begin
NMSMTP1.PostMessage.Body.Clear; //ΠΎΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡ ΠΏΠΈΡΡΠΌΠ°
//ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ SMS Π² ΡΠ΅ΠΊΡΡ ΠΏΠΈΡΡΠΌΠ°
NMSMTP1.PostMessage.Body.AddStrings(sms.Lines);
//ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠ±ΡΠ°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ