Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Sofortiges aktualisieren einer Seite? (https://www.delphipraxis.net/8073-sofortiges-aktualisieren-einer-seite.html)

Frischmilch 28. Aug 2003 02:01


Sofortiges aktualisieren einer Seite?
 
Hallo,

ich habe erst vor wenigen Tagen mit Delphi angefangen, um ein kleines Projekt zu verwirklichen. Jetzt stehe ich vor folgendem Problem:

Ich arbeite nur mit einer Form. Diese Form beinhaltet einen Seitenwechsler (PageControl), der aus zwei Seiten besteht.

Auf der ersten Seite werden Werte (Variabeln) angezeigt (z.b. "Spieler: 0", etc). Dafür benutze ich Labels, bei denen die Caption mit "inttostr" ausgefüllt wird.
Auf der zweiten Seite sind mehrere Checkboxen, die die Variabeln beeinflussen, die auf der ersten Seite mit "inttostr" dargestellt werden. Das funktioniert so weit ganz gut (ob das jetzt besonders elegant ist, hauptsache es funktioniert :wink: ).

Mit dem Ereignis "OnShow" und der dazugehörigen Prozedur aktualisiert er die Anzeigen auf Seite 1, wenn ich die Seiten wechsel und auch das laden und speichern funktioniert (per Stream).

Jetzt aber das eigentliche Problem:
ich habe auf Seite 1 ebenfalls zwei Checkboxen, die Werte auf der Seite 1 beeinflussen. Geregelt habe ich das über OnClick und checked = true/false Abfrage.

Aber ich schaffe es nicht, die Darstellung sofort zu aktualisieren. Um die akzualisierten Werte auf Seite 1 anzuzeigen, muss ich immer die Seite wechseln, damit die "OnShow"-Prozedur aufgerufen wird.

Wie kann ich aus der "OnClick"-Prozedur für die beiden Checkboxen auf Seite 1 die "OnShow" Prozedur aufrufen und somit Seite 1 sofort aktualisiert darstellen?

Für Hilfe schon mal vielen Dank und bitte nicht lachen, aber ich komme einfach nicht drauf.

Gruss,
Frischmilch

Luckie 28. Aug 2003 02:04

Re: Sofortiges aktualisieren einer Seite?
 
Delphi-Quellcode:
if Checkbox1.Checked then
  Label1.Caption := 'Hello world';
Meinst du das?

Frischmilch 28. Aug 2003 02:16

Re: Sofortiges aktualisieren einer Seite?
 
Nein, denn ich möchte die ganze Seite aktualisieren. Die beiden Checkboxen beeinflussen mehrere Werte (einen Array mit 20 Werten, von denen bestimmte in Kombination mit den Checkboxen auf Seite 2 erhöht bzw reduziert werden).

Wenn ich eine der Checkboxen nutze, soll der gesamte Array dargestellt werden (in den zugehörogen Labels).

Und deshalb habe ich die OnShow Prozedur geschrieben, die die gesamte Seite 1 aktualisiert. Und genau diese On Show Prozedur möchte ich aus der Onklick-Prozedur (bzw. besser gesagt aus den beiden) aufrufen.

Die beiden sind erst der Anfang, auf Seite 1 kommen noch ein paar mehr und da ist es recht mühsam, in jede OnCklick wieder die Umwandlung inttostr und Ausgabe zu schreiben, vor allem wenn bereits eine Prozedur zur Gesamtseitendarstellung exisitert.

Also:

procedure Onclick...
if (checkbox1.checked = true)
....
der Array wird maipuliert
....
call procedure OnShow <---- das ist das Problem, denn ich weiss nicht wie ich eine Prozedur aus einer anderen aufrufe.
end;

Gruss,
Frischmilch

Luckie 28. Aug 2003 02:30

Re: Sofortiges aktualisieren einer Seite?
 
Delphi-Quellcode:
PageControl1.OnShow;
Oder so ähnlich. Kuck mal, was er dir nach dem Punklt anbietet.

Frischmilch 28. Aug 2003 02:49

Re: Sofortiges aktualisieren einer Seite?
 
Habs rausgefunden. Es war ein Syntaxfehler.

Einfach

OnShow(Sender);

in die OnClick-Prozedur am Ende einfügen

Ich bin die ganze Zeit über das "Nicht genügend Argumente" gestolpert, obwohl es eigentlich zuviele waren (TObjekt musste u.a. weg).

Danke und ich werde euch in Zukunft bestimmt noch öfter belästigen :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 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