Автор | Сообщение |
|
| постоянный участник
|
Пост 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) Определения, есть ли переменная в этой секции ?
|
|
|
Ответов - 25
, стр:
1
2
All
[только новые]
|
|
|
| |
Пост N: 374
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.11.14 11:32. Заголовок: SergKis пишет: , и ..
SergKis пишет: цитата: | , и не понял цель записи в ini: |
| согласен, а еще в открытый INI пользователь ткнет букву в этом блоке и поседеешь пока поймешь что случились вдруг с рабочей прогой
|
|
|
|
| постоянный участник
|
Пост 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. При записи в ини-файл пишу значения на русском. При считывании с ини-файла на экране кракозябы !!! Как лечить ?
|
|
|
|
| |
Пост N: 375
Зарегистрирован: 20.02.11
|
|
Отправлено: 28.11.14 12:10. Заголовок: Andrey пишет: В про..
Andrey пишет: цитата: | В программе использую кодировку HB_CODEPAGE_RU1251. При записи в ини-файл пишу значения на русском. При считывании с ини-файла на экране кракозябы !!! Как лечить ? |
| проверь в какой кодировке записано в INI hb_OemToAnsi() hb_AnsiToOem()
|
|
|
|
| постоянный участник
|
Пост N: 442
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.11.14 12:21. Заголовок: Andrey пишет:И я воо..
Andrey пишет: цитата: | И я вообще то свои ини-файлы кодирую, т.е. запрещаю юзерам там лазить. |
| может тебе лучше тогда использовать hrb, как настройку, а не ini. Вынес в prg файл функцию получил hrb и пользуйся ...
|
|
|
|
| постоянный участник
|
Пост 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 ...
|
|
|
Ответов - 25
, стр:
1
2
All
[только новые]
|
|