Verfasst: 01.04.2006 07:28
Hallo ich werde das Programm nocheinmal von vorne schreiben.
____________________

____________________


Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
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
Sag mal, ist das hier ein verspäteter Aprilscherz???Nach meiner neuen Strucktur gibt es kein Problem mehr.
Nein ich habe in disem Beitrag geschriben das ich das Programm nocheinmaln neu Coden werde.pjanfred hat geschrieben:Hallo ich werde das Programm nocheinmal von vorne schreiben.
____________________
![]()