Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Wie und wo kann ich eine Funktion aufrufen?


paderborner - Fr 05.06.09 14:56
Titel: Wie und wo kann ich eine Funktion aufrufen?
Hallo,

ich habe eine Funktion geschrieben und möchte sie nun aufrufen. Wie mach ich das und wo kann ich das machen? Danke für Eure Hilfe.

Hier die Funktion:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
function verschluesseln(kt:string;schluessel:string):string;

var gt:string;
    ktz,schluesselz,gtz:integer;
    lkt,lschluessel:integer;
    a:integer;
    zv:integer;
begin
 kt := uppercase(kt);
 schluessel := uppercase(schluessel);

 lkt := length(kt);
 lschluessel := length(schluessel);
 a := lkt div lschluessel + 1;

 for zv := 1 to a do
 begin
  schluessel := schluessel+schluessel;
 end;

 for zv := 1 to lkt do
 begin
  ktz := ord(kt[zv]);
  schluesselz := ord(schluessel[zv]);

  if (ktz <> 32then
  begin
   gtz := ktz + schluesselz - 65;

   if gtz < 65 then
   gtz := gtz + 26;
   if gtz > 90 then
   gtz := gtz - 26;
  end

  else
   gtz := ktz;
  gt := gt + chr(gtz);
 end;

 result := gt;
end;


Xentar - Fr 05.06.09 15:01

Ich versteh die Frage nicht?

- WIE ruft man eine Funktion auf: Indem man den Namen eingibt, und die benötigten Parameter in Klammern dahinter schreibt
- WO ruft man eine Funktion auf: Da, wo sie benötigt wird, also z.B. in einem ButtonClick


BenBE - Fr 05.06.09 16:35

user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
Ich versteh die Frage nicht?

- WIE ruft man eine Funktion auf: Indem man den Namen eingibt, und die benötigten Parameter in Klammern dahinter schreibt

Unvollständig: Da wo man eine Referenz auf sie hat und das für den Compiler so ausschaut, wie ein Funktions\Prozeduraufruf. Beispiel gibt's in der Hilfe unter dem Stichwort Funktionszeiger

user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
- WO ruft man eine Funktion auf: Da, wo sie benötigt wird, also z.B. in einem ButtonClick

Ungenau: Da wo der Algorithmus es erfordert ;-)


Xentar - Fr 05.06.09 17:27

Blah, Klugscheißer :D

Ich habs halt einfach ausgedrückt *g*


ffgorcky - Fr 05.06.09 17:36

Also wenn Du die Funktion nur in der selben Unit (also dem selben Fenster) aufrufen möchtest, dann reicht es, wenn Du sie ziemlich weit oben (also möglichst gleich hinter implementation) schreibst!
- Sauberer wäre es aber, wenn Du sie dann auch noch unter private definierst
-- also so:

Delphi-Quelltext
1:
2:
3:
4:
type  
  private  
    function verschluesseln(kt:string;schluessel:string):string;
  public

Diese könntest Du dann ja auch einfach nur mit
verschluesselterText:=verschluesseln(ktParameter,schluesselParameter);
aufrufen - wobei Du dann im meinem Fall natürlich erst mal die Variable verschluesselterText als String-Variable definieren müsstest.

Ansonsten, wenn Du sie von einer anderen Unit (also von einem anderen Fenster aus) aufrufen möchtest, dann müsstest Du sie eigentlich nur unter public definieren.
Vielleicht hilft Dir ja aber auch das Thema 79721 [http://www.delphi-forum.de/viewtopic.php?t=79721&highlight=funktionen+definieren] dabei weiter, welches ich durch die Suche nach den beiden Wörtern "funktionen" und "definieren" gefunden habe.