Показать сообщение отдельно
  #4  
Старый 26.10.2014, 04:20
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Да нету у вас тупизма, всё нормально Без разницы какие компоненты сохранять, хоть статически созданные ещё во время разработки, хоть динамически появляющиеся в рантайме - смысл такой: сохраняется сразу вся форма, со всеми принадлежащими ей (на момент сэйва) элементами. Запись происходит в формате текстового файла, проще говоря тот же *.ini, только не нужно много букофф выстукивать, всё за нас сделает среда. К сожалению тот пример не сохранился, так что вот вам выжимки из подобного рабочего проекта:

Добавьте в ваш код это
Код:
var
fn: string = 'Form.txt';
procedure TForm1.FormCreate(Sender: TObject);
var
  FStr: TFileStream;
  MemStr: TMemoryStream;
begin
 if FileExists(fn) then
   begin
    Form1.DestroyComponents;
    FStr:= TFileStream.Create(fn, fmOpenRead);
    MemStr:= TMemoryStream.Create;
    ObjectTextToBinary(FStr, MemStr);
    MemStr.Position:= 0;
    MemStr.ReadComponent(Form1);
    MemStr.Free;
    FStr.Free;
   end;
end;
и это
Код:
procedure TForm1.FormDestroy(Sender: TObject);
var
  FStr: TFileStream;
  MemStr: TMemoryStream;
  i: integer;
  begin
  FStr:= TFileStream.Create(fn, fmCreate);
  MemStr:= TMemoryStream.Create;
  MemStr.WriteComponent(form1);
  MemStr.Position:= 0;
  ObjectBinaryToText(MemStr, FStr);
  MemStr.Free;
  FStr.Free;
 end;
Всё, теперь форма будет сохраняться со всем её содержимым и грузиться при старте программы.
С нативными процедурами немного сложнее - они должны быть заданы заранее, но это уже другая песня, нужно этот момент разбирать отдельно и с конкретикой, попробуйте сначала просто сохранку освоить
Ответить с цитированием