W
wuxiaopeng520
Unregistered / Unconfirmed
GUEST, unregistred user!
刚学delphi几天 昨天我们经理给我写了个自定义事件 脑子不好使 忘记了他在form里面写了个自定义事件如下定义TMyobj = procedure(const s : string;
var a : string)of object;//对应的事件procedure Hello(Const s : string;var A : string);在另外一个类里定义了一个时间控件和一个整形变量 一秒钟使变量加一 然后在form里面显示这个整形变量的值 并且这个值一直都在变化也就是(1.2.3.4)因为时间控件是一秒钟跳一次------------------------------------------------------------------经理让我按照这个完成以下功能//form1str := 'aaaaaaaaaaaaaaaaaaaa';每秒钟向Unit2传送一个字符//每秒钟输出一个字符procedure TForm1.Timer1Timer(Sender: TObject);
begin
FMaxStr := FMaxStr + 1;//FMaxStr 是个整形全局变量 if not (FMaxStr > Length(Fs)) then
begin
FDataAnl.ReceiveChar(Fs[FMaxStr]);//调用Unit2的方法给他传一个字符 endend;
--------------------------------------------------------------------Unit Unit2;function TDataAnl.ReceiveChar(const C: Char):Boolean;
begin
Self.FDetectionData := Self.FDetectionData + C;//FDetectionData 接收传送过来的字符 if length(Self.FDetectionData )>100 then
//查看是否传来100个字符 begin
//...........如果传来一百个字符调用form1的自定义事件将停止传送字符 //这里分析字符串 已经实现 end;
end;
如何实现 说得越详细越好 最好写上注释 刚学怕看不懂
var a : string)of object;//对应的事件procedure Hello(Const s : string;var A : string);在另外一个类里定义了一个时间控件和一个整形变量 一秒钟使变量加一 然后在form里面显示这个整形变量的值 并且这个值一直都在变化也就是(1.2.3.4)因为时间控件是一秒钟跳一次------------------------------------------------------------------经理让我按照这个完成以下功能//form1str := 'aaaaaaaaaaaaaaaaaaaa';每秒钟向Unit2传送一个字符//每秒钟输出一个字符procedure TForm1.Timer1Timer(Sender: TObject);
begin
FMaxStr := FMaxStr + 1;//FMaxStr 是个整形全局变量 if not (FMaxStr > Length(Fs)) then
begin
FDataAnl.ReceiveChar(Fs[FMaxStr]);//调用Unit2的方法给他传一个字符 endend;
--------------------------------------------------------------------Unit Unit2;function TDataAnl.ReceiveChar(const C: Char):Boolean;
begin
Self.FDetectionData := Self.FDetectionData + C;//FDetectionData 接收传送过来的字符 if length(Self.FDetectionData )>100 then
//查看是否传来100个字符 begin
//...........如果传来一百个字符调用form1的自定义事件将停止传送字符 //这里分析字符串 已经实现 end;
end;
如何实现 说得越详细越好 最好写上注释 刚学怕看不懂