| Autor |
Beitrag |
Grafix
      
Beiträge: 122
Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
|
Verfasst: So 10.05.09 16:36
Moin,
wie kann ich feststellen ob ein Button benutzt wurde? Dachte mir das so
Delphi-Quelltext 1: 2:
| if Button1.onClick = true then ... |
funktioniert aber nicht so richtig...
Grüße
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: So 10.05.09 16:38
Schreib deinen Code in das OnClick-Event des Buttons. Dann wird der ausgeführt, wenn du den Button klickst.
_________________ We are, we were and will not be.
|
|
Grafix 
      
Beiträge: 122
Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
|
Verfasst: So 10.05.09 16:40
mhm für meinen Zweck wird das vermutlich nicht funktionieren, oder nur umständlich. Gibt es keine Möglichkeit das so abzufragen?
(Dachte da so an PHP und die Funktion isset...^^)
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 10.05.09 16:41
Dann musst du in OnClick auch eine Variable setzen, aber was willst du denn erreichen, wenn nicht etwas ausführen, wenn ein Knopf gedrückt wird?
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: So 10.05.09 16:43
Dann erläutere mal deinen Zweck.
Wenn du mehreren Buttons dasselbe OnClick-Event zuweisen willst, dann kannst du über if (Sender as TButton) = Button1 abfragen, ob Button1 geklickt wurde, oder was anderes.
_________________ We are, we were and will not be.
|
|
Grafix 
      
Beiträge: 122
Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
|
Verfasst: So 10.05.09 16:43
ich habe eine DBAbfrage, die standartmäßig beim start ausgeführt werden soll. Wenn jedoch auf ein Button (Suchen) geklickt wird, soll in den gleichen Query eine anderer SQL Befehl ausgeführt werden.
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 10.05.09 16:45
Dann musst du den SQL-Befehl ändern, bei einer TQuery sollte das doch in der Eigenschaft SQL möglich sein, wenn ich mich nicht irre.
|
|
Grafix 
      
Beiträge: 122
Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
|
Verfasst: So 10.05.09 16:46
mhm, neue Idee^^ probier ich mal aus =)
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: So 10.05.09 16:46
Wenn du die Query beim Programmstart ausführst, dann wurde die doch schon ausgeführt, bevor der Benutzer überhaupt auf den Button geklickt hat - oder hab ich da irgendwas falsch verstanden? Denn dann kannst du die Query doch nicht mehr ändern, sondern musst sie erneut ausführen. Und das geht wohl am Besten im OnClick-Ereignis des Suche-Buttons.
|
|
Grafix 
      
Beiträge: 122
Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
|
Verfasst: So 10.05.09 16:49
richtig, der Befehl wird Im Form.create ausgeführt. Aber ich kann ja über
Delphi-Quelltext 1: 2: 3: 4:
| QAbfrage.Active := False; QAbfrage.Sql.Clear; QAbfrage.Sql.Add('SELECT * FROM db'); QAbfrage.Active := True; |
einen neuen SQL Befehl festlegen, oder? Das ganze befindet sich in eine prozedur, die im Form.Create aufgerufen wird (damit beim Programmstart die DB ausgegeben wird). Falls später der Button suche gedrückt wird, soll die gleiche prozedur nochmal ausgeführt werden, nur eben mit einer WHERE Bedingung im SQL Befehl.
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 10.05.09 16:50
Wie wäre es, wenn du das in eine eigene Methode verlagerst, die du dann von FormCreate und aus deinem ButtonClick mit dem gewünschten Parameter aufrufst?
Nebenbei machen deine beiden Zeilen mit der Sql-Eigenschaft das selbe wie diese Zeile: Delphi-Quelltext 1:
| QAbfrage.Sql.Text := 'SELECT * FROM db'; |
|
|
Grafix 
      
Beiträge: 122
Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
|
Verfasst: So 10.05.09 17:00
also kann ich das SQL.Clear; dann weglassen?
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 10.05.09 17:02
Ja, denn durch das Setzen von Text setzt du ja den kompletten Inhalt, also musst du den alten vorher auch nicht löschen.
Wenn du Add benutzt, fügst du wie der Name schon sagst den neuen Inhalt explizit dem alten hinzu ohne diesen zu verändern, und deshalb musstest du dann vorher Clear benutzen.
|
|
Grafix 
      
Beiträge: 122
Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
|
Verfasst: So 10.05.09 17:08
alles klar, hab den SQL Befehl jetzt eben ausgelagert. Danke für die Hilfe.
|
|