Bosna i Hercegovina



#1 17.04.2015-09:15
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,118


Subject: 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?

DownloadIzvorni kod (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
Život je moja domovina.
↑  ↓

#2 17.04.2015-09:34
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,676


Subject: 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.
Pozdrav
↑  ↓

#3 17.04.2015-09:47
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,118


Subject: Re: DoEvents naredba
a jesu li tabovi dobri?
Život je moja domovina.
↑  ↓

#4 17.04.2015-17:51
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,676


Subject: Re: DoEvents naredba
Jel mislis na pause kako si uvlacio kod ili nesto drugo.
Pozdrav
↑  ↓

#5 18.04.2015-10:24
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,118


Subject: 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
Život je moja domovina.
↑  ↓

#6 18.04.2015-20:14
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,676


Subject: 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:
DownloadIzvorni kod (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
Pozdrav
↑  ↓

#7 18.04.2015-22:22
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,446


Ocjena: Ocjena:100 Subject: 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.
↑  ↓

#8 20.04.2015-08:34
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,118


Subject: Re: DoEvents naredba
onda bi to bilo ovako:
DownloadIzvorni kod (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

Život je moja domovina.
↑  ↓

Stranice (1): 1

All times are GMT +01:00. Current time: 27.05.2018-18:26.