字符串变量= 32*3*10*2,11*3*15*1 可能为11*3*15*11.逐个拆分成个数字,如果个数不为4、8、12即退出
(如拆分成32 3 10 2 11 3 15 1)2.将每4个看作一段,前面3个数字相乘放到一个值中。
(如上面32乘以3乘以10)
(如拆分成32 3 10 2 11 3 15 1)2.将每4个看作一段,前面3个数字相乘放到一个值中。
(如上面32乘以3乘以10)
解决方案 »
- delphi7移植到BDS2006
- 对象为何自动销毁?procedure TLaner.OnILog(Sender: ILog);
- 怎么在文件传输过程中取消传输?
- 信誉分被扣,何故?总得给个说法吧。
- Delphi/Cb界面中文乱码
- 100分求陈锐《Delphi分布式多层应用程序开发》一书的源码。先到先得分。。。
- 已知多项式方程,Teechart(5.0)怎么画曲线,不想一点一点代入。
- 怎么才能使我的分增得快,我天天在网上,无时间限制。分少了点,不过问题也。。
- 怎样用最少的代码控制声卡Master的音量?本人急用,请大家帮个忙!
- friend,come!
- DELPHI多层次的显示和选择,帮忙想个法子
- TForm问题
ASource:= PChar(字符串变量);
ExtractStrings([','],[],ASource,at);
先拆分成两段
at.Strings[0]就是32*3*10*2
at.Strings[1]就是11*3*15*1
再用同样的方法分成4个
at2:=TStringList.Create;
ASource:= PChar(字符串变量);
ExtractStrings(['*'],[],ASource,at2);
at2.Strings[0]// 32
at2.Strings[1]// 3
at2.Strings[2]// 10
at2.Strings[3]// 2
然后再自已做一下判断接分
除了ExtractStrings方法,还可以var
list:TStringList;
begin
list := TStringList.Create;
list.Delimiter := '*';
list.DelimitedText := '32*3*10*2,11*3*15*1';
ShowMessage(list.Text);
//这样,list中就是拆分后的字符列表
end;
var
list:TStringList;
begin
list := TStringList.Create;
list.Delimiter := '*';
list.DelimitedText := StringReplace('32*3*10*2,11*3*15*1', ',', '*', [rfReplaceAll]);
ShowMessage(list.Text);
//这样,list中就是拆分后的字符列表