有以下文本文件:
06.10.2010 03:41:28 03361 :
06.10.2010 03:41:28 03362 :   
06.10.2010 03:41:28 03363 :   
06.10.2010 03:41:28 03364 :   
06.10.2010 03:41:28 03365 :   
06.10.2010 03:41:28 03366 :   
06.10.2010 03:41:28 03367 :   
06.10.2010 03:41:28 03368 :   
格式都为以上样子的(有空格,有冒号)我想用程序将它们重新排列成(如第一行):
03361
2010.06.10
03:41:28
并在D:\下生成一个新的文件请问应该要怎么办?

解决方案 »

  1.   



    WINXPSP3 简体中文,Delphi XE 编译通过。

    var
      s,s0, sy, st: string;
      i: Integer;
      ty,tt: TDateTime;
      settings: TFormatSettings;
    begin
      Memo2.Clear;  Memo1.Lines.LoadFromFile('加载你指定的文件');{更改之,必须指定一个存在的文本文件}  GetLocaleFormatSettings(GetUserDefaultLCID, settings);
      settings.DateSeparator := '.';
      settings.TimeSeparator := ':';
      settings.ShortDateFormat := 'dd.mm.yyyy';
      settings.ShortTimeFormat := 'hh:nn:ss';  for i := 0 to Memo1.Lines.Count - 1 do
      begin
        s := Memo1.Lines[i];
        Delete(s, length(s) -1, 2);{去除最末的空格和冒号}
        s0 := Copy(s,1,10);
        ty := StrToDate(s0,settings);
        sy := FormatDateTime('yyyy.mm.dd',ty);
        Memo2.Lines.Add(sy);{处理完日期}    Delete(s,1,11);
        s0 := Copy(s,1,8);
        tt := StrToTime(s0,settings);
        st := FormatDateTime('hh:nn:ss',tt);
        Memo2.Lines.Add(st);{处理完时间}    Delete(s,1,9);
        Memo2.Lines.Add(s);{添加最后的数据}
      end;  Memo2.Lines.SaveToFile('D:\New.txt'); {保存在指定位置}
    end;