Listbox eintrag über Button verändern

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

 

Schoppy

Betreff: Listbox eintrag über Button verändern

BeitragDo, Jan 27, 2005 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Feb 04, 2005 20:08
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group