Hallo @all
Hallo H.Brill,
Die Zeitdifferenz ist ein Segen, denke ich für Euch.
Ihr braucht Euch nicht allzu sehr zu nerven, wenn ich dazwischen etwas schreibe
und eigentlich bereits eine Antwort besteht.
So in dem Fall, H. Brill hatte DIE Idee, welche ich hier etwas abgewandelt habe im Source
von mir.
Danke für die zündende Idee beim PopUp....
Und ich hab auch die Bitte, um bessere Bezeichnungen versucht umzusetzen.
Und ich habe nach Möglichkeit etwas mehr dokumentiert.
Ja, es gibt so ein / zwei Schönheitsfehler, aber auch die werde ich zu korrigieren.
Darf ich Euch mein Versuch hier präsentieren?
Ich würde mich über Rückmeldung sehr freuen zum neusten Schritt des Themas....
Ja, es wird nun nach und nach versucht, die einzelnen Module aus dem gesamten
was ich von Euch zu meinem Thema erhalten habe zu vereinen, aber noch bin ich
am Anfang des gesamten Werkes.
Herzliche Grüße
Christian
[EDIT]
Dokumentation wenn erwünscht
https://e.pcloud.link/publink/show?code ... 8mmFp56O7k
[\EDIT
Code: Alles auswählen
;= GUI Test for the procedure createpatch.pbi and patchit.pbi
;- Top
; -----------------------------------------------------------------------------
; Name: PM-AUPT app
; Description: Patch Maker und Auto UpDate Tool (GUI)
; Author: Christian & all of the PureBasic Forum
; Date: 2024-12-16
; Version: Beta
; PB-Version: 6.12
; OS: WIN 11
; Credit:
; Forum:
; Created by: Standard Window
; -----------------------------------------------------------------------------
; EnableExplicit
fileEnconding = #PB_UTF8
;}>SecOneA(1)
;| == 1. Aufzählungen (Enummeration) von Controlls
;|
;| § 1.1 -- Aufliestung der benötigten Elemente der Buttons sowie vorhandener
;| Strings und Menüs für die weiterführende GUI.
;{<
;}>SecOneB(2)
;|
;| § 1.2 -- Die Dokumentantion Elemente in dieser Source werden zugleich für die
;| externe Dokumentantions Generierung mit doxler verwendet und als ASCIIdoc
;| resp. HTML Datei generiert.
;| So dass ich über die HTML oder SCIIdoc File gerade eine passende Dokumentation
;| generier kann ohne weitere bemühungen
;|
;| REFERENZEN: (Stand 16.12.2024)
;|
;| https://www.purebasic.fr/german/viewtopic.php?p=353121&hilit=AsciiDoc#p353121
;| https://tajmone.github.io/doxter/
;| https://github.com/tajmone/doxter
;|
;|
;|
;| - Enumeration Gadget
;
;- Enumeration FormGadget
Enumeration FormGadget
#Container_0
#Text_0
#Text_4
#Text_6
#Editor_0
#Editor_5
#Date_0
#Container_2
#ListIcon_0
#Create_Bttn
#Upload_Bttn
EndEnumeration
;{<
;}>SecOneC(3)
;|
;| § 1.3 -- Enumeration der Form Menü Elemente
;|
;- Enumeration FormMenü
Enumeration FormMenu
#MenuItem_New
#MenuItem_Open
#MenuItem_Save
#MenuItem_Save_as
#MenuItem_Help
#MenuItem_news
#MenuItem_thanks
#MenuItem_Law
#MenuItem_About
#MenuItem_Exit
EndEnumeration
;{<
;}>SecOneD(4)
;|
;| § 1.4 -- Enumeration der PopUp Menü Elemente
;|
;- Enumeration PopUpMenü
Enumeration FormMenu
#PopUpMenue1
EndEnumeration
;{<
;}>SecOneE(5)
;|
;| § 1.5 -- Enumeration der PopUp Menü Elemente
;|
;- Enumeration PopUp Menü
Enumeration FormFont
#PopUpMenuItem_nothing_1
#PopUpMenuItem_new
#PopUpMenuItem_update
#PopUpMenuItem_no_update
#PopUpMenuItem_delete
#Gadget
#PopUpMenuItem_exit
EndEnumeration
;{<
;}>SecOneF(6)
;|
;| § 1.6 -- Enumeration der Font Elemente
;|
;| § 1.6.1 -- Öffnen oder Starten Font Fenster Gadget
;| § 1.6.2 -- Laden der eigentlich Schriftart
;|
;- Enumeration Form Font Gadget
Enumeration FormFont
#Font_Window_0_0
EndEnumeration
;- Load Font
LoadFont(#Font_Window_0_0,"Antigone Pro Light", 12)
;{<
;}>SecTwoA(5)
;|
;| == 2. Fenster
;|
;| § 2.1 -- Öffnen des Fenster Elemente
If OpenWindow(0, x, y, 750, 400, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
;|
;| § 2.2. -- Erstellen des Menü Gadget
;- Create Menü
If CreateMenu(0, WindowID(0))
;|
;| § 2.3. -- Erstellen der Menü Einträge
;- Menü Einträge aufführen
MenuTitle("&Datei")
MenuItem(#MenuItem_new, "&Neu")
MenuItem(#MenuItem_Open, "&Öffnen")
MenuBar()
MenuItem(#MenuItem_Save, "&Speichern")
MenuItem(#MenuItem_Save_as, "Speichern &unter")
OpenSubMenu("Projekte")
CloseSubMenu()
MenuBar()
MenuItem(#MenuItem_Exit, "&Beenden")
MenuTitle("&?")
MenuItem(#MenuItem_Help, "&Hilfe")
MenuBar()
MenuItem(#MenuItem_news, "Anpassungen")
MenuItem(#MenuItem_thanks, "Danksagung")
MenuItem(#MenuItem_Law, "Rechtliches")
MenuBar()
MenuItem(#MenuItem_About, "&Über")
;|
;| § 2.5. -- Erstellen des eigentlichen PopUpMenü (Window)
;- Elemente des PopUpMenü
If CreatePopupMenu(#PopUpMenue1)
MenuItem(#PopUpMenuItem_nothing_1, "---")
MenuItem(#PopUpMenuItem_new, "insert")
MenuItem(#PopUpMenuItem_update, "update")
MenuItem(#PopUpMenuItem_no_update, "NOupd")
MenuItem(#PopUpMenuItem_delete, "delete")
MenuItem(#PopUpMenuItem_exit, "exit")
EndIf
;|
;| § 2.4. -- Erstellen des eigentlichen Fenster (Window)
;- Elemente des Fentsers
ContainerGadget(#Container_0, 10, 0, 720, 50, #PB_Container_Flat | #PB_Container_Raised)
TextGadget(#Text_0, 10, 10, 70, 25, "Projekt:")
SetGadgetFont(#Text_0, FontID(#Font_Window_0_0))
TextGadget(#Text_4, 270, 10, 70, 25, "Version:")
SetGadgetFont(#Text_4, FontID(#Font_Window_0_0))
TextGadget(#Text_6, 470, 10, 60, 25, "Datum:")
SetGadgetFont(#Text_6, FontID(#Font_Window_0_0))
EditorGadget(#Editor_0, 80, 10, 180, 25, #PB_Editor_ReadOnly)
SetGadgetFont(#Editor_0, FontID(#Font_Window_0_0))
AddGadgetItem(#Editor_0, -1, "Projekt Name")
EditorGadget(#Editor_5, 340, 10, 120, 25, #PB_Editor_ReadOnly)
SetGadgetFont(#Editor_5, FontID(#Font_Window_0_0))
AddGadgetItem(#Editor_5, -1, "Projekt Version")
DateGadget(#Date_0, 540, 10, 170, 25, "")
SetGadgetFont(#Date_0, FontID(#Font_Window_0_0))
CloseGadgetList()
ContainerGadget(#Container_2, 10, 70, 720, 250, #PB_Container_Flat | #PB_Container_Raised)
ListIconGadget(#ListIcon_0, 10, 10, 700, 230, "Datei", 100, #PB_ListIcon_FullRowSelect)
AddGadgetColumn(#ListIcon_0, 1, "Verzeichnis", 100)
AddGadgetColumn(#ListIcon_0, 2, "Optionen", 100)
CloseGadgetList()
ButtonGadget(#Create_Bttn, 20, 330, 60, 25, "Create")
ButtonGadget(#Upload_Bttn, 100, 330, 60, 25, "Upload")
EndIf
;{<
;}>SecThreeA(6)
;|
;| == 3. Repeat Schlaufe
;|
;- Schleife
Repeat
event = WaitWindowEvent()
Select event
;|
;| § 3.1. -- Anzeigen und Auswerten Menü
;|
;- Elemente Menü & Auswertung
Case #PB_Event_Menu
Select EventMenu()
Case #MenuItem_New
Case #MenuItem_Open
Case #MenuItem_Save
Case #MenuItem_Save_as
Case #MenuItem_Help
Case #MenuItem_news
Case #MenuItem_thanks
Case #MenuItem_Law
Case #MenuItem_About
Case #MenuItem_Exit
Quit = 1
EndSelect
Case #PB_Event_Gadget
; If EventGadget() = 0 And EventType() = #PB_EventType_RightClick
If EventType() = #PB_EventType_RightClick
DisplayPopupMenu(#PopUpMenue1, WindowID(0))
EndIf
; Select EventGadget()
; EndSelect
Case #PB_Event_Menu
Select EventMenu() ; To see which menu has been selected
Case #PopUpMenuItem_nothing_1 ; ---
MessageRequester("PureBasic", "nothing 1", 0)
Case #PopUpMenuItem_new ; Insert
MessageRequester("PureBasic", "Insert", 0)
Case #PopUpMenuItem_update ; UpDate
MessageRequester("PureBasic", "UpDate", 0)
Case #PopUpMenuItem_no_update ; NO UpDate
MessageRequester("PureBasic", "NO UpDate", 0)
Case #PopUpMenuItem_delete ; ...
MessageRequester("PureBasic", "Delete", 0) : DisableGadget(#PopUpMenuItem_exit, #True)
EndSelect
Case #PB_Event_CloseWindow ; If the user has pressed on the close button
Quit = 1
EndSelect
Until Quit = 1
EndIf
;{<