Avko 17.04.2015 10:15
Predmet:DoEvents naredba

imam 2 pitanja:
1. da li DoEvents naredba zamjenjuje Timer, tj zaustavlja proces i omogucuje druge naredbe?
2. da li sam dobro stavio Tab-ove u ovoj funkciji, koristio sam notepad++ sa sintaksom VB?

PreuzmiIzvorni kôd (Visual Basic):
  1. Public Sub DownloadFile(strURL As String, strDestination As String)  'As Boolean
  2.    Const CHUNK_SIZE As Long = 1024
  3.     Dim intFile As Integer
  4.     Dim lngBytesReceived As Long
  5.     Dim lngFileLength As Long
  6.     Dim strHeader As String
  7.     Dim b() As Byte
  8.     Dim i As Integer
  9.     Dim ip As String
  10.     Dim ipurl As String
  11.    
  12.     ipurl = "http://www.icentar.ba/ip.php"
  13.     ip = Inet1.OpenURL(ipurl, icString)
  14.     MsgBox ip
  15.    
  16.         DoEvents
  17.                 With Inet1
  18.                         .url = strURL
  19.                         .Execute , "GET", , "Range: bytes=" & CStr(lngBytesReceived) & "-" & vbCrLf
  20.                         While .StillExecuting
  21.         DoEvents
  22.                         Wend
  23.                                 strHeader = .GetHeader
  24.                 End With
  25.                 strHeader = Inet1.GetHeader("Content-Length")
  26.                 lngFileLength = Val(strHeader)
  27.     DoEvents
  28.    
  29.         lngBytesReceived = 0
  30.         intFile = FreeFile()
  31.         Open strDestination For Binary Access Write As #intFile
  32.                 Do
  33.                         b = Inet1.GetChunk(CHUNK_SIZE, icByteArray)
  34.                         Put #intFile, , b
  35.                         lngBytesReceived = lngBytesReceived + UBound(b, 1) + 1
  36.                         DownloadProgress (Round((lngBytesReceived / lngFileLength) * 100))
  37.         DoEvents
  38.                 Loop While UBound(b, 1) > 0
  39.         Close #intFile
  40. End Sub

vazno je napomenuti da funkcija koja se nalazi u modulu radi i nema error, a poziva se sa
downloadFile url,"fileName.txt". Skinuta je sa interneta.
Znači, samo objaÅ¡njenje DoEvents i ispravni Tab-ovi.
Hvala

zxz 17.04.2015 10:34
Predmet:Re: DoEvents naredba

DoEvents komanda dozvoljava da radis neki drugi posao dok se procedura izvrsava.
Znaci ako neka procedura dugo traje onda stavis doEvents te mozes raditi neke druge radnje dok se ona u pozadini izvrsava.
Ukoliko pobrises DoEvents procedura ce i dalje raditi sem sto ces morati cekati dok se ona ne izvrsi.
To je ono opisno receno sta se desava.
To je u stvari funkcija koja omogucava izvrsenje drugog procesa.

Avko 17.04.2015 10:47
Predmet:Re: DoEvents naredba

a jesu li tabovi dobri?

zxz 17.04.2015 18:51
Predmet:Re: DoEvents naredba

Jel mislis na pause kako si uvlacio kod ili nesto drugo.

zxz 18.04.2015 21:14
Predmet:Re: DoEvents naredba

With znaci da hoces da vidis i mijenjas osobine datog objekta.
kada imas with nemoras kucati ime objekta nego samo tacka i naziv osobine.
Primjer:
PreuzmiIzvorni kôd (Visual Basic):
  1. Function primjer()
  2. Dim Db As Database
  3. Dim Tbl As TableDef
  4. Dim ImeTabele As String
  5. Dim BrjRedova As Integer
  6. Dim DatumKreiranja As String
  7.  
  8. Set Db = CurrentDb
  9. Set Tbl = Db.TableDefs("Table1")
  10.  
  11. With Tbl
  12. ImeTabele = .Name
  13. BrojRedova = .RecordCount
  14. DatumKreiranja = .DateCreated
  15. End With
  16. End Function

Samo umjesto table1 napisi ime tvoje neke tabele u bazi

Gjoreski 18.04.2015 23:22
Predmet:Re: DoEvents naredba

Kad trebas mejnati vise parametra ili citati vise parametra od objekta ja uvek koristim With jel tako je preglednije za rad ali kas su samo jedam ili dva parametra ne koristim ga ali i u vakvom slucaju kad su samo jedan ili dva parametra koristejne With nije greska.

Avko 18.04.2015 11:24
Predmet:Re: DoEvents naredba

na uvlacenje, sa uvlacenjem bolje razumijem kako sve to funkcionira. ono me with wend malo zbunjuje sa doevents. pa bi htio ispravno uvlacenje napraviti

Avko 20.04.2015 09:34
Predmet:Re: DoEvents naredba

onda bi to bilo ovako:
PreuzmiIzvorni kôd (Visual Basic):
  1. Public Sub DownloadFile(strURL As String, strDestination As String)  'As Boolean
  2.    Const CHUNK_SIZE As Long = 1024
  3.     Dim intFile As Integer
  4.     Dim lngBytesReceived As Long
  5.     Dim lngFileLength As Long
  6.     Dim strHeader As String
  7.     Dim b() As Byte
  8.     Dim i As Integer
  9.     Dim ip As String
  10.     Dim ipurl As String
  11.    
  12.     ipurl = "http://www.icentar.ba/ip.php"
  13.     ip = Inet1.OpenURL(ipurl, icString)
  14.     MsgBox ip
  15.    
  16.         DoEvents
  17.        
  18.         With Inet1
  19.                 .url = strURL
  20.                 .Execute , "GET", , "Range: bytes=" & CStr(lngBytesReceived) & "-" & vbCrLf
  21.                
  22.                 While .StillExecuting
  23.                         DoEvents
  24.                 Wend
  25.                
  26.                 strHeader = .GetHeader
  27.         End With
  28.        
  29.         strHeader = Inet1.GetHeader("Content-Length")
  30.         lngFileLength = Val(strHeader)
  31.     DoEvents
  32.    
  33.         lngBytesReceived = 0
  34.         intFile = FreeFile()
  35.        
  36.         Open strDestination For Binary Access Write As #intFile
  37.                 Do
  38.                         b = Inet1.GetChunk(CHUNK_SIZE, icByteArray)
  39.                         Put #intFile, , b
  40.                         lngBytesReceived = lngBytesReceived + UBound(b, 1) + 1
  41.                         DownloadProgress (Round((lngBytesReceived / lngFileLength) * 100))
  42.                         DoEvents
  43.                 Loop While UBound(b, 1) > 0
  44.        
  45.         Close #intFile
  46. End Sub