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

Вниз

Значения в .INI файлах   Найти похожие ветки 

 
Чужой   (2002-04-22 11:27) [0]

Как мы знаем, .INI файлы, присваивают значения какому-либо параметру - 0 или 1. Можно ли сделать так, чтобы присваивались, другие значения, например, 3, 4 и т.д. Если да, то как?


 
gek   (2002-04-22 11:31) [1]

Я что-то не совсем понял, ну а как же writestring, writeinteger ?
Честно говоря что-то не припомню, чтобы у меня string, 1 или 0 записывался


 
Чужой   (2002-04-22 11:35) [2]

Покажите мне свой исходничОк - чтение и запись.


 
Андрей Сенченко   (2002-04-22 11:37) [3]

По-моему Вы чего-то недопонимаете или не правильно объясняете.
INI-файлы - это файлы, содержащие информацию в виде,структурированном следующим образом:

[ БЛОК 1 ]
ПАРАМЕТР1 = ЗНАЧЕНИЕ1

Собственно в поле "значение может содержаться все, что угодно

Пример ( вполне реальный ):
[SYSTEM]
CLACASE="ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ","abcdefghijklmnopqrstuvwxyzабвгдежзиклмнопрстуфхцчшщъыьэюя"
CLAVM=XMS,.,64,3,4
CLATMP=c:\TEMP
CLAVGA=VGA256
CLASTOP=0
CLABREAK=OFF


 
Андрей Сенченко   (2002-04-22 11:49) [4]

Вот паример из реальной программы:
ЧТЕНИЕ
// Читаем основной файл инициализации.
IniFile := TIniFile.Create(MainDir+ProgrammName+".ini");
ServCheckTime := IniFile.ReadInteger("MAIN","TimerServInterval",60);
WorkCheckTime := IniFile.ReadInteger("MAIN","TimerWorkInterval",20);
ServMagPath := IniFile.ReadString("MAIN","ServMagPath","C:\") + TmpFileName;
ServShopsPath := IniFile.ReadString("MAIN","ServShopsPath","C:\") + TmpFileName;
pathRARfile := IniFile.ReadString("EXTERNAL","pathRARfile","C:\");

СОХРАНЕНИЕ

// Перепрошиваем файл инициализации
IniFile.WriteInteger("MAIN","TimerServInterval",ServCheckTime);
IniFile.WriteInteger("MAIN","TimerWorkInterval",WorkCheckTime);
IniFile.WriteString("MAIN","ServMagPath",ServMagPath);
IniFile.WriteString("MAIN","ServShopsPath",ServShopsPath);
IniFile.WriteString("EXTERNAL","pathRARfile",pathRARfile);


 
Чужой   (2002-04-22 11:50) [5]

Все я прекрасно понимаю.
Я использую .INI файл для хранения текущих настроек моей проги.
Настройки записуються так, как я рассказал Выше - 1/0 и по-другому не хотят. Т.е, например, отмечен CheckBox - 1, не отмечен -0.
Пожалуйста, покажите код, которым Вы пользуютесь.


 
gek   (2002-04-22 11:54) [6]

Ёшки-матрёшки
Ну а какие еще значения могут быть у CheckBox
0-false 1-true
Также и Writebool или 1 или 0


 
Чужой   (2002-04-22 11:57) [7]

>gek ©
Так изменить их нельзя, Ёшки-матрёшки ?


 
Андрей Сенченко   (2002-04-22 12:00) [8]

Гмы. Попробуйте записать в IniFile.ReadBool значение "4" - что получите ? Правильно RunTime error.
Дык зачем же хранить в INI-шке значение, которое заведомо не подходит элементу ?


 
Андрей Сенченко   (2002-04-22 12:04) [9]

>> Чужой (22.04.02 11:57)
>> Так изменить их нельзя, Ёшки-матрёшки ?

Ёшки-матершки ! :::))) А зачем менять на то, что вышибет Вашу программу по RunTime ?


 
ShaggyDoc   (2002-04-22 12:58) [10]

1 или ноль для логических пишет конкретный штатный TIniFile.

Но бывают и другие варианты.

У меня, например, для совместимости с разными программами, есть варианты значений "1", "0" ,"Да", "Нет", "Yes", "Ага" и так далее. Внутри, разумеется, все читается как строка, а потом перевод в логическое значение.



 
Чужой   (2002-04-22 13:09) [11]

> ShaggyDoc ©
Как реализовать такой вариант? Как?


 
gek   (2002-04-22 13:18) [12]

Использовать WriteString и все


 
Чужой   (2002-04-22 13:21) [13]

> gek ©
> Использовать WriteString и все

Как подставить свое значение? А то я не бум-бум.


 
gek   (2002-04-22 13:25) [14]

var
s:string;
begin
if checkBox1.Checked then
s:="Check_Ok"
else
s:="Check_No";
fIni.WriteString("CHECKS","CHECK1",s);

считываем

s:=fIni.WriteString("CHECKS","CHECK1","Check_No"");
checkBox1.Checked:=s = "Check_Ok";

Ну теперь понятно ?


 
Чужой   (2002-04-25 15:41) [15]

> gek

Вот это считывание компилятору не ндравится:

s:=fIni.WriteString("CHECKS","CHECK1","Check_No"");
checkBox1.Checked:=s = "Check_Ok";



 
Song   (2002-04-25 15:46) [16]

В Д3 такая хрень не прокатит. Пишите полностью:
With CheckBox1 Do IF S="Check_Ok" then Checked:=True else Checked:=False;


 
Игорь Шевченко   (2002-04-25 15:51) [17]

День добрый,

И давно считывание происходит по вызову функции WriteString ???
Может быть, имелось в виду ReadString ?

С уважением,


 
Чужой   (2002-04-25 16:27) [18]

> Игорь Шевченко ©

Точно. А и внимания не обратил, слепо доверяя советам.


 
Anatoly Podgoretsky   (2002-04-25 16:48) [19]

Зачем только писать как строку? Есть же специально методы для работы с логическими значениями.


 
Derr   (2002-05-07 11:25) [20]

> gek
>считываем
>s:=fIni.WriteString("CHECKS","CHECK1","Check_No"");

это круто !


 
VID   (2002-05-07 12:00) [21]

TO Чужой: А чего ты извращаешься ? Чем обычный Bool-тип в ini-файлах не устраивает ? Хочешь что бы польователи имели возможность непосредственного редактирования ini-файла, и писали в логических параметрах "Хочу/Нехочу" ? :)))


 
limon   (2002-05-07 15:52) [22]

> VID © (07.05.02 12:00)
Да нет, ему ж 4 надо было записать.
А это из области Хочу/Могу/Не могу/Может быть/Не хочу и т.д. :)


 
VID   (2002-05-07 20:16) [23]

to limon: cool:)



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.006 c
6-30950
LiNkS
2002-03-29 23:20
2002.06.10
Изменить IP-адрес при отправки почты.


3-30681
Genry
2002-05-17 12:30
2002.06.10
Двойной lookup


1-30841
MasterA
2002-05-29 10:23
2002.06.10
MOVE


14-31004
Подонок
2002-05-07 15:46
2002.06.10
Кто знает злачные места в Питере?Где женского пола много.


14-30968
VID
2002-05-02 01:41
2002.06.10
UBPFD: новое предложение





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский