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.
ありがとう