Como abrir um site pelo delphi?
29/06/2008
0
utilizando um edit como referência.
Visto que a função HlinkNavigateString não funciona quando colocamos um edit para determinar o site:
Já tentei das seguintes formas:
HlinkNavigateString(nil,Edt_Website.Text);
HlinkNavigateString(nil,StringToWideChar(Edt_Website.Text));
Desde já agradeço a atenção de todos.
Lnunes
Posts
30/06/2008
Onjahyr
É o seguinte. Na uses você acrescenta a unit: [b:b384cc1fc3]ShellAPI[/b:b384cc1fc3]
ShellExecute(Handle,´open´,PAnsiChar(Edit1.Text),nil,nil,SW_SHOWNORMAL);
Testa ae e dá um retorno se funcionou, em vez de ´PAnsiChar´ pode ser PChar também, mas se o endereço fou muito grande é bom usar o que indiquei...
Blz.
30/06/2008
Onjahyr
O bom é deixar o http:// por dentro da chamada para garantir que já esteja pois se não tiver pode ser que não abra o navegador... Exemplo:
ShellExecute(Handle,´open´,´http://´ + PAnsiChar(Edit1.Text),nil,nil,SW_SHOWNORMAL);
No evento do botão click você acrescenta o comando Copy() para retirar o ´http://´ caso o usuário digitou ele, entende?
var
Endereco : String;
begin
if Pos(´http://´,Edit1.Text) <> 0 then
Endereco := Copy(Edit1.Text,Pos(´http://´,Edit1.Text) + 7, Length(Edit1.Text) -7)
else
Endereco := Edit1.Text;
Não testei, tenta aí e vê o que acontece...
Blz
30/06/2008
Onjahyr
procedure TForm1.Button1Click(Sender: TObject); var Endereco : String; begin Edit1.Text := Trim(Edit1.Text); if (Pos(´http://´,Edit1.Text) or Pos(´https://´,Edit1.Text)) <> 0 then Endereco := Edit1.Text else begin Endereco := ´http://´ + Edit1.Text; // Padrão Edit1.Text := ´http://´ + Edit1.Text; end; ShellExecute(Handle,´open´,PCHAR(Endereco),nil,nil,SW_SHOWNORMAL); end;
Você pode implementar mais alguma rotina, por exemplo: Para verificar se o endereço é um endereço válido, etc....
Bom, dessa vez com certeza vai dar certo!!!!
Clique aqui para fazer login e interagir na Comunidade :)