
Listviewgadget mit Listicongadget verbinden?
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
Ma ne ganz dumme Frage (schlagt mich bitte nicht): Warum willst du da morikus was neues Programmieren? Warum nimmst du nicht einfach ne Tabellenkalkulation oder ein Datenbankprogramm für den Job (neuerdings ist ja bei OpenOffice "out-of-the-Box" anscheinend auch ne recht brauchabre Stand-Alone-Datenbank dabei). Die Tatsache, dass man das Rad neu erfinden *könnte*, bedeutet ja nicht, das man nicht auch ein bestehendes Rad verwenden könnte... 

OpenOffice.org Base 
Nun war ich fast schon soweit, dass ich meinen Code posten konnte und dann kommst du. Kannst einem aber auch jeden Spaß verderben
Naja, sie hat noch ein zwei Fehler, werd ins Bett.
Aber ist einfach, übersichtlich und verständlich. Kann nicht viel, aber hier schon mal eine fehlerhafte Version:

Nun war ich fast schon soweit, dass ich meinen Code posten konnte und dann kommst du. Kannst einem aber auch jeden Spaß verderben

Naja, sie hat noch ein zwei Fehler, werd ins Bett.
Aber ist einfach, übersichtlich und verständlich. Kann nicht viel, aber hier schon mal eine fehlerhafte Version:
Code: Alles auswählen
Enumeration
#MainWin
EndEnumeration
If OpenWindow(#MainWin, 0, 0, 420, 420, "Liste", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
ListIconGadget(2, 10, 280, 400, 130, "Kunde",200,#PB_ListIcon_FullRowSelect|#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
SetGadgetData(2,0) ; Anzahl der Spalten
ListIconGadget(3, 10, 20, 150, 130, "Anzahl",50,#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(3,1,"ID",60)
ListIconGadget(4, 235,5, 170, 110, "Bez.",70,#PB_ListIcon_FullRowSelect|#PB_ListIcon_MultiSelect|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(4,1,"ID",30)
AddGadgetColumn(4,2,"Preis",40)
StringGadget(21,10,250,200,20,"Name")
ButtonGadget(22,220,250,40,20,"\/")
SpinGadget( 31,180,50,40,20,0,100,#PB_Spin_Numeric)
SetGadgetState(31,1)
ButtonGadget( 32,180,70,40,20,"<--")
ButtonGadget( 33,170,100,20,20,"-")
ButtonGadget( 34,170,120,20,20,"+")
StringGadget(41,250,120,100,20,"Bezeichnung")
StringGadget(42,250,140,100,20,"ID001")
StringGadget(43,250,160,100,20,"76",#PB_String_Numeric) ; Preis in Cent
ButtonGadget( 44,360,120,30,60,"/\")
; ID, NAME, PREIS, Liter
Repeat
Event=WaitWindowEvent()
If GetActiveWindow()=#MainWin
If Event=#PB_Event_CloseWindow
Quit=1
EndIf
If Event=#PB_Event_Gadget
GadgetNr=EventGadget()
If GadgetNr=22 ; [ \/ ] fügt Kunden hinzu (Kunden mit gleichem Namen stehen einfach so in der Liste, ohne eindeutige Identifizierung!)
If GetGadgetText(21)<>"" ; oder schon mal vorhanden, müsste hier überprüft werden
AddGadgetItem(2,-1,GetGadgetText(21))
EndIf
EndIf
If GadgetNr=44 ; [ /\ ]
;If GetGadgetText(41) ... fügt auch leere Felder und falsch ausgefüllte hinzu
AddGadgetItem(4,-1,GetGadgetText(41)+Chr(10)+GetGadgetText(42)+Chr(10)+GetGadgetText(43))
EndIf
If GadgetNr=32 ; [<--]
If GetGadgetState(31)<>0 And GetGadgetState(4)<>-1 ; Liste der Ware
AddGadgetItem(3,-1,GetGadgetText(31)+Chr(10)+GetGadgetItemText(4,GetGadgetState(4),1))
Debug CountGadgetItems(3)
Debug GetGadgetData(2)
While GetGadgetData(2) < CountGadgetItems(3)*2
SetGadgetData(2,GetGadgetData(2)+2)
AddGadgetColumn(2,GetGadgetData(2),"Anz.",40)
AddGadgetColumn(2,GetGadgetData(2),"ID",40)
Wend
SetGadgetItemText(2,GetGadgetState(31),GetGadgetItemText(3,CountGadgetItems(3)-1,0),(CountGadgetItems(3)-1)*2+1)
SetGadgetItemText(2,GetGadgetState(31),GetGadgetItemText(3,CountGadgetItems(3)-1,1),(CountGadgetItems(3)-1)*2+2)
EndIf
EndIf
If GadgetNr=2 ; KundenAuswahl
;If GetGadgetState(2)>-1
ClearGadgetItemList(3) ; Liste mit gekauften Getränken wird geleert
If GetGadgetData(2)>1
For i=1 To GetGadgetData(2); /2
AddGadgetItem(3,-1,GetGadgetItemText(2,GetGadgetState(2),i))
Next
EndIf
;EndIf
EndIf
EndIf
EndIf
Until Quit
EndIf
CloseWindow(0)
Kinder an die Macht http://scratch.mit.edu/
Danke für die Initative Xaby, werde mal schauen, was sich daraus machen lässt.
@hardfalcon
falls du meinen ersten Post gelesen hast, ich habe PB erst seit einigen Tagen und um mich einzuarbeiten erstelle ich halt ein paar Programme, die es vlt. auch schon zu Hauf gibt, aber es heist ja 'learning by doing', also mache ich es auch so.
@hardfalcon
falls du meinen ersten Post gelesen hast, ich habe PB erst seit einigen Tagen und um mich einzuarbeiten erstelle ich halt ein paar Programme, die es vlt. auch schon zu Hauf gibt, aber es heist ja 'learning by doing', also mache ich es auch so.
PB 4.02, BB3D 1.98
Woran erkannt man einen Basic Programmierer?
-Er drückt beim absenden einer Nachricht F5, muahahaha!!!
Woran erkannt man einen Basic Programmierer?
-Er drückt beim absenden einer Nachricht F5, muahahaha!!!