Autor Beitrag
Grafix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
BeitragVerfasst: So 10.05.09 16:36 
Moin,
wie kann ich feststellen ob ein Button benutzt wurde? Dachte mir das so
ausblenden Delphi-Quelltext
1:
2:
if Button1.onClick = true then
...

funktioniert aber nicht so richtig...
Grüße
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
BeitragVerfasst: So 10.05.09 16:46 
mhm, neue Idee^^ probier ich mal aus =)
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
BeitragVerfasst: So 10.05.09 16:49 
richtig, der Befehl wird Im Form.create ausgeführt. Aber ich kann ja über

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
ausblenden Delphi-Quelltext
1:
QAbfrage.Sql.Text := 'SELECT * FROM db';					
Grafix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
BeitragVerfasst: So 10.05.09 17:00 
also kann ich das SQL.Clear; dann weglassen?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

Windows 7 Professional
Delphi 2009, PHP, Prolog, Python, Java
BeitragVerfasst: So 10.05.09 17:08 
alles klar, hab den SQL Befehl jetzt eben ausgelagert. Danke für die Hilfe.