Seite 1 von 2

Grafische Oberfläche

Verfasst: 09.08.2022 20:31
von Iemhoff
:mrgreen:

Moin

Gibt es eine Grafisch Oberfläche bei diesen 'Basic'

Gibt es eine Kurzanleitung um erste Tests fahren zukönnen. :praise:

So ja gibt es Example-Prgramme ?

Wie werden Daten ausgelesen die mit dem Programm mit gegeben werden Z.bs

Demo.exe /12345 :Haus ;Nein ????

MfG
Jan

:bounce:

Re: Grafische Oberfläche

Verfasst: 09.08.2022 20:43
von mk-soft
www.purebasic.com -> Downloads - Siehe Hilfe und Beispiel Codes

Die freie Version von PureBasic (begrenzt auf kleinere Programme) ist für alle zum Download verfügbar:

Re: Grafische Oberfläche

Verfasst: 09.08.2022 21:00
von Iemhoff
Hallo mk-soft

Danke für deine Antwort, soweit war/bin ich auch gekommen aber so richtug weiter gehts wirklich noch nicht.
Gibt es ein Beispiel Programm Z.bs Calculator, Taschenrechner wo Ein-/Ausgabe zu sehen sind?

Jetzt habe bein Exe starten zwei PopUp Fenster, 1. Total schwarz und 2. mit dem 'Programm'.
Ist dies 'NORMAL'???

Schönen Gruß

Jan

:bounce:

Re: Grafische Oberfläche

Verfasst: 09.08.2022 21:34
von mk-soft
Ich habe gerade meine Kristallkugel verlegt ... <)

Aber etwas Code was du machst ist hilfreich.
Bitte Code-tags verwenden.

Re: Grafische Oberfläche

Verfasst: 09.08.2022 21:41
von mk-soft
Normalerweise zu früh, aber ich gebe dir mal ein Template wie ein Programm aufgebaut sein muss.
(Ohne FormDesigner)

Code: Alles auswählen

;-TOP

#ProgramTitle = "Main Window"
#ProgramVersion = "v1.01.2"

Enumeration Windows
  #Main
EndEnumeration

Enumeration MenuBar
  #MainMenu
EndEnumeration

Enumeration MenuItems
  #MainMenuAbout
  #MainMenuExit
EndEnumeration

Enumeration Gadgets
  #MainEdit
  #MainButtonOk
  #MainButtonCancel
EndEnumeration

Enumeration StatusBar
  #MainStatusBar
EndEnumeration

Procedure UpdateWindow()
  Protected dx, dy
  dx = WindowWidth(#Main)
  dy = WindowHeight(#Main) - StatusBarHeight(#MainStatusBar) - MenuHeight()
  ; Resize gadgets
  ResizeGadget(#MainEdit, 5, 5, dx -10, dy - 45)
  ResizeGadget(#MainButtonok, 10, dy - 35, 120, 30)
  ResizeGadget(#MainButtonCancel, dx - 130, dy - 35, 120, 30)
EndProcedure

Procedure Main()
  Protected dx, dy
  
  #MainStyle = #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget
  
  If OpenWindow(#Main, #PB_Ignore, #PB_Ignore, 800, 600, #ProgramTitle , #MainStyle)
    ; Menu
    CreateMenu(#MainMenu, WindowID(#Main))
    MenuTitle("&File")
    CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
      MenuItem(#PB_Menu_About, "")
    CompilerElse
      MenuItem(#MainMenuAbout, "About")
      MenuBar()
    CompilerEndIf
    
    MenuItem(#MainMenuExit, "E&xit")
    
    ; StatusBar
    CreateStatusBar(#MainStatusBar, WindowID(#Main))
    AddStatusBarField(#PB_Ignore)
    
    ; Gadgets
    dx = WindowWidth(#Main)
    dy = WindowHeight(#Main) - StatusBarHeight(#MainStatusBar) - MenuHeight()
    EditorGadget(#MainEdit, 5, 5, dx -10, dy - 45)
    ButtonGadget(#MainButtonok, 10, dy - 35, 120, 30, "Ok")
    ButtonGadget(#MainButtonCancel, dx - 130, dy - 35, 120, 30, "Abbruch")
    
    ; Bind Events
    BindEvent(#PB_Event_SizeWindow, @UpdateWindow(), #Main)
    
    ; Event Loop
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Select EventWindow()
            Case #Main
              Break
              
          EndSelect
          
        Case #PB_Event_Menu
          Select EventMenu()
            CompilerIf #PB_Compiler_OS = #PB_OS_MacOS   
              Case #PB_Menu_About
                PostEvent(#PB_Event_Menu, #Main, #MainMenuAbout)
                
              Case #PB_Menu_Preferences
                
              Case #PB_Menu_Quit
                PostEvent(#PB_Event_CloseWindow, #Main, #Null)
                
            CompilerEndIf
            
          Case #MainMenuAbout
            MessageRequester("About", #ProgramTitle + #LF$ + #ProgramVersion, #PB_MessageRequester_Info)
              
          Case #MainMenuExit
            PostEvent(#PB_Event_CloseWindow, #Main, #Null)
            
          EndSelect
          
        Case #PB_Event_Gadget
          Select EventGadget()
            Case #MainEdit
              Select EventType()
                Case #PB_EventType_Change
                  ;
                  
              EndSelect
              
            Case #MainButtonOk
              ;
            Case #MainButtonCancel
              ;
              
          EndSelect
          
      EndSelect
    ForEver
    
  EndIf
  
EndProcedure : Main()

Re: Grafische Oberfläche

Verfasst: 10.08.2022 07:41
von Bisonte
Iemhoff hat geschrieben: 09.08.2022 21:00 Jetzt habe bein Exe starten zwei PopUp Fenster, 1. Total schwarz und 2. mit dem 'Programm'.
Klingt nach Konsolenfenster oder defekter Grafikkarte ;)

Re: Grafische Oberfläche

Verfasst: 10.08.2022 12:49
von Iemhoff
Konsolen Fenster (CMD-Fenster, DOS).
Ist dies immer so bei 'Purebasic'?
(Ich suche Ersatz für VB5 und VB6, Visual Basic und Visual Studio sind zu unhandlich).

Gruß
Jan

Re: Grafische Oberfläche

Verfasst: 10.08.2022 14:23
von Kiffi
Iemhoff hat geschrieben: 10.08.2022 12:49Ist dies immer so bei 'Purebasic'?
nein. Wie wäre es, wenn Du den Code von mk-soft mal ausführen würdest?

Re: Grafische Oberfläche

Verfasst: 10.08.2022 15:03
von Axolotl
Schön, dass Du dich für PureBasic interessierst. PB hat auf jeden Fall das Potential als VB oder <Was-auch-immer> Ersatz.
Noch ein Tipp von mir: Neben der Hilfe und den Beispielprogrammen (Weiß allerdings gerade nicht, ob die Beispiele auch in der Testversion enthalten sind) gibt es in diesem sowie im Englischen Forum bereits unheimlich viel zu (fast) allen Themen.
Das heißt: Die Foren-Suche ist Dein Freund.
Ansonsten gilt, je präziser die Fragen und inklusive lauffähigem Code (auch wenn der nicht funzt....) desto besser kann geholfen werden.
Aber es ist immer wieder erstaunlich mit wieviel Leidenschaft hier auch gerne im Nebel gestochert wird.
Das gilt sowohl für dieses wie auch für das englische Forum. Die Community ist einfach Top. (Wollte ich einfach mal loswerden.)

Re: Grafische Oberfläche

Verfasst: 10.08.2022 16:09
von Nino
Axolotl hat geschrieben: 10.08.2022 15:03 Aber es ist immer wieder erstaunlich mit wieviel Leidenschaft hier auch gerne im Nebel gestochert wird.
Das verblüfft mich auch immer wieder. :D