Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Abfrage Einschränken. (https://www.delphipraxis.net/22415-abfrage-einschraenken.html)

thomasvonmuenster1 17. Mai 2004 14:56


Abfrage Einschränken.
 
Er soll mir ab Insert erst die Message bringen.
if (Button = nbInsert or nbDelete or nbEdit....)
Message open ???

Delphi-Quellcode:
procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
var
  BtnName: string;
begin
  case Button of
    nbFirst : BtnName := 'First';
    nbPrior : BtnName := 'Prior';
    nbNext  : BtnName := 'Next';
    nbLast  : BtnName := 'Last';
    nbInsert : BtnName := 'Einfügen in die Tabelle';
    nbDelete : BtnName := 'Löschen in der Tabelle';
    nbEdit  : BtnName := 'Edit in der Tabelle';
    nbPost  : BtnName := 'Senden an die Tabelle';
    nbCancel : BtnName := 'Abbrechen';
    nbRefresh: BtnName := 'Rückgänig';
  end;
   MessageDlg(BtnName + ' ?', mtInformation, [mbOK], 0);
end;

Sharky 17. Mai 2004 15:04

Re: Abfrage Einschränken.
 
Ähmmm.....

wie jetzt? :gruebel: So ganz verstehe ich die "Frage" nicht.

thomasvonmuenster1 17. Mai 2004 15:09

Re: Abfrage Einschränken.
 
Er soll die Message bringen wenn ich nbInsert bis nbRefresh drücke!
Bei den anderen soll er keine Message bringen und einfach die aktion ausführen.
Kann man das auch noch begrenzen mit ja oder nein?
Weil momentan macht er je beide aktionen Messeage und die aktion des dbnavigation.

Nicodius 17. Mai 2004 15:11

Re: Abfrage Einschränken.
 
dann machst des halt mit ner if abfrage ^^

Sharky 17. Mai 2004 15:14

Re: Abfrage Einschränken.
 
Versuche es mal so:

Delphi-Quellcode:
procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
var
  BtnName: string;
begin
  case Button of
  SET
    nbFirst : BtnName := 'First';
    nbPrior : BtnName := 'Prior';
    nbNext  : BtnName := 'Next';
    nbLast  : BtnName := 'Last';
    nbInsert : BtnName := 'Einfügen in die Tabelle';
    nbDelete : BtnName := 'Löschen in der Tabelle';
    nbEdit  : BtnName := 'Edit in der Tabelle';
    nbPost  : BtnName := 'Senden an die Tabelle';
    nbCancel : BtnName := 'Abbrechen';
    nbRefresh: BtnName := 'Rückgänig';
  end;
  if Not (Button IN [nbFirst,nbPrior,nbNext,nbLast) then
  begin
    MessageDlg(BtnName + ' ?', mtInformation, [mbOK], 0);
  end;
end;

thomasvonmuenster1 17. Mai 2004 15:26

Re: Abfrage Einschränken.
 
Ja das hat er gemacht. Danke!
Wenn ich das ganze ist weiter verwende und ein Ja oder Nein feld haben will.
Muß ich da ein neues form aufmachen mit zwei buttons und die dann verknüpfen oder
Geht das auch mit einen Komponenten Message?

Sharky 17. Mai 2004 15:31

Re: Abfrage Einschränken.
 
Wenn ich das richtig sehe möchtest Du die Aktionen des DBNavigators abfragen um z.B. Sagen zu können: "Wollen Sie wirklich löschen?"

Ich würde einfach auf den DBNavigator verzichten und das mit eigenen Buttons lösen!

thomasvonmuenster1 18. Mai 2004 08:08

Re: Abfrage Einschränken.
 
Ich habe jetzt die Message erweitert auf ein OK und NO Button.Siehe unten!
Kann man jetzt schreiben if mbNO click dann abruch table.edit?
Kann überhaupt auf ein TMsgDlgButtons (Typen) zugreifen?
Delphi-Quellcode:
MessageDlg(BtnName + ' ?', mtInformation, [mbOK, mbNO], 0);

thomasvonmuenster1 18. Mai 2004 08:49

Re: Abfrage Einschränken.
 
Ein Problem weniger.
Aber er macht immer noch erst die Aktion in der Tabelle bevor er mich fragt.
Jetzt brauche ich die Case nicht mehr oder?
Delphi-Quellcode:
procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
var
  BtnName: string;
begin
  case Button of
    nbFirst : BtnName := 'First';
    nbPrior : BtnName := 'Prior';
    nbNext  : BtnName := 'Next';
    nbLast  : BtnName := 'Last';
    nbInsert : BtnName := 'Einfügen in die Tabelle';
    nbDelete : BtnName := 'Löschen in der Tabelle';
    nbEdit  : BtnName := 'Edit in der Tabelle';
    nbPost  : BtnName := 'Senden an die Tabelle';
    nbCancel : BtnName := 'Abbrechen';
    nbRefresh: BtnName := 'Rückgänig';
 end;
  if Not (Button IN [nbFirst,nbPrior,nbNext,nbLast]) then
  begin
    if MessageDlg('Änderungen der Tabelle ?', mtWarning, [mbYes,mbNo,mbAbort], 0) = mrNO then
    begin
      IBTable1.DisableControls;
    end;

thomasvonmuenster1 18. Mai 2004 09:23

Re: Abfrage Einschränken.
 
Ich haben fertig: Vorher im Form IBTable1.DisableControls;
Delphi-Quellcode:
procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
 if Not (Button IN [nbFirst,nbPrior,nbNext,nbLast]) then
  begin
    if MessageDlg('Änderungen der Tabelle ?', mtWarning, [mbYes,mbNo,mbAbort], 0) = mrYes then
    begin
      IBTable1.EnableControls;
    end;
  end;
end;


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