{1,2,2,2,3,3,4,4,5}处理后变成{1,6,6,8,5}期待高手点拨 非常感谢
解决方案 »
- Delphi自定义控件,如何添加一个TString类型的属性??
- 请问我如何访问远程数据库?
- 问个问题:关于数据库的及时刷新(两个应用程序,不是一个哦)。
- 怎样获得端口状态
- 为什么那个常见的读硬盘序列号的程序在有的硬盘上能读出来在有的电脑上面却读不出来?
- 大家请近来看看,能帮忙的尽量帮我一下,分不够可以再加,绝不食言!
- ---->>>>关于用delphi发邮件的问题,回复即有分!!
- ★★★★★大怪事:程序在Delphi中按F9能正常运行,离开Delphi运行时就报错!!!???救命!!!
- 我在用ActiveX的TShockwaveFlash的时候,当改变窗体大小的时候,TShockwaveFlash却不能………
- 发布的程序,数据库引擎的问题
- 用PacketOpenAdapter无法打开网卡
- Memo显示Base64字符串的问题???
可能不是最佳算法,仅供参考:{可以是任意数字连接成的字符串,用逗号分隔}
const SourceStr='1,2,2,2,3,3,4,4,5';procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
TmpStr:string;
sList:TStringList;
Arr:array of string;
begin
sList:=TStringList.Create;
try
sList.DelimitedText:=SourceStr;
SetLength(Arr,sList.Count);
for i:=0 to sList.Count-1 do
begin
TmpStr:=sList.Strings[i];
j:=sList.IndexOf(TmpStr);
if (j=-1) or (j = i) then
Arr[i]:=TmpStr
else
Arr[j]:=IntToStr(StrToInt(Arr[j])+StrToInt(TmpStr));
end; TmpStr:='';
for i:=low(Arr) to high(Arr) do
if Arr[i]<>'' then
TmpStr:=TmpStr+','+Arr[i];
delete(TmpStr,1,1); showmessage(TmpStr); finally
sList.Free;
end;
end;