Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem bzgl. Formularfensters (https://www.delphipraxis.net/40051-problem-bzgl-formularfensters.html)

moerdog 10. Feb 2005 13:24


Problem bzgl. Formularfensters
 
Hi,

also gleich zu Anfang möchte ich sagen, dass ich mich erst seit kurzem mit Delphi befasse. Ziel des ganzen ist eine Anwendung, mit der ich meine Homepage (speziell die News) aus einer Windows-Umgebung verwalten kann. Was den Zugriff auf MySQL & FTP angeht, hab ich mich schon einigermaßen eingelesen, das klappt soweit auch.

Mein Problem ist eigentlich viel grundlegenderer Natur, denn ich Suche eine Anweisung im Sinne von ClrScr; aus Pascal, die den Inhalt eines bereits vorhandenen Formulars entfernt. Zum Beispiel ist mir nicht klar, wie sich ein "Weiter" / "Zurück" Button, wie man ihn aus diversen Programmen kennt, verwirklichen lässt...

Hilfe! :wink:

sniper_w 10. Feb 2005 13:34

Re: Problem bzgl. Formularfensters
 
Na ja, dann fehl dir aba einiges...
Aber dass mit dem Weiter / Zurück könntest du so machen:
Z.B. es gibt 3 Schritte insgesamt:
Deffiniere für jede Schritt das Aussehen , d.s. alle Benötigte kommponente und Platziere sie auf z.b. Panel_1 (TPanel), für zwiete Schritt alles was du bruchst auf Panel_2(TPanel) und auch so für 3. Schritt.
TPanel instance hat eine Eigenschaft und die Heist ->VISIBLE<- von Typ BOOLEAN.
Panel_1.visible := true; // man sieht Panel_1 und alles was drauf liegt
Panel_1.visible := false; // jetzt aber nicht mehr

Jetzt darfst du raten wie es weiter geht.... :wink:

Tyrael Y. 10. Feb 2005 13:42

Re: Problem bzgl. Formularfensters
 
...und richtig resourcensparend machts du es, indem du
nur eine leere Form benutzt und zur Laufzeit die Komponenten erzeugst,
wenn diese nicht mehr gebraucht werden wieder freigibst

und

danach halt wieder die neuen benötigten Komponenten erzeugst

...Position usw der einzelnen Komponenten sowie andere wichtige Eigenschaften die
vor dem Programmstart schon fest stehen, schreibst du vorher in eine ini-Datei und liest es wenn es gebraucht wird wieder von da aus


mfg

moerdog 10. Feb 2005 13:47

Re: Problem bzgl. Formularfensters
 
Ok das erste Prinzip leuchtet mir ein, das geht.

Das zweite klingt natürlich prinzipiell spannender. Die Frage ist nur, wie genau das vonstatten gehen würde .. :oops:

maximov 10. Feb 2005 13:56

Re: Problem bzgl. Formularfensters
 
Zitat:

Zitat von Tyrael Y.
...und richtig resourcensparend machts du es, indem du
nur eine leere Form benutzt und zur Laufzeit die Komponenten erzeugst,
wenn diese nicht mehr gebraucht werden wieder freigibst

und

danach halt wieder die neuen benötigten Komponenten erzeugst

...Position usw der einzelnen Komponenten sowie andere wichtige Eigenschaften die
vor dem Programmstart schon fest stehen, schreibst du vorher in eine ini-Datei und liest es wenn es gebraucht wird wieder von da aus


mfg

Das ist der umständlichste und unsinnigste weg, den es gibt (sorry Tyrael)! Mach das blos nicht. Und resourcen sparender ist es sicher auch nicht. Mach dir lieber mehrere forms, die du dann aus der automatischer erzeugung (irgenwo in den optionen) raus nimmst und diese forms, dann hinter einander erzeugst und anzeigst. Eine DFM-datei ist schleisslich auch eine art INI für formulare, und das völlig stressfrei.

Wenn die durchführung noch harpert, dann frag ruhig :wink:

//edit
PS: Modale formulare könnten helfen.

Tyrael Y. 10. Feb 2005 14:02

Re: Problem bzgl. Formularfensters
 
maximov hat Recht, der Weg den ich beschrieben habe, wird besonders kritisch und umständlich in Zusammenhang mit Ereignissen usw.

es kann Resourcensparender sein, muss es aber nicht ^^

mach es über vorher erzeugt Formen, das passt schon
wollte nur den "zu Fuß"-Weg beschreiben


mfg

alcaeus 10. Feb 2005 14:04

Re: Problem bzgl. Formularfensters
 
Hallo moerdog,

du könntest auf dem Hauptformular mit den zwei Buttons noch ein Panel draufsetzen, und die jeweiligen Module als Frames erstellen. Anschließend erstellst du die Frames, setzt deren Visible-Eigenschaft auf False und die Parent-Eigenschaft auf das Panel. (Dazu gibt es auch schon Beispiele hier im Forum). nun zeigst du das erste Frame an, und beim Klick auf Weiter bzw. Zurück musst du nur die entsprechenden Frames sichtbar/unsichtbar machen.
Falls dir mein Beitrag (noch) nicht (viel) weiterhilft, sag es, dann kann ich auf der Heimfahrt evtl. noch ein Beispiel zusammenbauen...

Greetz
alcaeus

moerdog 10. Feb 2005 14:08

Re: Problem bzgl. Formularfensters
 
Meinetwegen auch so .. :)

Ein entsprechendes Beispiel wäre tatsächlich sehr nett

alcaeus 10. Feb 2005 14:08

Re: Problem bzgl. Formularfensters
 
Ok, dann werde ich auf der Heimfahrt eines zusammenschreiben (keine Angst, ich fahr schon nicht mit dem Auto :mrgreen:). Ich werds dann aber erst gegen 8 hier posten können.

Greetz
alcaeus

alcaeus 10. Feb 2005 18:11

Re: Problem bzgl. Formularfensters
 
Liste der Anhänge anzeigen (Anzahl: 1)
So...wie versprochen das Beispiel.

Es gibt das MainForm, sowie drei Frames. Sieh es dir an, ich hab den Quelltext dokumentiert. Falls du Fragen dazu hast, ich beantworte sie gerne. Was du im SC siehst, ist die vereinfachte Variante, die ich in einigen Anwendungen verwende.

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz