dynamisk array

Tags:    visual-basic

Hvordan finder jeg ud af om et dynamisk array er blevet dimensioneret?



3 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Hvordan finder jeg ud af om et dynamisk array er blevet dimensioneret?


Du skal bare tage øvre eller nedre grænse af arrayet med henholdsvis UBound eller LBound funktionerne. Hvis du får fejl 9 (Subscript out of range), så ved du med sikkerhed, at det er fordi arrayet IKKE er dimensioneret. Hvis det var, ville du ikke kunne få fejl 9 med UBound eller LBound.
<pre>Option Explicit
Dim dynArray() As Long

Private Sub Form_Load()

On Error GoTo Array_Error

Dim lBnd As Long
Let lBnd = LBound(dynArray())
MsgBox "Array ER dimensioneret."

Exit Sub

Array_Error:

Select Case Err.Number
Case 9
MsgBox "Ikke dimensioneret."
End Select

End Sub</pre>
Jeg håber dette hjælper dig videre.

Software is here and now but rock and roll is forever.



Du skal bare tage øvre eller nedre grænse af arrayet med henholdsvis UBound eller LBound funktionerne. Hvis du får fejl 9 (Subscript out of range), så ved du med sikkerhed, at det er fordi arrayet IKKE er dimensioneret. Hvis det var, ville du ikke kunne få fejl 9 med UBound eller LBound.


Og så kan det hele jo også sættes ind i en funktion, hvis man er doven:

Fold kodeboks ind/udKode 


Så kan man f.eks. skrive: If IsDimensioned(MyArray) Then ...

/ Bjarke

--------------------------------------------------
[THIS IS A SIGNATURE VIRUS! PLEASE COPY IT INTO YOUR OWN SIGNATURE(S)]
--------------------------------------------------
*** Matematisk Student anno 2003!! *** (Juhuu...)



Du skal bare tage øvre eller nedre grænse af arrayet med henholdsvis UBound eller LBound funktionerne. Hvis du får fejl 9 (Subscript out of range), så ved du med sikkerhed, at det er fordi arrayet IKKE er dimensioneret. Hvis det var, ville du ikke kunne få fejl 9 med UBound eller LBound.

Og så kan det hele jo også sættes ind i en funktion, hvis man er doven:

Fold kodeboks ind/udKode 


Så kan man f.eks. skrive: If IsDimensioned(MyArray) Then ...

/ Bjarke

--------------------------------------------------
[THIS IS A SIGNATURE VIRUS! PLEASE COPY IT INTO YOUR OWN SIGNATURE(S)]
--------------------------------------------------
*** Matematisk Student anno 2003!! *** (Juhuu...)


ok
--------------------------------------------------
[THIS IS A SIGNATURE VIRUS! PLEASE COPY IT INTO YOUR OWN SIGNATURE(S)]
--------------------------------------------------

min hp: http://www.friserverplads.dk/technic117



t