Witam.
Mam po napisania w sumie prostą procedurę która ma za zadanie:
- zmienić string na integer z pola Edit
- zmienić string na integer z pola StringGrid
- zsumować bądź odjąć Edit od StringGrid w zależności od wybranego RadioButton a wynik zmienić na string i zapisać w StringGridzie.
Z moich wypocin wyszło coś takiego:
procedure TForm3.wykonaj;
var i,j,k:integer;
begin
if Form3.RadioButton1.Checked=false then begin
i:=StrtoInt(Form2.StringGrid1.Cells[1,1]);
j:=StrToInt(Form3.Edit1.Text);
k:=i+j;
Form2.StringGrid1.Cells[1,1]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[2,1]);
j:=StrToInt(Form3.Edit2.Text);
k:=j+i;
Form2.StringGrid1.Cells[2,1]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[3,1]);
j:=StrToInt(Form3.Edit3.Text);
k:=j+i;
Form2.StringGrid1.Cells[3,1]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[4,1]);
j:=StrToInt(Form3.Edit4.Text);
k:=i+j;
Form2.StringGrid1.Cells[4,1]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[2,1]);
j:=StrToInt(Form3.Edit5.Text);
k:=i+j;
Form2.StringGrid1.Cells[2,1]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[2,2]);
j:=StrToInt(Form3.Edit6.Text);
k:=i+j;
Form2.StringGrid1.Cells[2,2]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[2,3]);
j:=StrToInt(Form3.Edit7.Text);
k:=i+j;
Form2.StringGrid1.Cells[2,3]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[2,4]);
j:=StrToInt(Form3.Edit8.Text);
k:=i+j;
Form2.StringGrid1.Cells[2,4]:=IntToStr(k);
end
else begin
i:=StrToInt(Form2.StringGrid1.Cells[1,1]);
j:=StrToInt(Form3.Edit1.Text);
k:=i-j;
Form2.StringGrid1.Cells[1,1]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[2,1]);
j:=StrToInt(Form3.Edit2.Text);
k:=i-j;
Form2.StringGrid1.Cells[2,1]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[3,1]);
j:=StrToInt(Form3.Edit3.Text);
k:=i-j;
Form2.StringGrid1.Cells[3,1]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[4,1]);
j:=StrToInt(Form3.Edit4.Text);
k:=i-j;
Form2.StringGrid1.Cells[4,1]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[2,1]);
j:=StrToInt(Form3.Edit5.Text);
k:=i-j;
Form2.StringGrid1.Cells[2,1]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[2,2]);
j:=StrToInt(Form3.Edit6.Text);
k:=i-j;
Form2.StringGrid1.Cells[2,2]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[2,3]);
j:=StrToInt(Form3.Edit7.Text);
k:=i-j;
Form2.StringGrid1.Cells[2,3]:=IntToStr(k);
i:=StrToInt(Form2.StringGrid1.Cells[2,4]);
j:=StrToInt(Form3.Edit8.Text);
k:=i-j;
Form2.StringGrid1.Cells[2,4]:=IntToStr(k);
end;
end;
Jednakże po wpisaniu liczb i próbie wykonania procedury wyskakuje EConvertError "" is not a valid integer value.
Dodam, że wartości w polach Edit są początkowo domyślnie ustawione na 0.
Moje pytanie brzmi: gdzie popełniłem błąd?