Bueno aqui esta la funcion que he utilizado ya para convertir la dichosa linea con la fecha y hora en el formato dado a algo que delphi entienda. Aqui les dejo el codigo.
Ha, por cierto la clase que utilizo ahi es una que me permite sacar los tokens, o parametros separados por coma o espacio del string. Si hace falta me dicen y publico la Unit con la definicion de la clase.
Aca el codigo.
Código Delphi
[-]
procedure TForm1.GetMessageFromTXT(pFileName: string; var pIdMessage: TIdMessage);
var
vStringList: TStringList;
vDateTime: TDateTime;
vCToken: TToken;
vNum, vX: Byte;
vStrDateTime, vStrUtil: string;
begin
vStringList := TStringList.Create;
vCToken := TToken.Create;
try
vStringList.LoadFromFile(pFileName);
pIdMessage.From.Text := vStringList.Strings[0];
pIdMessage.Recipients.Add.Text := vStringList.Strings[1];
pIdMessage.Subject := vStringList.Strings[2];
vCToken.Text := vStringList.Strings[3];
vCToken.Seps := [',',' ']; vCToken.Count;
vCToken.First;
vNum := 0;
while vCToken.MoreTokens do
begin
Inc(vNum);
vStrUtil := StringReplace(vCToken.LastToken, ' ', '', [rfReplaceAll]);
case vNum of
2: begin
for vX := 1 to 12 do
begin
if LowerCase(ShortMonthNames[vX]) = LowerCase(vStrUtil) then
begin
vStrDateTime := IntToStr(vX);
break;
end;
end;
end;
3: begin
vStrDateTime := vStrDateTime + '/' + vStrUtil;
end;
4: begin
vStrDateTime := vStrDateTime + '/' + vStrUtil;
end;
6: begin
vStrDateTime := vStrDateTime + ' ' + vStrUtil;
end;
7: begin
vStrDateTime := vStrDateTime + ' ' + vStrUtil;
end;
end;
vCToken.Next;
end;
vDateTime := StrToDateTime(vStrDateTime);
pIdMessage.Date := vDateTime;
vStringList.Delete(0);
vStringList.Delete(0);
vStringList.Delete(0);
vStringList.Delete(0);
vStringList.Delete(0);
pIdMessage.Body.Text := vStringList.Text;
finally
vStringList.Free;
vCToken.Free;
end;
end;