Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TUpDown (https://www.delphipraxis.net/166423-tupdown.html)

Eddit 13. Feb 2012 10:11

TUpDown
 
hallo

ich schreibe gerade ein programm womit ich unter anderem zwischen verschiedenen datensätzen wechseln will. dazu wollte ich die TUpDown-funktion verwenden. wenn ich nun aber auf die komponente klicke um die prozedur zu schreiben unterscheidet er nicht zwischen vorwärts und rückwärts. wie kann ich da differenzieren? also bei klick auf -> soll er einen datensatz weiter gehen und bei <- einen rückwärts.

danke im voraus

Perlsau 13. Feb 2012 10:18

AW: TUpDown
 
Diese Komponente ist nicht für diesen Zweck gedacht, man könnte hier ja fast schon von Komponentenmißbrauch schreiben :stupid:

Normalerweise nimmt man dazu den Datenbank-Navigator, der hat bereits die entsprechenden Schaltflächen und noch einige mehr. Alternativ nimmst du einfach zwei Buttons, einen nennst du z.B. Button_Prior und den anderen Button_Next. In den Ereignisbehandlungen schreibst du einfach: MeinDataset.Prior bzw. MeinDataset.Next.

DeddyH 13. Feb 2012 10:19

AW: TUpDown
 
Im OnClick kannst Du doch den Button auswerten, entweder btNext oder btPrev.

P.S.: Willkommen in der DP :dp:

ConnorMcLeod 13. Feb 2012 10:38

AW: TUpDown
 
Was spricht gegen einen DbNavigator, der eben nur diese beiden Buttons erlaubt bekommt?

Eddit 14. Feb 2012 21:36

AW: TUpDown
 
es mag sein dass es bessere alternativen gibt die evenuell einfacher sind aber unser lehrer hat uns da strikte anweisungen gegeben, da es mehr um das lernen gehen soll als um schlichtheit. ich habe es mit BtNext und BtPrev probiert bloß für er bei OnClick nur eine der beiden sachen aus. das heisst ich habe es soweit geschrieben das er bei BtNext den nächsten datensatz anzeigt. nur ist das auch der fall wenn ich auf den anderen pfeil klicke. und das will ich eben differenzieren dass er bei dem klick auf einen pfeil einen datensatz weitergeht und bei einem klick auf den anderen pfeil den vorherigen datensatz anzeigt.

P.S.: danke ;)

himitsu 14. Feb 2012 22:01

AW: TUpDown
 
Natürlich wird beim OnClick nur eine Methode aufgerufen, egal was man klickt.
Darum sollst du ja auch schauen was im Parameter "Button" drinsteht. :zwinker:

Eddit 14. Feb 2012 22:14

AW: TUpDown
 
also ich habe in der kopfzeile der prozedur zu stehen:

procedure TFormDVD.UpDown1Click(Sender: TObject; Button: TUDBtnType);

wobei

TUDBtnType = (btNext, btPrev);

ich glaub ich stell mich da etwas doof an -.-
wie gebe ich jetzt genaue befehle wann er was tun soll bei welchem button?

divBy0 14. Feb 2012 22:23

AW: TUpDown
 
Z.B. mit if-Anweisung:

Delphi-Quellcode:
if Button = btNext then
begin
  // Code für btNext
end else
begin
  // Code für btPrev
end;
oder mit Case

Code:
case Button of
  btNext: begin
          // Code für btNext
          end;
  btPrev: begin
          // Code für btPrev
          end;
end;

Eddit 14. Feb 2012 22:33

AW: TUpDown
 
dankeschön an euch! es klappt :)
ich hab das mit case genommen


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