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 !!![/code] |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
Also ich glaube ich habe eine Lösung für dein Problem. Also ich würde sagen als erstes muss du alle einträge zählen damit du die nummern der einträger erfährst. Dan speicherst du die Zahl ab wie viele Einträge es gibt. Danach muss du nur noch mit GADGETITEMTEXT den Text von jedem Eintrag lesen und wieder verändern. Als code würde das dan so aussehen. Code: [AUSKLAPPEN] zaehler = COUNTGADGETITEMS(LB) for x = 0 to zaehler txt = GADGETITEMTEXT(LB, x) txt = txt + 1 if txt = 12 then txt = 1 MODIFYGADGETITEM LB, x, txt next So ich glaube das müsste klappen. ![]() PS: Ich habe auch noch ne funktion rein gemacht das du nicht über 12 Monate gehst. ![]() Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
Schoppy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
danke für deine Hilfe die Idee ist nicht schlecht, aber folgendes problem ergibt sich: In der Variable txt$ wird durch GADGETITEMTEXT die ausgabe die auch in er LB steht gespeichert. Durch den Befehl : txt$=txt$ + 1 wird hinten an der zeile einfach ne 1 angehängt. Gruss |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
Da hast du einen Fehler gemacht. Guck mal in meinen Text. Habe ich dort die variable txt als String deklaiert? Also mit $? ![]() Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group