Форум » GUI » Работа с ini файлами в MiniGui ? » Ответить

Работа с ini файлами в MiniGui ?

Andrey: Решил сделать отдельную ветку, искал и не нашел аналогичные темы. Для работы с ини-файлами использую функции: *--------------------------------------------------------* 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

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

Andrey: SergKis пишет: не понял о чем ты Да хотел тупо в ини файл записать типа: { { || LEN(ALLTRIM(&(cPoleTwo))) == 0 } , { nRed2, 128 } } Нельзя так нельзя... Не особо страшно. Haz пишет: а еще в открытый INI пользователь ткнет букву в этом блоке У меня это отдельная настройка... И я вообще то свои ини-файлы кодирую, т.е. запрещаю юзерам там лазить. SergKis пишет: в ini надо выносить настройки, которые править редактором или с окна настроек: Согласен полностью. Да вот захотелось видно экстрима... А как насчет этого вопроса: В программе использую кодировку HB_CODEPAGE_RU1251. При записи в ини-файл пишу значения на русском. При считывании с ини-файла на экране кракозябы !!! Как лечить ?

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


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

SergKis: 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 ...



полная версия страницы