如何实现image.canvas.textout控制输出文本从右向左循环滚动显示?用了Timer定时器
解决方案 »
- 如何找出字符串中的中文格式的逗号(,)
- DevExpress Ribbon如何屏蔽customize quick access toolbar和recent documents
- 如何把一个sql server或者oracle中的表转化为access表
- 一个关于Docking的问题,欢迎指教
- 帮帮忙!!100分够不够??
- 紧急求助:Timer事件中有的语句不执行???
- Indy控件的发邮件被TOM,163,Sina拒收,怎么办?!难道要就此告别Indy了吗?
- 救救我!!兄弟们,一个不难的问题!
- 大家来讨论数据库程序开发规范
- Tquery的一个问题
- UniQuery使用过程中的两个问题
- Delphi Spring Framework路在何方?欢迎大家各抒己见!
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;type
TForm1 = class(TForm)
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
index:Integer;
procedure DrawText(s:string;i:Integer);
public
{ Public declarations }
end;var
Form1: TForm1;
const
printStr = 'dsgdgdfgdfhgdfsdfsdfjlsjflsdjdflsdfsdflsldf';implementation{$R *.dfm}procedure TForm1.DrawText(s: string; i: Integer);
var
str:string;
len:Integer;
begin
if i = 0 then
begin
len := Self.Canvas.TextWidth(s);
Self.Canvas.TextOut(500-len,10,s);
end
else
begin
str := Copy(s,1,i);
len := Self.Canvas.TextWidth(str);
Self.Canvas.TextOut(500-len,10,str);
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
index := 1;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
if index < Length(printStr) then
Inc(index)
else
index := -1;
Invalidate;
end;procedure TForm1.FormPaint(Sender: TObject);
begin
DrawText(printStr,index);
end;end.
delphi 数据库中的多条记录如何接着输出 ? 我想要的效果是输出第一条记录之后 接着输出第二条记录 该如何实现?我的记录放在了数组中 Arr:array[1..500]of string;
数组中的字段赋值 Arr[1]:=task_tab.FieldByName('ziduan1').AsString;
Arr[2]:=task_tab.FieldByName('ziduan2').AsString;
Arr[3]:=task_tab.FieldByName('ziduan3').AsString;
Arr[4]:=task_tab.FieldByName('ziduan4').AsString;
1.内存中做一幅图,显示要滚动的内容,解决闪烁问题
2.计算何时接上下一条,下下一条以及到边缘时消除需要一个算法。
我的DEMO都是自己写的,在真实系统中没有发现任何问题。
非常感谢 请问能给我发一个份吗 [email protected]