В настольной версии не определяется время события для треков UPS. В версии для Android все нормально.
Причем ошибка именно в распознавании самого времени.
Писал об этом через форму обратной связи, видимо затерялось. Копию, к сожалению, форма не отправляет.
Расписывал там довольно подробно, с кусками кода на Delphi)
Если выводить в событие трека время, оно отображается нормально.
Вставил в "Event subexp" 4;1;5;3 получил такой диалог:
- [+]
- Events count: 9
13.09.2013 | Out For Delivery, Newark, DE, United States, 5:13 A
13.09.2013 | Arrival Scan, 4:08 A
13.09.2013 | Departure Scan, Laurel, MD, United States, 2:40 A
12.09.2013 | Arrival Scan, Laurel, MD, United States, 10:55 P
12.09.2013 | Departure Scan, Gettysburg, PA, United States, 9:03 P
12.09.2013 | Arrival Scan, 8:48 P
12.09.2013 | Departure Scan, Harrisburg, PA, United States, 7:55 P
12.09.2013 | Origin Scan, 2:39 P
12.09.2013 | Order Processed: Ready for UPS, United States, 8:33 A
Строка с сайта UPS:
Code: Select all
Newark, DE, United States 09/13/2013 5:13 A.M. Out For Delivery
(1) (2) (3) (4)
То есть в (3) все нормально попадает
5:13 A, но преобразования даты не происходит.
пробовал разные форматы в попытке угадать функцию преобразования, но не получилось.
h:nn AP, h:nn ampm, h:nn AM
пробовал изменить формат regexp'а, чтобы полностью A.M. захватывалось одновременно с изменением форматов времени - все без толку)
Писал тестовую прогу, чтобы разобраться - можно же все сделать, видимо что-то где-то пошло не так)
- [+]
- У меня вот такой тестовый код работает
Code: Select all
procedure TForm1.Button1Click(Sender: TObject);
var
tmp : string;
dt : TDateTime;
fmt : TFormatSettings;
begin
tmp := '11:57 P.M.';
fmt.TimeSeparator := ':';
fmt.TimeAMString := 'A.M.';
fmt.TimePMString := 'P.M.';
TryStrToTime(tmp, dt, fmt);
tmp := FormatDateTime('hh:nn', dt);
Edit2.Text := tmp;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
tmp : string;
dt : TDateTime;
fmt : TFormatSettings;
begin
tmp := '10:33 P';
fmt.TimeSeparator := ':';
fmt.TimePMString := 'P';
TryStrToTime(tmp, dt, fmt);
tmp := FormatDateTime('hh:nn', dt);
Edit2.Text := tmp;
end;