arrays

Tags:    visual-basic

jeg står og skal bruge et array system i et lille program

dette skal indehlode en varetekst samt en pris.

f.eks:
stor tartelet med fyld, 15kr

hvordan gemmer jeg disse informationer sammen?

'ret
forret(0,0) = "Stor tartelet med fyld"
forret(0,1) = "Lille tartelet med fyld"
osv...

'pris
forret(1,0) = 15
forret(1,1) = 12
osv...

eller?

evt en der har et link til en god side hvor man kan lære at benytte arrays, har været rundt på et par stykker men syntes ikke de var så gode.



men det jeg mangler er alle retter og priser gemt i et array.

når en ret vælges hives teksten frem og vises i oversigten (textbox) samt at prisen hives frem og ligges til værdien i variablen "pris"

nogle gode forslag på løsning af problemet? er array evt ikke den bedste løsning?






Indlæg senest redigeret d. 03.08.2008 21:32 af Bruger #14049
4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
du kan tilføje en combobox mere
og så skriv

combo2.visible = false
Combo2.listindex = Combo1.listindex
Text6.Text = Combo2.Text & " kr."

som en nødløsning

:-)

mvh.jsh



Indlæg senest redigeret d. 11.08.2008 19:04 af Bruger #10268
jeg har nu lavet mit array i Form_Load.

er erklæret således:

Dim forret(0 To 1, 0 To 9) As String
'forreter
forret(0, 0) = "Stor tartelet med høns i asparges"
forret(0, 1) = "Stor tartelet med rejer i asparges og fiskeboller"
forret(0, 2) = "Varmrøget laks med røræg & grønne asparges"
forret(0, 3) = "Lakseroulade på krølsalat"
forret(0, 4) = "Røget ørred med flødestuvet spinat"
forret(0, 5) = "Tun musé med citron og flutes"
forret(0, 6) = "Hønsesalat på ananasring med flutes"
forret(0, 7) = "Laksepate med røget laks, dressing og flutes"
forret(0, 8) = "Fiskefad med dampet laks, rejer, asparges, flutes og dressing"
forret(0, 9) = "Røget okseinderlår med vindrue pickles"
'pris
forret(1, 0) = 30
forret(1, 1) = 0
forret(1, 2) = 37
forret(1, 3) = 38
forret(1, 4) = 30
forret(1, 5) = 25
forret(1, 6) = 30
forret(1, 7) = 40
forret(1, 8) = 35
forret(1, 9) = 30

'forreter indsættes i combobox
Dim i As Integer
For i = 0 To 9 Step 1
Combo2.AddItem forret(0, i)
Next i


her vil jeg så når man klikker på en tager man index nummeret til linien man klikker på og denne henter så en værdi i array'et.

men når man trykker så markere den "forret" og skriver "compile error" "expected array"

Public Sub Combo2_Click()

Dim valgt_forret As Integer
valgt_forret = Combo2.ListIndex
Text4.Text = Text4.Text + forret(0, valgt_forret) + vbNewLine


Text6.Text = pris + "kr."
End Sub


kan man ikke erklærer et array i en sub og hente data fra det i et andet.

har prøvet og erklære variablen forret i "generel" men der må jeg ikke.

har prøvet at lave arrayet i sin egen private funktion og så hente den ind de steder der skal hentes data fra array, men så melder den også fejl...


hvordan laver man et array man kan hente data fra i hele programmet?

bonus spørgsmål:
i den løkke der ligger forreterne i comboboxen har jeg sagt den skal køre fra 0-9. men der kan komme flere på så ville hellere bruge kommandien upbound, men så tæller den kun til 2, som der´er i den første del af arrayet, hvordan fortæller man den skal tælle anden række og ikke første?







eller

Dim x As Integer
x = Combo1.listindex
Text6.Text = forret(1, x) & " kr."

det er mit bedste bud





Indlæg senest redigeret d. 11.08.2008 19:40 af Bruger #10268
t