Gå til innhold

[Løst]prosedyrer er ikke lett (vb.net)


Anbefalte innlegg

Hei

Sliter litt med å lage en prosedyre som skal fylle en matrise. Har forstått det slik at en prosedyre ikke skal returnere noe?, men at man sikkert kan kalle opp en prosedyre som altså har som funksjon å fylle en matrise(array). Vet ikke om jeg helt forstår dette, jeg. :no:

Lenke til kommentar
Videoannonse
Annonse

Jeg vet heller ikke om jeg forstår dette helt. Bare en sub som skal fylle en matrise?

 

Denne måten gir litt mer funksjonalitet:

Dim matrise(1 To 9)

Private Sub Form_Load()
FyllMatrise "Halla!!", 2
End Sub

Private Sub FyllMatrise(Tekst As String, Nummer As Long)
matrise(Nummer) = Tekst
End Sub

Denne gjør ikke det:

Dim matrise(1 To 9)

Private Sub Form_Load()
FyllMatrise
End Sub

Private Sub FyllMatrise()
matrise(2) = "Halla!!"
End Sub

Lenke til kommentar

Hei

Ja, det skal bare være en sub som fyller en matrise med ett eller annet. Når jeg klikker på f.eks en kapp ( i formen) skal prosedyren kalles opp og fylle matrisen (med ett eller annet :)). Jeg prøver å skjønne koden din over men....... (bruker fortsatt vb.net. Fikk en blå strek under To i matrise(1 to 9))

Lenke til kommentar
Hei

Ja, det skal bare være en sub som fyller en matrise med ett eller annet. Når jeg klikker på f.eks en kapp ( i formen) skal prosedyren kalles opp og fylle matrisen (med ett eller annet :)). Jeg prøver å skjønne koden din over men....... (bruker fortsatt vb.net. Fikk en blå strek under To i matrise(1 to 9))

Det finnes et eget .net forum. Tror du får bedre svar der.

Lenke til kommentar
Hei

Ja, det skal bare være en sub som fyller en matrise med ett eller annet. Når jeg klikker på f.eks en kapp ( i formen) skal prosedyren kalles opp og fylle matrisen (med ett eller annet :)). Jeg prøver å skjønne koden din over men....... (bruker fortsatt vb.net. Fikk en blå strek under To i matrise(1 to 9))

Det finnes et eget .net forum. Tror du får bedre svar der.

Har programmerer jo VB.net!

 

.net forumet er ".net uansett programmeringsspråk". Tror nok at han får best svar her.

Lenke til kommentar

hvorfor kaller dere vb-huer en 1d array for matrise? er ikke tabell, array eller vektor et litt bedre ord? matriser er 2 dimensjonale. vektor er 1 dimensjon.

jeg hadde heller ikke kalt en 2d-array for matrise hvis det ikke var nettopp det det var

Endret av iobas
Lenke til kommentar

Jeg er fullstendig enig i at begrep bør kalles med det rette ord - det er bra du påpeker misbruken matrise. Egentlig legger jeg ikke merke til det; jeg bare bruker ordet som ble nevnt av trådstrarter.

 

Uansett, følgende viser hvordan man kan bruke en sub for å tilegne elementer i en array en viss verdi.

 

   Dim aArray(10) As String

   Public Sub FillArray(ByVal lpArray() As String, ByVal dwNumber As Int32)

       Dim Tell As Int32

       For Tell = lpArray.GetLowerBound(0) To lpArray.GetUpperBound(0)
           aArray(Tell) = dwNumber
       Next

   End Sub

 

I tilfeller med array-er er det ikke nødvendig å anvende ByRef isedenfor ByVal, da kun metadata overføres til sub-en. For ordens skyld: ByRef sender pekere av variabler, mens ByVal sender en kopi av variabelen.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...