Autor Beitrag
paderborner
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 05.06.09 14:56 
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:

ausblenden volle Höhe 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: 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

_________________
PROGRAMMER: A device for converting coffee into software.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: 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 ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Fr 05.06.09 17:27 
Blah, Klugscheißer :D

Ich habs halt einfach ausgedrückt *g*

_________________
PROGRAMMER: A device for converting coffee into software.
ffgorcky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 573

WIN XP/2000 & 7Prof (Familie:Win95,Win98)

BeitragVerfasst: 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:
ausblenden 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 dabei weiter, welches ich durch die Suche nach den beiden Wörtern "funktionen" und "definieren" gefunden habe.