关于Delphi的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 18:42:05
请问,如何实现在statuspanel上实现左移文字一个一个消失,而不是全部消失呢?
procedure TForm2.Timer2Timer(Sender: TObject);
var stemp:string;
j:integer;
begin
stemp:= form1.edit1.text;
if pos>0 then
begin
for j:=1 to pos do
begin
stemp:=' '+stemp;
end;
StatusBar1.Panels[0].Text := stemp;
pos:=pos-1;
end
else
pos:=100;
end;
这个代码是在stemp前加空格,然后到端点后stemp的内容就全部消失了,如何实现一个一个消失呢?
请指教,谢谢各位朋友们!

我把关键代码贴出来吧
var show,stemp :String;
lens:Integer;
begin
stemp:=form1.edit1.text;
lens:=Length(stemp);
if(pos>lens) then pos:=0;//注意:pos是全局变量 pos:Integer
//show := copy(stemp,1,lens-pos); //向右移动
show := copy(stemp,pos+1,lens-pos); //向左移动
StatusBar1.Panels[0].Text := show;
inc(pos);
end;

var p: integer;

procedure TForm2.Timer2Timer(Sender: TObject);
var
stemp: string;
j: integer;
begin
stemp := form1.edit1.text;
if p+length(stemp)>0 then
begin
for j := 1 to p do
begin
stemp := ' ' + stemp;
end;

if p<0 then
stemp := Copy(stemp,-p,length(stemp)+p+1);

StatusBar1.Panels[0].Text := stemp;
p := p - 1;
end else
p := 60;
end;