Что касается заполнения грида:
Лучше это делать так
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
begin
for i := 1 to 4 do
begin
StringGrid.Cells[i, 1]:= (FindComponent('Edit' + IntToStr(i)) as TEdit).Text;
StringGrid.Cells[i, 2]:= Edit5.Text;
end;
end;