Seite 1 von 1

LinkdLists Bug???

Verfasst: 27.02.2005 16:56
von AndyX
Hallo,

ich hab einen Code. Der will nicht ganz so das machen, was er soll. Ich schreib nämlich Autos in eine LL. Wenn ich das nachher auslesen will, sind manche Elemente mehrmals drin und im Durcheinander. Ist das ein Käfer in PB, oder hab ich da gepfuscht?

Hier der Code:

Code: Alles auswählen

; Structuren, Listen, Enumerations und ein paar Variablen... :D

Enumeration
 #Button1
 #Button2
 #Button3
EndEnumeration

Structure Cars
 Name.s
 Color.s
 PS.w
 Price.l
EndStructure

NewList Autoausstellung.Cars()

NameAusst.s = InputRequester("Neue Autoaustellung","Wie soll ihre Autoausstellung heißen?","")
Budget.l = Val(InputRequester(NameAusst,"Wie viel Geld wollen sie zur Verfügung stellen?","100000"))
Cars.s = ""
Quit.b

; Das Fenster aufmachen ( Frischluft... :D ) und Gadgets reintun...

If OpenWindow(window,0,0,200,190,#PB_Window_ScreenCentered | #PB_Window_SystemMenu,NameAusst)
 CreateGadgetList(WindowID(window))
 ButtonGadget(#Button1,10,10,180,50,"Neues Auto")
 ButtonGadget(#Button2,10,70,180,50,"Alle Autos anzeigen")
 ButtonGadget(#Button3,10,130,180,50,"Autoliste löschen")
 
 
 ;Hauptschleife...
 
 Repeat
  EventID.l = WaitWindowEvent()
  
  If EventID = #PB_Event_CloseWindow
   Quit = 1
  ElseIf EventID.l = #PB_Event_Gadget
   GadgetID.l = EventGadgetID()
   If GadgetID = #Button1
    AddElement(Autoausstellung())
    Autoausstellung()\Name = InputRequester("Neues Auto","Welchen Namen hat es?","")
    Autoausstellung()\Color = InputRequester("Neues Auto","Welche Farbe hat es?","")
    Autoausstellung()\PS = Val(InputRequester("Neues Auto","Wie viel PS hat es?",""))
    Autoausstellung()\Price = Val(InputRequester("Neues Auto","Wie viel kostet es?",""))
    If Budget < Autoausstellung()\Price
     DeleteElement(Autoausstellung())
     MessageRequester("Zu wenig Geld","Das Auto ist zu teuer für Ihr Budget! Es wird entfernt.",0)
    Else
     Budget - Autoausstellung()\Price
    EndIf
   ElseIf GadgetID = #Button2
    ForEach Autoausstellung()
     Cars + Autoausstellung()\Name : Cars + ", " : Cars + Autoausstellung()\Color : Cars + ", "
     Cars + Str(Autoausstellung()\PS) : Cars + " PS, " : Cars + Str(Autoausstellung()\Price) : Cars + " Euro."
     Cars + Chr(13)
    Next
    MessageRequester("Autos",Cars,0)
   ElseIf GadgetID = #Button3
    ClearList(Autoausstellung())
   EndIf
  EndIf

 Until Quit = 1

Else
 MessageRequester("Fehler","Konnte Fenster nicht öffnen! "+NameAusst+" wird sich jetzt beenden!",0)
EndIf
Mfg,
AndyX

Verfasst: 27.02.2005 17:52
von Mischa
Ja, hast gepfuscht. :wink:

cars = "" sollte Abhilfe schaffen.


Gruß,
Mischa

Verfasst: 28.02.2005 13:39
von AndyX
:mrgreen: Ich bin so blöd... Hätte mir auch selber einfallen können... :lol: :lol: :lol: Danke trotzdem. :mrgreen:

Mfg,
AndyX