Ini файлы | |
---|---|
AdamAry Сообщений: 843 Дата регистрации: 14.12.2015 |
Всем привет.
1. Как лучше работать с ini файлами в VFP 8? 2. Какой самый оптимальный способ закидывания содержимого ini в курсор? Исправлено 1 раз(а). Последнее : AdamAry, 17.02.17 08:40 |
Re: Ini файлы | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Каков вопрос, то и ...
|
Re: Ini файлы | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
------------------ |
Re: Ini файлы | |
---|---|
matod Сообщений: 3062 Откуда: Иркутск Дата регистрации: 31.10.2001 |
1) см. ответ от Аспид, не забывая, что при передаче строковых параметров в объявленные функции нужно к строкам добавить символ chr(0), а при вызове GetPrivateProfileString параметр cFufer должен передаваться по ссылке и предварительно инициализирован строкой достаточной длины. Например,
2) Нельзя ответить, не зная какая конкретно структура вашего ini-файла и требуемого результата (структуры курсора) Если речь о том, чтобы перенести содержательные строки файла в строки курсора, разделив имена секций, ключей и значения, при этом заранее не зная структуру, то придется разбирать файл самостоятельно, анализируя каждуй строку в отдельности. |
Re: Ini файлы | |
---|---|
tandem Сообщений: 16 Дата регистрации: 25.05.2008 |
Исправлено 2 раз(а). Последнее : tandem, 17.02.17 12:52 |
Re: Ini файлы | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
На самом деле начиная с 7 или 8 версии фокса (может и раньше, про антиквариат я не помню ) добавлять CHR(0) в конец строк не требуется - фокс сам добавляет один ноль. Вот для функций работающих с Unicode строками это по прежнему необходимо - т.к. фокс только один chr(0) добавляет, а для юникодных строк нужна пара.
Помимо указанных функций, которые используются для считывания ИЗВЕСТНЫХ ключей (как правило ini файлы хранят настройки приложения, и все ключи и секции в них известны), есть ещё
Преимущество АПИ функций по сравнению с "ручным" разбором (наподобии кода tandem) ещё и в том, что они учитывают "виртуализацию" ini файлов в реестре (была такая мулька в MS - они вынесли данные из всех "антикварных" ini файлов типа win.ini, system.ini, control.ini в реестр, хитрО там всё прописав в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping, а чтобы ОЧЕНЬ старые программы не сломались, добавили в данные АПИ функции виртуализацию - вроде как читаешь из ini файла, а на самом деле идёт обращение к реестру). Впрочем, ни то ни другое (ни системные ini файлы, ни реестр) уже давно НЕ является рекомендованным способом хранения настроек ------------------ WBR, Igor |
Re: Ini файлы | |
---|---|
matod Сообщений: 3062 Откуда: Иркутск Дата регистрации: 31.10.2001 |
В 6-ке точно нужно было. Код с тех пор кочует... Про автодобавление нуля не знал - век живи, век учись )) От того, что он не рекомендованный, он не стал менее удобным для хранения всяких локальных настроек, типа положения окон, последних использованных значений, путей к БД и т.п. По крайней мере я так и не придумал, зачем бы мне нужен был реестр - хватало ini, плюс метаданные в БД для тех настроек, которые не должны быть привязаны к машине. Поэтому так и не удосужился разобраться, как с реестром работать, а теперь, видимо, и не актуально Что, кстати, теперь является идеологически верным? |
Re: Ini файлы | |
---|---|
tandem Сообщений: 16 Дата регистрации: 25.05.2008 |
ini файл удобно редактировать на серверном ресурсе.
Смена пути к базам при переносе на другие носители. Проверка и обновление версий модулей и библиотек. Секция [UPDATE] или [ОБНОВИТЬ] myapp1.exe=server/myappdir/myapp1.exe myapp2.exe=server/myappdir/myapp2.exe myapp3.exe=server/myappdir/myapp3.exe и т.п. |
Re: Ini файлы | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
В корне фокса есть папка FFC. В ней библа, в которой пять классов.
Как раз для ini-файлов, реестра, файловых ассоциаций, ODBC и чего-то еще. |
Re: Ini файлы | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Там как раз обёртка над этими АПИ функциями и есть. Но сам класс тащить в свой проект IMHO перебор...
------------------ WBR, Igor |
Re: Ini файлы | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Я в курсе. Но как ни крути, а инфы по чтению/записи в ini-файл там поболее и подробнее, чем здесь написали. Тем более, вполне закономерно, что через некоторое время ТС и про реестр начнет спрашивать. Тенденция такова. А тащить в свой проект? 1. Т.е. писать все с нуля, черпая здесь по ложке это лучше? (По крайней мере неделя разговоров здесь про ini-файл меня убьет , особенно ежели опять как с переменными - все тащить в курсор.) 2. Сформировать PRG с Custom классом на основе существующего класса. Комменты проставить для себя и разобраться с вполне самодостаточным классом. |
Re: Ini файлы | |
---|---|
lulgu Автор Сообщений: 1838 Дата регистрации: 30.11.2016 |
Вряд ли с Winapi стоит ориентироваться на подобные решения. Проект лопнет.
В обертках все решается. И начинать нужно со структур. UPD. На глазок все-таки прикинул: В текстовом виде обертки Winapi в объеме сайта news2news "весят" около 200 кб, Gdip в объеме примера от Клепенина - 16 кб. Структуры - "на все случаи жизни" можно оставить порядка 150 кб. Исправлено 3 раз(а). Последнее : lulgu, 18.02.17 14:19 |
© 2000-2024 Fox Club  |