03. marts 2005 - 08:33Der er
8 kommentarer og 3 løsninger
variabel nummer
jeg har et lille spil jeg er ved at lave i skolen, men jeg bruger den samme lange kode mange steder, den eneste forskel er variablen der bruges har et forskellige nummer.
begin if listbox2.Items.Strings[ListBox2.ItemIndex]=aktie1_til_salg then begin //lisbox2 opdateres aktie1_antal_stk_til_salg:=aktie1_antal_stk_til_salg-antal_kbt; aktie1_til_salg:= aktie1_navn+':' +inttostr(aktie1_vrdi)+'kr, ' +inttostr(aktie1_antal_stk_til_salg)+'stk'; listbox2.Items.strings[ListBox2.ItemIndex]:=aktie1_til_salg;
osv...
kan man ikke gøre så variablen hedder aktie[nummer]....
så i starten
if listbox2.Items.Strings[ListBox2.ItemIndex]=aktie1_til_salg then nummer:=1
og så vælger den aktie1.....
if listbox2.Items.Strings[ListBox2.ItemIndex]=aktie2_til_salg then nummer:=2
osv..
så jeg kan benytte den samme kode heletiden og programmet selv finder ud af hvilket nummer den skal bruge?
with ListBox2, Listbox2.Items do begin if Strings[ItemIndex]=aktie1_til_salg then begin //lisbox2 opdateres aktie1_antal_stk_til_salg:=aktie1_antal_stk_til_salg-antal_kbt; aktie1_til_salg:= aktie1_navn+':' +inttostr(aktie1_vrdi)+'kr, ' +inttostr(aktie1_antal_stk_til_salg)+'stk'; osv..
Det du efterlyser hedder arrays. var aktie: array [1..10] of integer; i: Integer; begin // initier array for i := 1 to 10 do aktie[i] := 0; // optæl aktie[1] := aktie[1] + antal; aktie[5] := aktie[5] - antal; osv.
tror at du vil få bedste resultat hvis du vælger at lave et object så evt variabler du har, kan blive blive brugt fra listbox.objects. Så bliver det dynamisc frem for det du har gang i nu.
@tolderlund på den måde der skal man da selv sætte nummer efter hver variabel alligevel? eller mig der har misforstået noget?
@martinlind er ikke lige med på hvad du mener der... når jeg så har alle aktierne i den liste, men hver "aktie" har 6 variabler der bruges til at styre forskellige ting.
Prøv at kigge på mit eksempel igen. Om man skriver aktie[1] := aktie[1] + antal; eller nummer := 1; aktie[nummer] := aktie[nummer] + antal; gør ingen forskel. Det virker som om at du ikke ved hvad arrays (tabeller) er. Er du nybegynder i programmering?
jeg vil undgå at skrive 1 ud for aktie da det lige så godt ku vælre aktie 3 jeg sku bruge. derfor nummer som så ku erstattes af et givent tak der blive defineret alt efter hvilken aktie der bliver valgt
i får point som tak for i prøvede at løs mit problem.
har dog stadig samme problem men må bare skrive 984234 linier kode istet for 10 :(
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.