Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 13 odgovora
  • 5.422 pregleda

Najnovija ↓

Count items in array 25.03.2008. u 11:49 · pre 226 meseci #1
Imam string array, kako da returnujem broj stavki iz niza u neki integer. Neki dan sam imao kod, sad vec stao mozak :)

Hvala
Re: Count items in array 25.03.2008. u 12:02 · pre 226 meseci #4
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"
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: Count items in array 25.03.2008. u 12:24 · pre 226 meseci #7
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_
Re: Count items in array 25.03.2008. u 12:27 · pre 226 meseci #8
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
Potpis
HomePage http://www.eurora3d.com
Re: Count items in array 25.03.2008. u 12:31 · pre 226 meseci #9
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
Potpis
HomePage http://www.eurora3d.com
Re: Count items in array 25.03.2008. u 12:52 · pre 226 meseci #10
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
Re: Count items in array 25.03.2008. u 13:16 · pre 226 meseci
izmenjeno 1 put, poslednji put Eurora3D Team 25.03.2008. u 13:41
  1. Eurora3D Team25.03.2008. u 13:41zapis iz teksta poruke
#11
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
Potpis
HomePage http://www.eurora3d.com
Re: Count items in array 25.03.2008. u 13:23 · pre 226 meseci #12
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?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme