我有一个文本内容如下:
11
22
33
44
55
11
22
66
77
88
11
22
;-------------------
如何通过TStringList 操作这个文本改写为下面这样
11
22
33
44
55
11a
22a
66
77
88
11b
22b最好可以当数值满到多少位之后减去最后一位改成a..z望各位大侠 大哥 大姐 赐教
11
22
33
44
55
11
22
66
77
88
11
22
;-------------------
如何通过TStringList 操作这个文本改写为下面这样
11
22
33
44
55
11a
22a
66
77
88
11b
22b最好可以当数值满到多少位之后减去最后一位改成a..z望各位大侠 大哥 大姐 赐教
var
i: Integer;
tmpStr: TStrings;
tmpPreStr: string;
begin
tmpStr := TStringList.Create;
tmpStr.LoadFromFile('1.txt');
for i := 0 to tmpStr.Count - 1 do
begin
if Char(RightStr(tmpStr.Strings[i - 1], 1)) in ['a'..'z'] then
tmpPreStr := LeftStr(tmpStr.Strings[i - 1], Length(tmpStr.Strings[i - 1]) - 1)
else tmpPreStr := tmpStr.Strings[i - 1];
if (i > 0) and (tmpPreStr = tmpStr.Strings[i]) then
tmpStr.Strings[i] := tmpStr.Strings[i] + Char(Ord(RightStr(tmpStr.Strings[i - 1], 1)) + 1);
end;
end;网上摘下来的代码.不过有问题,编译不通过对TStringList 不是太理解!望大哥能改正一下,这个需要引用 StrUtils
var
i: Integer;
tmpStr: TStrings;
tmpPreStr: string;
begin
tmpStr := TStringList.Create;
tmpStr.LoadFromFile('1.txt');
for i := 0 to tmpStr.Count - 1 do
begin
if RightStr(tmpStr.Strings[i], 1)[1] in ['a'..'z'] then
tmpPreStr := LeftStr(tmpStr.Strings[i], Length(tmpStr.Strings[i]) - 1)
else tmpPreStr := tmpStr.Strings[i];
if (i > 0) and (tmpPreStr = tmpStr.Strings[i]) then
tmpStr.Strings[i] := tmpStr.Strings[i] + Char(Ord(RightStr(tmpStr.Strings[i], 1)[1]) + 1);
end;
end;