Liste kann man nicht mackiren

Anfängerfragen zum Programmieren mit PureBasic.
pjanfred
Beiträge: 130
Registriert: 01.03.2006 15:41
Wohnort: Dortmund
Kontaktdaten:

Beitrag von pjanfred »

Hallo ich werde das Programm nocheinmal von vorne schreiben.
____________________

:allright: :allright:
Benutzeravatar
DataMiner
Beiträge: 220
Registriert: 10.10.2004 18:56

Beitrag von DataMiner »

Wie wäre es, wenn du einfach mal schreibst was dein Programm machen soll.
Auch der Aufbau und Inhalt deiner Preference-Datei, die hier ausgewertet wird.
__________________________________________
Weniger glauben - mehr wissen!
------------------------------------------------------
Proud beneficial owner of SpiderBasic, PureBasic 3.x, 4.x, 5.x and PureVisionXP
pjanfred
Beiträge: 130
Registriert: 01.03.2006 15:41
Wohnort: Dortmund
Kontaktdaten:

Beitrag von pjanfred »

Ich sag nur soviel es ist ein Verwaltungsprogramm für Lehrer
Ich habs nocheinmal neu Strucktorirt geht aber noch nicht perfekt:

Code: Alles auswählen

;-Enumeration
Enumeration
  #Fenster_1 ;Fenster
  ;Menue-Datei:
  #Menue 
  #Menue_
  #Menue_Laden
  #Menue_Speichern
  #Menue_Sichern

  #Menue_Beenden
  ;Menue-Klassenarbeit
  #Menue_Noten_Hinzufuegen
  ;Menue-Schüler
  #Menue_Schueler_Hinzufuegen
  #Menue_Schueler_Loeschen
  #Menue_Schueler_Berarbeitungsmenue
  ;Menue-Drucken
  #Menue_Aktuelle_Liste_Drucken
  #Menue_Aktuelle_Liste_Drucken_mit_Bemerkung
  #Menue_Aktuelle_Liste_Drucken_mit_Ueberschrift
  #Menue_Aktuelle_Liste_Drucken_mit_beidem
  ;Menue-Ende
  ;Gadget-Liste
  #Verwaltungsliste
  #Name
  #Text_Name
  #Bemerkung
  #Text_Bemerkung
  #Note_Muendlich_1
  #Note_Muendlich_2
  #Note_Muendlich_3
  #Note_Muendlich_4
  #Note_Muendlich_5
  #Note_Muendlich_6
  #Text_Note_Muendlich
  #Note_schriftlich_1
  #Note_schriftlich_2
  #Note_schriftlich_3
  #Note_schriftlich_4
  #Note_schriftlich_5
  #Note_schriftlich_6
  #Text_Note_schriftlich
  ;Laden
  #Laden_Fach
  #Laden_Klasse
  #Laden_Laden
  #Laden_Neue_Klasse
  #Laden_Klasse_Umbennernen
  #Laden_Neues_Fach
  #Laden_Fach_Umbenennen
  #Laden_Fach_Loeschen
  #Laden_Klasse_Loeschen
  ;Zusatzmenü
  #Zusatz_Schueler_Hinzufuegen
  #Zusatz_Schueler_Loeschen
  #Zusatz_Einfaren
EndEnumeration
;-Variablen
Fachselek.s=""
Dim Fach.s(1000)
Dim Klasse.s(1000)
;-OpenPreferences
OpenPreferences("Fach.txt")
Repeat
  Anzahl+1
  Fach(Anzahl)=ReadPreferenceString("Fach"+Str(Anzahl),"")

Until Fach(Anzahl)="" 
ClosePreferences() 
;-OpenWindows
If OpenWindow(#Fenster_1,0,0,700,330,#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget  , "Schülerverwalter 1.1")
  ;-Menue
  If CreateMenu(#Menue,WindowID())
    MenuTitle("Datei")
      MenuItem(#Menue_Laden,"Laden")
      MenuItem(#Menue_Speichern,"Speichern")
      MenuItem(#Menue_Sichern,"Sichern")
      MenuBar()
      MenuItem(#Menue_Beenden,"Beenden")
    MenuTitle("Klassenarbeit")
    MenuItem(#Menue_Noten_Hinzufuegen,"Noten Hinzufügen")
    MenuTitle("Schüler")
    MenuItem(#Menue_Schueler_Hinzufuegen,"Hinzufügen")
    MenuItem(#Menue_Schueler_Loeschen,"Löschen")
    MenuItem(#Menue_Schueler_Berarbeitungsmenue,"Berarbeitungsmenu öffnen")
    MenuTitle("Drucken")
      MenuItem(#Menue_Aktuelle_Liste_Drucken,"Aktuelle Liste")
      MenuItem(#Menue_Aktuelle_Liste_Drucken_mit_Bemerkung,"mit Bemerkung")
      MenuItem(#Menue_Aktuelle_Liste_Drucken_mit_Ueberschrift,"mit Überschrift")
      MenuItem(#Menue_Aktuelle_Liste_Drucken_mit_beidem,"mit Beiden")
    EndIf
  ;-GadgetList
  CreateGadgetList(WindowID(#Fenster_1))
  ;--Verwaltungsliste
  ListIconGadget(#Verwaltungsliste,0,0,WindowWidth(),250,"Name",150)
  TextGadget(#Text_Name,0,252,100,20,"Name:")
  StringGadget(#Name,0,270,101,20,"")
  TextGadget(#Text_Bemerkung,100,252,100,20,"Bemerkung:")
  StringGadget(#Bemerkung,100,270,101,20,"")
  TextGadget(#Text_Note_Muendlich,200,252,100,20,"Note Mündlich:")
  StringGadget(#Note_Muendlich_1,200,270,21,20,"")
  StringGadget(#Note_Muendlich_2,220,270,21,20,"")
  StringGadget(#Note_Muendlich_3,240,270,21,20,"")
  StringGadget(#Note_Muendlich_4,260,270,21,20,"")
  StringGadget(#Note_Muendlich_5,280,270,21,20,"")
  StringGadget(#Note_Muendlich_6,300,270,21,20,"")
  TextGadget(#Text_Note_schriftlich,320,252,100,20,"Note Schriftlich:")
  StringGadget(#Note_schriftlich_1,321,270,21,20,"")
  StringGadget(#Note_schriftlich_2,341,270,21,20,"")
  StringGadget(#Note_schriftlich_3,361,270,21,20,"")
  StringGadget(#Note_schriftlich_4,381,270,21,20,"")
  StringGadget(#Note_schriftlich_5,401,270,21,20,"")
  StringGadget(#Note_schriftlich_6,421,270,21,20,"")
  DateGadget(500,600,270,100,20)
  ListViewGadget(#Laden_Fach,1,330,300,279)
  ListViewGadget(#Laden_Klasse,300,330,300,279)
  ;-Fach Laden
  ButtonGadget(#Laden_Laden,600,330,100,25,"Laden")
  ButtonGadget(#Laden_Neue_Klasse,600,370,100,25,"Neue Klasse")
  ButtonGadget(#Laden_Klasse_Umbennernen,600,410,100,25,"Klasse Umbenenen")
  ButtonGadget(#Laden_Klasse_Loeschen,600,450,100,25,"Klasse Löschen")
  ButtonGadget(#Laden_Neues_Fach,600,490,100,25,"Neues Fach")
  ButtonGadget(#Laden_Fach_Umbenennen,600,530,100,25,"Fach Umbenenen")
  ButtonGadget(#Laden_Fach_Loeschen,600,570,100,25,"Fach Löschen")
  ;-Schüler Verwaltung
  ButtonGadget(#Zusatz_Schueler_Hinzufuegen,WindowWidth(),50,100,25,"Schüler Hinzufügen")
  ButtonGadget(#Zusatz_Schueler_Loeschen,WindowWidth(),100,100,25,"Schüler Löschen")
 ButtonGadget(#Zusatz_Einfaren,WindowWidth(),150,100,25,"<<Einfaren<<")
    
;-Schüler Liste erstellen
AddGadgetColumn(#Verwaltungsliste,1,"Bemerkung",200)
    For i.w = 2 To 7
      AddGadgetColumn(#Verwaltungsliste,Str(i),Str(i-1),25) 
    Next
    AddGadgetColumn(#Verwaltungsliste,Str(i),"",20) 
    For i.w = 9 To 14
      AddGadgetColumn(#Verwaltungsliste,Str(i),Str(i-8),25) 
    Next
    For i.w = 1 To Anzahl-1
      AddGadgetItem(#Laden_Fach,-1,Fach(i))
    Next
    SetGadgetState(#Laden_Neues_Fach,1)
    Repeat
    WindowEventID=WaitWindowEvent()
    ;-Windows Menuü
    Select WindowEventID
      
      Case #PB_Event_Menu
        
        Select EventMenuID()  ; To see which menu has been selected
          Case #Menue_Laden
            HideMenu(#Menue_Laden,1)
            If Zahl_Y < 1
              If Zahl_X>0
                
              Repeat
                
                Zahl_X-1
                ResizeWindow(WindowWidth()-2,WindowHeight())
                MoveWindow(WindowX()+1,WindowY())
                Gosub Windowsimbereich
                
              Until Zahl_X<0
            EndIf
            Repeat
              Zahl_Y+1
              ResizeWindow(WindowWidth(),WindowHeight()+2)
              MoveWindow(WindowX(),WindowY()-1)
              Gosub Windowsimbereich
            Until Zahl_Y=150
          Else
            
            Repeat
              Zahl_Y+1
              ResizeWindow(WindowWidth(),WindowHeight()+2)
              MoveWindow(WindowX(),WindowY()-1)
              
            Until Zahl_Y=170
            Repeat
              Delay(1)
              Zahl_Y-1
              ResizeWindow(WindowWidth(),WindowHeight()-2)
              MoveWindow(WindowX(),WindowY()+1)
              Gosub Windowsimbereich
            Until Zahl_Y=150
            EndIf
          Case #Menue_Speichern
          Case #Menue_Sichern
        
            
          Case #Menue_Beenden
            Quit=1
            
          Case #Menue_Schueler_Berarbeitungsmenue
            If Zahl_Y > 149
              Repeat
                Delay(1)
                Zahl_Y-1
                ResizeWindow(700,WindowHeight()-2)
                MoveWindow(WindowX(),WindowY()+1)
                Gosub Windowsimbereich
              Until Zahl_Y=0
              
            EndIf
            If Zahl_X<50
            Repeat
              
              Zahl_X+1
              ResizeWindow(WindowWidth()+2,WindowHeight())
              MoveWindow(WindowX()-1,WindowY())
              Gosub Windowsimbereich
            
          Until Zahl_X>50
        EndIf
        EndSelect
        
      Case #PB_Event_CloseWindow
        
        Quit = 1
        
        
        
    EndSelect
    ;-Windows Gadget
    If WindowEventID = #PB_Event_Gadget
      
      Select EventGadgetID()
        Case #Laden_Laden
          If Zahl_Y > 149
            Repeat
              Delay(1)
              Zahl_Y-1
              ResizeWindow(700,WindowHeight()-2)
              MoveWindow(WindowX(),WindowY()+1)
              Gosub Windowsimbereich
            Until Zahl_Y=0
          EndIf
        Case #Zusatz_Einfaren
          If Zahl_X>0
            
            Repeat
              Delay(1)
              Zahl_X-1
              ResizeWindow(WindowWidth()-2,WindowHeight())
              MoveWindow(WindowX()+1,WindowY())
              Gosub Windowsimbereich
              
            Until Zahl_X<0
          
          EndIf
        Case #Laden_Neues_Fach  

          
      EndSelect
      
    EndIf
    ;-Abfragen
    
    If Winber=1
      Gosub Windowsimbereich
    EndIf
    If GetGadgetState(#Laden_Fach)>-1 And Fachselek<>GetGadgetText(#Laden_Fach)
      
      
      AnzahlFach.w=0
      Fachselek=GetGadgetText(#Laden_Fach)
      OpenPreferences(GetGadgetText(#Laden_Fach)+".txt")
      
      Repeat
       
        AnzahlFach+1
        Klasse(AnzahlFach)=ReadPreferenceString("Klasse"+Str(AnzahlFach),"")
        
       
      Until Klasse(AnzahlFach-1)="" And AnzahlFach>1
      ClosePreferences()
      ClearGadgetItemList(#Laden_Klasse)
      For i.w = 1 To AnzahlFach-2
        AddGadgetItem(#Laden_Klasse,-1,Klasse(i))
      Next
    EndIf
  Until Quit=1
  Repeat
    Delay(1)
    MoveWindow(WindowX(),WindowY()+2)
  Until WindowX()>1024 Or WindowY()>768

  
EndIf

End 
;-Gosub
Windowsimbereich:
    Winber=0
If  WindowX()>1020-WindowWidth() 
      MoveWindow(WindowX()-1,WindowY())
     Winber=1 
    EndIf
    If  WindowX()<0
      MoveWindow(WindowX()+1,WindowY())
      Winber=1
    EndIf
    If  WindowY()>700-WindowHeight() 
      MoveWindow(WindowX(),WindowY()-1)
      Winber=1
    EndIf
    If  WindowY()<0
      MoveWindow(WindowX(),WindowY()+1)
      Winber=1
    EndIf 
    Return
 
    
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

is dir nich klar, dass das nicht unbedingt genug prog-beschreibung
und fehlerbeschreibung ist, um dir wirklich helfen zu können?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
DataMiner
Beiträge: 220
Registriert: 10.10.2004 18:56

Beitrag von DataMiner »

Zum einen - das perfekte Programm gibt es nicht,
zum anderen - WAS funktioniert hier nicht???
__________________________________________
Weniger glauben - mehr wissen!
------------------------------------------------------
Proud beneficial owner of SpiderBasic, PureBasic 3.x, 4.x, 5.x and PureVisionXP
pjanfred
Beiträge: 130
Registriert: 01.03.2006 15:41
Wohnort: Dortmund
Kontaktdaten:

Beitrag von pjanfred »

Nach meiner neuen Strucktur gibt es kein Problem mehr.
Benutzeravatar
DataMiner
Beiträge: 220
Registriert: 10.10.2004 18:56

Beitrag von DataMiner »

Nach meiner neuen Strucktur gibt es kein Problem mehr.
Sag mal, ist das hier ein verspäteter Aprilscherz???

/:->
__________________________________________
Weniger glauben - mehr wissen!
------------------------------------------------------
Proud beneficial owner of SpiderBasic, PureBasic 3.x, 4.x, 5.x and PureVisionXP
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Wenn ja :allright:
Wenn nein *ROFL*
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
pjanfred
Beiträge: 130
Registriert: 01.03.2006 15:41
Wohnort: Dortmund
Kontaktdaten:

Beitrag von pjanfred »

pjanfred hat geschrieben:Hallo ich werde das Programm nocheinmal von vorne schreiben.
____________________

:allright: :allright:
Nein ich habe in disem Beitrag geschriben das ich das Programm nocheinmaln neu Coden werde.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Häh? :freak:
Anfängerbereich hin oder her, aber sowas ist mir noch nicht untergekommen :lol:
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Antworten