每隔一秒钟从前到后一次显示8个字符在TMemo控件中,如何实现?举例说明一下我要实现的效果:比如有一个长字符串:“中国国奥在广州亚运会八分之一决赛中以0-3惨败于宿敌韩国脚下,当比赛进行到80分钟时现场数万球迷开始倒戈国奥队,震耳欲聋的“解散”“解散”声在天河体育中心响起。”,我想第一秒在TMemo控件中显示“中国国奥在广州亚”,第二秒在TMemo控件中显示“运会八分之一决赛”,第三秒在TMemo控件中显示“中以0-3惨败于”…………以此类推,直到显示完毕,如果最后一秒显示的内容不够8个字,就有几个字显示几个字。请问如何实现呢?
解决方案 »
- 如何获得托盘区每个图标的位置
- 关于QuickReport安装的问题!100分在线等!!分不够再加!
- 自己写的Socks5代理的源码,还有些问题没有解决,请大家指教!(3)
- 如何将一个数据集从中间层传递到客户端?
- 好象这是第一次在delphi板块中提问,请大家帮忙,关于web services,请进>>
- ado+oracle的查询问题?高手请进(高分相送)!
- 有关Tchart控件的应用
- ==找可以拍下演示程序的软件==
- blueshu and 很想学好领分
- 请问如何自.lnk中提取“图标,目标,起始位置”等信息
- 三国啥时候还我的两千分???
- NtQuerySystemInformation的疑问?
s:widestring;
i:integer;
begin
for i := 1 to Length(s) do
begin end;
end;
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
Mmo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
s:string;
t:Cardinal;
h:THandle;implementation{$R *.dfm}procedure Addstr();stdcall;
var
tmps:string;
begin
while Length(s)>0 do
begin
if Length(s)>8 then
begin
tmps:=Copy(s,1,8);
Delete(s,1,8);
end else tmps:=s;
Form1.Mmo1.Clear;
Form1.Mmo1.Lines.Add(tmps);
Sleep(1000);
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
h:=CreateThread(NIL, 0, @Addstr, nil, 0,t);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
s:='中国国奥在广州亚运会八分之一决赛中以0-3惨败于宿敌韩国脚下,当比赛进行到80分钟时现场数万球迷开始倒戈国奥队,震耳欲聋的“解散”“解散”声在天河体育中心响起。';
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
if h<>null then CloseHandle(h);
end;end.
楼主试试我的代码