Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Button - OnClick Ereignis über Editfeld auslösen (https://www.delphipraxis.net/141352-button-onclick-ereignis-ueber-editfeld-ausloesen.html)

Major1337 7. Okt 2009 17:05


Button - OnClick Ereignis über Editfeld auslösen
 
Hey,

ist es möglich das Event OnClick eines Buttons mit einem Editfeld auszuführen.
Also sobald im Editfeld ein bestimmter Text erscheint soll sofort der Button ausgelöst werden.



Delphi-Quellcode:
if edit1.Text = 'Test' then
begin

// OnClick Button auslösen

end;

Wolfgang Mix 7. Okt 2009 17:09

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Versuch 'mal
Zitat:

if edit1.Text = 'Test' then Button1.Clicked :=true;
ungetested

Gruß

Wolfgang

Major1337 7. Okt 2009 17:14

Re: Button - OnClick Ereignis über Editfeld auslösen
 
[Error] Unit1.pas(38): Undeclared identifier: 'Clicked' ;-P

haentschman 7. Okt 2009 17:20

Re: Button - OnClick Ereignis über Editfeld auslösen
 
schon eher...

Delphi-Quellcode:
if edit1.Text = 'Test' then Button1.Click;
:hi:

Major1337 7. Okt 2009 17:23

Re: Button - OnClick Ereignis über Editfeld auslösen
 
nein, klappt nicht -,-

DeddyH 7. Okt 2009 17:24

Re: Button - OnClick Ereignis über Editfeld auslösen
 
:?: Das hätte aber eigentlich funktionieren müssen. Wie sieht es damit aus?
Delphi-Quellcode:
if Edit1.Text = 'Test' then
  Button1Click(Button1);

haentschman 7. Okt 2009 17:28

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Zitat:

nein, klappt nicht -,-
...ich liebe diese Fehlermeldungen :roll:

vieleicht...
Delphi-Quellcode:
if edit1.Text = 'Test' then FormX.Button1.Click;

Major1337 7. Okt 2009 17:32

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin

if Edit1.Text = 'Test' then
  Button1Click(Button1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;
Kann es aber sein das Edit1.Text = Test nicht immer überprüft wird?

DeddyH 7. Okt 2009 17:46

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Im OnCreate kannst Du das Formular nicht schließen. Versuch es mal im OnShow.

Major1337 7. Okt 2009 17:49

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var test : string;

begin

test := Edit1.Text;

if test = 'Test' then
ShowMessage ('Test');
end;
end.


das mit close ist egal, aber auch wenn ich versuche in ShowMessage auszugeben, funktioniert es nicht -.-

DeddyH 7. Okt 2009 17:52

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var test : string;

begin

test := Edit1.Text;

//if test = 'Test' then
ShowMessage (test);
end;
end.
Was wird ausgegeben?

Major1337 7. Okt 2009 17:56

Re: Button - OnClick Ereignis über Editfeld auslösen
 
direkt nach dem Programm-Start kommt die Message mit leerem Inhalt

DeddyH 7. Okt 2009 17:58

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Hast Du denn in der IDE dem Edit den richtigen Text zugewiesen?

hoika 7. Okt 2009 18:03

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Hallo,

mache es doch anders.
Delphi-Quellcode:
procedure TForm1.ButtonClick(Sender ...);
begin
  DoHandleButtonClick;
end;

procedure TForm1.DoHandleButtonClick;
begin
  // hier ist der Button-Klick Code
end;

procedure XXX
begin
  if Edit.text='bla' then DoHandleButtonClick
end;
Was soll denn eigentlich im DoHandleButtonClick passieren ?

Delphi-Quellcode:
test := Edit1.Text;
Hast du mal nen Breakpoint gesetzt ?


Heiko

Major1337 7. Okt 2009 18:08

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Der String für edit1 wird ja erst im laufe des programmes eingeben, nicht in der IDE.

DeddyH 7. Okt 2009 18:09

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Dann kann er im OnCreate ja noch nicht drinstehen :roll:

Lannes 7. Okt 2009 18:12

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Hallo,

dann gehört der Code in den OnChange-Event-Handler des Edit :wink:

Delphi-Quellcode:
procedure TForm1.CloseAction;
begin
  // was da auch immer passieren soll
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  //irgendein Code
  CloseAction;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  if Edit1.Text = 'Test' then
    begin
    //irgendein anderer Code
    CloseAction;
    end;
end;
kannst aber auch
Delphi-Quellcode:
Button1Click(Self);
verwenden, solange in ButtonClick nicht mit Sender gearbeitet wird.

Major1337 7. Okt 2009 18:16

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Okay, vielen dank! ja.. in der Procedure OnCreate bringt es mir nicht viel ;-P

fajac 8. Okt 2009 09:13

Re: Button - OnClick Ereignis über Editfeld auslösen
 
Dann solltest du das OnChange-Ereignis des Edit-Feldes nutzen
Delphi-Quellcode:
procedure TForm1.Edit1Change (Sender : TObject);
begin
  if Edit1.Text = 'Test' then
    Button1.Click;
end;
Ich persönlich würde es immer vorziehen, die ButtonClicks über eine ActionList zu verwalten. Wenn man das tut, dann geht auch
Delphi-Quellcode:
  ...
  Button1.Action.Execute;


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz