类似 站次 排队 问题 类似 火车站OR机场 候车厅 站次信息大屏幕的效果屏幕只显示10条记录,循环刷新,10秒之后第一条记录消失,第二条记录上升到第一位,依次,第11条记录进入屏幕显示在第10位。数据来源于数据库 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 前面已经做到了一种效果:每隔10秒切换10条记录,1-10秒显示前10条,11-20秒显示第11-20条记录依次。怎么做到目前要求的:一条一条的刷新,而且刷新不是按时间来排,有个FLAG 更新了就刷新。 做一个10行的stringgrid写一个函数: put10(iStart:integer);从iStart开始循环10次,把行号对应的记录输出到stringgrid 用 PME 形式定义一个属性Flag: Boolean Read FFlag Write SetFFlag;写个方法SetFFlag,实现所要实现的内容,从屏幕每条记录去获取对应的数据库中的记录。方法灵活些,有待后续需求变动时方便修改。剩下留下遐想空间留待后面各位高手给出具体的思路。 PME是Properties-Method-Event架构的简称. unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) button1:tbutton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private FValue: string; FOnChange: TNotifyEvent; function getValue: string; procedure setValue(const Value: string); public procedure yes(Sender: TObject); published property Value: string read getValue write setValue; property OnChange: TNotifyEvent read FOnChange write FOnChange; end;var Form1: TForm1;implementation{$R *.dfm}function TForm1.getValue: string;begin Result := FValue;end;procedure TForm1.setValue(const Value: string);begin if Value <> FValue then begin FValue := Value; if Assigned(FOnChange) then FOnChange(Self); end;end;procedure TForm1.FormCreate(Sender: TObject);begin OnChange:=yes;end;procedure TForm1.yes(Sender: TObject);begin showmessage(fvalue);end; procedure TForm1.Button1Click(Sender: TObject);begin form1.Value:='sdfdsf'; form1.Value:='j'; form1.value:='sdf'end;end.效果就是,value一变,就会触发yes事件。你可以用这个方法做到你所说的效果:怎么做到目前要求的:一条一条的刷新,而且刷新不是按时间来排,有个FLAG 更新了就刷新。只是把value改成flag就好了。 DEV Express控件的升级 有关数据库的问题? 请教各位Delphi前辈,如果现在开始学习Delphi,应该怎么开始! 图片压缩算法 请问怎么样才能将同一编号的记录打印在一张报表上? 如何创建文件图标并和操作系统相关联! 用paradox能实现数据的缓冲吗? 那为大侠了解delphi6.0dbexpress控件组,如果知道给几贴。 付费!!!诚求代码, MPEG2高手请进.(版主留情)价格可议,UP有分。 一个老问题,Form之间互相传递参数? 请教:TIdFTPServer创建FTP服务器如何创建多个虚拟目录? 请问,用Delphi如何写程序将Excel或txt导入oracle?
怎么做到目前要求的:一条一条的刷新,而且刷新不是按时间来排,有个FLAG 更新了就刷新。
写一个函数: put10(iStart:integer);
从iStart开始循环10次,把行号对应的记录输出到stringgrid
写个方法SetFFlag,实现所要实现的内容,从屏幕每条记录去获取对应的数据库中的记录。
方法灵活些,有待后续需求变动时方便修改。
剩下留下遐想空间留待后面各位高手给出具体的思路。
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
button1:tbutton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
FValue: string;
FOnChange: TNotifyEvent;
function getValue: string;
procedure setValue(const Value: string);
public
procedure yes(Sender: TObject);
published
property Value: string read getValue write setValue; property OnChange: TNotifyEvent read FOnChange write FOnChange;
end;var
Form1: TForm1;implementation{$R *.dfm}function TForm1.getValue: string;
begin
Result := FValue;
end;procedure TForm1.setValue(const Value: string);
begin
if Value <> FValue then
begin
FValue := Value;
if Assigned(FOnChange) then FOnChange(Self);
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
OnChange:=yes;
end;procedure TForm1.yes(Sender: TObject);
begin
showmessage(fvalue);
end; procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Value:='sdfdsf';
form1.Value:='j';
form1.value:='sdf'
end;end.
效果就是,value一变,就会触发yes事件。
你可以用这个方法做到你所说的效果:
怎么做到目前要求的:一条一条的刷新,而且刷新不是按时间来排,有个FLAG 更新了就刷新。
只是把value改成flag就好了。