![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Настройки программы в файле как?
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