Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Настройки программы в файле как?


JEK2 ©   (2006-01-21 19:30:00) 

Подскажите новичку в какую сторону смотреть. Требуется чтоб настройки проги(переменные с параметрами) были в файле конфигурации с возможностью во время работы изменять параметры переменных, типа как в PHP config.php содержит что-то типа
$cena1='12';
$cena2='48';
и как подключать к проге такой файл.
Пример в пару строк если не затруднит.


Rust007   (2006-01-22 22:18:00) [1]

Для хран. файлов можно использовать всё!!! DLL,MDB,TXT,INI,реестр. Но лучше по- моему Ini/ Хоть его можно в открытую позырить(зато всё понятно и вообще реестр не захламляет)


Кефир87   (2006-01-22 15:41:00) [2]

Кривыми ручками можно попротить что угодно 8)
А хранить в файле можно и без шифрования, типичный юзер в файл не полезет, даже если у него расширение не стандартное.


var
 v1 : integer;
 v2 : byte;
 v3 : Single;

...
procedure SaveSettings;
var
 f : file of byte;
begin
 AssignFile(f, 'config.dat');
 Rewrite(f);
 BlockWrite(f, v1, 4);
 BlockWrite(f, v2, 1);
 BlockWrite(f, v3, Sizeof(Single));
 CloseFile(f);
end;

procedure LoadSettings;
var
 f : file of byte;
begin
 AssignFile(f, 'config.dat');
 Reset(f);
 BlockRead(f, v1, 4);
 BlockRead(f, v2, 1);
 BlockRead(f, v3, Sizeof(Single));
 CloseFile(f);
end;


DimonS   (2006-01-22 15:01:00) [3]

То SilverAlex ©

Да, я бы тоже хранил в реестре. Это надежнее. Не спорю однозначно.


SilverAlex   (2006-01-22 14:07:00) [4]

>> JEK2   (22.01.06 13:50) [11]

откуда видно что программа не работает с БД ? судя по твоим вопросам и ответам, ты просто не знаешь как это сделать, раз предлагаешь хранить настройки в DLL,ты уж не обижайся. Заметь я не предложил тупо хранить настройки в БД, а только в том случае если БД уже юзается. Это можешь себе взять на заметку, на будущее. Далее не вижу логики и последовательности в твоих суждениях. Любой файл можно также как и " ini-файл  легко испортить кривыми ручками :), зашифрованый он там или нет. Вопрос в чем? Надо шифорвать? Так можно все что зашифровано хранить где угодно: в файле, реестре, БД.  Или где хранить? Я бы хранил в реестре.


JEK2   (2006-01-22 13:50:00) [5]

>SilverAlex  если бы приложение работало с БД я так бы и написал, требуется файлдля настроек!!!
Заинтересовал вариант предложеный Кефир87, если на затруднит то простенький пример как использовать и подключать к проге такой файл.


SilverAlex   (2006-01-22 13:42:00) [6]

>> JEK2   (22.01.06 13:37) [7]

про реестр это ты сгоряча, я бы выбрал реестр все таки. Но если приложение работает с базой данных, то конечно хранить значение переменных нужно в БД, тем более если это клиент-сервер.


JEK2   (2006-01-22 13:37:00) [7]

>Кефир87 ©   (22.01.06 13:34) [8]
>Шифрованный xor'ом банарный файл?
простой пример если можно


Кефир87   (2006-01-22 13:34:00) [8]

Шифрованный xor'ом банарный файл?


JEK2   (2006-01-22 13:28:00) [9]

>Ega23 (from home)   (21.01.06 20:44) [4]
>Самый простой вариант - iniFile  (смотри TIniFile)
>Посложнее - реестр  (TRegestry)
>Ещё сложнее - хранить данные в БД.

1. ini-файл  легко испортить кривыми ручками :)
2. замусоривать реестр каждой прогой считаю в корне не верным
3. использовать БД ради сотни переменных, все равно что микроскопом гвозди забивать.


DimonS   (2006-01-22 10:22:00) [10]

Можно еще слегка зашифровать свои настройке и сохранить в текстовом файле с другим расширением (не .txt). Хотя это посложнее, чем с ini-файлами работать.


tesseract   (2006-01-21 20:47:00) [11]


> а использовать dll для такого реально?


А зачем. Если хочешь отбить охоту править файл от неопытного пользователя - дай ему атрибут "скрытый".
Имей в виду для программы запущенной в режиме пользователя в win2k/xp папка  папка Program files по умолчанию закрыта для записи. Там для этих целей служит
C:\Documents and Settings\All Users\Application Data\Application name\
Или типа того.


Ega23 (from home)   (2006-01-21 20:44:00) [12]

Самый простой вариант - iniFile  (смотри TIniFile)
Посложнее - реестр  (TRegestry)
Ещё сложнее - хранить данные в БД.

Всё зависит от сложности данный и их количества.
Вариантов - масса.


Desdechado   (2006-01-21 20:25:00) [13]

dll для чего - хранения или доставания настроек?

TRegistry - прячь настройки в реестр


JEK2   (2006-01-21 19:59:00) [14]

а использовать dll для такого реально?
дело в том, что существует необходимость хоть маломальски обезопасить файл от правки неопытным юзером вручную параметров


Desdechado   (2006-01-21 19:36:00) [15]

TIniFile


Наверх

Титульная страница Поиск, карта сайта Написать письмо