Falando sobre habilidades de programação de Internet em Delphi (1)
Autor: lyboy99E-mail: [email protected] vem com muitos controles de programação de aplicativos para Internet, o que torna mais fácil para nós desenvolver aplicativos para Internet. Abaixo, apresentarei gradualmente algumas habilidades de programação de aplicativos na Internet. aspectos, mas pode adicionar funções importantes às suas aplicações, facilitando o desenvolvimento de aplicações na Internet. Após a narração de abertura, vamos primeiro apresentar: configuração do navegador padrão do sistema e do software de envio e recebimento de e-mail padrão do sistema. 1. Obtenha a função de endereço do navegador da Internet padrão: A função a seguir obtém o endereço do navegador da Internet padrão lendo a função de configurações do registro GetDefaultShellHTTP: string;varreg: TRegistry;begin Reg:=TRegistry.Create; se Reg.KeyExists('http/shell/open/command') então comece Reg.OpenKey('http/shell/open/command',false); SetDefaultShellHttp do navegador da Internet; (CmdLine: string);varreg: TRegistry;begin Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CLASSES_ROOT; //O endereço do registro: Reg.OpenKey('http/shell/open/command',true);//O endereço do registro: Reg.WriteString('',CmdLine); Reg. Livre;fim;setDefaultshellhttp('"C:/PROGRA~1/INTERN~1/iexplorer.exe" -nohome');3. Obtenha e defina a função do software de envio e recebimento de e-mail padrão A função a seguir obtém o endereço do software de envio e recebimento de e-mail padrão lendo as configurações do registro da função GetDefaultMail: string; varreg: TRegistry; começar Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CLASSES_ROOT; se Reg.KeyExists('Mailto/shell/open/command') então comece Reg.OpenKey('Mailto/shell/open/command',false); Defina o procedimento de caixa de correio padrão SetDefaultMail; (CmdLine: string);varreg: TRegistry;begin Reg:=TRegistry.Create; Reg.OpenKey('Mailto/shell/open/command',true); Reg.WriteString('',CmdLine;end;Use //SetDefaultMail('E:/Foxmail/FoxMail.exe -T " %1" -S "%2"');5. Você já quis ter uma função para converter um nome de domínio em um endereço IP? Agora vou lhe dar uma função para converter um nome de domínio em um endereço IP: function ObterIPNome(Nome: string): string;var WSAData: TWSAData; HostEnt: PHostEnt;begin WSAStartup(2, WSAData); d.%d', [Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]); WSACleanup;end; 6. Ao escrever software para Internet, você frequentemente verifica a URL, o endereço de e-mail, etc., inseridos pelo usuário. Como resolver este problema? Acontece que tenho uma função escrita aqui. Verifique se uma URL é válida usa wininet; Function CheckUrl(url:string):boolean; //Verifica se uma URL é válida function var hsession, hfile, hRequest: hInternet; 20] de char; res : pchar; começar se pos('http://',minúscula(url))=0 então url := 'http://'+url; Resultado:= hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0); (url), nil, 0, INTERNET_FLAG_RELOAD, 0); 0;dwCodeLen:= 10;HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); /200.302 sinalizador de remoção de realocação se atribuído (hfile) então InternetCloseHandle(hfile); InternetCloseHandle(hsessão fim);
Como lidar com endereços de e-mail, aqui está uma função de processamento de endereço de e-mail function IsEMail(EMail: String): Boolean var s: String; ETpos > 1 então comece s:= copy(EMail,ETpos+1,Length(EMail)); 1) e (pos('.', s) <comprimento(s)) then Resultado:= true else Resultado:= false; end else Resultado:= false end procedure TForm1.Button1Click(Sender: TObject); if isemail(Edit1.Text) then begin ShowMessage('eMail-Address!');
A função a seguir pode adicionar o endereço do servidor DNS
Se você deseja adicionar 202.100.100.65 202.10.10.10
SetDNSAddresses('202.100.100.65 202.10.10.10');
//Nota: Separe cada endereço com um espaço.
SetTDNSAddresses é definido da seguinte forma: procedimento SetDNSAddresses( sIPs : string );
começar
//Se for Windows NT, use o seguinte código
SaveStringToRegistry_LOCAL_MACHINE(
'SISTEMA/CurrentControlSet' +
'/Serviços/Tcpip/Parâmetros',
'Servidor de nomes',
SIPs);
//Se você estiver usando Windows 95 use o seguinte código
SaveStringToRegistry_LOCAL_MACHINE(
'SISTEMA/CurrentControlSet' +
'/Serviços/VxD/MSTCP',
'Servidor de nomes',
SIPs);
end;onde SaveStringToRegistry_LOCAL_MACHINE é definido:
usa Registro;
procedimento SaveStringToRegistry_LOCAL_MACHINE(
sKey, sItem, sVal: string);
var
registro: TRegIniFile;
começar
reg:= TRegIniFile.Create('');
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString(sKey, sItem, sVal + #0);
reg.Grátis;
fim;