28. juli 2004 - 21:37Der er
12 kommentarer og 1 løsning
Hent Data fra (Index as string) og smid ind i ListView
Jeg har lavet denne funktion til at smække en hel masse brugere på mit ListView "UserList" på éen gang. Den modtager hele brugerlisten ét huk. For eks. som "Jensen#Denmar#BillGates#USA" Den skal så oprette brugeren, Jensen på listen med SmallIcon "Denmark", og BillGates med SmallIcon "USA" FejL: Den velkendte 'Subscript out of range' i linie 5
Public Function ChattersListAdd(Index As String) Dim arrSplit() As String MsgBox "Function started" arrSplit() = Split(Index, "#") For x = 0 To 800 If arrSplit(x) <> "" Then Call frmMain.UserList.ListItems.Add(, arrSplit(x), arrSplit(x), , arrSplit(x + 1)) x = x + 1 Else Exit For End If Next End Function
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Har lige fundet ud af at fejlen kommer først når at den har lagt alle brugeren op i listen (korrekt)...? Jeg troede at 'If arrSplit(x) <> "" Then' ville sikre at den ikke fortsatte hvis at det var tomt...?
Nej, du vil få en fejl hvis blot du forsøger og læse et index som ikke findes i arrayet, arrayet bliver jo kun så langt som der er poster adskilt af #. Er fif når man arbejder med array er at bruge lbound og ubound, som for tæller hvad det laveste og højeste index i arrayet er. Så for og undgå at din for løkke løber for langt burde den se således ud
for x = lbound(arrSplit) to ubound(arrSplit)
Den pæneste løsning på din for løkke ville være og lade den tælle 2 op pr. gennemløb
for x = lbound(arrSplit) to ubound(arrSplit) step 2 Call frmMain.UserList.ListItems.Add(, arrSplit(x), arrSplit(x), , arrSplit(x + 1)) Next
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.