![]() |
wie kann einFunktions-Rückgabewert im Text angezeigt werden?
Hallo zusammmen,
ich weiß nicht so recht wonach ich suchen soll/muss :oops: Ich habe eine Funktion, welche einen String-Rückgabewert hat. (Programmversion) Diesen Wert möchte ich zusätzlich zu einem Text anzeigen lassen, aber wie??? Zum Verständnis:
Delphi-Quellcode:
Danke schonmal vorab!
procedure TmyProg.ButtonClick(Sender: TObject);
begin ShellExecute(myProg.Handle, 'open', 'mailto:xxx.de'+'?subject=Email aus myPro generiert- ' + '*****und hier sollte zusätzlich das Ergebnis meiner Funktion stehen*****' + '&body=Hallo!', nil, nil, SW_SHOWNORMAL); end; |
Re: wie kann einFunktions-Rückgabewert im Text angezeigt wer
Delphi-Quellcode:
procedure TmyProg.ButtonClick(Sender: TObject);
begin ShellExecute(myProg.Handle, 'open', 'mailto:xxx.de'+'?subject=Email aus myPro generiert- ' + MeineFunktion + '&body=Hallo!', nil, nil, SW_SHOWNORMAL); end; |
Re: wie kann einFunktions-Rückgabewert im Text angezeigt wer
Delphi-Quellcode:
function meinefunktion:string;
begin result:='*****und hier sollte zusätzlich das Ergebnis meiner Funktion stehen*****'; end; procedure TmyProg.ButtonClick(Sender: TObject); begin ShellExecute(myProg.Handle, 'open', 'mailto:xxx.de'+'?subject=Email aus myPro generiert- ' +meinefunktion+ '&body=Hallo!', nil, nil, SW_SHOWNORMAL); end; |
Re: wie kann einFunktions-Rückgabewert im Text angezeigt wer
Hallo Tomsel,
dann bekomme ich diese Fehlermeldung: Zitat:
|
Re: wie kann einFunktions-Rückgabewert im Text angezeigt wer
Ah ja. Benutze eine Stringvariable. Weise dieser den Ganzen Text zu und übergebe diese mit pchar() an ShellExecute.
|
Re: wie kann einFunktions-Rückgabewert im Text angezeigt wer
also, ich bekomms net hin...
Ich hab jetzt komplett ein Brett vorm Kopf :wall: Ich bekomme der Variable "Programmversionsanzeige" nicht den Wert der Funktion "ProgrammVersion" zugewiesen...(siehe Fehler von Delphi im Kommentar des 2.Code-Blocks..) hier mal meine funktion:
Delphi-Quellcode:
wenn ich dann eine Variable vom Typ "String" anlege kann ich dieser den Wert der Funktion nicht zuweisen...
function ProgrammVersion : string;
const InfoNum = 1; InfoStr : array[1..InfoNum] of string = ('FileVersion'); var S: string; n, Len, i: DWORD; Buf: PChar; Value: PChar; begin S := Application.ExeName; n := GetFileVersionInfoSize(PChar(S), n); if n > 0 then begin Buf := AllocMem(n); GetFileVersionInfo(PChar(S), 0, n, Buf); for i := 1 to InfoNum do if VerQueryValue(Buf, PChar('StringFileInfo\040704E4\' + InfoStr[i]), Pointer(Value), Len) then result := result + Value; FreeMem(Buf, n); end; end;
Delphi-Quellcode:
procedure TmyProg.ButtonClick(Sender: TObject);
var Programmversionsanzeige: String; begin Programmversionsanzeige:= (ProgrammVersion); // hier erscheint Fehler: [Pascal Error] rechner.pas(1831): E2003 Undeclared identifier: 'ProgrammVersion' ShellExecute(myProg.Handle, 'open', 'mailto:xxx.de'+'?subject=Email aus myPro generiert-- ' + 'pchar(Programmversion)' + '&body=Hallo!', nil, nil, SW_SHOWNORMAL); |
Re: wie kann einFunktions-Rückgabewert im Text angezeigt wer
Nein. Nicht 'pchar(Bla)'. Dann hast du einen String, der 'pchar(Bla)' enthält.
Es muss heißen pchar(Bla) ohne die ' Dinger. |
Re: wie kann einFunktions-Rückgabewert im Text angezeigt wer
So ungefähr:
Delphi-Quellcode:
procedure TmyProg.ButtonClick(Sender: TObject);
var sCommandline:string; begin sCommandline := 'mailto:xxx.de'+'?subject=Email aus myPro generiert- ' + Programmversion + '&body=Hallo!'; ShellExecute( myProg.Handle, 'open', pchar(sCommandline), nil, nil, SW_SHOWNORMAL ); end; |
Re: wie kann einFunktions-Rückgabewert im Text angezeigt wer
Hallo Tomsel,
Delphi erkennt an dieser Stelle einfach meine Funktion "ProgrammVersion" nicht mehr....
Delphi-Quellcode:
Es kommt dort wo die Funktion aufgerufen wird wieder:
sCommandline := 'mailto:xxx.de'+'?subject=Email aus myPro generiert- ' +
Programmversion + //hier wird die Funktion gar nicht mehr erkannt... '&body=Hallo!'; [Pascal Error] rechner.pas(1831): E2003 Undeclared identifier: 'Programmversion' Gruß Jürgen |
Re: wie kann einFunktions-Rückgabewert im Text angezeigt wer
- ist die Unit, in der sich die Funktion befindet, eingebunden?
- wird die Funktion in ihrer Unit im Interface-Abschnitt aufgeführt? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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