Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.5 MB
Время: 0.028 c
2-1138009907
Andrey235
2006-01-23 12:51
2006.02.12
Отправка и прием переменных типа record в сети


2-1138275086
MIXER
2006-01-26 14:31
2006.02.12
KeyPress


2-1137912297
LaCross
2006-01-22 09:44
2006.02.12
Шифрование данных


4-1133445577
lucifer
2005-12-01 16:59
2006.02.12
Как закрыть окно(приложение) под курсором мыши!


1-1136974706
Barsky
2006-01-11 13:18
2006.02.12
Скрол (мышыный) в гриде