var elements: array of string[4]; //Globale Variablen a,b,count: integer; input:string; procedure prepare; begin count:=0; input:=form1.edit1.text; setlength(elements, 1); elements[0]:=''; end; procedure fillarray; var i:integer; begin for i := 1 to length(input) do if input[i] = ',' then begin count:=count+1; setlength(elements, count+1); elements[count] := ''; end{then} else elements[count]:=elements[count] + input[i]; end; function stringinteger(instring: string): boolean; begin result:=strtointdef(instring,0)=strtointdef(instring,1); end; procedure TForm1.Button3Click(Sender: TObject); var i,j:integer; step:boolean; begin prepare; fillarray; step:=true; button1.Enabled:=true; button2.Enabled:=false; while step do for i := 0 to count do if stringinteger(elements[i]) = false then begin a:=strtoint(elements[i-2]); b:=strtoint(elements[i-1]); case elements[i][1] of '+': a:=a+b; '-': a:=a-b; '*': a:=a*b; '/': a:=a div b; end;{case} elements[i-2]:=inttostr(a); for j := (i-1) to count do elements[j]:=elements[j+2]; count:=count-2; step:=true; break; end{then} else step := false; label2.caption:=elements[0]; end;