Hier noch einmal ein Auszug des Programmcodes. Läßt sich compilieren und ausführen. Ins Subfenster mit Menupunkt Numerische Auswertung -->Auswertung006. Rückkehr ins Hauptfenster mit Button "Beenden".
--> Subfenster lässt sich über "Beenden" nicht mehr schließen.
(ca. 450 Zeilen Code und dazugehörige Dateien). Das Gesamtprojekt ca. 10.000 Zeilen ist bereits unter VBA6 realisiert). Ich möchte es auf Purebasic portieren.
Code: Alles auswählen
;Hier ist der code
;- Hauptfenster mit Menu
If OpenWindow(0, 200, 200, 1000, 750, "Lotto 2006", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_ScreenCentered)
SetWindowColor(0,$E0FFFF)
If CreateMenu(0, WindowID(0))
MenuTitle("&System")
MenuItem( 1, "Samstagslotto")
MenuTitle("&Numerische Auswertung")
MenuItem(21, "Auswertung006 -> Drucker")
MenuItem(22, "Auswertung007 -> Drucker")
EndIf
;- Startbildschirm
If CreateGadgetList(WindowID(0))
Date$ = FormatDate("%dd.%mm.%yyyy", Date())
TextGadget(2, 680, 80, 250,25, "Lotto 2006 Stand: "+Date$)
TextGadget(2, 680, 80, 250,25, "Lotto 2006 Stand: "+Date$)
TextGadget(3, 680, 155, 200,25, "Keine Daten Geladen...")
TextGadget(4, 680, 230, 200,25, "Anzahl Ziehungen...")
TextGadget(5, 680, 260, 200,25, "Erste Ziehung...")
TextGadget(6, 680, 290, 200,25, "Letzte Ziehung...")
TextGadget(7, 680, 440, 200,25, "Version 1.2 - 21.08.2006")
ButtonGadget(101, 680, 610, 120, 40, "Samstagslotto")
ButtonGadget(102, 820, 610, 120, 40, "Mittwochslotto")
ListIconGadget(1, 60, 70, 590, 590,"Nr", 65, #PB_ListIcon_GridLines | #PB_Gadget_FrontColor)
AddGadgetColumn(1, 1, "Datum", 85)
EndIf
;- Auswertung MENU oder Schalter
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget() ; Schalter auswählen
Case 101
;Gosub Samstagslotto ; Samstagslotto
Case 102
;Gosub Mittwochslotto ; Mittwochslotto
EndSelect
Case #PB_Event_Menu ; Menupunkt auswählen
Select EventMenu()
Case 1 ; Samstagslotto
;Gosub Samstagslotto
Case 21
Gosub Auswertung006 ;Auswertung 006 -> Drucker
;***** Hier wird ein SUB-Fenster eröffnet ****
EndSelect
Case #PB_Event_CloseWindow
Quit=1
EndSelect
Until Quit=1
EndIf
End
;- Subroutine Auswertung aller Zahlen (006) => Drucker
Auswertung006:
HideWindow(0,1)
If OpenWindow(1, 200, 200, 950, 700, Titel.s ,#PB_Window_MinimizeGadget ,0 )
If CreateGadgetList(WindowID(1))
Date$ = FormatDate("%dd.%mm.%yyyy", Date())
TextGadget(2, 450, 30, 300,25, "Lotto 2006 Stand: "+Date$)
ButtonGadget(105, 450, 600, 100, 30, "Beenden")
ListIconGadget(1, 30, 30, 345, 600,"Kombination", 100,#PB_ListIcon_GridLines | #PB_Gadget_FrontColor)
AddGadgetColumn(1, 1, "1. Zahl", 60)
AddGadgetColumn(1, 2, "2. Zahl", 60)
AddGadgetColumn(1, 3, "3. Zahl", 60)
AddGadgetColumn(1, 4, "x. Zahl", 60)
EndIf
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 105 ; Beenden
CloseWindow(1):ende=1
HideWindow(0,0)
EndSelect
Case #PB_Event_CloseWindow
CloseWindow(1):ende=1
HideWindow(0,0)
EndSelect
Until ende=1
Return