Como abrir um site pelo delphi?

29/06/2008

0

Gostaria da ajuda de vocês para descobrir como abrir um site pelo delphi
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

Lnunes

Responder

Posts

30/06/2008

Onjahyr

E ae, tudo bom?

É 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.


Responder

30/06/2008

Onjahyr

E ae, tudo bom? É o seguinte. Na uses você acrescenta a unit: [b:f1e9f72cd7]ShellAPI[/b:f1e9f72cd7] 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.


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


Responder

30/06/2008

Lnunes

onjahyr obrigado pela ajuda, vou testar o código.


Responder

30/06/2008

Onjahyr

Olhando novamente verifiquei que vai dar erros. Faz assim oh:


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!!!!


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar