Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Form zurücksetzen (Delphi 2006)

Empfohlene Antworten

Hallo zusammen,

ich habe folgendes Problem:

Ich habe unter Delphi 2006 ein Formular (Form) erzeugt, auf dem verschiedene Aktionen ablaufen. Nun möchte ich per ButtonClick, also per Knopfdruck, das Formular in seine Ausgangsposition bringen.

Ich möchte quasi das fenster neu aufrufen oder erzeugen lassen.

Kann mir vielleicht mal jemand auf die Sprünge helfen?

Vielen Dank im Voraus.

Gruß

Florian

Sobald ich halbwegs verstanden habe, wo dein Problem liegt, werd ich versuchen konstruktiv zu antworten.

- Was verstehst du unter "verschiedene Aktionen" ?

- Was verstehst du unter "Ausgangsposition" ?

Neu aufrufen und erzeugen geht am einfachsten, wenn man das Fenster einfach schließt und neu erzeugt.

Hallo!

Danke erst einmal für Deine Antwort. Ich werde versuchen, mich jetzt etwas verständlicher Auszudrücken:

Also, ich habe (m)ein Startformular. Auf dem werden mit TQuerys, TDataSources und TDataGrids Informationen aus einer DB ausgegeben.

Nach einem CellKlick auf das DBGrid wird dann ein neues DBGrid mit neuen, anderen Informationen aus der DB angezeigt.

So, nach einem Klick auf einen Button möchte ich nun zurück zur Ausgangsposition, d.h. ich möchte das Formular quasi im "Urzustand" aufrufen.

Das heißt, ich möchte das 2 DBGrid wieder schließen und die 1 TQuery erneut starten lassen und das 1. DBGrid neu füllen lassen, also so, als wenn man die Form neu aufrufen würde.

Allerdings befürchte ich, daß dies so nicht möglich sein wird, oder?

Und schließen und neu aufrufen kann ich das Formular doch nicht, oder? Schließlich handelt es sich um ein Formular, in dem die gesamten Aktionen ablaufen.

Dennoch danke für Tipps jeder Art.

Gruß

Florian

Das heißt, ich möchte das 2 DBGrid wieder schließen und die 1 TQuery erneut starten lassen und das 1. DBGrid neu füllen lassen, also so, als wenn man die Form neu aufrufen würde.

Allerdings befürchte ich, daß dies so nicht möglich sein wird, oder?

Natürlich ist das möglich, kommt nur auf dein Programm an ;)

Wenn du z.B. alles im FormCreate machst: nimm es da raus! Bzw. lager alles in eine Prozedur aus.



...


procedure TForm1.Init;

begin

  Query1.close;

  FreeAndNil(Form2); // Form2 später selber erzeugen, wenn gebraucht!

  // Weiteres, was du brauchst

  Query1.SQL.Text:= 'Irgend ein SQL';

  Query1.Open;

end;


...


procedure TForm1.Create(sender: TObject);

begin

  Init;

end;


so z.B.

Und später brauchst du zum "zurücksetzen" nur die Prozedur Init aufrufen.

Hallo nochmals....

Natürlich ist das möglich, kommt nur auf dein Programm an ;)

Wenn du z.B. alles im FormCreate machst: nimm es da raus! Bzw. lager alles in eine Prozedur aus.



...


procedure TForm1.Init;

begin

  Query1.close;

  FreeAndNil(Form2); // Form2 später selber erzeugen, wenn gebraucht!

  // Weiteres, was du brauchst

  Query1.SQL.Text:= 'Irgend ein SQL';

  Query1.Open;

end;


...


procedure TForm1.Create(sender: TObject);

begin

  Init;

end;


so z.B.

Und später brauchst du zum "zurücksetzen" nur die Prozedur Init aufrufen.

:uli

Danke für den Vorschlag. So werde ich das machen/probieren.

Danke nochmals.

Gruß

Florian

eine einfache Lösung wäre, das du einfach das Programm neustartest. Also das Programm startet das Programm nochmal mit einem Parameter, der Parameter bewirkt das das zu erst geöffnete Program geschlossen wird, ist nicht schön aber so kannste dir sicher sein das alles zurückgesetz ist.

Anderes kannste es nur so machen, indem du alle Variablen neu initialiesierst und du Eingabefelder nullst

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.