Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi hilfe bei parameterübergabe (https://www.delphipraxis.net/88913-hilfe-bei-parameteruebergabe.html)

morti 22. Mär 2007 21:01


hilfe bei parameterübergabe
 
hi ich bin noch blutiger anfänger in delphi.
also ich programmiere gerade ein tool was von binär in dezimal und andersherum umwandelt.
das ganze programm funktioniert auch, nur jetzt wollte ich die algorythemn in funktionen packen

hier der quellcode
Delphi-Quellcode:
function bin2dec(input : string) : integer;
var
        binlaenge:   integer;
        zaehler:     integer;
begin
                bin2dec  :=0;
                binlaenge :=length(input);
        for zaehler :=0 to binlaenge-1 do
                begin
     {----->}bin2dec := bin2dec + strtoint(input[binlaenge-zaehler]) * ceil(power(2,zaehler));{<-----}
                end;
end;

procedure TMain.gobuttonClick(Sender: TObject);
var input:     string;
begin
input:= inputfield.text;
outputfield.Text :=inttostr(bin2dec(input));
end;
in der mit {----->} umklammerten zeile kommt folgender compiler fehler :

nicht genügend wirkliche parameter

durch auskomentieren stellte sich raus, dass er ein problem mit den 2ten bin2dec hat

hoffe mir kann jemand helfen, weil hab echt kein plan wo das problem ist.


mfg morti

MrSpock 22. Mär 2007 21:51

Re: hilfe bei parameterübergabe
 
Hallo morti,

benutze in der Funktion nicht bin2Dec, sondern Result. Das ist ein Schlüsselwort und bezeichnet den Wert, der zurückgegeben werden soll.

[edit]Übrigens: Herzlich willkommen in der Delphi-PRAXiS![/edit]

himitsu 22. Mär 2007 22:13

Re: hilfe bei parameterübergabe
 
Code:
bin2dec := [color=#ff0000]bin2dec[/color] + strtoint...
Das erste bin2dec wird als Zuweisung für den Rückgabewert erkannt, aber beim Zweiten wird dieses als Funktionsaufruf interpretiert.

Drum solltest du auch den Tipp von MrSpock beachten, denn nur so ist für den Compiler genau erkennbar ob du die Funktion aufrufen, oder nur dem Rückgabewert etwas zuweisen möchtest.

Das willst du ja:
Code:
Result := [color=#ff0000]Result[/color] + strtoint...
und dieses erkennt der Compiler:
Code:
Result := [color=#ff0000]bin2dec(HierWillDerCompilerEtwasHaben)[/color] + strtoint...

morti 24. Mär 2007 15:36

Re: hilfe bei parameterübergabe
 
vielen dank


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:27 Uhr.

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