[Delphi] ziegt fehler an....weiß nich weiter!!!!

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von skailine, 25. September 2006 .

Schlagworte:
  1. 25. September 2006
    ziegt fehler an....weiß nich weiter!!!!

    Hi,
    bin noch eher neu auf dem gebiet. sollten ein programm schreiben um son verkehrsproblem zu lösen. aber is ja acuh nich so wichtig.
    jetz hab ich das geschrieben un klcik auf start un dann zeigt er mir das hier an:

    [Fehler]Unit1.pas(40): Es gibt keine überladene Version von 'StrToFloat', die man mit diesen Argumenten aufrufen kann



    heir mein geschriebenes programm:

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    
    var S,P,N,W,K,L,Schritt : Extended;
    
    begin
    S:=StrToFloat; (<---- hier scheint der fehler zu liegen)
    
    P:=0;
    N:=0;
    W:=0;
    K:=0;
    L:=0;
    S:=0;
    Schritt:=0;
    REPEAT
    P:=0.5*W+P;
    N:=0.5*K+0.5*W+N;
    W:=0.5*K+0.5*L;
    K:=0.5*S+0.5*L;
    L:=0.5*S;
    S:=0;
    Schritt:=Schritt+1;
    UNTIL Schritt=4;
    
    Edit2.text:=FloatToStr(N);
    Edit3.text:=FloatToStr(P);
    end;
    
    end.
    
     
  2. 25. September 2006
    AW: ziegt fehler an....weiß nich weiter!!!!

    joa wenn dann muss du schon machen
    S:=strtofloat(irgeneeinstring);
     
  3. 25. September 2006
    AW: ziegt fehler an....weiß nich weiter!!!!

    Joa, ich versteh nich ganz was du mit der Zeile bezwecken willst...

    StrToFloat is ja dazu da um nen String umzuwandeln, und du hast ja gar keinen String definiert der umgewandelt werden soll ?(
    Der kommt wie didda schon gesagt hat in ner Klammer dahinter.

    Gruß mighty90
     
  4. 25. September 2006
    AW: ziegt fehler an....weiß nich weiter!!!!

    Warum nimmst du für eine Schleife und S einen Extended (80 bit !) ?
    Ein 32 bit Ganzzahl würdes es auch tun.
     
  5. 25. September 2006
    AW: ziegt fehler an....weiß nich weiter!!!!

    also hab den fehler jetz behoben gekriegt thx für die hilfe. hinter dem S:=StrToFloat hat noch n (edit1.text) gehört. jetz zeigter mir allerdigns an, dass dieser wert S niemals benutzt wird?!
     
  6. 25. September 2006
    AW: ziegt fehler an....weiß nich weiter!!!!

    Wird er ja auch nicht, weil du danach S wieder 0 zuweist...
    Kann es sein das du den source nicht selber geschrieben hast ?
     
  7. 25. September 2006
    AW: ziegt fehler an....weiß nich weiter!!!!

    doch ich hab ihn selber geschrieben, aber ich hab seit 2 stunden delphi...und das is das allererste was wir geschrieben haben und vorher kaum theorie gemacht.

    /edit: oke jetz hab ichs gerafft. ich kann ja schlecht S den wert aus edit1 und 0 gleicheitig zuweisen^^
     
  8. 25. September 2006
    AW: ziegt fehler an....weiß nich weiter!!!!

    Und wie gesagt benutze einen Extended nur wenn du ihn auch wirklich brauchst, wenn du deinen Speicher schonen willst. Für einfache Zahlen reicht ein Integer ggf. Cardinal völlig aus.
    Benutze statt der Repeat besser eine For Schleife:

    Code:
    REPEAT
     Schritt:=Schritt+1;
    UNTIL Schritt=4;
    
    -->
    Code:
    for I := 0 to 4 do
     ...
    
     
  9. 25. September 2006
    AW: ziegt fehler an....weiß nich weiter!!!!

    mhh hatten halt nur die repeat schleife.von der anderen wusst ich nix
    was genau ist denn da der unterscheid, wenn ich extended oder integer nutze?
     
  10. 26. September 2006
    AW: ziegt fehler an....weiß nich weiter!!!!

    Hier ist eine Übersicht über die verschiedenen Variablentypen, wie viel Speicherplatz sie brauchen, wie groß die Zahlen sind, die sie speichern können.
    KLICK
     
  11. 26. September 2006
    AW: ziegt fehler an....weiß nich weiter!!!!

    Integer reicht in dem Fall nich weil er die zahlen mit Fließkommawerten multipliziert
    Aber Extende is schon okay, bei dem kleinen Progrämmchen zumindest. Aber von Anfang an immer auf die Definitionsbereiche von Variablen zu achten is ja auch nich verkehrt
     
  12. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.