Текущий архив: 2006.02.12;
Скачать: CL | DM;
ВнизНастройки программы в файле как? Найти похожие ветки
← →
JEK2 (2006-01-21 19:30) [0]Подскажите новичку в какую сторону смотреть. Требуется чтоб настройки проги(переменные с параметрами) были в файле конфигурации с возможностью во время работы изменять параметры переменных, типа как в PHP config.php содержит что-то типа
$cena1="12";
$cena2="48";
и как подключать к проге такой файл.
Пример в пару строк если не затруднит.
← →
Desdechado © (2006-01-21 19:36) [1]TIniFile
← →
JEK2 (2006-01-21 19:59) [2]а использовать dll для такого реально?
дело в том, что существует необходимость хоть маломальски обезопасить файл от правки неопытным юзером вручную параметров
← →
Desdechado © (2006-01-21 20:25) [3]dll для чего - хранения или доставания настроек?
TRegistry - прячь настройки в реестр
← →
Ega23 (from home) (2006-01-21 20:44) [4]Самый простой вариант - iniFile (смотри TIniFile)
Посложнее - реестр (TRegestry)
Ещё сложнее - хранить данные в БД.
Всё зависит от сложности данный и их количества.
Вариантов - масса.
← →
tesseract © (2006-01-21 20:47) [5]
> а использовать dll для такого реально?
А зачем. Если хочешь отбить охоту править файл от неопытного пользователя - дай ему атрибут "скрытый".
Имей в виду для программы запущенной в режиме пользователя в win2k/xp папка папка Program files по умолчанию закрыта для записи. Там для этих целей служит
C:\Documents and Settings\All Users\Application Data\Application name\
Или типа того.
← →
DimonS © (2006-01-22 10:22) [6]Можно еще слегка зашифровать свои настройке и сохранить в текстовом файле с другим расширением (не .txt). Хотя это посложнее, чем с ini-файлами работать.
← →
JEK2 (2006-01-22 13:28) [7]>Ega23 (from home) (21.01.06 20:44) [4]
>Самый простой вариант - iniFile (смотри TIniFile)
>Посложнее - реестр (TRegestry)
>Ещё сложнее - хранить данные в БД.
1. ini-файл легко испортить кривыми ручками :)
2. замусоривать реестр каждой прогой считаю в корне не верным
3. использовать БД ради сотни переменных, все равно что микроскопом гвозди забивать.
← →
Кефир87 © (2006-01-22 13:34) [8]Шифрованный xor"ом банарный файл?
← →
JEK2 (2006-01-22 13:37) [9]>Кефир87 © (22.01.06 13:34) [8]
>Шифрованный xor"ом банарный файл?
простой пример если можно
← →
SilverAlex © (2006-01-22 13:42) [10]>> JEK2 (22.01.06 13:37) [7]
про реестр это ты сгоряча, я бы выбрал реестр все таки. Но если приложение работает с базой данных, то конечно хранить значение переменных нужно в БД, тем более если это клиент-сервер.
← →
JEK2 (2006-01-22 13:50) [11]>SilverAlex если бы приложение работало с БД я так бы и написал, требуется файл для настроек!!!
Заинтересовал вариант предложеный Кефир87, если на затруднит то простенький пример как использовать и подключать к проге такой файл.
← →
SilverAlex © (2006-01-22 14:07) [12]>> JEK2 (22.01.06 13:50) [11]
откуда видно что программа не работает с БД ? судя по твоим вопросам и ответам, ты просто не знаешь как это сделать, раз предлагаешь хранить настройки в DLL,ты уж не обижайся. Заметь я не предложил тупо хранить настройки в БД, а только в том случае если БД уже юзается. Это можешь себе взять на заметку, на будущее. Далее не вижу логики и последовательности в твоих суждениях. Любой файл можно также как и " ini-файл легко испортить кривыми ручками :), зашифрованый он там или нет. Вопрос в чем? Надо шифорвать? Так можно все что зашифровано хранить где угодно: в файле, реестре, БД. Или где хранить? Я бы хранил в реестре.
← →
DimonS © (2006-01-22 15:01) [13]То SilverAlex ©
Да, я бы тоже хранил в реестре. Это надежнее. Не спорю однозначно.
← →
Кефир87 © (2006-01-22 15:41) [14]Кривыми ручками можно попротить что угодно 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;
← →
Rust007 © (2006-01-22 22:18) [15]Для хран. файлов можно использовать всё!!! DLL,MDB,TXT,INI,реестр. Но лучше по- моему Ini/ Хоть его можно в открытую позырить(зато всё понятно и вообще реестр не захламляет)
Страницы: 1 вся ветка
Текущий архив: 2006.02.12;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.039 c