Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi wie kann einFunktions-Rückgabewert im Text angezeigt werden? (https://www.delphipraxis.net/62089-wie-kann-einfunktions-rueckgabewert-im-text-angezeigt-werden.html)

juergen 30. Jan 2006 20:53


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:
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;
Danke schonmal vorab!

tomsel 30. Jan 2006 20:57

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;

ibp 30. Jan 2006 20:59

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;

juergen 30. Jan 2006 21:00

Re: wie kann einFunktions-Rückgabewert im Text angezeigt wer
 
Hallo Tomsel,
dann bekomme ich diese Fehlermeldung:
Zitat:

[Pascal Error] rechner.pas(1835): E2010 Incompatible types: 'string' and 'PAnsiChar'

tomsel 30. Jan 2006 21:03

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.

juergen 30. Jan 2006 21:33

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:
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;
wenn ich dann eine Variable vom Typ "String" anlege kann ich dieser den Wert der Funktion nicht zuweisen...

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);

3_of_8 30. Jan 2006 21:34

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.

tomsel 30. Jan 2006 21:36

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;

juergen 30. Jan 2006 21:51

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:
sCommandline := 'mailto:xxx.de'+'?subject=Email aus myPro generiert- ' +
                 Programmversion +  //hier wird die Funktion gar nicht mehr erkannt...
                '&body=Hallo!';
Es kommt dort wo die Funktion aufgerufen wird wieder:
[Pascal Error] rechner.pas(1831): E2003 Undeclared identifier: 'Programmversion'

Gruß Jürgen

tomsel 30. Jan 2006 22:04

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 01:47 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz