Apropos Internet-Programmierkenntnisse unter Delphi (1)
Autor: lyboy99E-Mail: [email protected] verfügt über viele Steuerelemente für die Programmierung von Internetanwendungen, die es uns erleichtern, Internetanwendungen zu entwickeln. Im Folgenden werde ich nach und nach einige Fähigkeiten zur Anwendungsprogrammierung im Internet vorstellen Aspekte, aber es kann Ihren Anwendungen wichtige Funktionen hinzufügen und Ihnen die Entwicklung von Anwendungen im Internet erleichtern. Nach der Eröffnungserzählung stellen wir zunächst Folgendes vor: Festlegen des Systemstandardbrowsers und der Systemstandardsoftware zum Senden und Empfangen von E-Mails. 1. Rufen Sie die Standard-Internetbrowser-Adressfunktion ab: Die folgende Funktion ruft die Adresse des Standard-Internetbrowsers ab, indem sie die Registrierungseinstellungen liest. Funktion GetDefaultShellHTTP: string;varreg: TRegistry;begin Reg:=TRegistry.Create; Wenn Reg.KeyExists('http/shell/open/command') dann beginnt Reg.OpenKey('http/shell/open/command',false); end else Result:=''; Reg.Free;end;2 (CmdLine : string);varreg : TRegistry;begin Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CLASSES_ROOT; //Die Adresse der Registrierung: Reg.OpenKey('http/shell/open/command',true);//Die Adresse der Registrierung: Reg.WriteString('',CmdLine); Reg. Free;end;setDefaultshellhttp('"C:/PROGRA~1/INTERN~1/iexplorer.exe" -nohome');3. Rufen Sie die Funktion der Standard-E-Mail-Sende- und Empfangssoftware ab und legen Sie sie fest. Die folgende Funktion ruft die Adresse der Standard-E-Mail-Sende- und Empfangssoftware ab, indem Sie die Registrierungseinstellungen lesen. varreg: TRegistry; begin Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CLASSES_ROOT; if Reg.KeyExists('Mailto/shell/open/command') dann beginnen Reg.OpenKey('Mailto/shell/open/command',false); end else Result:=''; Reg.Free;end;4 (CmdLine: string);varreg: TRegistry;begin Reg:=TRegistry.Create; Reg.OpenKey('Mailto/shell/open/command',true); Reg.WriteString('',CmdLine); Reg.Free;end;Use //SetDefaultMail('E:/Foxmail/FoxMail.exe -T " %1" -S "%2"');5. Wollten Sie schon immer eine Funktion zum Konvertieren eines Domänennamens in eine IP-Adresse haben? Jetzt gebe ich Ihnen eine Funktion zum Konvertieren eines Domänennamens in eine IP-Adresse: Funktion GetIPName(Name: string): string;var WSAData: TWSAData; HostEnt: PHostEnt;begin WSAStartup(2, WSAData); with HostEnt^ do Result := Format('%d.%d.% d.%d', [Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]); Wie kann dieses Problem gelöst werden? Ich habe hier zufällig eine Funktion geschrieben. Überprüfen Sie, ob eine URL gültig ist. Funktion CheckUrl(url:string):boolean; //Überprüfen Sie, ob eine URL gültig ist. function var hsession, hfile, hRequest: hInternet; dwcode:dWord; 20] of char; res: pchar; begin if pos('http://',lowercase(url))=0 then url := 'http://'+url; Ergebnis := false; hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0); (URL), Null, 0, INTERNET_FLAG_RELOAD, 0); 0; dwCodeLen := 10; HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); result:= (res ='200') oder (res ='302'); /200,302 Unrelocation-Flag, falls zugewiesen (hfile), dann InternetCloseHandle(hfile); InternetCloseHandle(hsession end);
So gehen Sie mit E-Mail-Adressen um: Funktion IsEMail(EMail: String): Boolean; ETpos:= pos('@', EMail); ETpos > 1 then begin s:= copy(EMail,ETpos+1,Length(EMail)); if (pos('.', s) > 1) und (pos('.', s) <length(s)) then Result:= false; end else Result:= false end; if isemail(Edit1.Text) then begin ShowMessage('eMail-Address!'); 7. Ändern Sie die Adresse des DNS-Servers dynamisch
Die folgende Funktion kann die Adresse des DNS-Servers hinzufügen
Wenn Sie 202.100.100.65 202.10.10.10 hinzufügen möchten
SetDNSAddresses('202.100.100.65 202.10.10.10');
//Hinweis: Trennen Sie jede Adresse durch ein Leerzeichen.
SetTDNSAddresses ist wie folgt definiert: procedure SetDNSAddresses( sIPs : string );
beginnen
// Wenn es Windows NT ist, verwenden Sie den folgenden Code
SaveStringToRegistry_LOCAL_MACHINE(
'SYSTEM/CurrentControlSet' +
'/Services/Tcpip/Parameters',
'NameServer',
sIPs );
// Wenn Sie Windows 95 verwenden, verwenden Sie den folgenden Code
SaveStringToRegistry_LOCAL_MACHINE(
'SYSTEM/CurrentControlSet' +
'/Services/VxD/MSTCP',
'NameServer',
sIPs );
end;wobei SaveStringToRegistry_LOCAL_MACHINE definiert ist:
verwendet Registry;
Prozedur SaveStringToRegistry_LOCAL_MACHINE(
sKey, sItem, sVal : string );
var
reg: TRegIniFile;
beginnen
reg := TRegIniFile.Create( '' );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString( sKey, sItem, sVal + #0 );
reg.Frei;
Ende;