6 / 6 / 0
Регистрация: 09.03.2017
Сообщений: 140
|
||||||
1 | ||||||
Нюансы GetPrivateProfileString\GetPrivateProfileInt20.03.2017, 13:17. Показов 2328. Ответов 5
Метки нет (Все метки)
Есть вопросы, помогите новичку!
1)Почему при чтении параметров из ini файла этими функциями приходится указывать имя файла так:".\\settings.ini" ?? Если не поставить точку и два слеша, то придется указывать полный путь! я вынужден писать такой код:
"Note This function is provided only for compatibility with 16-bit Windows-based applications. Applications should store initialization information in the registry." Перевожу как могу: "Примечание.Эта хрень поддерживается только ради жалости к 16-битным старым приложениям для теплой ламповой Windows. Нормальные приложения ДОЛЖНЫ сохранять свою байду в реестр!" Вопросы: эта функция работает в windows версиях выше чем windows 7 и в серверных ? Есть ли какая нибудь 16-битная природа в этой функции ? (ограничения какие нибудь?) Почему это вдруг приложения ДОЛЖНЫ записывать свои параметры в реестр ? Представьте себе, если save игры писать в реестр! Зачем мне предлагают реестр ? Я видел кучу современных win програм, которые хранят параметры в СВОИХ файлах, рядом с бинарником или в юзерских папках. Честно. p.s. когда стану поумней, я возьму функционал из boost. Правда не знаю, нужно ли это мне.
0
|
20.03.2017, 13:17 | |
Ответы с готовыми решениями:
5
Непонятки с GetPrivateProfileString() Составной путь к файлу GetPrivateProfileString() GetPrivateProfileString возвращает не правильно значение GetPrivateProfileString не выводит все ключи |
6 / 6 / 0
Регистрация: 09.03.2017
Сообщений: 140
|
|
21.03.2017, 12:06 [ТС] | 3 |
Это я прикалываюсь. Мне самому эта функция очень помогла и сэкономила время.
Это хорошо. Добавлено через 6 минут Кстати никак не могу понять вот этой логики в MSDN
Сообщение от MSDN
1)Разве эта функция является затычкой или костылем ? Это просто абстракция от рутины работы с INI. 2)С INI-парадигмой перенос папки с программой, сохранит её настройки. В случае реестра - НЕТ 3)С INI-парадигмой можно легко отдать настройки другому пользователю на другой машине. Смысл этого реестра ? Я не понимаю. Кстати, если с этой функцией работают не только 16-битные приложения,а и 32-х и 64- битные, то почему они написали "совместимость" и "16-битные" ??? Если это просто функция, и ОС её "дает" любым приложениям, то при чем тут совместимость с 16 битными ? Я вообще запутался.
0
|
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
|
|
21.03.2017, 13:51 | 4 |
_newbie_coder, многие необходимые и нужные на практике моменты msdn попросту не разъясняет и упускает. А еще, msdn любит лукавит насчёт описания функций и минимальных требований к ОС. Я сам часто встречал функции, в описании которых msdn утверждает, что требуется минимум win7. А на деле они прекрасно работаю на XP.
Не воспринимай буквально всё, что там пишут. Используй то, что удобно, что нравится. Я например, до сих в некоторых классах для работы с текстовыми строками иногда использую char, хотя есть библиотека string, а в C++Builder еще и классы AnsiString, UnicodeString. Но мне так нравится
1
|
30 / 11 / 2
Регистрация: 24.02.2017
Сообщений: 47
|
|
21.03.2017, 19:01 | 5 |
так написано же
should = следует, что явно не значит "ДОЛЖНЫ" 1) так это устаревшая, т.к. использовались они вместо реестра, о чем может быть речь 2,3)а кто мешает в реестр писать установщиком, и никто не мешает пользоваться другим форматом разметки и сторонними либами для вытаскивания значений microsoft раньше использовали ini-файлы, теперь реестр. если они посчитали, что так лучше, значит так и есть
2
|
6 / 6 / 0
Регистрация: 09.03.2017
Сообщений: 140
|
|
22.03.2017, 06:09 [ТС] | 6 |
Так по логике должно быть тогда так "filename.ext". Это удовлетворяет указанию " does not contain a full path to the file,"
Я не могу понять, что делают там два слеша с точкой. Точка зачем ? Добавлено через 1 минуту Жесть! Какие еще скелеты хранит шкаф майкрософт ? Добавлено через 1 минуту ОК!
0
|
22.03.2017, 06:09 | |
22.03.2017, 06:09 | |
Помогаю со студенческими работами здесь
6
GetPrivateProfileString "съедает" пробел Нюансы в программном коде Win32 API GetPrivateProfileInt всегда возвращает ноль Нюансы обучения: желание учесть все нюансы - корректность кода или overengineering? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |