Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.16.67.13] |
|
Сообщ.
#1
,
|
|
|
значит имеется 2 формы frmbrowser и frmrefresh.
на frmbrowser содержится компонент webbrowser и timer1. А на второй форме frmrefresh text1. Так вот например ставишь в text1 например 20 т.е должно обновлять webbrowser каждые 20 секунд. Но почемуто ничего не обнавляется 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() frmBrowser.Timer1.Enabled = True Dim StringVar As String WriteINI "time refresh", "frmBrowser.Timer1.Interval", Val(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") End Sub Private Sub Timer1_Timer() brwWebBrowser.Refresh End Sub помогите |
Сообщ.
#2
,
|
|
|
20 - для таймера это означает 20 милисекунд
есл ихочешь 20 секунд тогда надо написать 20000 а код я твой не стал смотреть, сорри... |
Сообщ.
#3
,
|
|
|
так и есть ты код посмотри там же идет умножение на 1000
|
Сообщ.
#4
,
|
|
|
Я так понимаю, ты этот код прописал только на запись в ИНИ, а самому таймеру ничего не передал...
Добавлено Беру свои слова обратно Добавлено Ты неправильно прописал путь к файлу. Попробуй так: Private Sub Form_Load() Dim StringVar As String StringVar = ReadINI("time refresh", "frmBrowser.Timer1.Interval", App.Path & "\" & "data.ini") End Sub |
Сообщ.
#5
,
|
|
|
P.S. Если это поможет, можешь поставить мне плюсик
|
Сообщ.
#6
,
|
|
|
А попробуй добавить:
Timer1.Interval = 20000 Может начнет работать? |
Сообщ.
#7
,
|
|
|
Цитата А попробуй добавить: Timer1.Interval = 20000 Может начнет работать? Ты не врубылся, ему ведь надо считать значение интервала из файла |
Сообщ.
#8
,
|
|
|
значит я сделал так
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 только почемуто у меня на пару секунд раньше начинает обнавлять |
Сообщ.
#9
,
|
|
|
Какой-то мутный у тя код. Тебе надо сделать следущее.
1. Путь к файлу писать с разделителем. ... App.Path & "\data.ini") 2. В объявлениях АПИ ф-ий заменить параметр "ByVal lpKeyName As Any" на более определеныый "ByVal lpKeyName As String". Должно помочь. |
Сообщ.
#10
,
|
|
|
1. Если прога лежит в корне диска, то запись вида:
... App.Path & "\data.ini") вывалится с ошибкой. Если предполагается, что прога может находится в будущем где угодно, даже в корне диска, то следует ввести функцию: Public Function GetPath() As String If Right(App.Path, 1) = "\" Then GetPath = App.Path Else GetPath = App.Path & "\" End Function и вызывать ее так: ... GetPath & "data.ini") |
Сообщ.
#11
,
|
|
|
Цитата Ты не врубылся, ему ведь надо считать значение интервала из файла Creeper, ну почему я не врубился? Посмотри, pissed^ добавил строку frmBrowser.Timer1.Interval = CLng(StringVar) и код начал работать |
Сообщ.
#12
,
|
|
|
все пашет у меня так сильно не переживайте
|