Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Как прочитать данные типа integer из INI-файли... Добавлено: 04.03.04 02:57  

Автор вопроса:  jazzikus

вот такая загвоздка, есть 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)

где ошибка??? ПЛИЗ!!??

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 04.03.04 10:48

У меня Val возвращает все нормально, проверь региональные настройки, разделитель целой и дробной части числа.

Ответить

Номер ответа: 2
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #2
Добавлено: 04.03.04 11:25

Все должно быть нормально, ты проверь какой переменной присваиваешь значение xxx = VAL()... Убедись что это не Long и не Integer, а скажем Single/Double/Currency

Ответить

Номер ответа: 3
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 04.03.04 19:26
Кроме VAL есть другие функции преобразования в Integer, например CInt.

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 04.03.04 23:53

Угу есть, и CDbl и CBool и CStr и других, но CInt явно не для этого случая, так как целые они и есть целые... так что тут вернее будет попробовать использовать CDbl

Ответить

Номер ответа: 5
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #5
Добавлено: 05.03.04 19:38
Это точно, однако вопрос звучал первоначально так: прочитать данные типа integer?

Ответить

Номер ответа: 6
Автор ответа:
 jazzikus



Вопросов: 2
Ответов: 2
 Профиль | | #6 Добавлено: 06.03.04 04:27

вопрос звучал так, данные взятые из ини файла в виде строки, функция VAL() возвращает числовое представление строки, НО точку она воспинимает как окончание строки, поэтому возращает и 0 а не 0,5,

спасибо SNE, действительно присваивалось значение переменной с Integer, поменял на Double, в тесте начало возвращат то значение которое присвоено в ини файле.

Ответить

Номер ответа: 7
Автор ответа:
 the Pagan



ICQ: нет 

Вопросов: 19
Ответов: 27
 Web-сайт: gazprommed.irk.ru
 Профиль | | #7
Добавлено: 22.04.04 18:25
Я делал cStr(readinifile)  и усё работало. но только соответствующие переменные объявить заранее надо.  

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам