Probleme mit 64 Bit Version 5.22 LTS

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Stephan-X
Beiträge: 78
Registriert: 30.07.2008 16:02
Computerausstattung: PC 8 GB RAM NVIDIA Grafik 1 TB RAID // Ubuntu Mate 64 Bit // Pure 6.0 64
Wohnort: Oberösterreich

Probleme mit 64 Bit Version 5.22 LTS

Beitrag von Stephan-X »

Hallo im Forum, ich habe da eventuell nur eine kleinigkeit !
Ein neuer Rechner mit Ubuntu 14.10 x64 und Pure 5.22 LTS (64 bit). Habe den Ersten Source-code von meinem 32Bit Ubuntu 12... kopiert um diesen in x64 zu kompilieren !
Der Code läuft im Startfenster (1. Fenster nach Start) durch, doch sobald ich ein weiteres Fenster öffnen möchte (Button, Menü etc. erscheint folgender Fehler in der Procedure:
Ich bin Soweit dass dieser Fehler weg ist sobald ich den Butten_90 auf 0,0 (Oberste linke Ecke setze) dann wird die Seite Angezeigt, aber.....
sobald ich den Button Klicke um das nächste Fenster zu Öffnen erfolgt ein Abbruch

Zum Programm: Grundlage ist eine gemeinsame Enumerationsdatei und es gibt eine Hauptdatei (Sticky die Links hängt) und von der aus alle anderen Fenster gesteuert werden.
Jedes Fenster ist in der Definition eine eigene Datei : Leistung-Fenster.pb Der Programmlauf findet in der Hauptdatei statt mit Goto Befehl zum jeweiligen Fenster und wieder zurück.

Nun die dateien:
bau-enumeration.pb

Code: Alles auswählen

Enumeration
   ;   Fenster 1 ----------------------------
  #Window_0 : #Statusbar_0 : #MenuBar_0
  #Funk_3 : #Funk_4 : #Funk_Ret
  #String_0
  #Leistung
   ;   Fenster 2 ----------------------------
  #Window_1 : #Statusbar_1 : #MenuBar_1
  #rueck
EndEnumeration
Hauptdatei: bau-menue.pb

Code: Alles auswählen

IncludeFile  "/home/katrin_ap/Entwicklung/Baukalkulation/bau-enumeration.pb"
IncludeFile  "/home/katrin_ap/Entwicklung/Baukalkulation/bau-leistung.pb"

Procedure Open_Window_0()
If  OpenWindow(#Window_0,50,0,500,700," Leistungs Daten "+Chr(169)+" Fischer EDV  2010",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
      SetWindowColor(#Window_0,$D1D8D2) 
      AddKeyboardShortcut(#Window_0, #PB_Shortcut_F3, #Funk_3)
      AddKeyboardShortcut(#Window_0, #PB_Shortcut_F4, #Funk_4)
      AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, #Funk_Ret)

      ButtonGadget(#Leistung,40,100,120,25,"Leistungsverwaltung") 
EndIf
   
EndProcedure   ;Procedure Ende Fenster 1

;Fenster öffnen   (Procedure)
Open_Window_0()
start:
;   PROGRAMMSTART
Repeat
Event = WaitWindowEvent()

;Fenster neu Zeichnen
If Event = #PB_Event_Repaint
        StartDrawing(WindowOutput(#Window_0))
        StopDrawing()
EndIf

;- Menues
If Event = #PB_Event_Menu
     Select  EventMenu()
    EndSelect
EndIf

;- Eingabe Felder
If Event = #PB_Event_Gadget
     Select EventGadget()
     
          ;-Leistungsnummer
          Case #String_0
               If EventType() = #PB_EventType_Focus
               ElseIf EventType() = #PB_EventType_Change
               ElseIf EventType() = #PB_EventType_LostFocus
               EndIf
               
          Case #Leistung
	          Goto Fenster1
	          
          ;Infofenster Schliessen
          ;Case #Button_9500
               ;CloseWindow(#Window_9500)
          
          EndSelect
     EndIf
; Ende Buttonsteuerung
; --------------------------------------------------------
Until EventID = #PB_Event_CloseWindow
End

;-LEISTUNGS-FENSTER
Fenster1:
Open_Window_1()
Repeat
Event = WaitWindowEvent()

;Fenster neu Zeichnen
If Event = #PB_Event_Repaint
        StartDrawing(WindowOutput(#Window_0))
        StopDrawing()
Endif

;- Menues
If Event = #PB_Event_Menu
     Select  EventMenu()
          ;Hauptfenster Schliessen
          ;Case #Menu_1
                    
          Case #Funk_3
               ;HideGadget(#Combo_1,1)
               ;HideGadget(#String_36,0)     
               ;SetActiveGadget(#String_36)
          
          Case #Funk_4
               ;Goto Fenster_2
          
          Case #Funk_Ret       
               ;If Weiter = 0 : Weiter = #String_0 : EndIf
               ;SetActiveGadget(Weiter)
                  
     EndSelect
EndIf

;- Eingabe Felder
If Event = #PB_Event_Gadget
     Select EventGadget()
     
          ;-Leistungsnummer
          Case #rueck
              CloseWindow(#Window_1)
  
          EndSelect
     EndIf
; Ende Buttonsteuerung
; --------------------------------------------------------
Until EventID = #PB_Event_CloseWindow
3. Datei : bau-leistung.pb

Code: Alles auswählen

Procedure Open_Window_1()
If  OpenWindow(#Window_1,50,0,1000,700," Leistungs Daten "+Chr(169)+" Fischer EDV  2010",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
      SetWindowColor(#Window_1,$C7FFFC) 
      
      AddKeyboardShortcut(#Window_1, #PB_Shortcut_F3, #Funk_3)
      AddKeyboardShortcut(#Window_1, #PB_Shortcut_F4, #Funk_4)
      AddKeyboardShortcut(#Window_1, #PB_Shortcut_Return, #Funk_Ret)

      ButtonGadget(#rueck,200,400,100,25,"Zurück")
EndIf
      
    
EndProcedure   ;Procedure Ende Fenster 1
"[12:55:51] [Error] Ungültiger Speicherzugriff"

Ich kann also bei allen Quellcodes der Programme die auf 32 bit laufen bei dieser Maschine 64 bit nur immer die Startseite Ausführen, sowie eine Event ausgeführt wird
erfolgt einer dieser Fehler ???
Das gleiche passiert auf dem Laptop gleiche umgebung 64 bit.
Auch ein Download von 5.30 x64 ergibt keine Änderung ??
Eine Ältere Version hab ich nicht mehr, wäre das ne möglichkeit ?
Haben sich Befehle geändert die ich übersehen habe ??
ach ja, bei der installation war die meldung nach ./checkinstall.sh "Alles ok"

Na Dann schaun wir mal.
Zuletzt geändert von Stephan-X am 30.09.2014 18:02, insgesamt 1-mal geändert.
Wenn Sie nichts zu Tun haben, tun Sie es bitte nicht hier.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Probleme mit 64 Bit Version 5.22 LTS

Beitrag von ts-soft »

Wie wäre es mit einem ausführbarem Code?

Bei Deinen Ausschnitten, mit denen man nicht viel anfangen kann, kann ich keine Fehler entdecken.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Stephan-X
Beiträge: 78
Registriert: 30.07.2008 16:02
Computerausstattung: PC 8 GB RAM NVIDIA Grafik 1 TB RAID // Ubuntu Mate 64 Bit // Pure 6.0 64
Wohnort: Oberösterreich

Re: Probleme mit 64 Bit Version 5.22 LTS

Beitrag von Stephan-X »

Hallo Thomas, ok hast recht so war das nix..
ich hab den Code mal ganz einfach gemacht, damit wird der Fehler sichtbar, Meldungen wie Oben beschrieben.
Es sind 3 Dateien, gestartet wird mit bau-menue, das Window öffnet sich ... dann klick mal den Button
...und es kommen zwei Fehleranzeigen. hmmmm da weis ich nicht weiter ?
im 32 bit xubuntu funzt das super, schon seit Jahren !
Danke schon mal für Deinen Denkanstoß.

Schönen Abend noch Stephan
Wenn Sie nichts zu Tun haben, tun Sie es bitte nicht hier.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Probleme mit 64 Bit Version 5.22 LTS

Beitrag von ts-soft »

Der Code ist ja ... :twisted:

Also, EnableExplicit und dann kannst Du Dich vielleicht auch mal entscheiden zwischen Event und EventID.
Das Goto geht garnicht und bringt den Stack durcheinander, lasse es weg und versuch es mal mit einem
EventLoop. Dann funktioniert es auch zuverlässiger. Es ist nur eine Ereignis-Schleife für beide Fenster
erforderlich. Das zweite EventLoop verhindert die Ereignisbehandlung, wenn das andere Fenster den Fokus hat.
Es müssen immer alle Ereignisse abgearbeitet werden, es sei denn, man disabled das Window.

Ich arbeite zwar nicht mit dem FormDesigner, aber vielleicht hilft es ja, die Ereignis-Routinen von diesem generieren
zu lassen.

Der Code ist unter keinem OS lauffähig, jedenfalls nicht fehlerfrei.

Hier noch ein hoffentlich fehlerfreies Beispiel:

Code: Alles auswählen

EnableExplicit

Enumeration
  ;   Fenster 1 ----------------------------
  #Window_0 : #Statusbar_0 : #MenuBar_0
  #Funk_3 : #Funk_4 : #Funk_Ret
  #String_0
  #Leistung
  ;   Fenster 2 ----------------------------
  #Window_1 : #Statusbar_1 : #MenuBar_1
  #rueck
EndEnumeration

Procedure Open_Window_1()
  If  OpenWindow(#Window_1,50,0,1000,700," Leistungs Daten "+Chr(169)+" Fischer EDV  2010",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
    SetWindowColor(#Window_1,$C7FFFC)
    
    AddKeyboardShortcut(#Window_1, #PB_Shortcut_F3, #Funk_3)
    AddKeyboardShortcut(#Window_1, #PB_Shortcut_F4, #Funk_4)
    AddKeyboardShortcut(#Window_1, #PB_Shortcut_Return, #Funk_Ret)
    
    ButtonGadget(#rueck,200,400,100,25,"Zurück")
  EndIf
  
EndProcedure   ;Procedure Ende Fenster 1

Procedure Open_Window_0()
  If  OpenWindow(#Window_0,50,0,500,700," Leistungs Daten "+Chr(169)+" Fischer EDV  2010",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
    SetWindowColor(#Window_0,$D1D8D2)
    AddKeyboardShortcut(#Window_0, #PB_Shortcut_F3, #Funk_3)
    AddKeyboardShortcut(#Window_0, #PB_Shortcut_F4, #Funk_4)
    AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, #Funk_Ret)
    
    ButtonGadget(#Leistung,40,100,120,25,"Leistungsverwaltung")
  EndIf
  
EndProcedure   ;Procedure Ende Fenster 1

;Fenster öffnen   (Procedure)
Open_Window_0()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          Break
        Case #Window_1
          CloseWindow(#Window_1)
  
      EndSelect
    
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #rueck
          SetActiveWindow(#Window_0)
          CloseWindow(#Window_1)
        Case #Leistung
          Open_Window_1()
      EndSelect
  EndSelect
ForEver
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Stephan-X
Beiträge: 78
Registriert: 30.07.2008 16:02
Computerausstattung: PC 8 GB RAM NVIDIA Grafik 1 TB RAID // Ubuntu Mate 64 Bit // Pure 6.0 64
Wohnort: Oberösterreich

Re: Probleme mit 64 Bit Version 5.22 LTS

Beitrag von Stephan-X »

Hallo Thomas, Danke erstmal, wieder was dazugelernt.
Ich habe den code nur zusammengebastelt um den Fehler zu reproduzieren, was ist die Meldung mit dem Stack ??
Weiter möchte ich jedes Fenster als eigene Datei und das entsprechende Programm dann von einem Hauptfenster (Sticky) aufrufen und Steuern.
Ein Fenster (Datei) hat ca 9 - 14 tsd. Zeilen (Der übersicht halber als eigene Datei) geht das dann auch in dieser Form wie Dein Bsp. von Oben ?
Funktioniert. Oder mal blöd gefragt 143 tsd. Zeilen das ganze Prog. in eine Datei ?? wäre das Sinnvoll oder hast Du noch nen anderen vorschlag
Ich bin da immer offen für !
Der Form Designer geht bei mir nicht, auch mit Alt+V kommt da nix, na bis jetzt hab ich das auch immer mit Codebausteinen erledigt !
Bis auf diesen Fehler in der x64 Version funktionieren die Progs im 32 bit unter win und Linux super !
Danke nochmal und Gruß
Stephan
Wenn Sie nichts zu Tun haben, tun Sie es bitte nicht hier.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Probleme mit 64 Bit Version 5.22 LTS

Beitrag von ts-soft »

Stephan-X hat geschrieben:was ist die Meldung mit dem Stack ??
Dein goto
Stephan-X hat geschrieben:Weiter möchte ich jedes Fenster als eigene Datei und das entsprechende Programm dann von einem Hauptfenster (Sticky) aufrufen und Steuern.
Kein Problem, lediglich ein einziges EventLoop solltest Du haben. Also nur einmal WaitWindowEvent() für alle Fenster!
Ich hab nur alles in einen Source geladen, weil ich nicht speichern wollte. Darauf solltest Du auch achten, wenn Du Code
zum ausprobieren hier postest.
Stephan-X hat geschrieben:Bis auf diesen Fehler in der x64 Version funktionieren die Progs im 32 bit unter win und Linux super !
Das möchte ich bezweifeln und mit 64-Bit hat es auch nichts zu tun. An Deinem Stil solltest Du arbeiten,
da bekommt man schnell das Grausen, vor allem kein goto mehr.

Enumerationen per Objekt und nicht pauschal, zumindest bei so grossen Projekten! Hab das in folgendem Beispiel aber
nicht angepaßt.

Hier ein Beispiel mit Bind... Funktionen, das sollte besser zu Deinem Projekt passen, aber da ist dann viel umzuschreiben:

Code: Alles auswählen

EnableExplicit

Enumeration
  ;   Fenster 1 ----------------------------
  #Window_0 : #Statusbar_0 : #MenuBar_0
  #Funk_3 : #Funk_4 : #Funk_Ret
  #String_0
  #Leistung
  ;   Fenster 2 ----------------------------
  #Window_1 : #Statusbar_1 : #MenuBar_1
  #rueck
EndEnumeration

Procedure Event_Buttonrueck()
  SetActiveWindow(#Window_0)
  CloseWindow(#Window_1)
EndProcedure

Procedure Open_Window_1()
  If  OpenWindow(#Window_1,50,0,1000,700," Leistungs Daten "+Chr(169)+" Fischer EDV  2010",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
    SetWindowColor(#Window_1,$C7FFFC)
   
    AddKeyboardShortcut(#Window_1, #PB_Shortcut_F3, #Funk_3)
    AddKeyboardShortcut(#Window_1, #PB_Shortcut_F4, #Funk_4)
    AddKeyboardShortcut(#Window_1, #PB_Shortcut_Return, #Funk_Ret)
   
    ButtonGadget(#rueck,200,400,100,25,"Zurück")
    BindGadgetEvent(#rueck, @Event_Buttonrueck())
  EndIf
 
EndProcedure   ;Procedure Ende Fenster 1

Procedure Event_ButtonLeistung()
  Open_Window_1() 
EndProcedure

Procedure Open_Window_0()
  If  OpenWindow(#Window_0,50,0,500,700," Leistungs Daten "+Chr(169)+" Fischer EDV  2010",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
    SetWindowColor(#Window_0,$D1D8D2)
    AddKeyboardShortcut(#Window_0, #PB_Shortcut_F3, #Funk_3)
    AddKeyboardShortcut(#Window_0, #PB_Shortcut_F4, #Funk_4)
    AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, #Funk_Ret)
   
    ButtonGadget(#Leistung,40,100,120,25,"Leistungsverwaltung")
    BindGadgetEvent(#Leistung, @Event_ButtonLeistung())
  EndIf
 
EndProcedure   ;Procedure Ende Fenster 1

Procedure Event_WindowClose()
  If EventWindow() = #Window_0
    End
  Else
    SetActiveWindow(#Window_0)
    CloseWindow(EventWindow())
  EndIf
EndProcedure

;Fenster öffnen   (Procedure)
Open_Window_0()
BindEvent(#PB_Event_CloseWindow, @Event_WindowClose())

While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Stephan-X
Beiträge: 78
Registriert: 30.07.2008 16:02
Computerausstattung: PC 8 GB RAM NVIDIA Grafik 1 TB RAID // Ubuntu Mate 64 Bit // Pure 6.0 64
Wohnort: Oberösterreich

Re: Probleme mit 64 Bit Version 5.22 LTS

Beitrag von Stephan-X »

Hallo Thomas,
ja das ist gut ! Danke für die Anregung... das ganze kam auf da ich eh eine neue Serie Programmiere, so muss ich das neu Aufziehen, da bin ich im moment noch am Basteln was am Besten geht !
Dein zweites Beispiel wird mir zu unübersichtlich, ich Arbeite mit dem ersten (nur ein loop für alles) das scheint mir Praktikabel und überschaubar bei der größe.
Jetz probier ich mal 1 - 2 Wochen einiges aus.... ich poste dann einen Bsp-Code an dieser Stelle wenn ich soweit was hab.
Danke für die Ideen, bis dann erstmal.
Stephan
Wenn Sie nichts zu Tun haben, tun Sie es bitte nicht hier.
Stephan-X
Beiträge: 78
Registriert: 30.07.2008 16:02
Computerausstattung: PC 8 GB RAM NVIDIA Grafik 1 TB RAID // Ubuntu Mate 64 Bit // Pure 6.0 64
Wohnort: Oberösterreich

Re: Probleme mit 64 Bit Version 5.22 LTS

Beitrag von Stephan-X »

Hallo Thomas,
ich hab mal etwas gebastelt, hmmm so könnts gehn, das ist mal ein Ansatz. Fehlt natürlich noch einiges aber es geht ja um die Steuerung der Programmteile.
So find ich das auch übersichtlich und in dieser grösse zu Handeln.
Einen fehler hat das ganze aber noch wenn nach aufrufen der Leistung zum wiederholten mal die Artikelverwaltung aufgerufen wird !
"Ungültiger Speicherzugriff" ????
Zweite sache ist die Enumeration, wenn ich die Aufteile auf die Programmteile und führe das Programm aus dann wird mit drücken eines Buttons zBsp "Artikeldaten"
das Hauptmenü geschlossen, auch wenn das Sticky ist ??
Also hab ich die Konstanten alle in einer Datei, und es Funktioniert

Ich bitte nochmal um Denkanstoss auch betreffend der Fehler !

Code: Alles auswählen

Enumeration
  
  ;-   Fenster 0 Hauptmenue
  #Window_0 : #Statusbar_0 : #MenuBar_0
  
  #Menu_1 ;Beenden 
  #Menu_2 ;Grundeinstellung
  
  ;Funktionstasten
  #Funk_3 : #Funk_4 : #Funk_Ret
  
  ;Felder
  
  ;Container
  #Container_00
  ;Schaltflächen
  #Adress : #Artikel : #Leistung : #Kalk : #Rechnung 
  ;Datenbank
  #db1
  
  ; ************************************************************************
  ;-   Fenster 1 Leistungsdaten
  ; ************************************************************************
  #Window_1 : #Statusbar_1 : #MenuBar_1
  
  #Menu_10 ;Beenden 
  #Menu_20 ; 
  
  ;Paneel
  #pan_11
  
  ;Text
  #tL_nr : #tL_datn : #tL_datan : #tL_eh : #tL_grup : #tL_fidat : #tL_liste : #tL_kt
    ;Paneel 1
    #tL_lohmin1 : #tL_lobrut1 : #tL_min11 : #tL_min12 : #tL_min13 : #tL_min14 : #tL_minsum1 : #tL_lohn1 : #tL_nebenk1 : #tL_lohnvoll1 : #tL_leistung1 : #tL_rispro1 : #tL_risiko1
    #tL_mat1 : #tL_zuse1 : #tL_zusp1 : #tL_zuge1 : #tL_matgkpe1 : #tL_matgkpf1 : #tL_matgksum1 : #tL_matges1 : #tL_leistbr1 : #tL_matrispr1 : #tL_matrisko1
    #tL_fremlstg1 : #tL_fremkost1 : #tL_fremsum1 : #tL_fremzup1 : #tL_fremzue1 : #tL_frembrut1 : #tL_fremertp1 : #tL_fremerte1 : #tL_leiertp1
    #tL_tex1 : #tL_bem1
    ;Paneel 2
    #tL_lohmin2 : #tL_lobrut2 : #tL_min21 : #tL_min22 : #tL_min23 : #tL_min24 : #tL_minsum2 : #tL_lohn2 : #tL_nebenk2 : #tL_lohnvoll2 : #tL_leistung2 : #tL_rispro2 : #tL_risiko2
    #tL_mat2 : #tL_zuse2 : #tL_zusp2 : #tL_zuge2 : #tL_matgkpe2 : #tL_matgkpf2 : #tL_matgksum2 : #tL_matges2 : #tL_leistbr2 : #tL_matrispr2 : #tL_matrisko2
    
  ;Felder
  #L_nr : #L_datn : #L_datan : #L_eh : #L_grup : #L_fidat : #L_liste : #L_kt
    ;Paneel 1
    #L_lohmin1 : #L_lobrut1 : #L_min11 : #L_min12 : #L_min13 : #L_min14 : #L_minsum1 : #L_lohn1 : #L_nebenk1 : #L_lohnvoll1 : #L_leistung1 : #L_rispro1 : #L_risiko1
    #L_mat1 : #L_zuse1 : #L_zusp1 : #L_zuge1 : #L_matgkpe1 : #L_matgkpf1 : #L_matgksum1 : #L_matges1 : #L_leistbr1 : #L_matrispr1 : #L_matrisko1
    #L_fremlstg11 : #L_fremlstg12 : #L_fremlstg13 : #L_fremlstg14 : #L_fremkost11 : #L_fremkost12 : #L_fremkost13 : #L_fremkost14 : #L_fremsum1 : #L_fremzup1 : #L_fremzue1
    #L_frembrut1 : #L_fremertp1 : #L_fremerte1 : #L_leiertp1
    #L_tex1 : #L_bem1
    
    ;Paneel 2
    #L_lohmin2 : #L_lobrut2 : #L_min21 : #L_min22 : #L_min23 : #L_min24 : #L_minsum2 : #L_lohn2 : #L_nebenk2 : #L_lohnvoll2 : #L_leistung2 : #L_rispro2 : #L_risiko2
    #L_mat2 : #L_zuse2 : #L_zusp2 : #L_zuge2 : #L_matgkpe2 : #L_matgkpf2 : #L_matgksum2 : #L_matges2 : #L_leistbr2 : #L_matrispr2 : #L_matrisko2
  ;Container
  #pancon1 : #pancon2 : #pancon3
  
  ;Schaltflächen
  #posA : #posE : #vor : #rueck : #abbr : #neu : #speicher : #aender : #loesch 
  
  ; ************************************************************************
  ;-   Fenster 2 Grunddaten
  ; ************************************************************************
  #Window_2 : #MenuBar_20 : #Menu_21  : #Statusbar_20 
  #Text_132 : #String_113 
  
  ; ************************************************************************
  ;-   Fenster 3 Artikeldaten
  ; ************************************************************************
  #Window_3 : #Statusbar_3 : #MenuBar_3
  
  #Menu_A1 : #Menu_A2
EndEnumeration

Procedure Open_Window_0()
If  OpenWindow(#Window_0,30,40,500,700," Hauptmenü "+Chr(169)+" Fischer EDV 2014",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
      SetWindowColor(#Window_0,$D1D8D2) 
      
      AddKeyboardShortcut(#Window_0, #PB_Shortcut_F3, #Funk_3)
      AddKeyboardShortcut(#Window_0, #PB_Shortcut_F4, #Funk_4)
      AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, #Funk_Ret)
      
      If CreateMenu(#MenuBar_0, WindowID(#Window_0))
        MenuTitle("Datei")
        MenuItem(#Menu_1,"Beenden")
        
        MenuItem(#Menu_2,"Grundeinstellungen")
      EndIf
            
      ContainerGadget(#Container_00,30,50, 200, 600,#PB_Container_Double)
      
        ;ButtonGadget(#Adress,  20, 20,150,25,"Adress - Verwaltung") 
        ButtonGadget(#Artikel, 20, 60,150,25,"Artikel - Verwaltung") 
        ButtonGadget(#Leistung,20,100,150,25,"Leistungs - Verwaltung") 
        ;ButtonGadget(#Kalk,    20,140,150,25,"Kalkulation") 
        ;ButtonGadget(#Rechnung,20,180,150,25,"Rechnung") 
      CloseGadgetList()
EndIf
      
    
EndProcedure   ;Procedure Ende Fenster 1

Procedure Open_Window_1()
If  OpenWindow(#Window_1,550,40,1070,880," Leistungs Daten "+Chr(169)+" Fischer EDV 2014",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
      SetWindowColor(#Window_1,$D0D0D0) 
      
      AddKeyboardShortcut(#Window_1, #PB_Shortcut_F3, #Funk_3)
      AddKeyboardShortcut(#Window_1, #PB_Shortcut_F4, #Funk_4)
      AddKeyboardShortcut(#Window_1, #PB_Shortcut_Return, #Funk_Ret)
      
      If CreateStatusBar(#Statusbar_1,WindowID(#Window_1))
        AddStatusBarField(300)
        AddStatusBarField(#PB_Ignore)
        AddStatusBarField(300)
      EndIf
      
      If CreateMenu(#MenuBar_1, WindowID(#Window_1))
        MenuTitle("Datei")
        MenuItem(#Menu_10,"Beenden")
        MenuTitle("Einstellungen")
        MenuItem(#Menu_20,"Farbe")
      EndIf
      
      TextGadget(#tL_nr     , 15, 5,120,20,"Leistungs - Nr.:")  : StringGadget(#L_nr    ,150, 5,100,20,"")
      TextGadget(#tL_datn   , 15,30,120,20,"Datum Anlage :")    : StringGadget(#L_datn  ,150,30,100,20,"",#PB_String_ReadOnly) : SetGadgetColor(#L_datn ,#PB_Gadget_BackColor,$FFDECA)
      TextGadget(#tL_datan  , 15,55,120,20,"Datum Geändert :")  : StringGadget(#L_datan ,150,55,100,20,"",#PB_String_ReadOnly) : SetGadgetColor(#L_datan,#PB_Gadget_BackColor,$FFDECA)
      TextGadget(#tL_eh     ,300, 5,100,20,"Einheit :")         : StringGadget(#L_eh    ,400, 5,100,20,"")
      TextGadget(#tL_grup   ,300,30,100,20,"Gruppe :")          : ComboBoxGadget(#L_grup,400,28,150,24) 
      TextGadget(#tL_fidat  ,300,55,100,20,"Firmen Satz :")     : StringGadget(#L_fidat ,400,55,100,20,"",#PB_String_ReadOnly) : SetGadgetColor(#L_fidat,#PB_Gadget_BackColor,$FFDECA)
      TextGadget(#tL_liste  ,600, 5,100,20,"Leistung :")        : ComboBoxGadget(#L_liste,680, 3,350,24)
      TextGadget(#tL_kt     ,600,40,100,20,"Kurztext :")        : StringGadget(#L_kt     ,680,40,350,20,"")
      
      PanelGadget(#pan_11,0,90,1070,685)
        ;SetGadgetColor(#pan_11, #PB_Gadget_BackColor,$29FBD6)  
        AddGadgetItem(#pan_11,0,"   Leistungs - Karte 1   ")      
          ContainerGadget(#pancon1,0,0,1070, 685,#PB_Container_BorderLess)
          SetGadgetColor(#pancon1, #PB_Gadget_BackColor,$F1E9EA)  
          TextGadget(#tL_lohmin1    ,5, 15,80,20,"Netto/min.")   : StringGadget(#L_lohmin1  ,120, 15,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_lohmin1,#PB_Gadget_BackColor,$FFDECA) 
          TextGadget(#tL_lobrut1    ,5, 35,80,20,"Brutto/min.")  : StringGadget(#L_lobrut1  ,120, 35,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_lobrut1,#PB_Gadget_BackColor,$FFDECA) 
          TextGadget(#tL_min11      ,5, 60,80,20,"Zeit min. 1")  : StringGadget(#L_min11    ,120, 60,80,19,"")
          TextGadget(#tL_min12      ,5, 80,80,20,"Zeit min. 2")  : StringGadget(#L_min12    ,120, 80,80,19,"")
          TextGadget(#tL_min13      ,5,100,80,20,"Zeit min. 3")  : StringGadget(#L_min13    ,120,100,80,19,"")
          TextGadget(#tL_min14      ,5,120,80,20,"Zeit min. 4")  : StringGadget(#L_min14    ,120,120,80,19,"")
          TextGadget(#tL_minsum1    ,5,140,80,20,"Zeit min. ")   : StringGadget(#L_minsum1  ,120,140,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_minsum1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_lohn1      ,5,165,80,20,"Lohn ")        : StringGadget(#L_lohn1    ,120,165,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_lohn1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_nebenk1    ,5,185,80,20,"Nebenkosten ") : StringGadget(#L_nebenk1  ,120,185,80,19,"")
          TextGadget(#tL_lohnvoll1  ,5,205,80,20,"Leist.-Lohn")  : StringGadget(#L_lohnvoll1,120,205,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_lohnvoll1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_leistung1  ,5,250,80,20,"Leistung")     : StringGadget(#L_leistung1,120,250,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_leistung1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_rispro1    ,5,275,80,20,"Risiko %")     : StringGadget(#L_rispro1  ,120,275,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_rispro1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_risiko1    ,5,295,80,20,"Risiko €")     : StringGadget(#L_risiko1  ,120,295,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_risiko1,#PB_Gadget_BackColor,$FFDECA)
          
          TextGadget(#tL_mat1       ,220, 15,80,20,"Material")      : StringGadget(#L_mat1     ,330, 15,80,19,"")
          TextGadget(#tL_zuse1      ,220, 35,80,20,"Zuschlag €")    : StringGadget(#L_zuse1    ,330, 35,80,19,"")
          TextGadget(#tL_zusp1      ,220, 55,80,20,"Zuschlag %")    : StringGadget(#L_zusp1    ,330, 55,80,19,"")
          TextGadget(#tL_zuge1      ,220, 75,80,20,"Zuschlag")      : StringGadget(#L_zuge1    ,330, 75,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_zuge1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_matgkpe1   ,220,105,90,20,"Material GK %") : StringGadget(#L_matgkpe1 ,330,105,80,19,"")
          TextGadget(#tL_matgkpf1   ,220,125,90,20,"Material GK %") : StringGadget(#L_matgkpf1 ,330,125,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_matgkpf1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_matgksum1  ,220,150,80,20,"Summe GK %")    : StringGadget(#L_matgksum1,330,150,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_matgksum1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_matges1    ,220,205,80,20,"Material")      : StringGadget(#L_matges1  ,330,205,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_matges1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_leistbr1   ,220,250,80,20,"Leistung")      : StringGadget(#L_leistbr1 ,330,250,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_leistbr1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_matrispr1  ,220,275,80,20,"Material %")    : StringGadget(#L_matrispr1,330,275,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_matrispr1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_matrisko1  ,220,295,80,20,"Material €")    : StringGadget(#L_matrisko1,330,295,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_matrisko1,#PB_Gadget_BackColor,$FFDECA)
          
          TextGadget(#tL_fremlstg1  ,440, 15,90,20,"Fremdleistung")   : TextGadget(#tL_fremkost1  ,560, 15,80,20,"Kosten")
          StringGadget(#L_fremlstg11,440, 35,110,19,"")               : StringGadget(#L_fremkost11,560, 35,80,19,"")
          StringGadget(#L_fremlstg12,440, 55,110,19,"")               : StringGadget(#L_fremkost12,560, 55,80,19,"")
          StringGadget(#L_fremlstg13,440, 75,110,19,"")               : StringGadget(#L_fremkost13,560, 75,80,19,"")
          StringGadget(#L_fremlstg14,440, 95,110,19,"")               : StringGadget(#L_fremkost14,560, 95,80,19,"")
          TextGadget(#tL_fremsum1   ,440,115,90,20,"Summe : ")        : StringGadget(#L_fremsum1  ,560,115,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_fremsum1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_fremzup1   ,440,135,90,20,"Zuschlag %")      : StringGadget(#L_fremzup1  ,560,135,80,19,"")
          TextGadget(#tL_fremzue1   ,440,155,90,20,"Zuschlag €")      : StringGadget(#L_fremzue1  ,560,155,80,19,"")
          TextGadget(#tL_frembrut1  ,440,205,90,20,"Fremdleistung")   : StringGadget(#L_frembrut1 ,560,205,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_frembrut1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_leiertp1   ,440,250,90,20,"Ertrag %")        : StringGadget(#L_fremertp1 ,560,250,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_fremertp1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_fremertp1  ,440,275,90,20,"Fremdleistg. %")  : StringGadget(#L_fremerte1 ,560,275,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_fremerte1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_fremerte1  ,440,295,90,20,"Fremdleistg. €")  : StringGadget(#L_leiertp1  ,560,295,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_leiertp1,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_tex1  ,670, 15,90,20,"Leistungstext")
          EditorGadget(#L_tex1,670, 35,365,185,#PB_Editor_WordWrap) : SetGadgetColor(#L_tex1,#PB_Gadget_FrontColor,$0B6008)
          TextGadget(#tL_bem1  ,670,225,90,20,"Bemerkungen")
          EditorGadget(#L_bem1,670,245,365,80,#PB_Editor_WordWrap) : SetGadgetColor(#L_bem1,#PB_Gadget_FrontColor,$0B6008)
          
          CloseGadgetList()
          
        AddGadgetItem(#pan_11,1,"   Leistungs - Karte 2   ")
          ContainerGadget(#pancon2,0,0,1070, 685,#PB_Container_BorderLess)
          SetGadgetColor(#pancon2, #PB_Gadget_BackColor,$F1E9EA)
          TextGadget(#tL_lohmin2    ,5,  5,80,20,"Netto/min.")   : StringGadget(#L_lohmin2  ,140, 5,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_lohmin2,#PB_Gadget_BackColor,$FFDECA) 
          TextGadget(#tL_lobrut2    ,5, 25,80,20,"Brutto/min.")  : StringGadget(#L_lobrut2  ,140,25,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_lobrut2,#PB_Gadget_BackColor,$FFDECA) 
          TextGadget(#tL_min21      ,5, 50,80,20,"Zeit min. 1")  : StringGadget(#L_min21    ,140, 50,80,19,"")
          TextGadget(#tL_min22      ,5, 70,80,20,"Zeit min. 2")  : StringGadget(#L_min22    ,140, 70,80,19,"")
          TextGadget(#tL_min23      ,5, 90,80,20,"Zeit min. 3")  : StringGadget(#L_min23    ,140, 90,80,19,"")
          TextGadget(#tL_min24      ,5,110,80,20,"Zeit min. 4")  : StringGadget(#L_min24    ,140,110,80,19,"")
          TextGadget(#tL_minsum2    ,5,130,80,20,"Zeit min. ")   : StringGadget(#L_minsum2  ,140,130,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_minsum2,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_lohn2      ,5,155,80,20,"Lohn ")        : StringGadget(#L_lohn2    ,140,155,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_lohn2,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_nebenk2    ,5,175,80,20,"Nebenkosten ") : StringGadget(#L_nebenk2  ,140,175,80,19,"")
          TextGadget(#tL_lohnvoll2  ,5,195,80,20,"Leist.-Lohn")  : StringGadget(#L_lohnvoll2,140,195,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_lohnvoll2,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_leistung2  ,5,220,80,20,"Leistung")     : StringGadget(#L_leistung2,140,220,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_leistung2,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_rispro2    ,5,245,80,20,"Risiko %")     : StringGadget(#L_rispro2  ,140,245,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_rispro2,#PB_Gadget_BackColor,$FFDECA)
          TextGadget(#tL_risiko2    ,5,265,80,20,"Risiko €")     : StringGadget(#L_risiko2  ,140,265,80,19,"",#PB_String_ReadOnly) : SetGadgetColor(#L_risiko2,#PB_Gadget_BackColor,$FFDECA)
          
          
          CloseGadgetList()
        
        AddGadgetItem(#pan_11,2,"   Leistungs - Karte 3   ")
          ContainerGadget(#pancon3,0,0,1070, 685,#PB_Container_BorderLess)
          SetGadgetColor(#pancon3, #PB_Gadget_BackColor,$F1E9EA)
          CloseGadgetList()
          
      CloseGadgetList()      
       
      ButtonGadget(#posA,     200,790, 30,25,"|<")
      ButtonGadget(#rueck,    240,790, 30,25,"<<")
      ButtonGadget(#abbr,     280,790,120,25,"Abbruch")
      ButtonGadget(#neu,      280,790,120,25,"Neu")
      ButtonGadget(#speicher, 410,790,120,25,"Speichern")
      ButtonGadget(#aender  , 410,790,120,25,"Ändern")
      ButtonGadget(#loesch,   540,790,120,25,"Löschen")
      ButtonGadget(#vor,      670,790, 30,25,">>")
      ButtonGadget(#posE,     710,790, 30,25,">|")
      
EndIf
      
    
EndProcedure   ;Procedure Ende Fenster 1

Procedure Open_Window_2()
If  OpenWindow(#Window_2,150,120,800,500,"  Firmen Grunddaten "+Chr(169)+" Fischer EDV 2014",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
      SetWindowColor(#Window_2,$757B83)
      AddKeyboardShortcut(#Window_2, #PB_Shortcut_F3, #Funk_3)
      AddKeyboardShortcut(#Window_2, #PB_Shortcut_Return, #Funk_Ret)
      ;AddKeyboardShortcut(#Window_2, #PB_Shortcut_Shift | #PB_Shortcut_Return, #Funk_Shft_Ret)
      
      ;Menüs und Einträge
      If CreateMenu(#MenuBar_20, WindowID(#Window_2))
        MenuTitle("Datei")
        MenuItem(#Menu_21,"Beenden")
        ;MenuTitle("Drucken")
        ;MenuItem(#Menu_22,"Einzel-Druck")
      EndIf
      If CreateStatusBar(#Statusbar_20, WindowID(#Window_2))
        AddStatusBarField(140)
        AddStatusBarField(240)
        AddStatusBarField(140)
      EndIf
     
     
         
    EndIf
  EndProcedure   ;Procedure Ende Fenster 2
  
Procedure Open_Window_3()
If  OpenWindow(#Window_3,550,40,1070,880," Artikel Daten "+Chr(169)+" Fischer EDV 2014",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
      SetWindowColor(#Window_3,$D0D0D0) 
      
      AddKeyboardShortcut(#Window_3, #PB_Shortcut_F3, #Funk_3)
      AddKeyboardShortcut(#Window_3, #PB_Shortcut_F4, #Funk_4)
      AddKeyboardShortcut(#Window_3, #PB_Shortcut_Return, #Funk_Ret)
      
      If CreateStatusBar(#Statusbar_3,WindowID(#Window_3))
        AddStatusBarField(300)
        AddStatusBarField(#PB_Ignore)
        AddStatusBarField(300)
      EndIf
      
      If CreateMenu(#MenuBar_3, WindowID(#Window_3))
        MenuTitle("Datei")
        MenuItem(#Menu_A1,"Beenden")
        MenuTitle("Einstellungen")
        MenuItem(#Menu_A2,"Farbe")
      EndIf
      
       
       
      ;ButtonGadget(#posA,     200,790, 30,25,"|<")
      ;ButtonGadget(#rueck,    240,790, 30,25,"<<")
      ;ButtonGadget(#abbr,     280,790,120,25,"Abbruch")
      ;ButtonGadget(#neu,      280,790,120,25,"Neu")
      ;ButtonGadget(#speicher, 410,790,120,25,"Speichern")
      ;ButtonGadget(#aender  , 410,790,120,25,"Ändern")
      ;ButtonGadget(#loesch,   540,790,120,25,"Löschen")
      ;ButtonGadget(#vor,      670,790, 30,25,">>")
      ;ButtonGadget(#posE,     710,790, 30,25,">|")
      
EndIf
      
    
EndProcedure   ;Procedure Ende Fenster 1
 
;Variablen
Version.s = "2014  V.2.055"
datum.s = FormatDate("%dd.%mm.%yyyy",Date())
Fenster.l = #Window_0
paneel.l    

;Fenster öffnen   (Procedure)
Open_Window_0()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          Break
        Case #Window_1
          CloseWindow(#Window_1)
        Case #Window_2
          CloseWindow(#Window_2)
        Case #Window_3
          CloseWindow(#Window_3)
      EndSelect
                 
    Case #PB_Event_Menu
      Select EventMenu()
          ;Hauptmenü Beenden und Grunddaten
          Case #Menu_1
            CloseWindow(#Window_0)
            End
            
          Case #Menu_2
            Open_Window_2()
            
          ;Leistungsdaten Fenster Schliessen
          Case #Menu_10
            SetActiveWindow(#Window_0)
            CloseWindow(#Window_1)
            Fenster = #Window_0
            
          ;Artikeldaten Fenster Schliessen
          Case #Menu_A1
            SetActiveWindow(#Window_0)
            CloseWindow(#Window_3)
            Fenster = #Window_0
            
          ;Grunddaten Fenster Schliessen  
          Case #Menu_21
            SetActiveWindow(#Window_0)
            CloseWindow(#Window_2)
            
          ;-Funktionstasten  
          Case #Funk_3
                   
          Case #Funk_4
                      
          Case #Funk_Ret       
             
            SetActiveGadget(Weiter) 
                  
     EndSelect
     
     Case #PB_Event_Repaint
       If Fenster = #Window_0
        StartDrawing(WindowOutput(#Window_0))
        LineXY(1,1,698,1 ,$3042E4)
        LineXY(1,2,698,2 ,$3042E4)
        StopDrawing()  
      ElseIf Fenster = #Window_1
        StartDrawing(WindowOutput(#Window_1))
        LineXY(1,119,1068,119 ,$600707)
        LineXY(1,120,1068,120 ,$C1B327)
        LineXY(1,450,1068,450 ,$C1B327)
        LineXY(1,451,1068,451 ,$600707)
        StopDrawing()  
      EndIf
      
    Case #PB_Event_Gadget
      Select EventGadget()
      ;-Strings    
      ; ===========================================================
      ; Leistung 
        Case #pan_11
          paneel = GetGadgetState(#pan_11)
          If paneel = 0
            StartDrawing(WindowOutput(#Window_1))
            LineXY(1,119,1068,119 ,$600707)
            LineXY(1,120,1068,120 ,$C1B327) 
            LineXY(1,450,1068,450 ,$C1B327)
            LineXY(1,451,1068,451 ,$600707)
            StopDrawing()
          ElseIf paneel = 1
            StartDrawing(WindowOutput(#Window_1))
            LineXY(1,119,1068,119 ,$600707)
            LineXY(1,120,1068,120 ,$C1B327) 
            LineXY(1,450,1068,450 ,$C1B327)
            LineXY(1,451,1068,451 ,$600707)
            StopDrawing()
          EndIf
          
        Case #L_nr
          If EventType() = #PB_EventType_Focus
            Weiter = #L_eh
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_eh
          If EventType() = #PB_EventType_Focus
            Weiter = #L_kt
          ElseIf EventType() = #PB_EventType_Change
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_kt
          If EventType() = #PB_EventType_Focus
            Weiter = #L_nr
          ElseIf EventType() = #PB_EventType_Change
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf          
        ;Paneel 1 
        Case #L_min11
          If EventType() = #PB_EventType_Focus
            Weiter = #L_min12
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_min12
          If EventType() = #PB_EventType_Focus
            Weiter = #L_min13
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_min13
          If EventType() = #PB_EventType_Focus
            Weiter = #L_min14
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_min14
          If EventType() = #PB_EventType_Focus
            Weiter = #L_nebenk1
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_nebenk1
          If EventType() = #PB_EventType_Focus
            Weiter = #L_mat1
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_mat1
          If EventType() = #PB_EventType_Focus
            Weiter = #L_zuse1
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_zuse1
          If EventType() = #PB_EventType_Focus
            Weiter = #L_zusp1
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_zusp1
          If EventType() = #PB_EventType_Focus
            Weiter = #L_matgkpe1
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_matgkpe1
          If EventType() = #PB_EventType_Focus
            Weiter = #L_fremlstg11
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_fremlstg11
          If EventType() = #PB_EventType_Focus
            Weiter = #L_fremkost11
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf  
          
        Case #L_fremkost11
          If EventType() = #PB_EventType_Focus
            Weiter = #L_fremlstg12
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf  
          
         Case #L_fremlstg12
          If EventType() = #PB_EventType_Focus
            Weiter = #L_fremkost12
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf  
          
        Case #L_fremkost12
          If EventType() = #PB_EventType_Focus
            Weiter = #L_fremlstg13
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf  
          
         Case #L_fremlstg13
          If EventType() = #PB_EventType_Focus
            Weiter = #L_fremkost13
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf  
          
        Case #L_fremkost13
          If EventType() = #PB_EventType_Focus
            Weiter = #L_fremlstg14
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf  
          
         Case #L_fremlstg14
          If EventType() = #PB_EventType_Focus
            Weiter = #L_fremkost14
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf  
          
        Case #L_fremkost14
          If EventType() = #PB_EventType_Focus
            Weiter = #L_fremzup1
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_fremzup1
          If EventType() = #PB_EventType_Focus
            Weiter = #L_fremzue1
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
        Case #L_fremzue1
          If EventType() = #PB_EventType_Focus
            Weiter = #L_min11
          ElseIf EventType() = #PB_EventType_Change
              
          ElseIf EventType() = #PB_EventType_LostFocus
          EndIf
          
      ;-Buttons    
      ; ===========================================================
      ; Hauptmenü  
        Case #Leistung
          If Fenster <> #Window_0
            SetActiveWindow(#Window_0)
            CloseWindow(Fenster)
          EndIf  
          Open_Window_1()
          Fenster = #Window_1
          SetActiveWindow(#Window_1)
          HideGadget(#speicher,1)
          StatusBarText(#Statusbar_1,1,"Es ist noch kein Datensatz angelegt")
          Weiter = #L_eh
          
        Case #Artikel
          If Fenster <> #Window_0
            SetActiveWindow(#Window_0)
            CloseWindow(Fenster)
          EndIf  
          Open_Window_3()
          Fenster = #Window_3
          SetActiveWindow(#Window_3)
          ;HideGadget(#speicher,1)
          StatusBarText(#Statusbar_3,1,"Es ist noch kein Datensatz angelegt")
          ;Weiter = #L_eh
          
      ;Leistung
        Case #neu
          HideGadget(#neu,1)
          HideGadget(#aender,1)
          HideGadget(#speicher,0)
          HideGadget(#loesch,1)
          HideGadget(#posA,1)
          HideGadget(#posE,1)
          HideGadget(#rueck,1)
          HideGadget(#vor,1)
          SetGadgetText(#L_datn,datum)
          SetActiveGadget(#L_nr)
          
        Case #abbr
          HideGadget(#abbr,1)
          HideGadget(#neu,0)
          HideGadget(#speicher,1)
          HideGadget(#aender,0)
          HideGadget(#loesch,0)
          HideGadget(#posA,0)
          HideGadget(#posE,0)
          HideGadget(#rueck,0)
          HideGadget(#vor,0)
                     
      EndSelect
      
  EndSelect
ForEver
Wenn Sie nichts zu Tun haben, tun Sie es bitte nicht hier.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Probleme mit 64 Bit Version 5.22 LTS

Beitrag von ts-soft »

Erstmal EnableExplicit an und die Enumeration:

Code: Alles auswählen

EnableExplicit

Enumeration ; Fenster
  #Window_0
  #Window_1
  #Window_2
  #Window_3
EndEnumeration

Enumeration ; Menuitem, Shortcuts, Toolbaritem usw.
  #Menu_1
  #Menu_2
  #Menu_10
  #Menu_20
  #Menu_21
  #Menu_A1
  #Menu_A2
  #Funk_3
  #Funk_4
  #Funk_Ret
EndEnumeration

Enumeration ; Gadgets
  #Container_00
  #Adress
  #Artikel
  #Leistung
  #Kalk
  #Rechnung
; ...
EndEnumeration
usw.

Hab jetzt aber keine Lust, den Chaos-Code von Dir aufzuarbeiten, fehlt mir auch die Zeit. Ist auch zu unvollständig, bzw. falsch. Z.B.

Code: Alles auswählen

          Case #Funk_Ret       
             
            SetActiveGadget(Weiter)
Wer oder was ist weiter, da such ich mir nen Wolf :wink:
Wenn Du den Code nicht noch wesentlich verbessern kannst, kann ich Dir nicht helfen.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten