Men man kan lave en funktion, der løber alle elementerne igennem, og checker.. Hvis den finder værdien, returneres TRUE.. ellers returneres FALSE..
Eksempel:
Private Sub Command1_Click() MsgBox Find(25) End Sub
Private Function Find(tal As Integer) As Boolean Dim i As Integer Dim fundet As Boolean fundet = False For i = LBound(arrayens_navn) To UBound(arrayens_navn) If (arrayens_navn(i) = tal) Then fundet = True Next Find = fundet End Function
Problemet med den nuværende kode er, at man ikke kan sende en array med, som parameter..
I koden er navnet på arrayen foruddefineret.. Ret "arrayens_navn" til navnet på din array.
I mit eksempel er arrayen defineret i toppen af Visual Basic (globalt)..
Private Sub Command1_Click() MsgBox Find(25) End Sub
Private Function Find(tal As Integer) As Boolean Dim i As Integer Dim fundet As Boolean fundet = False For i = LBound(arrayens_navn) To UBound(arrayens_navn) If (arrayens_navn(i) = tal) Then fundet = True Exit For End If Next Find = fundet End Function
Ændringen er:
If (arrayens_navn(i) = tal) Then fundet = True Exit For End If
Den hopper ud af løkken, så snart at den har fundet værdien..
Ingen grund til at lede mere, når den har fundet værdien.. :-)
Det var mere for at undgå selv at skulle løbe det igennem. Troede der var en smart function der kunne kaldes, men det tyder det ikke på. så jeg må løbe det igennem selv.
Som jeg skrev i mit første indlæg, ved jeg ikke om det er muligt.. det kan det godt være..
Du er velkommen til at vente, på et andet svar..
Synes godt om
Ny brugerNybegynder
Din løsning...
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.