Parler des compétences en programmation Internet sous Delphi (1)
Auteur : lyboy99E-mail : [email protected] est livré avec de nombreux contrôles de programmation d'applications Internet, ce qui nous facilite le développement d'applications Internet. Ci-dessous, je présenterai progressivement certaines compétences en programmation d'applications sur Internet. aspects, mais il peut ajouter des fonctions importantes à vos applications, facilitant ainsi le développement d'applications sur Internet. Après la narration d'ouverture, commençons par présenter : la configuration du navigateur par défaut du système et du logiciel d'envoi et de réception d'e-mails par défaut du système. 1. Obtenez la fonction d'adresse du navigateur Internet par défaut : La fonction suivante obtient l'adresse du navigateur Internet par défaut en lisant la fonction des paramètres de registre GetDefaultShellHTTP : string;varreg: TRegistry;begin Reg:=TRegistry.Create; si Reg.KeyExists('http/shell/open/command') alors commencez Reg.OpenKey('http/shell/open/command',false); Result:=Reg.ReadString(''); end else Result:=''; Définir la procédure du navigateur Internet SetDefaultShellHttp. (CmdLine : chaîne);varreg : TRegistry;begin Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CLASSES_ROOT; //L'adresse du registre : Reg.OpenKey('http/shell/open/command',true);//L'adresse du registre : Reg.WriteString('',CmdLine); Reg. Gratuit;end;setDefaultshellhttp('"C:/PROGRA~1/INTERN~1/iexplorer.exe" -nohome');3. Obtenez et définissez la fonction du logiciel d'envoi et de réception d'e-mails par défaut La fonction suivante obtient l'adresse du logiciel d'envoi et de réception d'e-mails par défaut en lisant les paramètres du registre GetDefaultMail : chaîne ; varreg : TRegistry ; commencer Reg:=TRegistry.Create ; Reg.RootKey:=HKEY_CLASSES_ROOT ; si Reg.KeyExists('Mailto/shell/open/command') alors commencez Reg.OpenKey('Mailto/shell/open/command',false); Result:=Reg.ReadString(''); end else Result:=''; Définir la procédure de boîte aux lettres par défaut SetDefaultMail. (CmdLine : chaîne);varreg : TRegistry;begin Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CLASSES_ROOT; Reg.OpenKey('Mailto/shell/open/command',true); Reg.WriteString('',CmdLine); Reg.Free;end;Utiliser //SetDefaultMail('E:/Foxmail/FoxMail.exe -T " %1" -S "%2"');5. Avez-vous déjà voulu avoir une fonction pour convertir un nom de domaine en adresse IP ? Maintenant, je vais vous donner une fonction pour convertir un nom de domaine en adresse IP : fonction GetIPName(Nom : string): chaîne;var WSAData: TWSAData; HostEnt: PHostEnt;begin WSAStartup(2, WSAData); HostEnt := gethostbyname(PChar(Name)); avec HostEnt^ do Result := Format('%d.%d.% d.%d', [Octet(h_addr^[0]), Octet(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]); WSACleanup;end; 6. Lors de l'écriture d'un logiciel Internet, vous êtes souvent confronté à la vérification de l'URL, de l'adresse e-mail, etc. saisie par l'utilisateur. Comment résoudre ce problème ? Il se trouve que j'ai une fonction écrite ici. Vérifier si une URL est valide utilise wininet ; Function CheckUrl(url:string):boolean; //Vérifier si une URL est valide function var hsession, hfile, hRequest: hInternet; 20] de char; res : pchar; commencer si pos('http://',minuscule(url))=0 alors url := 'http://'+url; Résultat := false; hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0); si attribué (hsession) alors commencez hfile := InternetOpenUrl(hsession, pchar) (url), néant, 0, INTERNET_FLAG_RELOAD, 0); dwIndex := 0; dwCodeLen := 10; HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); res := pchar (@dwcode); /200 302 indicateur de délocalisation si attribué (hfile) alors InternetCloseHandle(hfichier); InternetCloseHandle(hfin de session);
Comment gérer les adresses e-mail, voici une fonction de traitement des adresses e-mail function IsEMail(EMail: String): Boolean; var s: String; Integer ETpos:= pos('@', EMail); ETpos > 1 puis commencez s:= copy(EMail,ETpos+1,Length(EMail)); if (pos('.', s) > 1) et (pos('.', s) <length(s)) then Result:= true else Result:= false; end else Result:= false end; if isemail(Edit1.Text) then start ShowMessage('eMail-Address!'); end; 7. Changer dynamiquement l'adresse du serveur DNS.
La fonction suivante peut ajouter l'adresse du serveur DNS
Si vous souhaitez ajouter 202.100.100.65 202.10.10.10
SetDNSAdresses('202.100.100.65 202.10.10.10');
//Remarque : Séparez chaque adresse par un espace.
SetTDNSAddresses est défini comme suit : procédure SetDNSAdresses( sIPs : string );
commencer
// S'il s'agit de Windows NT, utilisez le code suivant
SaveStringToRegistry_LOCAL_MACHINE(
'SYSTÈME/CurrentControlSet' +
'/Services/Tcpip/Paramètres',
'Serveur de noms',
gorgées );
// Si vous utilisez Windows 95, utilisez le code suivant
SaveStringToRegistry_LOCAL_MACHINE(
'SYSTÈME/CurrentControlSet' +
'/Services/VxD/MSTCP',
'Serveur de noms',
gorgées );
end;où SaveStringToRegistry_LOCAL_MACHINE est défini :
utilise le registre ;
procédure SaveStringToRegistry_LOCAL_MACHINE(
sKey, sItem, sVal : chaîne );
var
reg : TRegIniFile ;
commencer
reg := TRegIniFile.Create( '' );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString( sKey, sItem, sVal + #0 );
reg.Gratuit ;
fin;