Berbicara tentang keterampilan pemrograman Internet di Delphi (1)
Penulis: lyboy99E-mail: [email protected] hadir dengan banyak kontrol pemrograman aplikasi Internet, yang memudahkan kita mengembangkan aplikasi Internet. Di bawah ini saya akan memperkenalkan beberapa keterampilan pemrograman aplikasi di Internet secara bertahap aspek, tetapi dapat menambahkan fungsi penting pada aplikasi Anda, sehingga memudahkan Anda mengembangkan aplikasi di bawah Internet. Setelah narasi pembuka, mari kita perkenalkan terlebih dahulu: pengaturan browser default sistem dan perangkat lunak pengiriman dan penerimaan email default sistem. 1. Dapatkan fungsi alamat browser Internet default: Fungsi berikut mendapatkan alamat browser Internet default dengan membaca fungsi pengaturan registri GetDefaultShellHTTP: string;varreg: TRegistry;begin Reg:=TRegistry.Create; jika Reg.KeyExists('http/shell/open/command') lalu mulai Reg.OpenKey('http/shell/open/command',false); Hasil:=Reg.ReadString(''); end else Hasil:=''; Reg.Free;end;2 (CmdLine : string);varreg : TRegistry;begin Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CLASSES_ROOT; //Alamat registri: Reg.OpenKey('http/shell/open/command',true);//Alamat registri: Reg.WriteString('',CmdLine); Reg.Gratis;akhir;setDefaultshellhttp('"C:/PROGRA~1/INTERN~1/iexplorer.exe" -nohome');3. Dapatkan dan atur fungsi perangkat lunak pengiriman dan penerimaan E-Mail default. Fungsi berikut mendapatkan alamat perangkat lunak pengiriman dan penerimaan E-mail default dengan membaca pengaturan registri. varreg: TRegistry; mulai Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CLASSES_ROOT; jika Reg.KeyExists('Mailto/shell/open/command') lalu mulai Reg.OpenKey('Mailto/shell/open/command',false); Hasil:=Reg.ReadString(''); end else Hasil:=''; Reg.Free;end;4 (CmdLine : string);varreg : TRegistry;mulai Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CLASSES_ROOT; Reg.OpenKey('Mailto/shell/open/command',true); Reg.WriteString('',CmdLine); Reg.Free;end;Gunakan //SetDefaultMail('E:/Foxmail/FoxMail.exe -T " %1" -S "%2"');5. Pernahkah Anda ingin memiliki fungsi untuk mengubah nama domain menjadi alamat IP? Sekarang saya akan memberi Anda fungsi untuk mengubah nama domain menjadi alamat IP: fungsi Dapatkan Nama IP (Nama: string): string;var WSAData: TWSAData; HostEnt: PHostEnt;mulai WSAStartup(2, WSAData); HostEnt := gethostbyname(PChar(Nama)); d.%d', [Bita(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]); WSACleanup;end; 6. Saat menulis perangkat lunak Internet, Anda sering menemukan pemeriksaan URL, alamat email, dll. Bagaimana cara mengatasi masalah ini? Saya kebetulan memiliki fungsi yang ditulis di sini. Periksa apakah URL valid menggunakan wininet; Fungsi CheckUrl(url:string):boolean; //Periksa apakah URL valid function var hsession, hfile, hRequest: dwindex,dwcodelen:dWord; 20] dari char; res : pchar; mulai jika pos('http://',huruf kecil(url))=0 lalu url := 'http://'+url; Hasil := false; hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0); (url), nihil, 0, INTERNET_FLAG_RELOAD, 0);dwIndex := 0; dwCodeLen := 10; HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); /200,302 tanda unrelocation jika ditugaskan (hfile) kemudian InternetCloseHandle(hfile); InternetCloseHandle(hsesi akhir;
Cara menangani alamat email, berikut adalah fungsi pemrosesan alamat email IsEMail(EMAil: String): Boolean; var s: String; ETpos: Integer; ETpos > 1 lalu mulai s:= copy(EMail,ETpos+1,Length(EMail)); if (pos('.', s) > 1) dan (pos('.', s) <panjang(s)) lalu Hasil:= true else Hasil:= false; end else Hasil:= false; procedure TForm1.Button1Click(Sender: TObject start; if isemail(Edit1.Text) lalu mulai ShowMessage('eMail-Address!');
Fungsi berikut dapat menambahkan alamat Server DNS
Jika Anda ingin menambahkan 202.100.100.65 202.10.10.10
SetDNSAddresses('202.100.100.65 202.10.10.10');
//Catatan: Pisahkan setiap alamat dengan spasi.
SetTDNSAddresses didefinisikan sebagai berikut: procedure SetDNSAddresses( sIPs : string );
mulai
// Jika itu Windows NT, gunakan kode berikut
SimpanStringToRegistry_LOCAL_MACHINE(
'SISTEM/Set Kontrol Saat Ini' +
'/Layanan/Tcpip/Parameter',
'Server Nama',
menyesap);
// Jika Anda menggunakan Windows 95 gunakan kode berikut
SimpanStringToRegistry_LOCAL_MACHINE(
'SISTEM/Set Kontrol Saat Ini' +
'/Layanan/VxD/MSTCP',
'Server Nama',
menyesap);
end;dimana SaveStringToRegistry_LOCAL_MACHINE didefinisikan:
menggunakan Registri;
prosedur SaveStringToRegistry_LOCAL_MACHINE(
sKey, sItem, sVal : string );
var
reg: TRegIniFile;
mulai
reg := TRegIniFile.Buat( '' );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString( sKey, sItem, sVal + #0 );
reg.Gratis;
akhir;