对于 CSV 文件的每一行,我的应用程序需要调用一个方法,该方法读取每个变量并使用 GetDataItem 方法将其中一些变量写入表中。例如
Var
Item: String;
Tmp: String;
Rdate: String;
TmpDateTime: TDateTime;
begin
Table1.Append'
Tmp := GetDataItem(Data, Item); {Ignore}
Tmp := GetDataItem(Data, Item); {Ignore}
Tmp := GetDataItem(Data, Item); {Members ID}
Table1.FieldByName('Member ID').AsString := UpperCase(Tmp);
TmpDateTime := StrToDateTime(etDataItem(Data, Item));
Table1.FieldByName('Arrival Date').AsString := FormatDateTime('dd/mm/yyyy',TmpDateTime);
Table1.FieldByName('Arrival Time').AsString := FormatDateTime('hh:mm:ss',TmpDateTime);
...
Table1.Post;
这工作正常,除了我还需要从日期时间戳生成一个 ReverseDate,格式为 yyyymmdd。然而,任何再次使用时间戳变量的尝试似乎都会引发异常,例如
RDate := FormatDateTime('yyyy',TmpDateTime) + FormatDateTime('mm',TmpDateTime) + FormatDateTime('dd',TmpDateTime);
或者
RDate := FormatDateTime('yyyymmdd',TmpDateTime);
我已经尝试复制 DateTime 变量并对其进行处理,或者拆分 DateTime 字符串,但好像任何进一步的操作都会在运行时引发异常。
编辑:抱歉,在我的 XP 机器上,我现在得到了异常:
EAccessViolation in the module 'ImpWintacs.exe' at 000749DA. Access violation at address "000749DA" in module 'ImpWintacs.exe'. Read of address 00C1FDF8.
谢谢