Главная страница
    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.48 MB
Время: 0.042 c
15-1137686109
alexsis
2006-01-19 18:55
2006.02.12
И опять про НЛО


6-1131124608
S_T_E_P_A_N___
2005-11-04 20:16
2006.02.12
Подсчет трафика по сети


3-1134742042
ruslan_as
2005-12-16 17:07
2006.02.12
Как програмно зарегистрировать библиотеку (regsvr32 midas.dll)


6-1130963292
xman
2005-11-02 23:28
2006.02.12
PING


6-1131090095
Nic
2005-11-04 10:41
2006.02.12
Что нужно использовать





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский