Сохранить программу в delphi

Многих интересует вопрос как сделать так что бы программа, написанная на Delphi при закрытии сохраняла свои настройки в файл, а при последующем открытии загружала их от туда. На самом деле делается это очень просто, приведу пример, в котором программа при выходе сохраняет свои размеры и положение окна на экране в файл и при последующем запуске восстанавливает состояние, которое было при выходе. Запускаем Delphi, создаем новый проект, работать будем с формой и нам понадобиться два события это OnShow и OnClose создаем их. Первое событие будет выглядеть следующим образом:

procedure TForm1.FormShow(Sender: TObject);
Var f:file of Integer; // файловая переменная, тип integer
i:Integer; // целочистенная переменная
begin
AssignFile(f, ‘pos.ini’ );
// Отключаем контроль ошибок
Reset(f);
// Включаем контроль ошибок
if IOResult<>0 then Exit;
Read(f,i); //считать из файла значение
Form1.Top:=i; // верхнее положение окна

13 Как работать с файлами в Delphi?


Read(f,i);
Form1.Left:=i; // левое положение окна
Read(f,i);
Form1.Width:=i; // ширина окна
Read(f,i);
Form1.Height:=i; // высота окна
CloseFile(f);
end;

Здесь при запуске программа загружает нужные настройки из файла pos.ini находящимся в той же папке что и сама программа.

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

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
Var f:file of Integer; // файловая переменная, тип integer
begin
AssignFile(f, ‘pos.ini’ ); // Привязываем строку пути файла к файловой переменной
// Отключаем контроль ошибок
Rewrite(f);
// Включаем контроль ошибок
if IOResult<>0 then Exit; // Если ошибка то выходим
Write(f,Form1.Top); // Записываем в файл положение окна по верикали
Write(f,Form1.Left); // Записываем в файл положение окна по горизонтали
Write(f,Form1.Width); // Записываем в файл ширину формы
Write(f,Form1.Height); // Записываем в файл высоту формы
CloseFile(f); // Завершаем работу с файлом
end;

Читайте также:
Лучшие векторные программы для рисования на компьютере

Сохранить программу в delphi

вопрос глупый, но никак не решается.

создал я программу, сохранил ее с помощью save all, а теперь я хочу сохранить ее в другом месте под другим именем (сохранив код, форму), чтобы затем новую модифицировать, не изменяя первую версию.

как мне это осуществить? save project as не производит нужную «толпу» файлов+не разрывает связи со старой версией. при двух действиях (save project as, save as) вроде создаются нужные файлы кроме dcu + приложение не создается по команде save all уже через новый проект.

Регистрация: 28.01.2009
Сообщений: 20,999

1)берем копируем папку в с проектом
2)сохранить проект как.
сохранить как. (для всех модулей ваших. )

Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.

Delphi — Сохранение данных в текстовый файл и компонент SaveDialog


Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Пользователь
Регистрация: 07.03.2010
Сообщений: 45
1)берем копируем папку в с проектом

не очень понял.
в папке А есть файлы project1. . Я копирую все файлы в папку Б? дальше открываю «новый» project1 и сохраняю как что?

Регистрация: 28.01.2009
Сообщений: 20,999
это два разных метода

Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Пользователь
Регистрация: 07.03.2010
Сообщений: 45

Вы меня не поняли (или я Вас).

если я делаю save project as «project2», то при изменении кода в открытом project2 код меняется и для project1, то есть общий код у них остается!

Читайте также:
Как скачивать программы на os x

Регистрация: 28.01.2009
Сообщений: 20,999
я же вам сказал что надо так же все модули(Unit1 и тд) вашего проекта пересохранить

Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Пользователь
Регистрация: 07.03.2010
Сообщений: 45
я написал в первом посте:

создаются нужные файлы кроме dcu + приложение не создается по команде save all уже через новый проект

важен ли этот файл? как в будущем создавать приложения без проблем?
Регистрация: 28.01.2009
Сообщений: 20,999
я пересохранял обоими способами что вам написал(первый более люблю)
все нормально работало у меня

Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Пользователь
Регистрация: 07.03.2010
Сообщений: 45

хорошо, код запишется, сохранится.
спрашиваю 3й раз— как без проблем создавать project1-application, потому что он автоматически создается save all-ом, а так как после копирования+переименования save all НЕ создает application, то нужно как-то иначе создавать-как?

Источник: www.programmersforum.ru

Урок 22. Диалог для сохранения файла

Изучим данный диалог. На прошлом уроке мы рассмотрели стандартный диалог для открытия файла. Вполне естественно после него рассмотреть диалог для сохранения файла. Принципиально диалог для сохранения файла почти не отличается от диалога для открытия файла. Свойства FileName , InitialDir , Filter , FilterIndex и другие используются точно так же, как и в диалоге для открытия файла.

Вот пример для сохранения содержимого Memo1 в файле, имя которого задает пользователь:

Читайте также:
Как поставить корону основным рендер программой в 3д максе

Из свойств, применяемых более для сохранения файла, отметим DefaultExt . Оно определяет расширение, автоматически прибавляемое к сохраняемому файлу. Это свойство можно задать в окне инспектора объектов на этапе разработки программы.

А вот пример его задания прямо в коде:

После этого к имени введенного пользователем файла автоматически прибавится расширение .123.

Всё на этом урок закончен.

Источник: bdrc.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru