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 Funktion aufrufen (https://www.delphipraxis.net/98839-funktion-aufrufen.html)

Tommy1988 2. Sep 2007 18:07


Funktion aufrufen
 
Kurz und Schmerzlos:

Wie kann ich eine Funktion die die Kopfzeile
Delphi-Quellcode:
function NamederFunktion(const Var: String): String;
begin
// ...
hat aufrufen?

mkinzler 2. Sep 2007 18:09

Re: Funktion abfragen
 
Was meinst du mit Abfragen?
Delphi-Quellcode:
a := Name(s);

Tommy1988 2. Sep 2007 18:11

Re: Funktion aufrufen
 
Mhh.. s ist dann aber leer die komplette funktion ist diese:

Delphi-Quellcode:
function getAppPath(const App: String): String;
var
  reg: Tregistry;
  path: String;
begin
  reg := Tregistry.Create;
  try
    with reg do
    begin
      RootKey := HKEY_LOCAL_MACHINE;
     if openkey('DerKeyHalt' +
App, true) then
      begin
        path := ReadString('Path');
        CloseKey;
        result := path;
      end else
        result := '';
    end;
  finally
    FreeAndNil(reg);
  end;
end;

mkinzler 2. Sep 2007 18:14

Re: Funktion aufrufen
 
Es ist auch Parameter, den du der Funktion übergeben musst.

Matze 2. Sep 2007 18:17

Re: Funktion aufrufen
 
Schau dir mal die Tutorials auf dsdt.info an, wie dir schon des öfteren empfohlen wurde. Mach's bitte mal (richtig durcharbeiten), dann tust du dich wirklich leichter!

Delphi-Quellcode:
function FunktionsName(Parameter1, Parameter2: string): String;
function <Funktionsname>(<Parameter>): <Rückgabewert>;
Beispiel:

Delphi-Quellcode:
function Addiere(Zahl1, Zahl2: Integer): Integer;
begin
  result := Zahl1 + Zahl2;
end;
Aufruf:

Delphi-Quellcode:
Ergebnis := Addiere(12, 4); // zugewiesener Wert: 16

dominikkv 2. Sep 2007 18:19

Re: Funktion aufrufen
 
die Funktion erwartet einen String zum aufruf und gibt einen String zurück.

Delphi-Quellcode:
showmessage(getAppPath('Notepad'));

Tommy1988 2. Sep 2007 18:21

Re: Funktion aufrufen
 
das habe ich ja schon verstanden, aber mit zahlen ist es was anderes.

ich kann ja schlecht
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
s: String;
begin
Label1.Caption := getAppPath('SOFTWARE\Classes\TypeLib\' +
'{01E5A986-0F28-432B-8956-B38BFEDF99FF}\1.0\HELPDIR');
end;
machen.

inherited 2. Sep 2007 18:25

Re: Funktion aufrufen
 
Wieso nicht? Wo liegt dein Problem? :gruebel:

mkinzler 2. Sep 2007 18:25

Re: Funktion aufrufen
 
Das ist doch auch ein String?

DeddyH 2. Sep 2007 18:26

Re: Funktion aufrufen
 
Wozu die Variable s, wenn Du das Funktionsergebnis direkt ins Label schreibst? :gruebel:

Tommy1988 2. Sep 2007 18:27

Re: Funktion aufrufen
 
Das Problem ist, dass Label 1, oder halt der String, immer leer ist. Obwohl der Schlü+ssel ja existiert.

Matze 2. Sep 2007 18:28

Re: Funktion aufrufen
 
Wie sieht denn diese Zeile wirklich bei dir aus?

Delphi-Quellcode:
if openkey('DerKeyHalt' + App, true) then

inherited 2. Sep 2007 18:28

Re: Funktion aufrufen
 
Wenn ich das richtig sehe sollst du nur denn Namen der Application übergeben, nicht den gesamten Pfad.

Tommy1988 2. Sep 2007 18:31

Re: Funktion aufrufen
 
ich hab den "fehler" gefunden.. ich habe KEINE ahnung warum!

bei openkey stand groß "SOFTWARE"
es musste aber kleingeschrieben sein.

Rastaman 2. Sep 2007 18:34

Re: Funktion aufrufen
 
Windows ist aber nicht case-sensitive, damit kann es doch eigentlich gar nix zu tun haben.

Christian Seehase 2. Sep 2007 23:02

Re: Funktion aufrufen
 
Moin Rastaman,

Zitat:

Zitat von Rastaman
Windows ist aber nicht case-sensitive, damit kann es doch eigentlich gar nix zu tun haben.

das stimmt so leider nicht ganz.
Es gibt den einen oder anderen Eintrag in der Registry, der bei falscher Schreibweise keine Wirkung zeigt, deshalb sollte man sich hier, sicherheitshalber, an die Schreibweise halten.
(mir fällt mein "Paradebeispiel" leider gerade nicht mehr ein, habe den Fall aber schon gehabt. :oops:)

Nicht zu vergessen:
Der Import von Funktionen aus DLLs.
Wenn man hier den Namen angibt muss die Schreibweise auf jeden Fall stimmen.

Muetze1 3. Sep 2007 00:29

Re: Funktion aufrufen
 
[offtopic]
Zitat:

Zitat von Christian Seehase
..., deshalb sollte man sich hier, sicherheitshalber, an die Schreiweise halten.

Das man Windows ab und zu mal anbrüllt auf Grund mancher Verhalten oder Fehlfunktionen hatte ich bisher immer als einen Mythos gehalten - aber das es dafür noch Regeln gibt, war mir neu... :lol: [/offtopic]

Christian Seehase 3. Sep 2007 00:34

Re: Funktion aufrufen
 
Moin Thomas,

Zitat:

Zitat von Muetze1
[offtopic]
Zitat:

Zitat von Christian Seehase
..., deshalb sollte man sich hier, sicherheitshalber, an die Schreiweise halten.

Das man Windows ab und zu mal anbrüllt auf Grund mancher Verhalten oder Fehlfunktionen hatte ich bisher immer als einen Mythos gehalten - aber das es dafür noch Regeln gibt, war mir neu... :lol: [/offtopic]

:wall:

Danke. Ist korrigiert.

BTW:
Es handelt sich hierbei nicht um Regeln, eher Richtlinien... ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:01 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