AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Formularoberflächen

Ein Thema von CalvinCrime · begonnen am 13. Sep 2007 · letzter Beitrag vom 14. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
CalvinCrime

Registriert seit: 17. Aug 2007
5 Beiträge
 
#1

Mehrere Formularoberflächen

  Alt 13. Sep 2007, 16:24
Sorry, fang gerade erst an mit Delphi zu programieren und kenn mich
insgesamt noch nicht so gut damit aus.
Ich schreibe zur Zeit an einem Vokabeltrainer und er hat die folgenden Funktionen:

Vokabeln eintragen
( diese werden dann in einer Listbox angezeigt )
Vokabeln wieder löschen
Vokabelabfrage

Bis jetzt habe ich alles soweit ganz gut hin bekommen. Mein Einziges Problem ist jetzt,
dass ich die Vokabelabfrage so programmieren will:

Wenn ich die Vokabelabfrage per klick auf einen Button starte, soll Die oberfläche von dem Programm wie folgt aussehen.
Die Listbox und die Vokabeleingabe soll nicht mehr da sein, sprich nurnoch dieListbox mit der Vokabel die abgefragt wird und das Editfeld, wo dann die Übersetzung eingetragen werden soll.

Geht das Ganze auch ein wenig geschickter als nur einfach die Eigenschaft 'Visible' der Elemente die nichtmehr zu sehen sein sollen auf 'false' zu stellen

Sofern möglich, wäre es praktisch eine andere Form zu laden, sodass nur die abfrage da ist
und per klick auf einen Button gelangt man später auch wieder zur Vokabeleingabe.

Ist diese Vorstellung irgendwie realisierbar

Wäre sehr dankbar für eine schnelle antwort.

MfG Calvin
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#2

Re: Mehrere Formularoberflächen

  Alt 13. Sep 2007, 16:34
Hallo und Willkommen bei der Delphi-Praxis!

Für dein Problem kannst du zur Lösung entweder mehrere Formulare erzeugen (Datei -> Neu -> Form), die du jeweils bei dem Klick auf den Button mit Form2.Visible ein- oder ausblenden kannst. Das ist die simpelste Variante, was ich dir zum Üben auch erstmal empfehlen würde.
Die neue Form sollte gleich automatisch in dein Projekt eingebunden sein und du solltest über einen Button-Klick schon auf die Elemente von Form2 zugreifen können.
Dort kannst du genauso Edit-Felder, Labels, etc. unterbringen. Über die Form1 kannst du dann einfach per Form2.Edit1.Text oder ähnliches drauf zugreifen.

Weiterhin sind zum Lernen und Üben Bücher und Tutorials sehr empfehlenswert (zB http://www.dsdt.info/tutorials/).
Eigeninitiative und Selbständigkeit sind hier auch gern gesehen. ^^ Umso mehr man davon zeigt, umso mehr bekommt man gute Hilfe.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Mehrere Formularoberflächen

  Alt 13. Sep 2007, 16:53
Zitat von Nuclear-Ping:
Eigeninitiative und Selbständigkeit sind hier auch gern gesehen. ^^ Umso mehr man davon zeigt, umso mehr bekommt man gute Hilfe.
Abgesehen davon lernt man so auch mehr
Auch von mir ein herzliches Willkommen
  Mit Zitat antworten Zitat
CalvinCrime

Registriert seit: 17. Aug 2007
5 Beiträge
 
#4

Re: Mehrere Formularoberflächen

  Alt 13. Sep 2007, 18:54
Erstmal ein ganz großes dankeschön für eure Hilfsbereitschaft und die freundliche Aufnahme im Delphi-Praxis Forum!

Ich habe zwar selber darüber nachgedacht, wie ich das problem lösen könnte.
Hab aber keinen Einfall gehabt.
Auf die Idee, im Turtorial nachzuschauen bin ich nicht gekommen

Dafür hab ich es mit googlen versucht, hab aber entweder nicht die richtigen
Suchbegriffe gewählt oder bin einfach nur nicht fündig geworden.
Aber trotzdem vielen Dank für eure hilfe. Mal schauen ob sich das Problem nun
bewältigen lässt

MfG Calvin
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Mehrere Formularoberflächen

  Alt 13. Sep 2007, 19:24
Achja, noch ein anderer Ansatz: Du könntest auch ein TPageControl nehmen und beim Start des Programms in einer Schleife für jede Unterseite TabVisible auf False stellen. Wenn du dann z.B. die Vokabeln abfragen willst, änderst du per Delphi-Code die Eigenschaft ActivePage (bin mir nicht ganz sicher, ob die so heißt) auf die entsprechende Seite.
  Mit Zitat antworten Zitat
CalvinCrime

Registriert seit: 17. Aug 2007
5 Beiträge
 
#6

Re: Mehrere Formularoberflächen

  Alt 13. Sep 2007, 20:28
Zitat:
Achja, noch ein anderer Ansatz: Du könntest auch ein TPageControl nehmen und beim Start des Programms in einer Schleife für jede Unterseite TabVisible auf False stellen. Wenn du dann z.B. die Vokabeln abfragen willst, änderst du per Delphi-Code die Eigenschaft ActivePage (bin mir nicht ganz sicher, ob die so heißt) auf die entsprechende Seite.
Hmmmmm... Da versteh ich jetzt gerade nur Bahnhof
Ich habe es jetzt auf jeden Fall mit mehreren Forms hinbekommen
das Problem zu lösen.

Aber ich hab jetzt ein neues...
Da wüsste ich jetzt auch nicht, worunter ich im Turtorial nachschauen sollte.
Sry, ich bin ein TOTALER Neuling was Programmieren angeht...
Aber ich habe irgendwie Spaß dran gefunden.

Wenn ich das Programm in Delphi teste, bzw. starte, läuft es erstmal und ich
kann auch zwischen den Forms wechseln mit

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin

Form1.Visible := false ;
Form2.visible := true ;

end;
Wenn ich das Programm jetzt schließen will, schließt nur die Form die ich gerade
geschlossen habe mit dem 'X' oben rechts aber die anderen Forms bleiben noch geöffnet

Kann man das Schließen einer Form irgendwie mit dem Schließen aller Forms verbinden
Es gibt ja FormCreate; gibt es auch sowas wie FormShutDown worunter man die anderen Forms schließen
kann?

MfG Calvin
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#7

Re: Mehrere Formularoberflächen

  Alt 13. Sep 2007, 20:39
Wenn Du Deine Mainform schliesst, beendet sich die komplette Anwendung.
Bei allen anderen Forms könntest Du im OnClose-Ereignis erst alle anderen Fenster schliessen oder aber mit Application.Terminate die Anwendung beenden.

Dieses war aber eine neue Frage, für die Du eigentlich hättest einen neuen Beitrag eröffnen müssen!
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Mehrere Formularoberflächen

  Alt 13. Sep 2007, 20:39
Du könntest in das OnClose von jedem Formular
application.terminate; reinschreiben. Ist allerdings ne relativ rabiate Methode, weil dadurch die Anwendung praktisch manuell abgeschossen wird. Ich hör schon die Buuuuh-Rufe^^ //Edit: Wohl doch nicht so unsauber, wie ich dachte

Eine andere Möglichkeit wäre folgende:
Delphi-Quellcode:
for i := 0 to screen.formcount-1 do
  screen.forms[i].close;
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#9

Re: Mehrere Formularoberflächen

  Alt 13. Sep 2007, 20:42
application.formcount

Edit:
Was mir da gerade noch einfällt:
Zitat von NamenLozer:
Ist allerdings ne relativ rabiate Methode, weil dadurch die Anwendung praktisch manuell abgeschossen wird.
Das ist nicht ganz richtig. Application.Terminate setzt eine WM_QUIT-Message. Dieses hat zur Folge, dass irgendwann die Mainform geschlossen wird, was ein absolut sauberes Verfahren ist. Anders verhält sich da der Aufruf von 'Halt'!
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Mehrere Formularoberflächen

  Alt 13. Sep 2007, 20:55
Zitat von s-off:
application.formcount

Edit:
Was mir da gerade noch einfällt:
Zitat von NamenLozer:
Ist allerdings ne relativ rabiate Methode, weil dadurch die Anwendung praktisch manuell abgeschossen wird.
Das ist nicht ganz richtig. Application.Terminate setzt eine WM_QUIT-Message. Dieses hat zur Folge, dass irgendwann die Mainform geschlossen wird, was ein absolut sauberes Verfahren ist. Anders verhält sich da der Aufruf von 'Halt'!
Ok. Zu dem anderen Code: Wie gesagt ohne Garantie
Ich hatte Screen und Application verwechselt. Mit Screen sollte es gehn. Aber da die andere Varainte ja offensichtlich doch sauber ist, kann man sich den Aufwand wohl sparen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 Uhr.
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