V
vinge
Unregistered / Unconfirmed
GUEST, unregistred user!
用的是delphi2010。刚开始学rave,碰到不少问题,请大家帮忙。问题是这样的。放入一个datatext,在OnGetText事件写代码,目的是根据条件改变显示的内容:{ Event for DataText1.OnGetText }function DataText1_OnGetText(Self: TRaveDataText;
var Value: string);var s: string;
begin
s := Value;
if length(Value) > 5 then
self.color := clred;
Value := '大于五';
end if;
end OnGetText;保存时提示有nested代码,感觉好像是value不停地变,这个事件就不停地执行似的。怎么实现我这种要求,请大家帮忙。谢谢。帮助文件里有这么个例子:{ Event for dtLastEdit.OnGetText }function dtLastEdit_OnGetText(Self: TRaveDataText;
var Value: string);var nTime:do
uble;
iHour: Integer;
iMinute: Integer;
begin
nTime := Frac(StrToFloat(Value));
if nTime < 0.25 then
self.Color := clRed;
Value := 'Before Start';
self.Left := self.Left + 0.1;
else
if nTime > 0.75 then
self.Color := clYellow;
self.Left := self.Left - 0.1;
Value := 'After Hours';
else
self.Color := clBlack;
Value := '';
end if;
nTime := nTime * 24;
iHour := Trunc(nTime);
iMinute := Trunc(Frac(nTime) * 60);
If iMinute < 10 then
Value := IntToStr(iHour)+':0'+IntToStr(iMinute);
else
Value := IntToStr(iHour)+':'+IntToStr(iMinute);
end if;
end OnGetText;我试了下,不行,在OnGetText里修改value,程序就会崩溃,是不是value一改变,就会触发OnGetText事件呀,结果就死循环了?请大家帮忙,谢谢。
var Value: string);var s: string;
begin
s := Value;
if length(Value) > 5 then
self.color := clred;
Value := '大于五';
end if;
end OnGetText;保存时提示有nested代码,感觉好像是value不停地变,这个事件就不停地执行似的。怎么实现我这种要求,请大家帮忙。谢谢。帮助文件里有这么个例子:{ Event for dtLastEdit.OnGetText }function dtLastEdit_OnGetText(Self: TRaveDataText;
var Value: string);var nTime:do
uble;
iHour: Integer;
iMinute: Integer;
begin
nTime := Frac(StrToFloat(Value));
if nTime < 0.25 then
self.Color := clRed;
Value := 'Before Start';
self.Left := self.Left + 0.1;
else
if nTime > 0.75 then
self.Color := clYellow;
self.Left := self.Left - 0.1;
Value := 'After Hours';
else
self.Color := clBlack;
Value := '';
end if;
nTime := nTime * 24;
iHour := Trunc(nTime);
iMinute := Trunc(Frac(nTime) * 60);
If iMinute < 10 then
Value := IntToStr(iHour)+':0'+IntToStr(iMinute);
else
Value := IntToStr(iHour)+':'+IntToStr(iMinute);
end if;
end OnGetText;我试了下,不行,在OnGetText里修改value,程序就会崩溃,是不是value一改变,就会触发OnGetText事件呀,结果就死循环了?请大家帮忙,谢谢。