Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249630 (11066)
  Suchen
 Zurück zur Übersicht
 AutorThema: Dialoge sauber programmieren
Lars
Datum:31.05.01 12:35 Antwortenals Email verschicken (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



Philipp Sternberg
Datum:07.06.01 10:00 Antwortenals Email verschicken (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


Maik Strohfeldt
Datum:07.06.01 10:50 Antwortenals Email verschicken (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


Bernd
Datum:07.06.01 14:43 Antwortenals Email verschicken (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


Lars
Datum: 14.06.01 17:19 Antwortenals Email verschicken (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


 Zurück zur Übersicht