Autor | Thema: Dialoge sauber programmieren | | Datum:31.05.01 12:35 
(hoefener@web.de) | |
Hallo Profaner,
irgendwie stolpere ich bei Dialogen immer noch über meinen "Programmierstil".
Wie sieht ein sauber erstellter Quelltext über eine Kombination von mehreren Fenstern/Dialogen(WhileNot haupt_ende%
waitinput ...)aus.
Diese sollten in Windowsmanier mit sämtlichen Verkleinerungs-/ Vergrößerungseigenschaften versehen sein - innerhalb eines Hauptfensters plaziert sein ( das man beim Verkleinern nur 1x in der taskleiste sieht, bzw. beim Verschieben nicht das darunterliegende zu sehen sein )
Da mein Programm schon 7 Teilbereiche besitzt rufe ich diese ähnlich dem profan-bsp. mittels shell "Programmname ***.prc" auf. das gibt aber bemerkbare Verzögerungen (aber noch ok )- bei NT aber springt das Hauptfenster immer wieder in den Vordergrund (ShowWindow(haupt_dlg%,0) usw.
Vielleicht gestaltet man ja solche Fensterkombinationen besser ...
Danke
Grüße Lars
|
| | Datum:07.06.01 10:00 
(ps@burghardt-ib.de) | |
Du bist lustig !
Wie kann dir jemand sagen, ob du guten bzw. schlechten stil schreibst bevor er deinen quelltext gesehen hat ???
Bitte poste doch mal deinen Quelltext, oder schick ihn mir,
im übrigen klingt das, was du da gemacht hast, ganz so, als ob du eigenständige Programme als. rozeduren verwendest. Sollte das der Fall sein, wird sich auch dein Geschwindigkeitsproblem schnell lösen, wenn du statt eigenen Programmen Prozeduren verwendest. (ist auch sparsamer was den Arbeitsspeicher angeht, da die Profan-Runtime nur einmal und nicht 7 geladen werden muss).
Schöne Grüße,
Philipp
|
| | Datum:07.06.01 10:50 
(mail@msgroup.de) | |
Hallo!
Verstehe ich das richtig? Du willst nur sehen, wie man eine Kombination aus mehreren Fenstern erstellt?
Benutze einfach "Visual Window Pro 2", erstelle 2-3 Fenster in einem Projekt und schaue dir den Quelltext an. Fertig! ;)
Hier gibts das Tool zum Download
http://www.msgroup.de/profan/
Viele Grüße,
--
Maik Strohfeldt, MS Group Software
http://www.msgroup.de
|
| | Datum:07.06.01 14:43 
(info@ebs-haase.de) | |
Hi!
Ein Programm kannst Du auch visuell mir PrFellow erstellen ( ist Freeware ) und Dir dann den Quelltext anschauen. Man lernt dadurch eine ganze Menge. Ob ein Programmierstil sauber und richtig ist, das sollte man selber entscheiden, denn jeder hat einen andren Geschmack. Wenn du aus Fremdprogrammen einen Stil übernimmst, dann ist das auch OK. Hauptsache Du verstehts Deinen Code auch noch nach 3 Wochen und das Porgamm läuft zur Zufriedenheit der User.
:-)) Bernd
|
| | Datum: 14.06.01 17:19 
(hoefener@web.de) | |
Hallo Profaner,
leider hatte ich erst heute Zeit Eure Gegenfragen zu lesen.
Mein Programm nimmt mit mehreren Dateien, Formularen, Dialogen usw. schon relativ viel Platz ein. Den Code erstellte ich großteils von Hand - so dass die Anwendung von Dialoghelfern ( Winfellow ) nicht mehr fkt. Meine Strukutren sehen ungefähr so aus:
proc prozedure_xyz
'declare .....
'ShowWindow(ma_dlg%,0)
'let ma_dlg_2%=@createwindow(%Hwnd,"Dialog - Fenster",0,0,%maxx,%maxy)
'........
'
'while_schleife mit @DestroyWindow(ma_dlg_2%) und ShowWindow(ma_dlg%,5)
endproc
proc prozedure_xxx
declare dlg_Ende%,ma_dlg%,zurueck%,neu%,bearbeiten%,loeschen%,uebersicht%,hilfe%,ma_ges_name$,datensatz%,neu_bearb%
WindowStyle 11
let ma_dlg%=@createwindow(%Hwnd,"Dialog - Fenster",0,0,%maxx,%maxy)
@createtext(ma_dlg%,"Fenster - mit Standardelementen ...",16,16,448,24) ' 1820
let neu%=@createbutton(ma_dlg%,"&Neu",136,56,220,32) ' 1844
let bearbeiten%=@createbutton(ma_dlg%,"&Bearbeiten",136,104,220,32) ' 1856
let hilfe%=@createbutton(ma_dlg%,"&Hilfe",136,248,220,32) ' 1796
let zurueck%=@createbutton(ma_dlg%,"Zurück zum Hauptmenü",136,360,220,32) ' 1816
Let dlg_Ende% = 0
@setfocus(neu%)
WhileNot dlg_ende%
waitinput
IF @GetFocus(zurueck%) & @Not(@Equ(%key,4))
@DestroyWindow(ma_dlg%)
Let dlg_ende% = 1
ELSEIF @GetFocus(neu%) & @Not(@Equ(%key,4))
prozedure_xyz
Let dlg_ende% = 0
ELSEIF @GetFocus(bearbeiten%) & @Not(@Equ(%key,4))
prozedure_xyz
Let dlg_ende% = 0
ELSEIF (@GetFocus(hilfe%) & @Not(@Equ(%key,4))) | @Equ(%key,5)
'hilfe "xyz"
Let dlg_ende% = 0
ENDIF
EndWhile
endproc
prozedure_xxx
-----------------------------------------
Dies führt aber zu Sprüngen innerhalb des Programmes. Nutze ich den ShowWindow(ma_dlg%,0) - Befehl schon in der ersten Prozedure wird es aber nicht flüssiger. Ich habe auch schon mit sämtlichen windowsstyle - Varianten rumprobiert. So richtig wie ein Windowsanwendungs - Programm sieht es nicht aus.
Das Programm sollte innerhalb eines Fenster ablaufen, ohne dass man die alten "Unter"-Dialoge beim Verschieben des Fensters sieht, mit nur einem Eintrag in der Taskleiste usw. .
Wie muß ich meine Strukturen abändern ?
Grüße Lars
|
|
|