又来送分了——文件处理(20分)

  • 主题发起人 主题发起人 lili365
  • 开始时间 开始时间
L

lili365

Unregistered / Unconfirmed
GUEST, unregistred user!
有这样的文件:
022899 13061266776 6604 20010724080125 86 5 0.10 0.10
022904 13012559950 6604 20010724080126 140 5 0.10 0.10
022924 13012559950 6604 20010724080134 140 5 0.10 0.10
022939 13001670780 6604 20010724080138 110 5 0.10 0.10
022964 13001670780 6604 20010724080147 100 5 0.10 0.10
022976 13006510600 6604 20010724080151 132 5 0.10 0.10
023171 13012956818 6604 20010724080308 88 5 0.10 0.10
023201 13001663096 6604 20010724080312 86 5 0.10 0.10
023255 13001663096 6604 20010724080321 86 5 0.10 0.10
023257 13001670780 6604 20010724080321 90 5 0.10 0.10
023288 13012503193 6604 20010724080332 140 5 0.10 0.10
023294 13012508827 6604 20010724080333 29 5 0.10 0.10
023318 13012539060 6604 20010724080344 98 5 0.10 0.10
023333 13012503193 6604 20010724080350 140 5 0.10 0.10
023430 13006516566 6604 20010724080428 86 5 0.10 0.10
023477 13006516368 6604 20010724080440 32 5 0.10 0.10
023518 13001664139 6604 20010724080457 112 5 0.10 0.10
023523 13012526599 6604 20010724080458 140 5 0.10 0.10
023547 13001670780 6604 20010724080505 114 5 0.10 0.10
023559 13006516566 6604 20010724080511 86 5 0.10 0.10
023700 13061286910 6604 20010724080604 86 5 0.10 0.10
023720 13061286910 6604 20010724080611 94 5 0.10 0.10
023732 13061286910 6604 20010724080615 86 5 0.10 0.10
023778 13061282630 6604 20010724080634 112 5 0.10 0.10
023850 13061283170 6604 20010724080649 28 5 0.10 0.10
023867 13012503193 6604 20010724080654 140 5 0.10 0.10
023896 13012503193 6604 20010724080702 140 5 0.10 0.10
023906 13012559950 6604 20010724080704 140 5 0.10 0.10
024005 13012559950 6604 20010724080712 84 5 0.10 0.10
024039 13012559950 6604 20010724080717 84 5 0.10 0.10
024067 13012559950 6604 20010724080722 140 5 0.10 0.10
024085 13012559950 6604 20010724080727 140 5 0.10 0.10
024098 13012559950 6604 20010724080732 140 5 0.10 0.10
024170 13061256716 6604 20010724080803 86 5 0.10 0.10
024181 13061256716 6604 20010724080807 86 5 0.10 0.10
024201 13012507722 6604 20010724080813 136 5 0.10 0.10
024242 13012507722 6604 20010724080817 140 5 0.10 0.10
024958 13012503193 6604 20010724081206 94 5 0.10 0.10
025056 13001663707 6610 20010724081220 62 5 0.10 0.10
025168 13012503079 6604 20010724081247 84 5 0.10 0.10
025190 13012503079 6604 20010724081250 102 5 0.10 0.10
025210 13012503079 6604 20010724081253 80 5 0.10 0.10
025229 13012503079 6604 20010724081256 84 5 0.10 0.10
025242 13012503079 6604 20010724081300 104 5 0.10 0.10
025253 13012503079 6604 20010724081303 84 5 0.10 0.10
025261 13012503079 6604 20010724081306 102 5 0.10 0.10
025269 13012503079 6604 20010724081309 84 5 0.10 0.10
025280 13012503079 6604 20010724081313 84 5 0.10 0.10
025459 13061261620 6604 20010724081431 140 5 0.10 0.10
025470 13061261620 6604 20010724081437 140 5 0.10 0.10
025476 13061261620 6604 20010724081443 140 5 0.10 0.10
025487 13061261620 6604 20010724081449 140 5 0.10 0.10
025642 13001684562 6604 20010724081510 86 5 0.10 0.10
025649 13001684562 6604 20010724081513 102 5 0.10 0.10
025653 13001684562 6604 20010724081516 140 5 0.10 0.10
025658 13001684562 6604 20010724081519 102 5 0.10 0.10
025668 13001684562 6604 20010724081521 140 5 0.10 0.10
025676 13001684562 6604 20010724081524 118 5 0.10 0.10
025702 13001684562 6604 20010724081527 100 5 0.10 0.10
025711 13001684562 6604 20010724081530 88 5 0.10 0.10
025728 13001684562 6604 20010724081533 132 5 0.10 0.10
025738 13001684562 6604 20010724081536 112 5 0.10 0.10
025750 13006505573 6610 20010724081537 62 5 0.10 0.10
025763 13061319708 6604 20010724081540 130 5 0.10 0.10
025813 13001695220 6610 20010724081554 62 5 0.10 0.10
025814 13061376881 6610 20010724081554 62 5 0.10 0.10
025815 13006533305 6610 20010724081554 62 5 0.10 0.10
025843 13061278685 6606 20010724081603 32 5 0.10 0.10
025847 13061371250 6606 20010724081603 44 5 0.10 0.10
025883 13006527909 6610 20010724081613 62 5 0.10 0.10
025890 13006536666 6610 20010724081615 62 5 0.10 0.10
025903 13012515232 6610 20010724081617 62 5 0.10 0.10

按照手机号归类、排序,生成新的文件
 
用TStringList的LoadFromFile和SaveToFile就可以轻松解决了,大小排序就更轻松了
 
procedure TForm1.Button15Click(Sender: TObject);
var
i,j,Count:Integer;
SL:TStringList;
Number:array of array [0..1] of Int64;
Temp1,Temp2:Int64;
begin
SL:=TStringList.Create;
Count:=Memo1.Lines.Count;
SetLength(Number,Count);
for i:=0 to Count-1 do
begin
SL.CommaText:=Memo1.Lines; //自动分词
Number[1]:=StrToInt64(SL[1]); //手机号——Int64
Number[0]:=i; //原始位置
end;
SL.Free;
for i:=0 to Count-2 do
for j:=Count-2 downto i do
begin
if Number[j][1]>Number[j+1][1] then
begin
Temp1:=Number[j][0];
Temp2:=Number[j][1];
Number[j][0]:=Number[j+1][0];
Number[j][1]:=Number[j+1][1];
Number[j+1][0]:=Temp1;
Number[j+1][1]:=Temp2;
end;
end;
Memo2.Lines.Clear;
for i:=0 to Count-1 do
Memo2.Lines.Add(Memo1.Lines[Number[0]]);
end;

如果针对文件,只要加上LoadFromFile、SaveToFile(TMemo的方法)就可以了。
 
多人接受答案了。
 
后退
顶部