Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.152 c
2-1137936751
Aleks
2006-01-22 16:32
2006.02.12
Мастера подскажите как определить появилось информационное окно


15-1137491545
pavel_guzhanov
2006-01-17 12:52
2006.02.12
Delphi 2006


15-1137603372
Pazitron_Brain
2006-01-18 19:56
2006.02.12
Помогите с CMS.


2-1138082942
Andruh
2006-01-24 09:09
2006.02.12
проблема с выводом в мемо


15-1137617989
Yanis
2006-01-18 23:59
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский