fernando_vip Postado Agosto 30, 2005 Denunciar Share Postado Agosto 30, 2005 Estou tentando abrir uma url pelo IE porém sempre dá o mesmo erro.Cód da unt:unit Unit1;interfaceuses Windows, Messages, ComObj, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}// Executa uma URL especificada com o InterNet Explorer.// Declare ComObj na seção USES.// Exemplo ::: OpenInternetExplorer('http://www.site.com.br');procedure OpenInternetExplorer( 'http://www.brazlândiaonline.com' : string );constcsOLEObjName = 'InternetExplorer.Application';varIE : Variant;WinHanlde : HWnd;beginif( VarIsEmpty( IE ) )thenbeginIE := CreateOleObject( csOLEObjName );IE.Visible := true;IE.Navigate( 'http://www.brazlândiaonline.com' );endelsebeginWinHanlde := FindWIndow( 'IEFrame', nil );if( 0 <> WinHanlde )thenbeginIE.Navigate( 'http://www.brazlândiaonline.com' );SetForegroundWindow( WinHanlde );endelsebeginShowmessage('Ocorreu um erro não informado!');end; end; end;end. O rro:[Error] Unit1.pas(29): Identifier expected but string constant foundAlguém pode ajudar???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Agosto 30, 2005 Denunciar Share Postado Agosto 30, 2005 Quando você declara uma função ou procedure você deve definir os identificadores e não seus valores. Ou seja, a linha...procedure OpenInternetExplorer( 'http://www.brazlândiaonline.com' : string ); Deveria ser: procedure OpenInternetExplorer( endereco : string );E, durante o código, você deve utilizar o identificador "endereco" para se referir ao endereço passado na chamada da função.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fernando_vip Postado Agosto 30, 2005 Autor Denunciar Share Postado Agosto 30, 2005 Agora deu o seguinte erro:[Error] Unit1.pas(30): Identifier expected but 'PROCEDURE' found Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Agosto 30, 2005 Denunciar Share Postado Agosto 30, 2005 Agora deu o seguinte erro:[Error] Unit1.pas(30): Identifier expected but 'PROCEDURE' found Você não sabe declarar uma procedure, não? Aqui vai o código completo dela:procedure OpenInternetExplorer( endereco : string ); const csOLEObjName = 'InternetExplorer.Application'; var IE : Variant; WinHanlde : HWnd; begin if( VarIsEmpty( IE ) )then begin IE := CreateOleObject( csOLEObjName ); IE.Visible := true; IE.Navigate( endereco ); end else begin WinHanlde := FindWIndow( 'IEFrame', nil ); if( 0 <> WinHanlde )then begin IE.Navigate( endereco ); SetForegroundWindow( WinHanlde ); end else Showmessage('Ocorreu um erro não informado!'); end; end; Depois, é só chamar: OpenInternetExplorer('http://www.gs.kitbr.com/');Sacou? Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fernando_vip Postado Agosto 30, 2005 Autor Denunciar Share Postado Agosto 30, 2005 Então como ficaria o código da unit inteira, estou no começo e ainda não tenho intimidade com o Pascal Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Agosto 31, 2005 Denunciar Share Postado Agosto 31, 2005 Então como ficaria o código da unit inteira, estou no começo e ainda não tenho intimidade com o Pascal Mas, isso deveria ser a primeira coisa a ser adquirida. É importante conhecer onde você vai colocar cada parte do código. Aquela declaração do procedimento deve ficar exatamente no mesmo local que você já havia colocado-a antes (ou seja, abaixo do Implementation). Já o código de exemplo pode ficar em qualquer outro procedimento (no evento OnClick de um botão, por exemplo).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fernando_vip Postado Agosto 31, 2005 Autor Denunciar Share Postado Agosto 31, 2005 será que você poderia ser um pouco mais claro??? Como você percebeu sou totalmente iniciante Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Agosto 31, 2005 Denunciar Share Postado Agosto 31, 2005 porque você testa VarIsEmpty(IE) se IE é uma variável local ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 1, 2005 Denunciar Share Postado Setembro 1, 2005 será que você poderia ser um pouco mais claro??? Como você percebeu sou totalmente iniciante Coloque a declaração da função no mesmo local que você tinha colocado anteriormente (ou seja, abaixo do Implementation). Depois disso, coloque um botão no formulário, dê um duplo-clique sobre ele e coloque o seguinte entre o begin e end que aparecerá:OpenInternetExplorer('http://www.gs.kitbr.com/');Depois, salve e execute o projeto (e clique no botão quando o mesmo estiver rodando).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
fernando_vip
Estou tentando abrir uma url pelo IE porém sempre dá o mesmo erro.
Cód da unt:
unit Unit1;
interface
uses
Windows, Messages, ComObj, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// Executa uma URL especificada com o InterNet Explorer.
// Declare ComObj na seção USES.
// Exemplo ::: OpenInternetExplorer('http://www.site.com.br');
procedure
OpenInternetExplorer( 'http://www.brazlândiaonline.com' : string );
const
csOLEObjName = 'InternetExplorer.Application';
var
IE : Variant;WinHanlde : HWnd;
begin
if( VarIsEmpty( IE ) )then
begin
IE := CreateOleObject( csOLEObjName );
IE.Visible := true;
IE.Navigate( 'http://www.brazlândiaonline.com' );
end
else
begin
WinHanlde := FindWIndow( 'IEFrame', nil );
if( 0 <> WinHanlde )then
begin
IE.Navigate( 'http://www.brazlândiaonline.com' );
SetForegroundWindow( WinHanlde );
end
else
begin
Showmessage('Ocorreu um erro não informado!');
end; end; end;
end.
O rro:
[Error] Unit1.pas(29): Identifier expected but string constant found
Alguém pode ajudar????
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.