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 Prozedur in einer Prozedur starten (https://www.delphipraxis.net/85548-prozedur-einer-prozedur-starten.html)

KesseK 1. Feb 2007 12:36


Prozedur in einer Prozedur starten
 
Hey :P

ich habe noch nicht so viel Ahnung von Delphi (3 Wochen), deswegen möcht ich gerne wissen wie ich eine Prozedur aus einer anderen heraus starten kann.

Delphi-Quellcode:
procedure TForm1.onkeypress(Sender: TObject; var Key: Char);
begin
  if not (key in[#8,#13,#49..#58]) then key := #0; //Eingabe auf Ziffern beschränken
  if key in [#13] then
    begin
                          // hier soll die Prozedur: procedure TForm1.StrButtonClick(Sender: TObject); gestartet werden
    end;
end;

Danke! :D

Luckie 1. Feb 2007 12:40

Re: Prozedur in einer Prozedur starten
 
So:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage('');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Button2.Click;
end;
Aber ich würde empfehlen den Code in eine separate Prozedur / Methode auszulagern und diese von beiden Methode aus aufrufen.

Andidreas 1. Feb 2007 12:41

Re: Prozedur in einer Prozedur starten
 
aloha in der dp

probiers mal so, so sollte es gehen wenn ich gerade keinen denkfehler gemacht hab ;)

Delphi-Quellcode:
procedure TForm1.onkeypress(Sender: TObject; var Key: Char);
begin
  if not (key in[#8,#13,#49..#58]) then key := #0; //Eingabe auf Ziffern beschränken
  if key in [#13] then
    begin
      StrButton.Click(Sender: TObject);
    end;
end;
edit:
mist luckie war mal wieder schneller und ich hatte nen punkt vergessen :drunken:

KesseK 1. Feb 2007 12:50

Re: Prozedur in einer Prozedur starten
 
Zitat:

Zitat von Andidreas
aloha in der dp

probiers mal so, so sollte es gehen wenn ich gerade keinen denkfehler gemacht hab ;)

Delphi-Quellcode:
procedure TForm1.onkeypress(Sender: TObject; var Key: Char);
begin
  if not (key in[#8,#13,#49..#58]) then key := #0; //Eingabe auf Ziffern beschränken
  if key in [#13] then
    begin
      StrButton.Click(Sender: TObject);
    end;
end;
edit:
mist luckie war mal wieder schneller und ich hatte nen punkt vergessen :drunken:

Wenn ich das "StrButton.Click(Sender: TObject);" einsetz dann bekomme ich folgenden Fehler:
[Fehler]Projekt.pas(63):Zu viele Parameter

Was mach ich falsch? :gruebel:

Luckie 1. Feb 2007 12:52

Re: Prozedur in einer Prozedur starten
 
Zitat:

Zitat von KesseK
Was mach ich falsch? :gruebel:

Du benutzt nicht meine Lösung. :zwinker: :mrgreen:

Bei einem Prozeduraufruf werden die Werte der Paramter übergeben und nicht die Paramter mit Datentyp deklariert. Sollte man aber eigentlich sofort sehen - auch als Anfänger.

KesseK 1. Feb 2007 12:54

Re: Prozedur in einer Prozedur starten
 
Zitat:

Zitat von Luckie
Bei einem Prozeduraufruf werden die Werte der Paramter übergeben und nicht die Paramter mit Datentyp deklariert. Sollte man aber eigentlich sofort sehen - auch als Anfänger.

Ah ich hab mal wieder alles übersehen, kommt von der Hektik. Danke Luckie, klappt alles :D :thumb:

mo_greene 10. Feb 2007 14:42

Re: Prozedur in einer Prozedur starten
 
wie mach ich das, wenn ich die FormCreate-Prozedur aufrufen will? Ich möchte das genauso machen wie der Threadstarter es haben will!

Die Muhkuh 10. Feb 2007 14:48

Re: Prozedur in einer Prozedur starten
 
Delphi-Quellcode:
FormCreate(Self);

mo_greene 10. Feb 2007 14:50

Re: Prozedur in einer Prozedur starten
 
da bekomme ich leider die Fehlermeldung

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EInvalidOperation aufgetreten. Meldung: 'Ein deaktiviertes oder unsichtbares Fenster kann nicht den Fokus erhalten'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------


:gruebel: :gruebel:

Martin K 10. Feb 2007 15:02

Re: Prozedur in einer Prozedur starten
 
Steht doch da, woran es liegt:
Zitat:

'Ein deaktiviertes oder unsichtbares Fenster kann nicht den Fokus erhalten'.
:roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr.
Seite 1 von 2  1 2      

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