Re: Umsteiger sucht Einstieg
Verfasst: 27.02.2010 12:58
Willkommen auch von mir
Ist mir nie aufgefallen das kein Drucken gibt. Finde es auch nicht sinnvoll ein Programm zu Drucken da es sehr schnell zu mehrenen hunderten Zeilen kommt.
Habe früher auch mict Pascal programmiert. Hatte oder habe auch noch ein Compiler für CPM80 betriebssysteme
Für den Anfang für Umsteiger mal die Hilfe von PB mal in folgende Bereiche mal durch zu lesen.
Allgemeine Themen
- Allgemeine Syntax Regeln
- Variablen, Typen und Operatoren
Und dann nach unten einfach weiter. Somit hatt man schon ein Guten Einstieg.
Viele Einsteiger haben meisten ein Problem mit den Eventhändling der GUI und rufen diese meist falsch oder Doppel ab.
Zum testen verwende ich immer ein fertigen Programmbaustein. Der beinhaltet schon mal alle erforderlichen abfragen der GUI Events.
Einfach mal mit F1 die einzelnen funktionen nachlesen...
Viel freude noch mit den proggen mit PB

Ist mir nie aufgefallen das kein Drucken gibt. Finde es auch nicht sinnvoll ein Programm zu Drucken da es sehr schnell zu mehrenen hunderten Zeilen kommt.
Habe früher auch mict Pascal programmiert. Hatte oder habe auch noch ein Compiler für CPM80 betriebssysteme

Für den Anfang für Umsteiger mal die Hilfe von PB mal in folgende Bereiche mal durch zu lesen.
Allgemeine Themen
- Allgemeine Syntax Regeln
- Variablen, Typen und Operatoren
Und dann nach unten einfach weiter. Somit hatt man schon ein Guten Einstieg.
Viele Einsteiger haben meisten ein Problem mit den Eventhändling der GUI und rufen diese meist falsch oder Doppel ab.
Zum testen verwende ich immer ein fertigen Programmbaustein. Der beinhaltet schon mal alle erforderlichen abfragen der GUI Events.
Code: Alles auswählen
;- Konstanten
Enumeration ; Window ID
#Window
EndEnumeration
Enumeration ; Menu ID
#Menu
EndEnumeration
Enumeration ; MenuItem ID
#Menu_Exit
EndEnumeration
Enumeration ; Statusbar ID
#Statusbar
EndEnumeration
Enumeration ; Gadget ID
#List
EndEnumeration
; ***************************************************************************************
; Es müssen immer alle Variablen declariert werden
EnableExplicit
; ***************************************************************************************
Procedure UpdateWindow()
Protected x,y,dx,dy
Protected mn,st,tb
x = 0
y = 0
mn = MenuHeight()
st = StatusBarHeight(#StatusBar)
;tb = ToolBarHeight(#ToolBar)
dx = WindowWidth(#Window)
dy = WindowHeight(#Window) - mn - st - tb
ResizeGadget(#List, x, y, dx, dy)
EndProcedure
Procedure WriteLog(Info.s)
Protected temp.s
temp = FormatDate("%YYYY.%MM.%DD %HH:%II:%SS - ", Date()) + Info
AddGadgetItem(#List, -1, temp)
If CountGadgetItems(#List) > 500
RemoveGadgetItem(#List, 0)
EndIf
EndProcedure
;- Globale Variablen
Global exit = 0
; Main in eine Procedure gekapselt
Procedure Main()
Protected style, event, window, menu, gadget, type
;- Fenster
style = #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget
If OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 400, 300, "Fenster", style)
; Menu
If CreateMenu(#Menu, WindowID(#Window))
MenuTitle("&Datei")
MenuItem(#Menu_Exit, "Be&enden")
EndIf
; Statusbar
CreateStatusBar(#Statusbar, WindowID(#Window))
; Gadgets
ListViewGadget(#List, 0,0,0,0)
; Init
WriteLog("Programm gestartet")
;-- Hauptschleife
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_Menu ; ein Menü wurde ausgewählt
menu = EventMenu()
Select menu
Case #Menu_Exit
Exit = 1
EndSelect
Case #PB_Event_Gadget ; ein Gadget wurde gedrückt
gadget = EventGadget()
type = EventType()
Case #PB_Event_CloseWindow ; das Schließgadget vom Fenster wurde gedrückt
window = EventWindow()
If window = #Window
Exit = 1
EndIf
Case #PB_Event_Repaint ; der Fensterinhalt wurde zerstört und muss neu gezeichnet werden (nützlich für 2D Grafik-Operationen)
Case #PB_Event_SizeWindow ; das Fenster wurde in der Größe verändert
window = EventWindow()
If window = #Window
UpdateWindow()
EndIf
Case #PB_Event_MoveWindow ; das Fenster wurde verschoben
Case #PB_Event_ActivateWindow ; das Fenster wurde aktiviert (hat den Fokus erhalten)
Case #PB_Event_SysTray ; das SysTray wurde aktiviert
EndSelect
Until Exit
EndIf
EndProcedure : Main()
Viel freude noch mit den proggen mit PB
