Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Count items in array

[es] :: Visual Basic 6 :: Count items in array

[ Pregleda: 3708 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

djpero.84
Pero Knezevic
Prijedor

Član broj: 120188
Poruke: 190
81.93.72.*

Sajt: www.littlefrog.ba


Profil

icon Count items in array25.03.2008. u 10:49 - pre 195 meseci
Imam string array, kako da returnujem broj stavki iz niza u neki integer. Neki dan sam imao kod, sad vec stao mozak :)

Hvala
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Count items in array25.03.2008. u 10:55 - pre 195 meseci
Code:

count = Ubound(array) - LBound(array) + 1

 
Odgovor na temu

djpero.84
Pero Knezevic
Prijedor

Član broj: 120188
Poruke: 190
81.93.72.*

Sajt: www.littlefrog.ba


Profil

icon Re: Count items in array25.03.2008. u 10:57 - pre 195 meseci
Taman sam skontao Ubound, a mozes mi objasniti zasto oduzimas LBound i sabiras 1.
Hvala
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Count items in array25.03.2008. u 11:02 - pre 195 meseci
UBound ti je gornja granica, LBound donja.

primer: Dim x(0 to 5) As String

UBound(x) = 5
LBound(x) = 0

niz ima 6 clanova (0, 1, 2, 3, 4, i 5)

ako oduzmemo LBound od UBound i dodamo jedan dobicemo tacan broj: UBound(x) - LBound(x) + 1 = 5 - 0 + 1 = 6


drugi primer: Dim x(2 to 4) As String

UBound(x) = 4
LBound(x) = 2

niz ima 3 clana (2, 3 i 4)

ako oduzmemo LBound od UBound i dodamo jedan dobicemo tacan broj: UBound(x) - LBound(x) + 1 = 4 - 2 + 1 = 3


kada je donja granica 1, onda nema potrebe za oduzmianjem LBound i dodavanjem jedinice (+1 - 1 = 0) ali to je specijalan slucaj ove "formule"
 
Odgovor na temu

djpero.84
Pero Knezevic
Prijedor

Član broj: 120188
Poruke: 190
81.93.72.*

Sajt: www.littlefrog.ba


Profil

icon Re: Count items in array25.03.2008. u 11:08 - pre 195 meseci
Hvala na ovako brzoj pomoci!
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Count items in array25.03.2008. u 11:11 - pre 195 meseci
nema na cemu :)
 
Odgovor na temu

djpero.84
Pero Knezevic
Prijedor

Član broj: 120188
Poruke: 190
81.93.72.*

Sajt: www.littlefrog.ba


Profil

icon Re: Count items in array25.03.2008. u 11:24 - pre 195 meseci
Jos samo malo pitanjce. Zasto mi varijabla "file_s" nije string, nego moram da radim ovo:

Code:
Option Explicit
Dim file_name() As String
Dim file_s, file_path As String
Dim db As ADODB.Connection
Dim rs As ADODB.Recordset
Dim br As Integer

Function openbase(ByVal Pathic, bases As String)

Set db = CreateObject("adodb.connection")
db.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & Pathic & "; extended properties = dbase iv;"
db.CursorLocation = adUseClient
db.Open
Set rs = CreateObject("adodb.recordset")
rs.Open "select * from " & bases, db, adOpenDynamic, adLockOptimistic

End Function

Private Sub exit_mnu_Click()
Unload Me
End Sub

Sub open_mnu_Click()
Dim file_ As String
diag.ShowOpen
file_name() = Split(diag.FileName, "\")
file_s = file_name(UBound(file_name()))
file_ = file_s

file_path = Left(diag.FileName, Len(diag.FileName) - Len(file_s))
openbase file_path, file_
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.112.*



+7 Profil

icon Re: Count items in array25.03.2008. u 11:27 - pre 195 meseci
Kvalitetan tekst ... (mislim na objasnjenje)
Samo da dodam za bazni index.
Baza novog niza u VB6 je 0 (i u drugim jezicima je to pravilo). Tako da kad stavimo Dim niz(3) As Integer imamo clanove niza niz(0), niz(1), niz(2), niz(3)
Postoji komanda za VB koja odredjuje bazu niza u nekom fajlu ako necemo da bude default vrednost. Pise se Option Base 1 (gde je ovo 1 bazni index)
Probaj kod ispod sa i bez prve linije i vidi razliku u debug prozoru.
Code:

'Option Base 1

Private Sub Form_Load()
Dim niz(3) As Integer
niz(1) = 2
niz(2) = 4
For i = LBound(niz) To UBound(niz)
Debug.Print "Index: " & CStr(i) & " Vrednost: " & CStr(niz(i))
Next i
End Sub

 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.112.*



+7 Profil

icon Re: Count items in array25.03.2008. u 11:31 - pre 195 meseci
file_s slobodno moze da se deklarise kao String (As String pre zareza), sad nije
Code:

file_name() = Split(diag.FileName, "\")
file_s = file_name(UBound(file_name()))
file_ = file_s

Ovaj kod uzima FilePath i razdvaja ga na elemente niza u obliku file_name(0)= "C:", file_name(1) = "NekiFolder", file_name(2) = "NasFajl.fl"
Onda uzima zadnji element i prepisuje ga u file_s. Posto je niz String niz file_s moze (i treba) da bude String
 
Odgovor na temu

djpero.84
Pero Knezevic
Prijedor

Član broj: 120188
Poruke: 190
81.93.72.*

Sajt: www.littlefrog.ba


Profil

icon Re: Count items in array25.03.2008. u 11:52 - pre 195 meseci
Ali vec ga jesam deklarisao gore ispod Option Explicit kao string.....


Code:
Option Explicit
Dim file_name() As String
Dim file_s, file_path As String
Dim db As ADODB.Connection
Dim rs As ADODB.Recordset
Dim br As Integer
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.112.*



+7 Profil

icon Re: Count items in array25.03.2008. u 12:16 - pre 195 meseci
Deklarisao si ga kao Variant (bilo sta)
Code:

Dim file_s, file_path As String

Za String treba
Code:

Dim file_s As String, file_path As String


[Ovu poruku je menjao Eurora3D Team dana 25.03.2008. u 13:41 GMT+1]
 
Odgovor na temu

djpero.84
Pero Knezevic
Prijedor

Član broj: 120188
Poruke: 190
81.93.72.*

Sajt: www.littlefrog.ba


Profil

icon Re: Count items in array25.03.2008. u 12:23 - pre 195 meseci
Auu, odoh ja u apsolutne pocetnike :)

Pogresno sam shvatio deklarisanje varijabli. Zar ne postoji nacin da deklarisem grupu kao jedan tip varijabli
da se nemora pisati uvijek "As String" ili sta vec deklarisem?
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.112.*



+7 Profil

icon Re: Count items in array25.03.2008. u 12:32 - pre 195 meseci
No :)
(Jedino da svi budu Variant ali to i nije neko resenje)
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Count items in array25.03.2008. u 13:43 - pre 195 meseci
Citat:
djpero.84:Zar ne postoji nacin da deklarisem grupu kao jedan tip varijabli
da se nemora pisati uvijek "As String" ili sta vec deklarisem?

postoji u VB.NET i u FreeBASIC-u, ali u VB6 nazalost ne...
 
Odgovor na temu

[es] :: Visual Basic 6 :: Count items in array

[ Pregleda: 3708 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.