怎样从登陆的Form传递信息给另一个form里面的webbrowser控件?急在线等待!!!FormLogin.pas
unit FrmLogin;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TFormLogin = class(TForm)
GroupBox1: TGroupBox;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
EditName: TEdit;
EditPass: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
FormLogin: TFormLogin;implementation{$R *.dfm}procedure TFormLogin.Button1Click(Sender: TObject);
begin
if (EditName.Text = 'yzx') and (EditPass.Text = '123') then
begin
self.ModalResult := mrOk; //返回mrOk,说明登陆成功
end
else
begin
ShowMessage('帐号错误!');
end;
end;end.
//******************************************
FormMain.pas
unit FrmMain;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, OleCtrls, SHDocVw, StdCtrls, ExtCtrls, ComCtrls,
ToolWin;type
TForm1 = class(TForm)
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ImageList1: TImageList;
Panel1: TPanel;
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
StatusBar1: TStatusBar;
WebBrowser1: TWebBrowser;
IdHTTP1: TIdHTTP;
procedure WebBrowser1DownloadBegin(Sender: TObject);
procedure WebBrowser1DownloadComplete(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ToolBar1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses FrmLogin;{$R *.dfm}procedure TForm1.FormActivate(Sender: TObject);
begin
if FormLogin.ShowModal <> mrOk then //如果返回不成功
begin
Application.Terminate;//退出!
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
StatusBar1.Panels[0].Text:='正在连接:'+Edit1.text;
end;procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
begin
StatusBar1.Panels[0].Text:='完成'+WebBrowser1.LocationURL ;
end;procedure TForm1.ToolButton2Click(Sender: TObject);
begin
WebBrowser1.GoBack;
end;procedure TForm1.ToolButton3Click(Sender: TObject);
begin
WebBrowser1.Stop;
end;procedure TForm1.ToolButton4Click(Sender: TObject);
begin
WebBrowser1.Refresh;
end;procedure TForm1.ToolButton5Click(Sender: TObject);
begin
WebBrowser1.GoHome;
end;procedure TForm1.Button1Click(Sender: TObject);
var
p:integer;
s:string;
beginend;
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate(Edit1.Text);
s := idHTTP1.Get('http://data.alexa.com/data?cli=10&dat=snba&url=' + Edit1.Text) ;
//先得到网页代码
p:=pos('" TEXT="',s) + Length('" TEXT="');
s:=copy(s,P,30);
p:=pos('"/>',s);
Label3.Caption:=Copy(s,1,P -1);
if Edit1.Text='' then
ShowMessage('地址不能为空');
end;procedure TForm1.ToolBar1Click(Sender: TObject);
beginend;end.
请高手们指点怎样把FromLogin.pas的登录信息传递直接传递给FromMain.pas里面的webbrowser控件,急!!
unit FrmLogin;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TFormLogin = class(TForm)
GroupBox1: TGroupBox;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
EditName: TEdit;
EditPass: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
FormLogin: TFormLogin;implementation{$R *.dfm}procedure TFormLogin.Button1Click(Sender: TObject);
begin
if (EditName.Text = 'yzx') and (EditPass.Text = '123') then
begin
self.ModalResult := mrOk; //返回mrOk,说明登陆成功
end
else
begin
ShowMessage('帐号错误!');
end;
end;end.
//******************************************
FormMain.pas
unit FrmMain;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, OleCtrls, SHDocVw, StdCtrls, ExtCtrls, ComCtrls,
ToolWin;type
TForm1 = class(TForm)
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ImageList1: TImageList;
Panel1: TPanel;
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
StatusBar1: TStatusBar;
WebBrowser1: TWebBrowser;
IdHTTP1: TIdHTTP;
procedure WebBrowser1DownloadBegin(Sender: TObject);
procedure WebBrowser1DownloadComplete(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ToolBar1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses FrmLogin;{$R *.dfm}procedure TForm1.FormActivate(Sender: TObject);
begin
if FormLogin.ShowModal <> mrOk then //如果返回不成功
begin
Application.Terminate;//退出!
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
StatusBar1.Panels[0].Text:='正在连接:'+Edit1.text;
end;procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
begin
StatusBar1.Panels[0].Text:='完成'+WebBrowser1.LocationURL ;
end;procedure TForm1.ToolButton2Click(Sender: TObject);
begin
WebBrowser1.GoBack;
end;procedure TForm1.ToolButton3Click(Sender: TObject);
begin
WebBrowser1.Stop;
end;procedure TForm1.ToolButton4Click(Sender: TObject);
begin
WebBrowser1.Refresh;
end;procedure TForm1.ToolButton5Click(Sender: TObject);
begin
WebBrowser1.GoHome;
end;procedure TForm1.Button1Click(Sender: TObject);
var
p:integer;
s:string;
beginend;
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate(Edit1.Text);
s := idHTTP1.Get('http://data.alexa.com/data?cli=10&dat=snba&url=' + Edit1.Text) ;
//先得到网页代码
p:=pos('" TEXT="',s) + Length('" TEXT="');
s:=copy(s,P,30);
p:=pos('"/>',s);
Label3.Caption:=Copy(s,1,P -1);
if Edit1.Text='' then
ShowMessage('地址不能为空');
end;procedure TForm1.ToolBar1Click(Sender: TObject);
beginend;end.
请高手们指点怎样把FromLogin.pas的登录信息传递直接传递给FromMain.pas里面的webbrowser控件,急!!
然后写出
procedure ddd(var Msg: TMessage); Message WM_USER;这样的类似函数
begin
WebBrowser1.Refresh;
end;再利用PostMessage(Handle, WM__USER, 0, 0);这样的把消息传给formmain窗体中
大体过程就这样吧,看看别人有没有好的办法
procedure SetAA(const Value: string);
public
property AA:string write SetAA;
end;procedure TForm2.SetAA(const Value: string);
begin
//设置你的WebBrowser1
end;
form1:
form2.AA:='fdsafdsa';
你form1调用form2的时候就可以把这个判断的变量值传递过去
procedure TFormLogin.Button1Click(Sender: TObject);
var
f: TextFile;
begin
if (EditName.Text = 'yzx') and (EditPass.Text = '123') then
begin
AssignFile(f,'C:\tmp.txt');
rewrite(f);
WriteLn(f,EditName.Text);
WriteLn(f,EditPass.Text);
CloseFile(f);
self.ModalResult := mrOk; //返回mrOk,说明登陆成功
end
else
begin
ShowMessage('帐号错误!');
end;
end; //2:
procedure TForm1.ToolBar1Click(Sender: TObject);
var
l: TStrings;
s1,s2: string;
begin
l:= LoadFromFile('C:\tmp.txt');
s1:= l[0];
s2:= l[1];
end;
var
l: TStrings;
s1,s2: string;
begin
l:= TStringList.Create;
l.LoadFromFile('C:\tmp.txt');
s1:= l[0];
s2:= l[1];
end;
但是怎么把C:\tmp.txt'里面EditName.Text和EditPass.Text直接传递到WebBrowser1,前辈帮忙详细写一下,
procedure TForm1.WebBrowser1DownloadBegin(Sender: TObject);
begin
StatusBar1.Panels[0].Text:='正在连接:'+Edit1.text;
end;procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);beginStatusBar1.Panels[0].Text:='完成'+WebBrowser1.LocationURL ;
end;
通常,通过网页传递参数是:http://www.csdn.com?UID=UserName&PWD=Password
不知理解的是否正确.
begin
WebBrowser1.Navigate(Edit1.Text+'?UID='+s1+'&PWD='+s2);
//Edit1.Text 常规网址.如:http://www.csdn.com
end;
比如直接传递http://www.csdn.com?UID=UserName&PWD=Password
UserName和Password怎么传递
procedure TForm1.FormShow(Sender: TObject);
begin
WebBrowser1.Navigate(Edit1.Text+'?UID='+LoginForm.EditName.Text+'&PWD='+LoginForm.EditPass.Text);
//Edit1.Text 常规网址.如:http://www.csdn.com
end;
unit FrmLogin;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB;type
TFormLogin = class(TForm)
GroupBox1: TGroupBox;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
EditName: TEdit;
EditPass: TEdit;
ADOQuery1: TADOQuery;
procedure Button1Click(Sender: TObject);
private { Private declarations }
public
{ Public declarations } end;
var
FormLogin: TFormLogin;implementationuses FrmMain;{$R *.dfm}procedure TFormLogin.Button1Click(Sender: TObject);
var
f: TextFile;begin
AdoQuery1.Active := False;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('SELECT id FROM UserInfo WHERE UserName=''' + EditName.Text +
''' and Password=''' + EditPass.Text + '''');
AdoQuery1.Open;
if AdoQuery1.IsEmpty then //没有此用户
begin
ShowMessage('帐号错误!');
end
else
begin
AssignFile(f,'C:\tmp.txt');
rewrite(f);
WriteLn(f,EditName.Text);
WriteLn(f,EditPass.Text);
CloseFile(f);
self.ModalResult := mrOk; //返回mrOk,说明登陆成功 Application.ShowMainForm:=false;
Form1.show;
end;
AdoQuery1.Active := False; begin
//Application.ShowMainForm:=false; //隐藏主窗体 end;end;end.//FrmMainunit FrmMain;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdHTTP, OleCtrls, SHDocVw, ComCtrls, StdCtrls, ExtCtrls, ImgList, ToolWin;type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
Panel1: TPanel;
Label1: TLabel;
Label3: TLabel;
Edit1: TEdit;
Button1: TButton;
ImageList1: TImageList;
WebBrowser1: TWebBrowser;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
procedure WebBrowser1DownloadBegin(Sender: TObject);
procedure WebBrowser1DownloadComplete(Sender: TObject);
//procedure ToolButton2Click(Sender: TObject);
//procedure ToolButton3Click(Sender: TObject);
//procedure ToolButton4Click(Sender: TObject);
//procedure ToolButton5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses FrmLogin;
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
begin
if FormLogin.ShowModal <> mrOk then //如果返回不成功
begin
Application.Terminate;//退出!
end;
begin
Application.ShowMainForm:=false; //隐藏主窗体
FormLogin:=TFormLogin.Create(self); //调用登陆窗体
FormLogin.Show;
end;
end;procedure TForm1.WebBrowser1DownloadBegin(Sender: TObject);
var
//p:integer;
//s:string;
l: TStrings;
s1,s2: string;
begin
l:= TStringList.Create;
l.LoadFromFile('C:\tmp.txt');
s1:= l[0];
s2:= l[1];
StatusBar1.Panels[0].Text:='正在连接:' + s1+s2;
end;procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);beginStatusBar1.Panels[0].Text:='完成'+WebBrowser1.LocationURL;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
p:integer;
s:string;
l: TStrings;
s1,s2: string;
begin l:= TStringList.Create;
l.LoadFromFile('C:\tmp.txt');
s1:= l[0];
s2:= l[1];
WebBrowser1.Navigate(s1+s2);
Label3.Caption:=Copy(s,1,p -1);
if l.Text='' then
ShowMessage('地址不能为空');
end;end.
procedure TForm1.FormShow(Sender: TObject);
begin
WebBrowser1.Navigate(Edit1.Text+'?UID='+LoginForm.EditName.Text+'&PWD='+LoginForm.EditPass.Text);
//Edit1.Text 常规网址.如:http://www.csdn.com
end;procedure TForm1.WebBrowser1DownloadBegin(Sender: TObject);
begin
StatusBar1.Panels[0].Text:='正在连接:' + WebBrowser1.LocationURL;
end;
Form.Create->Form.Activate->Form.Show
WebBrowser.Navigate->WebBrowser.DownloadBegin->WebBrowser.DocumentComplete
这句有错误!dl110帮忙帮到底吧,谢谢了!!
Form.Create->Form.Activate->Form.Show
Form.Create: 创建窗体时发生
Form.Activate: 窗体被激活时发生
Form.Show: 窗体被显示时发生WebBrowser的运行顺序:
WebBrowser.Navigate->WebBrowser.DownloadBegin->WebBrowser.DocumentComplete
WebBrowser.Navigate: 向服务器发送http请求
WebBrowser.DownloadBegin: 开始从服务器接收回发信息
WebBrowser.DocumentComplete: 接收完毕时发生