Для каждой строки 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 из штампа DateTime в формате ггггммдд. Однако любая попытка использовать переменную timestamp снова приводит к исключению, например
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.
Спасибо