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 Problem mit IntToStr (https://www.delphipraxis.net/118412-problem-mit-inttostr.html)

Schopper 7. Aug 2008 11:19


Problem mit IntToStr
 
Hi ich möchte ein Programm schreiben, dass mir Brüche kürzt. Ich habe auch alles soweit fertig bekommen nur irgendwie bringt er mir immer an der Stelle

Delphi-Quellcode:
procedure TForm1.findeGGT;
var tausch,b,a: integer;
begin
Z1 := a;
N1 := b;
    repeat
    IF a > b
    then
    begin
        tausch := a;
        a := b;
        b := tausch
    end
      else
      b := b-a;
      until a=b;

      ggt := a;

end;

procedure TForm1.B_KuerzClick(Sender: TObject);
begin
findeGGT;
[B]E_Z1k.Text := IntToStr(Z1/ggt);[/B]      <--- Da zeigt er den Fehler an
[B]E_N1k.Text := IntToStr(N1/ggt);[/B]      <---          "
end;
den Fehler:

Es gibt keine überladene Version von 'IntToStr', die man mit diesen Argumenten aufrufen kann.

Weiß nicht weiter. Würde mich über eure Hilfe freuen;)
PS: Die Variablen Z1,N1 und ggt sind global deklariert als Integer

mkinzler 7. Aug 2008 11:22

Re: Problem mit IntToStr
 
Das Ergebnis von / ist eine Fliesskommazahl nimm DIV

HalloDu 7. Aug 2008 11:22

Re: Problem mit IntToStr
 
Wenn du mit dem / Operator teilst erhälst du einen Fließkommawert und damit kann IntToStr nichts anfangen (FloatToStr(F) schon). Das ganzzahlige Äquivalent zu / ist DIV, dabei wird der Rest einfach ignoriert, mit MOD erhälst du den Rest.
PS: Da war schonwieder wer schneller.

Tyrael Y. 7. Aug 2008 11:23

Re: Problem mit IntToStr
 
...oder FloatToStr

Schopper 7. Aug 2008 11:29

Re: Problem mit IntToStr
 
Wenn ich nur FloatToSTr mache, startet das Programm zwar aber sobald ich den "kürzen" Button drücke, hängt es sich auf.

Wenn ich div verwende und die Variablen in integer deklariert lasse, startet das Programm auch, aber als ergebnis kommt immer
1485452
raus.

Danke schonmal für eure Antworten, geht ja wirklich ratz-fatz ;)

mkinzler 7. Aug 2008 11:31

Re: Problem mit IntToStr
 
Bei welchen Werten?
Btw würde ich auf globale variablen verzichten und die Funktionen auch als Funktionen implementieren

HalloDu 7. Aug 2008 11:31

Re: Problem mit IntToStr
 
Allein die ersten beiden Zeilen deiner Funktion machen mich schon stutzig. Warum weißt du den beiden globalen Variablen, denn die uninitialisierten Funktionsvariablen zu.
Delphi-Quellcode:
Z1 := a;
N1 := b;
Sollte das nicht anders herum sein? :gruebel:
[edit]PS: Globale Variablen sind sowieso fast immer unoptimal, classmember deiner Form sind besser oder in diesem Fall gleich eine entsprechend formulierte Funktion.[/edit]

Schopper 7. Aug 2008 11:41

Re: Problem mit IntToStr
 
Ja mit Funkionen komm ich leider nicht so klar, und da dachte ich mir, dass es auch auf diesem Weg klappen könnte.

mkinzler 7. Aug 2008 11:43

Re: Problem mit IntToStr
 
Und warum ignorierst du die Vorschläge hier?

TonyR 7. Aug 2008 11:47

Re: Problem mit IntToStr
 
Zitat:

Zitat von Schopper
Ich schreibe hier jetzt einfach mal meinen kompletten Quelltext rein, da ist es für euch vielleicht einfacher, den Grund des Übels zu suchen ;)
--------------> So läuft das hier aber nicht! Selber denken!

Delphi-Quellcode:
...

procedure TForm1.findeGGT;
var tausch,b,a: integer;
begin
Z1 := a; // umtauschen!!!
N1 := b; // umtauschen!!!
    repeat

...
...



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr.
Seite 1 von 2  1 2      

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