D
delhong
Unregistered / Unconfirmed
GUEST, unregistred user!
我在作一个多用户的图书馆管理系统,想实现当某一用户登录后
他所打开的form的caption显示他的代号(或姓名),我采用线程
来解决,我只知道如何改变一个form的caption,但我不知道如何
动态的改变多个form的caption,所以想象大家学习,请帖出你的
方法,谢谢给位高手.
type
tusenumthread = class(TThread)
private
{ Private declarations }
newcaption:string;
protected
procedure Execute; override;
procedure updatecaption;
end;
implementation
uses unit1,unit7,unit4,unit8,unit9,unit10;
procedure tusenumthread.Execute;
var num:string;
begin
{ Place thread code here }
while not terminated do
begin
num:='';
with unit2.DataModule2.tstudent do
begin
open;
first;
while not eof do
begin
num:=fieldbyname('snum').asstring;
end;
close;
end;
newcaption:='谢谢'+num+'的使用';
synchronize(updatecaption);
suspend;
end;
end;
procedure tusenumthread.updatecaption;
begin
form1.Caption :=newcaption;
end;
end.
这是我的执行线程句子
procedure TForm8.FormCreate(Sender: TObject);
var i:integer;
datethread:tusenumthread;
begin
datethread:=tusenumthread.Create(true) ;
unit2.DataModule2.qylib.close;
edit3.Text :=datetostr(date);
combobox1.Items.Clear;
combobox2.Items.Clear;
...................
end;
他所打开的form的caption显示他的代号(或姓名),我采用线程
来解决,我只知道如何改变一个form的caption,但我不知道如何
动态的改变多个form的caption,所以想象大家学习,请帖出你的
方法,谢谢给位高手.
type
tusenumthread = class(TThread)
private
{ Private declarations }
newcaption:string;
protected
procedure Execute; override;
procedure updatecaption;
end;
implementation
uses unit1,unit7,unit4,unit8,unit9,unit10;
procedure tusenumthread.Execute;
var num:string;
begin
{ Place thread code here }
while not terminated do
begin
num:='';
with unit2.DataModule2.tstudent do
begin
open;
first;
while not eof do
begin
num:=fieldbyname('snum').asstring;
end;
close;
end;
newcaption:='谢谢'+num+'的使用';
synchronize(updatecaption);
suspend;
end;
end;
procedure tusenumthread.updatecaption;
begin
form1.Caption :=newcaption;
end;
end.
这是我的执行线程句子
procedure TForm8.FormCreate(Sender: TObject);
var i:integer;
datethread:tusenumthread;
begin
datethread:=tusenumthread.Create(true) ;
unit2.DataModule2.qylib.close;
edit3.Text :=datetostr(date);
combobox1.Items.Clear;
combobox2.Items.Clear;
...................
end;