Mam kod, chciałbym zrobić tak aby każda nowa wartość była przypisywana do tablicy (za pomocą TStringList) lub jeśli to możliwe inaczej(np. za pomocą pętli). np 54+628+939+3 chodzi mniej więcej o to:
[0]54
[1]628
[2]939
[3]3
a tutaj mój kod:
procedure TfmCalculator.btnAssignClick(Sender: TObject);
var
aArray: array of Double;
slNumbers: TStringList;
sOp, S, R, sl: String;
iPosition, ii, len: Integer;
begin
len := Length(eValues.Text);
sOp := eValues.Text;
slNumbers := TStringList.Create;
iPosition := Pos('+', sOp);
begin
while iPosition > 0 do
begin
S := Copy(sOp, 1, iPosition - 1);
slNumbers.Add(S);
Delete(sOp, 1,iPosition);
iPosition := Pos('+', sOp);
end;
begin
R := Copy(sOp, 1, Length(sOp));
slNumbers.Add(R);
Delete(sOp, 1, Length(sOp));
end;
end;
ShowMessage(slNumbers.CommaText);
end;
próbowałem za pomocą tej pętli, ale wychodziły pojedyncze znaki char np. 54+32
[0]5
[1]4
[2]0
[3]3
[4]2
a nie o to chodziło, pętla:
SetLength (aArray, Length(slNumbers.CommaText));
for ii := 1 to Length(aArray) do
begin
aArray[ii] := StrToFloat(slNumbers.CommaText[ii]);
end;
for ii := 1 to Length(aArray) do
ShowMessage(aArray[ii].ToString);
Może dałoby się ją jakoś zmodyfikować by spełniała swoje zadanie poprawnie.
Z góry dziękuję