Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.05;
Скачать: CL | DM;

Вниз

Мне нужно сохранить все изменения в программы в фаил.   Найти похожие ветки 

 
Denisco   (2002-07-22 17:16) [0]

Я созда текстовый редакто в котором можно изменять место положение и размеры любого компонента. И мне хочется чтобы при работе с программой пользователь изменив местоположение или размер какой нибудь компоненты мог новый вид программы сохранить в фаил, а потом при необходимости загрузить его. Еще у меня можно переместить компонент с одной формы в другую, как быть сней? Прошу напишите код, а то я новичек в програмирование на Delphi.


 
RV ©   (2002-07-22 17:33) [1]

Так если ты при создании формы создаешь компоненты на ней в рантайме - то решение, по-моему, очевидно(берешь лефты-райты-боттомы-топы из файла(ини,тхт,дат), крый создаешь при выходе)
если накидал компоненты мышой - после загрузки такого файла делаешь тоже самое.
какой код нужен?
работы с файлами? изменение размеров компонент? создание компонент в рантайме?


 
Евген ©   (2002-07-23 19:18) [2]

При выходе из проги пишеш все позиции в реестр, а при открытии читаешь их:
______________________________________________________________

uses
Registry;
...
procedure Read_Registry;
procedure Write_Registry;
FIniFile: TRegIniFile;
...
const
SECTION = "Test2";
...
procedure TForm1.FormCreate(Sender: TObject);
begin
FIniFile := TRegIniFile.Create("Sample Registry");
//Читаем реестр
Read_Registry;
end;
...
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//Завершение всех процессов

//Запись в реестр
Write_Registry;
end;
...
procedure TForm1.Write_Registry;
begin
FIniFile.WriteInteger(SECTION, "MainFormHight", Form1.Height);
FIniFile.WriteInteger(SECTION, "MainFormWidth", Form1.Width);
FIniFile.WriteInteger(SECTION, "Splitter", Splitter1.Left);
end;

procedure TForm1.Read_Registry;
begin
Form1.Height:=FIniFile.ReadInteger(SECTION, "MainFormHight", 400);
Form1.Width:=FIniFile.ReadInteger(SECTION, "MainFormWidth", 550);
Panel1.Width:=FIniFile.ReadInteger(SECTION, "Splitter", 200);
end;


Ну вроде все. Если че непонятно - мыль: вышлю исходник.



Страницы: 1 вся ветка

Текущий архив: 2002.08.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-13665
EugenCFG
2002-07-18 23:10
2002.08.05
RichEdit... CheckListBox


8-13733
Avgurin
2002-03-26 02:30
2002.08.05
Как сделать ScreenMate?


14-13798
dnkSoftWare
2002-07-11 11:07
2002.08.05
Help&Manual лепит HTML Help и выводит его в нерусской кодировке??


4-13859
rentv
2002-05-30 18:24
2002.08.05
свой плагин для Одиги(Odigo)


14-13783
Malder
2002-07-05 12:37
2002.08.05
Свич