对于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;这很好用,除了我还需要从DateTime戳以yyyymmdd格式生成一个ReverseDate。然而,任何再次使用时间戳变量的尝试似乎都会抛出一个异常。
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.谢谢
发布于 2011-10-20 17:25:04
我用来从CSV中读取下一个变量的方法,将字符一直读到下一个逗号。CSV中的最后一个变量后面没有逗号。因为我不需要最后一个变量,所以我选择不读它。
https://stackoverflow.com/questions/7818996
复制相似问题