提取memo每行数字,计算每行数字累加之和问题
我memo中有若干以下数字的字符列表
1,2,3,4,5,6,7
1,2,3,4,5,6,8
1,2,3,4,5,6,9
1,2,3,4,5,6,10
1,2,3,4,5,6,11
1,2,3,4,5,6,12
1,2,3,4,5,7,12
.....
现在我想提取其中每行并计算每行的数字之和,数字之和小于某值(如小于20)的就留下,不符合的就删除该memo行,如何实现?
[解决办法]
- Delphi(Pascal) code
uses comobj;Function calcStr(const expression : String):Integer;Varsc : OleVariant;begin sc := CreateOleObject('MSScriptControl.ScriptControl.1'); sc.Language :='JavaScript'; result := StrToIntDef(sc.eval(expression),0) ;end;procedure TForm1.Button1Click(Sender: TObject);const T=30;var i:integer; s:string;begin for i:=memo1.Lines.Count-1 downto 0 do if T>calcStr(stringreplace(memo1.Lines.Strings[i],',','+',[rfReplaceAll])) then memo1.Lines.Delete(i);end;