Страница: 1 |
вот такая загвоздка, есть INI -файл в нем данные представленны в виде цифр(текста нет) но вот такая вот загвоздка я их читаю из файла использую апи-функцию GetPrivateProfileString, обьявляются ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long, но вот такая вот загвоздка прочитанные данные мне нужны для вычислений типа +,-,* я то беру цифровые данные через функцию VAL(), а она мне гадость такая возвращает если там в ини-файле 0.5 просто НОЛЬ, но мне надо данные после запятой для вычислений, что ДЕЛАТЬ. функция для использования АПИ: Function sGetIni(sINIFile As String, sSection As String, sKey As String, sDefault As String) Dim sTemp As String Dim nLength As Integer sTemp = Space$(256) nLength = GetPrivateProfileString(sSection, sKey, sDefault, sTemp, 255, sINIFile) sGetIni = Left$(sTemp, nLength) где ошибка??? ПЛИЗ!!??
У меня Val возвращает все нормально, проверь региональные настройки, разделитель целой и дробной части числа. Все должно быть нормально, ты проверь какой переменной присваиваешь значение xxx = VAL()... Убедись что это не Long и не Integer, а скажем Single/Double/Currency Угу есть, и CDbl и CBool и CStr и других, но CInt явно не для этого случая, так как целые они и есть целые... так что тут вернее будет попробовать использовать CDbl вопрос звучал так, данные взятые из ини файла в виде строки, функция VAL() возвращает числовое представление строки, НО точку она воспинимает как окончание строки, поэтому возращает и 0 а не 0,5, спасибо SNE, действительно присваивалось значение переменной с Integer, поменял на Double, в тесте начало возвращат то значение которое присвоено в ини файле. Страница: 1 |
Вопрос: Как прочитать данные типа integer из INI-файли...
Добавлено: 04.03.04 02:57
Автор вопроса: jazzikus
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 04.03.04 10:48
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 04.03.04 11:25
Номер ответа: 3
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #3
Добавлено: 04.03.04 19:26
Кроме VAL есть другие функции преобразования в Integer, например CInt.
Номер ответа: 4
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #4
Добавлено: 04.03.04 23:53
Номер ответа: 5
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #5
Добавлено: 05.03.04 19:38
Это точно, однако вопрос звучал первоначально так: прочитать данные типа integer?
Номер ответа: 6
Автор ответа:
jazzikus
Вопросов: 2
Ответов: 2
Профиль | | #6
Добавлено: 06.03.04 04:27
Номер ответа: 7
Автор ответа:
the Pagan
ICQ: нет
Вопросов: 19
Ответов: 27
Web-сайт:
Профиль | | #7
Добавлено: 22.04.04 18:25
Я делал cStr(readinifile) и усё работало. но только соответствующие переменные объявить заранее надо.