Показать сообщение отдельно
  #101  
Старый 19.04.2008, 02:47
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,105
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, все достаточно просто.
Для указания имени файjла сипользовать TSaveDialog и TOpenDialog.
Бросаешь компоненты на форму и на соотв. кнопки пишешь:

procedure Form1.btSaveClick(Sender : TObject);
begin
If SaveDialog1.Execute Then
SaveMyData(SaveDialog1.FileName);
end;

procedure Form1.btOpenClick(Sender : TObject);
begin
If OpenDialog1.Execute Then
OpenMyData(OpenDialog1.FileName);
end;

Соотв. процедуры SaveMyData и OpenMyData сохраняют данные в файл и читают их из него, принимая на вход имя файла, полученное из диалогов.

Как писать/читать свои данные разберешься?

ЗЫ. По поводу сокращения кода программы. У тебя там есть нескольуо блоков кода, выполняющих одно и тоже, но с разными компонентами. Например, очистка StringGrid. Можно оформть это как отдельную процедуру, принимающую на вход компонент, и просто вызвать ее несколько раз.

Код:
procedure ClearStringGrid(Grid : TStringGrid);
var
  I, J : Integer;
begin
  For I := 0 To Grid.ColCount-1 Do
    For J := 0 To Grid.RowCount-1 Do
      Grid.Cells[I,J] := '';
end;

соответственно, в коде надо будет просто вызвать:

Код:
procedure TForm5.Button10Click(Sender: TObject);
begin
  ClearGrid(StringGrid1);
  ClearGrid(StringGrid2);
  ClearGrid(StringGrid3);
  ClearGrid(StringGrid4);
  ClearGrid(StringGrid5);
  ClearGrid(StringGrid6);
end;