Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi functionen / procedure => nutzung von eingabefeldern (https://www.delphipraxis.net/53223-functionen-procedure-%3D-nutzung-von-eingabefeldern.html)

bergziege 12. Sep 2005 16:50


functionen / procedure => nutzung von eingabefeldern
 
hi, bin ziemlich neu bei dem thema. also bitte kein fachchinesisch ;-)

nee, ich bin grad auf der suche nach ner antwort zu folgendem thema:
bei drücken verschiedener buttons bzw. nach der eingabe von text in ein edit soll eine function / procedur aufgerufen werde.

in dieser soll dann der inhalt von mehreren edit feldern ausgelesen und weiterverarbeitet werden.
leider werden die formularelemente (buttons, editfelder) in der unterfunktion nicht mehr erkannt.
sprich der kompiler sagt das er den namen nicht kennen würde.

gibt es eine möglichkeit in einer unterfunktion auf formularelemnte zuzugreifen oder muss ich alle werte die inder funktion gebraucht werden explizit an diese übergeben (was die sache ziemlich umständlich machen würde)?

hier noch nen kleiner quellcode ausschnitt:

Delphi-Quellcode:

procedure changelabel;
begin
label1.caption := edit1.text;
end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  IF (Key=VK_RETURN) THEN
begin
Key := 0; // *
changelabel;
end;
end;
vielan dank schon mal im voraus
bernd

Mr_G 12. Sep 2005 16:52

Re: functionen / procedure => nutzung von eingabefeldern
 
Zitat:

Zitat von bergziege
...
Delphi-Quellcode:

procedure changelabel;
begin
label1.caption := edit1.text;
end;

...
...

Ich denke es sollte so gehen:
Delphi-Quellcode:
procedure changelabel;
begin
  Form1.label1.caption := Form1.edit1.text;
end;

leddl 12. Sep 2005 16:53

Re: functionen / procedure => nutzung von eingabefeldern
 
Du mußt diese Funktion/Prozedur zu einer Methode deines Forms machen. Sprich, du mußt sie im Interface-Teil des Forms angeben und dem Prozedur-/Funktionsnamen bei der Implementierung den Namen des Forms vorstellen. So, genug fachchinesisch? ;)

Kurz:
Im Interface-Abschnitt (also da, wo zB die ButtonClick-Prozedur auch steht) den Prozedurkopf (Ohne vorangestellten Formnamen) angeben und dann unten bei der Implementierung schreiben:
Delphi-Quellcode:
procedure Form1.changelabel;
begin
  label1.caption := edit1.text;
end;
Dann sollte es passen!

//Edit: Wie Mr_G es geschrieben hat, sollte es auch funktionieren.
BTW: Herzlich willkommen in der DP :hi:

bergziege 12. Sep 2005 17:01

ERLEDIGT
 
... danke. hab mich für die ausführung von LEDDL entschieden.
funktionieren tut aber beides.

danke
bernd

BlackJack 12. Sep 2005 17:13

Re: functionen / procedure => nutzung von eingabefeldern
 
Zitat:

Zitat von leddl
Delphi-Quellcode:
procedure Form1.changelabel;
begin
  label1.caption := edit1.text;
end;
Dann sollte es passen!

wenn du in dem Code noch ein "T" einfügst dann schon. (die Suche nach der optimalen Stelle für das "T" wird dem Leser als triviale Übungsaufgabe überlassen :mrgreen: )

Mr_G 12. Sep 2005 17:15

Re: ERLEDIGT
 
Zitat:

Zitat von bergziege
... danke. hab mich für die ausführung von LEDDL entschieden.
funktionieren tut aber beides.

danke
bernd

Ist auch die elegantere Lösung...

leddl 13. Sep 2005 08:49

Re: functionen / procedure => nutzung von eingabefeldern
 
Zitat:

Zitat von BlackJack
wenn du in dem Code noch ein "T" einfügst dann schon. (die Suche nach der optimalen Stelle für das "T" wird dem Leser als triviale Übungsaufgabe überlassen :mrgreen: )

Ja wo denn wohl? :lol: Hast natürlich recht, das is mir durchgerutscht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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 by Thomas Breitkreuz