On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 3707
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.11.14 23:32. Заголовок: Работа с ini файлами в MiniGui ?


Решил сделать отдельную ветку, искал и не нашел аналогичные темы.

Для работы с ини-файлами использую функции:
*--------------------------------------------------------*
STATIC Function GetIni( cSection, cEntry, cDefault, cFile )
RETURN GetPrivateProfileString(cSection, cEntry, cDefault, cFile )
*--------------------------------------------------------*
STATIC Function WriteIni( cSection, cEntry, cValue, cFile )
RETURN( WritePrivateProfileString( cSection, cEntry, cValue, cFile ) )

Для записи/чтения в ини для числа nNumeric использую:
WriteIni( cSection, cVal , HB_NToS(nNumeric), cFileIni )
nNumeric := VAL( GetIni( cSection , cVal , "0", cFileIni ) )


Для записи/чтения массива в ини - Григорий советует использовать:
WriteIni( cSection, cVal , ATOC(aDim), cFileIni )
aDim := CTOA( GetIni( cSection , cVal , '{}', cFileIni ) )


Нужны еще функции:
1) Определения есть ли секция [MySection] в ини файле ?
Григорий посоветовал:
Function IsINISection(cIniFile, cName)
Return ( cName $ _GetSectionNames(cIniFile) )

Что то не работает - выдает ошибку Error BASE/1109 Неверный аргумент: $

2) Определения, есть ли переменная в этой секции ?




Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 25 , стр: 1 2 All [только новые]


администратор




Пост N: 374
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.11.14 11:32. Заголовок: SergKis пишет: , и ..


SergKis пишет:

 цитата:
, и не понял цель записи в ini:



согласен, а еще в открытый INI пользователь ткнет букву в этом блоке и поседеешь пока поймешь что случились вдруг с рабочей прогой

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3780
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.11.14 12:04. Заголовок: SergKis пишет: не п..


SergKis пишет:

 цитата:
не понял о чем ты


Да хотел тупо в ини файл записать типа: { { || LEN(ALLTRIM(&(cPoleTwo))) == 0 } , { nRed2, 128 } }
Нельзя так нельзя... Не особо страшно.
Haz пишет:

 цитата:
а еще в открытый INI пользователь ткнет букву в этом блоке


У меня это отдельная настройка... И я вообще то свои ини-файлы кодирую, т.е. запрещаю юзерам там лазить.

SergKis пишет:

 цитата:
в ini надо выносить настройки, которые править редактором или с окна настроек:


Согласен полностью. Да вот захотелось видно экстрима...

А как насчет этого вопроса:
В программе использую кодировку HB_CODEPAGE_RU1251.
При записи в ини-файл пишу значения на русском.
При считывании с ини-файла на экране кракозябы !!!
Как лечить ?


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 375
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.11.14 12:10. Заголовок: Andrey пишет: В про..


Andrey пишет:

 цитата:
В программе использую кодировку HB_CODEPAGE_RU1251.
При записи в ини-файл пишу значения на русском.
При считывании с ини-файла на экране кракозябы !!!
Как лечить ?



проверь в какой кодировке записано в INI

hb_OemToAnsi()
hb_AnsiToOem()

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 442
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.11.14 12:21. Заголовок: Andrey пишет:И я воо..


Andrey пишет:
 цитата:
И я вообще то свои ини-файлы кодирую, т.е. запрещаю юзерам там лазить.


может тебе лучше тогда использовать hrb, как настройку, а не ini.
Вынес в prg файл функцию получил hrb и пользуйся ...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 443
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.11.14 12:32. Заголовок: Andrey пишет:Как леч..


Andrey пишет:
 цитата:
Как лечить ?


я использую отдельные языковые ini в utf8 с BOM:
prog1.lv
[TXT]
Kod = Kods
Name = Nosaukums
NameMat = Materiāli
Kolvo = Daudzums
Adr = Adrese

prog1,ru
[TXT]
Kod = Код
Name = Наименование
NameMat = Материалы
Kolvo = Кол-во
Adr = Дом, адрес
City = Город

prog1.en
...


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 25 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 480
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет