Verwendung von Modulen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
mk-soft
Beiträge: 3701
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Verwendung von Modulen

Beitrag von mk-soft »

Wenn Code innerhalb vom Module programmiert wird, wird dieser auch sofort ausgeführt.
Ein Module ist sowas wie NameSpace und um Funktionen und Variablen zu Kapseln.
Um ein Module eine Initialisierung durchzuführen, kann man innerhalb vom Module eine Procedure InitModule() programmieren diese aufrufen

Hier gilt auch bevor eine Funktion (Procedure) verwendet werden kann, muss vorher Definiert werden.
Also in der Reihenfolge erst das Modul, dann die Fenster.

Du must den InputRequester in eine Procedure packen und veröffentlichen.

Code: Alles auswählen

DeclareModule Vokabular
  Global NewMap DeEn.s()
  Global NewMap EnDe.s()
  Global NewMap DeEn1.s()
  Global NewMap En1De.s()
  Global NewMap DeEn2.s()
  Global NewMap En2De.s()
  Global NewMap DeEn3.s()
  Global NewMap En3De.s()
  Global NewMap DeEn4.s()
  Global NewMap En4De.s()
  Global NewMap DeEn5.s()
  Global NewMap En5De.s()
  Global NewMap DeEn6.s()
  Global NewMap En6De.s()
  Global NewMap DeEn7.s()
  Global NewMap En7De.s()
  Global NewMap DeEn8.s()
  Global NewMap En8De.s()
  Global NewMap DeFrz.s()
  Global NewMap FrzDe.s()
  Global NewMap DeFrz1.s()
  Global NewMap Frz1De.s()
  Global NewMap DeFrz2.s()
  Global NewMap Frz2De.s()
  Global NewMap DeFrz3.s()
  Global NewMap Frz3De.s()
  Global NewMap DeFrz4.s()
  Global NewMap Frz4De.s()
  Global NewMap DeFrz5.s()
  Global NewMap Frz5De.s()
  Global NewMap DeFrz6.s()
  Global NewMap Frz6De.s()
  Global NewMap DeFrz7.s()
  Global NewMap Frz7De.s()
  Global NewMap DeFrz8.s()
  Global NewMap Frz8De.s()
  
  Declare DoInput()
  
EndDeclareModule
Module Vokabular
  Procedure EnglischUnit10()
    InputRequester("","","")
  EndProcedure
  ; ----
  Procedure EnglischUnit20()
    
  EndProcedure
  ; ----
  Procedure EnglischUnit30()
    
  EndProcedure
  ; ----
  Procedure EnglischUnit40()
    
  EndProcedure
  ; ----
  Procedure EnglischUnit50()
    
  EndProcedure
  ; ----
  Procedure EnglischUnit60()
    
  EndProcedure
  ; ----
  Procedure EnglischUnit70()
    
  EndProcedure
  ; ----
  Procedure EnglischUnit80()
    
  EndProcedure
  ; ----
  Procedure FranzoesischUnite10()
    
  EndProcedure
  ; ----
  Procedure FranzoesischUnite20()
    
  EndProcedure
  ; ----
  Procedure FranzoesischUnite30()
    
  EndProcedure
  ; ----
  Procedure FranzoesischUnite40()
    
  EndProcedure
  ; ----
  Procedure FranzoesischUnite50()
    
  EndProcedure
  ; ----
  Procedure FranzoesischUnite60()
    
  EndProcedure
  ; ----
  Procedure FranzoesischUnite70()
    
  EndProcedure
  ; ----
  Procedure FranzoesischUnite80()
  EndProcedure
  
  ; ----
  Procedure DoInput()
    waehleeins$ = InputRequester("","","")
    StarteDieVokabelabfrage = Val(waehleeins$)
    Select StarteDieVokabelabfrage
      Case 1
        EnglischUnit10()
      Case 2
        EnglischUnit20()
      Case 3
        EnglischUnit30()
      Case 4
        EnglischUnit40()
      Case 5
        EnglischUnit50()
      Case 6
        EnglischUnit60()
      Case 7
        EnglischUnit70()
      Case 8
        EnglischUnit80()
      Case 9
        FranzoesischUnite10()
      Case 10
        FranzoesischUnite20()
      Case 11
        FranzoesischUnite30()
      Case 12
        FranzoesischUnite40()
      Case 13
        FranzoesischUnite50()
      Case 14
        FranzoesischUnite60()
      Case 15
        FranzoesischUnite70()
      Case 16
        FranzoesischUnite80()
    EndSelect
  EndProcedure
  ; ----
  
  Procedure Init()
    ; Do any to init module
  EndProcedure : Init()
  
EndModule

;-Main Window
Procedure Main()
  If OpenWindow(1,0,0,1000,600,"",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
    ButtonGadget(1,10,10,100,25,"Vok Eng 1")
    ButtonGadget(2,10,40,100,25,"Vok Eng 2")
    ButtonGadget(3,10,70,100,25,"Vok Eng 3")
    ButtonGadget(4,10,100,100,25,"Vok Eng 4")
    ButtonGadget(5,10,130,100,25,"Vok Eng 5")
    ButtonGadget(6,10,160,100,25,"Vok Eng 6")
    ButtonGadget(7,10,190,100,25,"Vok Eng 7")
    ButtonGadget(8,10,220,100,25,"Vok Eng 8")
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Break
          
        Case #PB_Event_Gadget
          Select EventGadget()
            Case 1
              Vokabular::DoInput()
              
            Case 2
              ;
              
          EndSelect
          
      EndSelect
      
    ForEver
  EndIf
EndProcedure : Main()
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Wolfvater Loki
Beiträge: 52
Registriert: 22.05.2022 15:37

Re: Verwendung von Modulen

Beitrag von Wolfvater Loki »

Vielen Dank. Dies wird mir sehr helfen.
Wolfvater Loki
Er wünscht euch schöne Grüße.
Antworten