delphi更改txt文件内容 ( 积分: 50 )

  • 主题发起人 主题发起人 jtaiger
  • 开始时间 开始时间
J

jtaiger

Unregistered / Unconfirmed
GUEST, unregistred user!
不如:
1023;1;2007-08-02 6:49:00
改成
0120070802649001023
 
意思[8D]是什么?


234
 
没有见过那么简单的问题了。
给你一个函数,可以将
1023;1;2007-08-02 6:49:00
变成
0120070802649001023

前面的字符串是函数输入参数
后面的字符串是函数输出的结果


function TForm1.ConvertStr(Str:String):String;
var
Str1,Str2:String;
sYear,sMonth,sDate,sHour,sMinute,sSecond:String;
i:integer;
begin
i := Pos(';',Str);
Str1 := Copy(Str,1,i - 1);

Str := Copy(Str,i + 1,Length(Str)-i);

i := Pos(';',Str);
Str2 := Copy(Str,1,i - 1);
if Length(Str2) < 2 then
Str2 := '0' + Str2;

Str := Copy(Str,i + 1,Length(Str)-i);

i := Pos('-',Str);
sYear := Copy(Str,1,i - 1);
Str := Copy(Str,i + 1,Length(Str)-i);

i := Pos('-',Str);
sMonth := Copy(Str,1,i - 1);
Str := Copy(Str,i + 1,Length(Str)-i);

sDate := Copy(Str,1,2);

Str := Copy(Str,4,Length(Str)-3);

i := Pos(':',Str);
sHour := Copy(Str,1,i - 1);
Str := Copy(Str,i + 1,Length(Str)-i);

i := Pos(':',Str);
sMinute := Copy(Str,1,i - 1);
sSecond := Copy(Str,i + 1,Length(Str)-i);

Result := Str2 + sYear + sMonth + sDate + sHour + sMinute + sSecond +Str1;

end;
 
function ChangeExp(S: string): string;
begin
with TStringList.Create do
try
Delimiter := ';';
DelimitedText := S;
Result := Format('%.2d', [Strings[1]]);
Result := Result + FormatDateTime('yyyymmdd', StrToDate(Strings[2]));
Result := Result + FormatDateTime('hnss', StrToTime(Strings[3]));
Result := Result + Strings[0];
finally
Free;
end;
end;
 
利用 meizhou_ren 或ANiDelphi的函数 处理字符串 利用STRINGLIST写入保存.
 
后退
顶部