当前位置:主页>仓库管理软件> 列表

Datetime转string出错!!!(奇怪的问题) 找用友财务软件下载

仓库管理软件版1楼: str:string;
str:=DateTimeTostr(BeginTime);
一旦当BeginTime为负数或者非常不正常的数时,就会报下面这个错误。
invalid floating point operation
各位老大,能不能指点一下。这个问题一般很难遇到的,希望得到帮助。。。

2楼: BeginTime[red]不允许[/red]为负数或者非常不正常的数,否则当然报错,你想解决什么问题? 如服装店记账软件

3楼: 因为这个一个自定义的结构体包,其中的BeginTime为一个字段,我通过socket收到后处理,问题是一到这里就出错,我下面没有办法进行了,有什么好的建议??仅仅修改我的代码!!!(不涉及结构体和对方的处理逻辑)

4楼: BeginTime位负数或者不正常的数,就是程序不报错,也不能得到正确的数据。根本问题是查找BeginTime出错的原因。

5楼: 数字代表一个时间,不正常的日期当然会出错了,用一个判断,当不正常时变成0就行了

6楼: 原因只有一个:你的Socket接收数据处理有错,最大的可能性是你读取BeginTime错位了。
http://lysoft.lz169.com/kingron/Stuff/sitemap.asp

仓库管理软件版7楼: 数字代表一个时间,不正常的日期当然会出错了,用一个判断,当不正常时变成0就行了???


根本就不能取值,取得值,我也知道赋值为0,关键是 p.beginTime 时就出错了。

8楼: 是不是可能没有初始化p.BeginTime?如果不初始化,则数据为垃圾数据,有可能不是合法的数据,另外很可能是你的代码读取p记录的时候错位,这样数据当然也不对,如果没有初始化导致的错误,可以用Try Excpet end来处理即可。
try
str:=DateTimeTostr(BeginTime);
except
str := DateTimeToStr(Now);
end;

9楼: 我想初始化这个结构体,
试问:结构体之间如何Copy?
procedure TFrmMain.Produrepackege(funcID: integer; Fbuffer: array of Byte);
var
buffer: array[0..8191] of Byte;
begin
FillChar(buffer, 8192, 0);
buffer:= Fbuffer; //这里该怎么做??
..................
end;

10楼: 因为 时间TDateTime 就是一个 Long Double 浮点数,不信你看看TDateTime的定义三

11楼: lqcros 你算白说了。

12楼: 你的代码~
procedure TFrmMain.Produrepackege(funcID: integer; Fbuffer: array of Byte);
var
buffer: array[0..8191] of Byte;
begin
FillChar(buffer, SizeOf(Buffer), 0);
Move(...) /// 自己查帮助
..................


end;
没有看到你的结构体,总之,是你自己的问题,除非你贴出你的代码否则谁也不知到你要什么

http://kingron.delphibbs.com 如用友财务软件下载

13楼: str:=formatdatetime(''yyyymmdd'',begintime)
我一直用这个函数?你可以在delphi中看看帮助

仓库管理软件版14楼: 多人接受答案了。