i need help

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
i'm pissed
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 194
Зарегистрирован: 23.10.2004 (Сб) 12:01
Откуда: irkutsk

i need help

Сообщение i'm pissed » 02.11.2004 (Вт) 21:19

нужна помошь значит пишит не совпадение типов
Код: Выделить всё
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (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

Function WriteINI(sSection As String, sKeyName As String, sNewString As String, sINIFileName As String) As Boolean
On Local Error Resume Next
Call WritePrivateProfileString(sSection, sKeyName, sNewString, sINIFileName)
WriteINI = (Err.Number = 0)
End Function

Function ReadINI(sSection As String, sKeyName As String, sINIFileName As String) As String
On Local Error Resume Next
Dim sRet As String
sRet = String(255, Chr(0))
ReadINI = Left(sRet, GetPrivateProfileString(sSection, ByVal sKeyName, "", sRet, Len(sRet), sINIFileName))
End Function



Private Sub Command1_Click()
Dim StringVar As String
WriteINI "time refresh", "frmBrowser.Timer1.Interval", CLng(timerefresh1.Text1.Text) * 1000, App.Path & "data.ini"
Hide
End Sub



Private Sub Form_Load()
Dim StringVar As String
StringVar = ReadINI("time refresh", "frmBrowser.Timer1.Interval", App.Path & "data.ini")
frmBrowser.Timer1.Interval = CLng(StringVar)
End Sub


а тут выделяет текст
Код: Выделить всё
frmBrowser.Timer1.Interval = CLng(StringVar)
by_pissed

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.11.2004 (Вт) 21:22

Значит, строка не может быть пропарсена в число.
Замени clng на val.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

i'm pissed
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 194
Зарегистрирован: 23.10.2004 (Сб) 12:01
Откуда: irkutsk

Сообщение i'm pissed » 02.11.2004 (Вт) 21:26

thx седня пробовал заменять ничего не шло
by_pissed

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 03.11.2004 (Ср) 7:42

А что если перед этой строкой встваить строку
Код: Выделить всё
MsgBox val(StringVar)

:roll: :!:

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 03.11.2004 (Ср) 11:31

Val() не умеет работать с региональными настройками, в частности, с разделителем дробной части. Сделай так:
Код: Выделить всё
MsgBox Val(Replace(StringVal, ",", ".", 1, 1))


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 84

    TopList