![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Кто нибудь знает, как заставить программу запомнить некоторые настройки, допустим строку внутри себя (без внешних файлов)?
|
|
#2
|
|||
|
|||
|
Да, такое возможно. Надо ее писать в ресурсы программы.
Посмотри на torry.ru, там был компонет, который позволяет это делать (не помню как назывался, т.к. никогда таких потребностей не возникало). |
|
#3
|
||||
|
||||
|
Цитата:
Такое вряд ли возможно. Настройки сохраняйте в регистре или в ini-файлах |
|
#4
|
||||
|
||||
|
Сабж невозможен. Программа не сможет писать сама в себя, т.к. во время выполнения программы ехе файл доступен только для чтения.
|
|
#5
|
|||
|
|||
|
Ну, тут вполне возможны извращения типа перед закрытием программы переисеновать ее, потом откопировать с оригинальным именем и записать в полученный экзешник. Примерно так у нас на работе работает обновлялка, когда она обновляет себя. Т.е. конечно напрямую в себя не запишешь, а вот таким образом у тебя получается незаблокированный экзешник, в который и можно записать данные.
|
|
#6
|
||||
|
||||
|
Цитата:
Код:
procedure TForm2.FormCreate(Sender: TObject); var FName : string; begin FName := ExtractFilePath(Application.ExeName) + 'Devices.ini'; Devices := TIniFile.Create(FName); end; Что не так? ![]() |
|
#7
|
||||
|
||||
|
Цитата:
Пиши: Код:
FName := ExtractFilePath(Application.ExeName) + '\Devices.ini'; |
|
#8
|
||||
|
||||
|
Цитата:
Проверил на новой форме. Листинг (новый проект) Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IniFiles;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Devices: TIniFile;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
FName : string;
begin
FName := ExtractFilePath(Application.ExeName) + '\Devices.ini';
Devices := TIniFile.Create(FName);
end;
end.Вроде правильно, а при запуске упорно не хочет создавать ини! |
|
#9
|
||||
|
||||
|
ZIP, файл не создастся, пока вы туда что-нить не запишете.
|