User Tools

Site Tools


k13:k13.1:k13.1.3:start

13.1.3 Source code - Form. class

' Gambas class file
 
Public Sub Form_Open()
 
  FMain.Center
  FMain.Resizable = False
  PictureBox1.Border = Border.None
  PictureBox1.Picture = Picture["muster.jpg"]
  Label1.text = "Fraktale Geometrie (Informatik-Kurs 12)"
  FMain.Height += 24 ' Es muss Platz für die Menü-Leiste geschaffen werden
 
  MM.ShowMenu
 
End ' Form_Open()
 
Public Sub ImageOpen()
 
  Dialog.Title = "Importieren Sie eine Bild-Datei!"
  Dialog.Filter = ["*.png", "Bild-Dateien"]
 
  If Dialog.OpenFile(False) = True Then ' Multiselect=False (Standard)
     Message.Info("Das Öffnen der Bild-Datei wurde abgebrochen!")
     Return ' Cancel-Button gedrückt
  Else
     Try PictureBox1.Picture = Picture.Load(Dialog.Path)
     If Error Then
        Message.Error("Fehler beim Öffnen der Bilddatei")
     Else
        Label1.Alignment = Align.Left
        Label1.Text = " Datei: " & File.Name(Dialog.Path)
     Endif ' ERROR?
  Endif ' Dialog.OpenFile
 
End ' ImageOpen()
 
Public Sub CreateImage()
  Message.Info("Es wird ein Programm aufgerufen,\num eine Bild-Datei zu generieren.")
End '  CreateImage()
 
Public Sub SaveImage()
  Message.Info("Aufruf: Speichern-Dialog")  
End ' SaveImage()
 
Public Sub SaveAsDialog()
  Message.Info("Aufruf: Speichern-Unter-Dialog")  
End ' SaveAsDialog()
 
Public Sub PrintImage()
  Message.Info("Jetzt wird das Bild gedruckt ...")    
End ' PrintImage()
 
Public Sub SetOptions()
   Message.Info("Hier können Programm-Optionen festgelegt werden...")
End ' SetOptions()
 
Public Sub GetColor_1()
  Message.Info("Hier wird ein Farb-Auswahldialog 1 aufgerufen.")
End ' GetColor1()
 
Public Sub GetColor_2()
  Message.Info("Hier wird ein Farb-Auswahldialog 2 aufgerufen.")
End ' GetColor1()
 
Public Sub Form_Close()
  FHelp.Close
  FMain.Close
End ' Form_Close()

Comments:

  • In line 12, the menu is inserted into the form declared in the module MM. module.
  • The other source code does not contain any special features. The program actions are mainly coded, which are triggered when a certain menu is clicked or the assigned key combination.
  • The procedures contain - except for ImageOpen () - only references to the program action.

In the download area you will find 3 projects with the same goal. For the first project, the file Form. class contains the complete source code. A module is used in the second project and the third project works with functions within a module. This makes the source code shorter, but also more complicated in the syntax when declaring individual menus.

13.1.3 Download

13.1.3 Quelltext – Form.class

' Gambas class file
 
Public Sub Form_Open()
 
  FMain.Center
  FMain.Resizable = False
  PictureBox1.Border = Border.None
  PictureBox1.Picture = Picture["muster.jpg"]
  Label1.text = "Fraktale Geometrie (Informatik-Kurs 12)"
  FMain.Height += 24 ' Es muss Platz für die Menü-Leiste geschaffen werden
 
  MM.ShowMenu
 
End ' Form_Open()
 
Public Sub ImageOpen()
 
  Dialog.Title = "Importieren Sie eine Bild-Datei!"
  Dialog.Filter = ["*.png", "Bild-Dateien"]
 
  If Dialog.OpenFile(False) = True Then ' Multiselect=False (Standard)
     Message.Info("Das Öffnen der Bild-Datei wurde abgebrochen!")
     Return ' Cancel-Button gedrückt
  Else
     Try PictureBox1.Picture = Picture.Load(Dialog.Path)
     If Error Then
        Message.Error("Fehler beim Öffnen der Bilddatei")
     Else
        Label1.Alignment = Align.Left
        Label1.Text = " Datei: " & File.Name(Dialog.Path)
     Endif ' ERROR?
  Endif ' Dialog.OpenFile
 
End ' ImageOpen()
 
Public Sub CreateImage()
  Message.Info("Es wird ein Programm aufgerufen,\num eine Bild-Datei zu generieren.")
End '  CreateImage()
 
Public Sub SaveImage()
  Message.Info("Aufruf: Speichern-Dialog")  
End ' SaveImage()
 
Public Sub SaveAsDialog()
  Message.Info("Aufruf: Speichern-Unter-Dialog")  
End ' SaveAsDialog()
 
Public Sub PrintImage()
  Message.Info("Jetzt wird das Bild gedruckt ...")    
End ' PrintImage()
 
Public Sub SetOptions()
   Message.Info("Hier können Programm-Optionen festgelegt werden...")
End ' SetOptions()
 
Public Sub GetColor_1()
  Message.Info("Hier wird ein Farb-Auswahldialog 1 aufgerufen.")
End ' GetColor1()
 
Public Sub GetColor_2()
  Message.Info("Hier wird ein Farb-Auswahldialog 2 aufgerufen.")
End ' GetColor1()
 
Public Sub Form_Close()
  FHelp.Close
  FMain.Close
End ' Form_Close()

Kommentare:

  • In der Zeile 12 wird das Menü in das Formular eingefügt, das im Modul MM.module deklariert worden ist.
  • Der weitere Quelltext enthält keine Besonderheiten. Es werden vorwiegend die Programmaktionen codiert, die dann ausgelöst werden, wenn ein bestimmtes Menü angeklickt wird oder die zugewiesene Tastenkombination.
  • Die Prozeduren enthalten – bis auf ImageOpen() – nur Verweise auf die Programmaktion.

Im Download-Bereich finden Sie 3 Projekte mit der gleichen Zielstellung. Beim ersten Projekt enthält die Datei Form.class den vollständigen Quelltext. Mit einem Modul wird im 2. Projekt gearbeitet und beim dritten Projekt wird innerhalb eines Moduls mit Funktionen gearbeitet. Der Quelltext wird dadurch zwar kürzer, aber auch komplizierter in der Syntax bei der Deklaration einzelner Menüs.

13.1.3 Download

The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k13/k13.1/k13.1.3/start.txt · Last modified: 02.07.2018 (external edit)

Page Tools