delphi 如何用label 来控制显示动态字幕 显示一条信息 这些信息是放在数组中的 停2秒再显示下一条信息 该

谢谢 chunlizh 你的方法const txt:array[0..5] of string=('文本0','文本1','文本2','文本3','文本4','文本5');可以实现

但是我的数组是变化的 是从数据库中动态提取的内容啊 该怎么写?
var Arr:array[1..500]of string;

Arr[1]:=stu_tab.FieldByName('stuname').AsString;

动态变化的,可以根据当前数据库中提取到的clientDATASET来控制数组的大小,并循环赋值
var
Arr:array of string;

setlength(Arr,stu_tab.recordcount);
stu_tab.first;
for i =0 to stu_tab.recordcount -1 do
begin
arr[i]=stu_tab.FieldByName('stuname').AsString;
stu_tab.next;
end;
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-24
加一个Timer控件,设定时间为2秒,在Timer控件的事件中设定label显示的文本,然后将当前显示的数组的序号保存在label的tag属性中
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
const
txt:array[0..5] of string=('文本0','文本1','文本2','文本3','文本4','文本5');
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:= txt[Label1.tag mod length(txt)];
Label1.tag := Label1.tag mod length(txt) +1;
end;

end.
第2个回答  2011-03-24
同一楼:在定时器事件里写:
label1。caption:=s[label1.tag];//S为字符串数组
label1.tag:=label1.tag+1;
第3个回答  2011-03-24
ge控件, 做个BMP图形, 如果没什么图形软件, 也可以自己用Word打一个一元二次方程, 拷贝屏幕, 粘到诸如Windows的画图之类的软件中, 切下所需的部分, 保存为BMP格式的文件, 在Image控件中把它放上去就OK了.
第4个回答  2011-03-25
可以不用数组来实现。用TStrings来实现。
var StrList:TStrings;
i:integer;
begin
StrList:=TStringList.Create;
stu_tab.First;
while not stu_tab.eof do begin
StrList.append(stu_tab.FieldByName('stuname').AsString);
stu_tab.next;
end;
for i:=0 to StrList.count-1 do begin
Label.Caption:=StrList[i];
Sleep(2000);
Application.ProcessMessages;
end;
end;

delphi 如何用label 来控制显示动态字幕 显示一条信息 这些信息是放 ...
动态变化的,可以根据当前数据库中提取到的clientDATASET来控制数组的大小,并循环赋值 var Arr:array of string;setlength(Arr,stu_tab.recordcount);stu_tab.first;for i =0 to stu_tab.recordcount -1 do begin arr[i]=stu_tab.FieldByName('stuname').AsString;stu_tab.next;end;...

Delphi中如何动态的加入Label组件
移动:Label1.Left \/\/数值大小控制 下面的是随着 Label1.Left的变化移动的小例子 procedure TForm1.Button1Click(Sender: TObject);var Label1:TLabel;i:integer;begin Label1:=TLabel.Create(self);Label1.Parent:=Form1;Label1.Top:=20;Label1.Left:=2;Label1.Caption:='A';for i:=0...

delphi 7中如何设置label使得caption双行显示
不能直接往caption里填要显示的内容,需要代码控制,如想在第一行显示:这是第一行 在第二行显示:这是第二行,那么可以在FormShow事件中填写下面的代码:label1.Caption := '这是第一行'+#13#10+'这是第二行';

悬赏:Delphi 如何让鼠标停留时显示的提示信息显示15到20行
自定义一个FORM组件不就成了.在FORM上加上LABEL组件然后个忙FORM的属性让他看起来和提示窗口一样就成了.

delphi 中如何利用一个按钮控制标签的显示和隐藏 ,按钮的Caption如何在...
两种办法 ①设置一个按钮自动改变文字和隐藏或显示标签 procedure TForm1.Button1Click(Sender: TObject);begin if button1.Caption ='显示' then begin label1.Visible:=true;button1.Caption:='隐藏'end else begin label1.Visible:=false;button1.Caption:= '显示';end;end;②设置俩个按钮,俩...

delphi Progressbar的进度条如何显示进度值?
可以这样,在进度条上放一个Label,AutoSize设为false,文字清空,调整大小为合适,背景色设置为你要文字的颜色 加入以下代码就可以了,记得要引用using System.Drawing.Drawing2D;private void button3_Click(object sender, EventArgs e){ RegionControl(l_pshow, "100%");} private void RegionControl(...

Delphi 如何调用SQL服务器上的时间,并实时地显示在我程序的一个Label中...
时间作为主键,这个不太合理。如果愿意,设计一个bigint的自增变量 获取服务器的时间可以使用select getdate()

在delphi中,如何实现鼠标滑到图片上,在一个文本框显示提示信息,并且...
控件只能感知鼠标移入,移出后它就感知不了。Delphi隐藏了消息循环,但它自定义了一些消息,用于处理鼠标移入、移出。type TForm1 = class(TForm)Edit1: TEdit;Image1: TImage;private procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;procedure CMMouseLeave(var Msg: TMessage); ...

字幕滚动delphi dbgrid如何把多条记录显示在一行中
横向滚动?在什么控件上?直接在窗体上横向滚动么?建立一个超长的LABLE,背景透明,然后修改LEFT属性,用循环体,并且循环体里别忘记加入application.ProcessMessages;这句话

DELPHi分布式多层设计,的瘦客户机的理解
也就是浏览器\/服务器结构的程序,在简单一点就是网站。你以前做的那种叫做c\/s结构的程序,也就是客户端\/服务器结构的程序。delphi如果要作b\/s结构的程序似乎很难。b\/s结构一般都用jsp、asp、asp.net、php等来作。欢迎访问我的论坛:)http:\/\/www.chinesebloger.com 期待您的支持:)...

相似回答
大家正在搜