Transmiterea gratuită a SMS-urilor prin Internet
Elaborați un program pentru trimiterea gratuită a SMS-urilor prin Internet. Trimite prin site-urile web ale unor operatori ucraineni populare ("UMC", "Jeans", "Kyivstar" ...)
Proprietatea ComboBox.Items este o listă de șiruri editate într-o fereastră specială care se deschide prin dublul clic pe mouse-ul în câmpul corespunzător al inspectorului de obiecte.
Tabelul 17.1. ComboBox proprietăți componente
Lista operatorilor pe care le vom trimite SMS-uri
În acest exemplu, este utilizată o listă de operatori de telefonie mobilă care operează în Ucraina. Dacă locuiți într-o altă țară, utilizați lista proprie de operatori.
Pentru a afișa numărul de caractere introduse în câmpul sms, plasați componenta Label sub câmpul memo și modificați proprietățile în funcție de tabel. 17.2.
Tabelul 17.2. Etichete pentru afișarea lungimii mesajului
În proprietatea NMSMTP1.Host, specificați serverul smtp. Pentru yandex.ru această proprietate ar trebui să ia valoarea smtp.yandex.ru. În proprietatea UserID, trebuie să specificați datele de conectare ale expeditorului - specificați heel-adm. Extindeți acum proprietatea PostMessage și modificați valoarea proprietății FromAddress la [email protected] și FromName la heel-adm. Schimbați proprietatea Port la 25.
Forma rezultată trebuie să corespundă cu Fig. 17.1.
Fig. 17.1. Forma programului de trimitere a SMS-urilor
Făcând clic pe butonul Trimitere, se va executa următorul cod:
procedura TForm1.Button1Click (expeditor: TObject);
NMSMTP1.PostMessage.Body.Clear; // ștergeți textul mesajului
// pune SMS în textul literei
// verificați ce operator a fost selectat de utilizator
caz oper.ItemIndex din
0: num: = '38066'+tel.text+'@sms.jeans.com.ua'; // Jeans
1: num: = '38050'+tel.Text +'@sms.umc.com.ua'; // UMC
2: num: = '38067'+tel.Text +'@sms.kyivstar.net'; // Kyivstar
NMSMTP1.Connect; // conectați la server
NMSMTP1.SendMail; // trimiteți e-mail
NMSMTP1.Disconnect; // deconectați de la server
// tipăriți un mesaj despre trimiterea reușită
ShowMessage ('Mesajul a fost trimis!' + Num);
Pentru ca utilizatorul să vadă câte caractere a intrat și putea controla lungimea mesajului SMS, implementăm un număr de caractere la introducerea unui mesaj. Pentru a face acest lucru, trebuie să procesați evenimentul sms. onchange:
procedura TForm1.smsChange (expeditor: TObject);
// numărul de caractere introdus
Numărul de caractere introduse este afișat în eticheta kolvo. Programul de trimitere a mesajelor SMS în acțiune este prezentat în Fig. 17.2.
Fig. 17.2. Programul de trimitere a SMS-urilor prin Internet în acțiune
Codul complet al modulului de program SMS prin Internet este prezentat în Lista 17.1.
Listing 17.1. Modulul programului de trimitere a SMS-urilor prin Internet
Windows, Mesaje, SysUtils, Variante, Clase, Grafică, Controale, Formulare, Dialoguri, StdCtrls, Psock, NMsmtp;
tip TForm1 = clasă (TForm)