Delphi如何实现删除批处理文件中重复项
求哪位帮忙给段delphi程序 实现自动删除批处理文件中的重复项中的一项
例如 1300000000
1300000000
1301111111
1301111111
1301111111
1302222222
1302222222
删除其中的1301111111的一个 保证剩下2个 下面的顺次上升一行 然后执行该批处理文件
本人为delphi新手 望哪位大大赐教
[解决办法]
procedure TForm1.Button1Click(Sender: TObject);var ss: TStringList; i: integer; md: boolean;begin ss := TStringList.Create; ss.LoadFromFile('d:\in.bat'); md := False; i:=1; while i<ss.Count do begin if ss[i]=ss[i-1] then begin if md then begin ss.Delete(i); continue; end; md := True; end else md := False; Inc(i); end; ss.SaveToFile('d:\out.bat'); ss.Destroy; WinExec('d:\out.bat',SW_SHOWNORMAL);end;
[解决办法]
略改一下
procedure TForm1.Button1Click(Sender: TObject);var ss: TStringList; i: integer; md: integer;begin ss := TStringList.Create; ss.LoadFromFile('d:\in.bat'); md := 0; i:=1; while i<ss.Count do begin if ss[i]=ss[i-1] then begin if md>2 then begin ss.Delete(i); continue; end; Inc(md); end else md := 0; Inc(i); end; ss.SaveToFile('d:\out.bat'); ss.Destroy; WinExec('d:\out.bat',SW_SHOWNORMAL);end;