首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

新手学习delphi,TStringList简单有关问题,成功马下结贴

2012-10-05 
新手学习delphi,TStringList简单问题求助,成功马上结贴。新手学习delphi,TStringList简单问题求助,成功马上

新手学习delphi,TStringList简单问题求助,成功马上结贴。
新手学习delphi,TStringList简单问题求助,成功马上结贴。

TStringList有如下数据
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432

取出每行字符串前两位字符进行对比 如果重复则删除 保留一行

123
124
只保留123

  //遍历 错误
  for i:= 0 to sjList.Count - 1 do
  begin
  sjTemp := sjList.Strings[0];
  sjList.Delete(0);
  left12 := copy(sjTemp,1,2);
  for j:= 0 to sjList.Count - 1 do
  begin
  scTemp := sjList.Strings[j];
  if left12=Copy(scTemp,1,2) then
  begin
  sjList.Delete(j);
  scList.Add(sjTemp);
  ShowMessage(sjList.Text);
  end;
  end;
  end ;

应该怎么写呢?只有20积分了。

[解决办法]

Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);var s:TStringList;    i:integer;begin  s := TStringList.Create;  s.Sorted := true;  s.Text :=  Memo1.Lines.Text;  for i := s.Count - 1 downto 1 do  begin    if leftstr(s[i],2) = leftstr(s[i-1],2) then      s.Delete(i-1);  end;  Memo1.Lines.Text := S.Text;end; 

热点排行