Centar za edukaciju-BiH



#1 17.04.2015 09:15
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


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
zivot je moja domovina.
↑  ↓

#2 17.04.2015 09:34
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


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.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 17.04.2015 09:47
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: DoEvents naredba
a jesu li tabovi dobri?
zivot je moja domovina.
↑  ↓

#4 17.04.2015 17:51
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: DoEvents naredba
Jel mislis na pause kako si uvlacio kod ili nesto drugo.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 18.04.2015 10:24
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


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
zivot je moja domovina.
↑  ↓

#6 18.04.2015 20:14
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


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
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 18.04.2015 22:22
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,854


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.
↑  ↓

#8 20.04.2015 08:34
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


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

zivot je moja domovina.
↑  ↓

Stranice (1):1

Sva vremena su GMT +01:00. Trenutno vrijeme: 2: 03 am.