Listbox eintrag über Button verändern
Übersicht

SchoppyBetreff: Listbox eintrag über Button verändern |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
hab da nen kleines Problem mit meinem Code, eigentlich fehlt mir nur die lösung wie ich einen Eintrag der in einer Listbox steht ansprechen und dadurch verändern kann, dass ganze über nen Button. Hier mal meinen Code: Code: [AUSKLAPPEN] Global geld=5000 ;--------------------------- Dim produktion_haeuser$(0) Dim produktion_bauzeit_haeuser%(0) Dim produktion_haeuser_kosten%(0) ;--------------------------- Dim produktion_fabriken$(0) Dim produktion_bauzeit_fabriken%(0) Dim produktion_fabriken_kosten%(0) ;----------------------------------- window=CreateWindow("Window",100,100,300,300,0) LB=CreateListBox(10,10,200,50,window) geld_haben = CreateLabel(geld,250,8,50,13,window,0) SetGadgetLayout geld_haben ,1,0,1,0 haus_bauen_button = CreateButton("haus bauen",10,90,100,20,window,0) fabrik_bauen_button = CreateButton("fabrik bauen",10,120,100,20,window,0) Runde_ende=CreateButton("Runde Beenden",10,200,100,20,window,0) Repeat Select WaitEvent() Case $401 ;------------------------------------------Haus Bauen If EventSource()=haus_bauen_button Then produktion_haeuser$(0)= "Reihenhaus" produktion_bauzeit_haeuser%(0)= 5 produktion_haeuser_kosten%(0) = 200 AddGadgetItem LB,produktion_haeuser$(0) +" noch: " + produktion_bauzeit_haeuser%(0) + " Monate" ;berechnung und aktualisierung der kosten kosten = produktion_haeuser_kosten%(0) berechnetes_geld= geld - kosten ;geld aktualisieren geld = berechnetes_geld SetGadgetText geld_haben,geld EndIf ;-----------------------------------------Fabrik bauen If EventSource()=fabrik_bauen_button Then produktion_fabriken$(0) = "Wollfabrik" produktion_bauzeit_fabriken%(0) = 8 produktion_fabriken_kosten%(0) = 100 AddGadgetItem LB,produktion_fabriken$(0) +" noch: " + produktion_bauzeit_fabriken%(0) + " Monate" ;berechnung und aktualisierung der kosten kosten = produktion_fabriken_kosten%(0) berechnetes_geld= geld - kosten ;geld aktualisieren geld = berechnetes_geld SetGadgetText geld_haben,geld EndIf ;------------------------------------------Runde Beenden If EventSource()=Runde_ende Then ;Berechnung der Zeit berechnung=produktion_bauzeit_haeuser%(0) neue_zeit=berechnung - 1 produktion_bauzeit_haeuser%(0) = neue_zeit RemoveGadgetItem LB, produktion_haeuser$(0) RemoveGadgetItem LB, produktion_fabriken$(0) AddGadgetItem LB,produktion_haeuser$(0) +" noch: " + produktion_bauzeit_haeuser%(0) + " Monate" AddGadgetItem LB,produktion_fabriken$(0) +" noch: " + produktion_bauzeit_fabriken%(0) + " Monate" EndIf ;----------------------------------------------------- End Select If WaitEvent()=$803 Then End Forever Jetzt möchte ich es erreichen das wenn ich den Button "Runde Beenden" drücke, bei den Einträgen in der LB der "monats" wert jeweils um 1 verringert. Wie kann ich dass Gadget ansprechen ??? Hat vielleicht jemand nen Code ? Danke für euere Hilfe !!! |
||
NetPad |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmm...irgendwie stimmt da etwas noch nicht. erkläre einmal, was das programm schlussendlich machen soll. momentan "verschwinden" manche gebäude noch.
falls dein problem ist, dass bloss die häuser und nicht die fabriken monate "verlieren" liegt das daran, dass bloss die häuser_monate verringert werden --> Code: [AUSKLAPPEN] ;Berechnung der Zeit berechnung=produktion_bauzeit_haeuser%(0) neue_zeit=berechnung - 1 produktion_bauzeit_haeuser%(0) = neue_zeit hier sollten auch die fabriken stehen: Code: [AUSKLAPPEN] ;Berechnung der Zeit berechnung=produktion_bauzeit_haeuser%(0) neue_zeit=berechnung - 1 produktion_bauzeit_haeuser%(0) = neue_zeit berechnung=produktion_bauzeit_fabriken%(0) neue_zeit=berechnung - 1 produktion_bauzeit_fabriken%(0) = neue_zeit hier ist auch noch etwas seltsam, wiso du immer die arrays mit dem index 0 nimmst. ich hoffe ich habe dein problem richtig verstanden. grs NP |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group