Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DIV und MOD (https://www.delphipraxis.net/36772-div-und-mod.html)

MarkusB 26. Dez 2004 08:33

Re: DIV und MOD
 
Moin icke!

Gratuliere! :-D. Du hast verschiedene Datentypen durcheinander gebracht.

Zitat:

Zitat von icke
Code:
...
var
  gesamt: real;
  restmin, restsec: integer;

...

restmin:=FloatToStr(Gesamt div 60);
restsec:=FloatToStr(Gesamt mod 60);
end;

...

Hier versuchst du das Resultat der mod und div (die eine Integer-Zahl zurückliefern) mit Hilfe der Funktion FloatToStr (die eigentlich eine Gleitkommazahl erwartet) in Strings zu umwandeln und danach in Integer-Variable zu packen. Das kann nicht funktionieren!

Versuch etwa so:

Delphi-Quellcode:
var
  restmin, restsec, gesamt: integer;

  ...

  restmin:= Gesamt div 60; // das ist korrekt
  restsec:= Gesamt mod 60; // und das auch

  ...
Wenn du noch die restmin und restsec in Form eines Strings ausgeben möchtest, musst du noch String-Variablen definieren. Dann geht auch die Funktion „IntToStr“ (bzw. FloatToStr - das wäre unsauber):

Delphi-Quellcode:
var
  restmin , restsec, gesamt: integer;
  restmin_char , restsec_char: string;

  ...

  restmin:= Gesamt div 60;
  restsec:= Gesamt mod 60;

  restmin_char := IntToStr(restmin);
  restsec_char := IntToStr(restsec);

  ...
oder gleich so:

Delphi-Quellcode:
var
  gesamt: integer;
  restmin_char , restsec_char: string;

  ...

  restmin_char := IntToStr(Gesamt div 60;);
  restsec_char := IntToStr(Gesamt mod 60);

  ...
Viele Grüße
Markus
:gruebel:

MathiasSimmack 26. Dez 2004 09:20

Re: DIV und MOD
 
Hoffentlich machst du dir die Mühe nicht umsonst, Markus. Die richtigen Antworten wurden mehr oder weniger alle schon gegeben. Nur icke liest das einfach nicht und präsentiert stattdessen immer wieder seine Fehlermeldungen. :roll:

MarkusB 26. Dez 2004 11:55

Re: DIV und MOD
 
Moin MathiasSimmack !

Ich hoffe, dass mein Posting ein bisschen Klarheit im Kopf des armen icke schafft. Nachdem ich alle Postings gelesen habe, bin ich zum Schluss gekommen, dass das einzige was geklärt wurde ist, dass man mit Strings nicht rechnen kann und mod und div Integers erwarten. Alles andere ist, meiner Meinung nach, entweder unnötig kompliziert, irreführend oder einfach falsch.

Ein Beispiel:

Geklärt würde:
Zitat:

Erstens: Delphi-Referenz durchsuchendiv und Delphi-Referenz durchsuchenmod sind Integer-Befehle, können also nur mit Integer-TYpen etwas anfange.

Zweitens: Delphi-Referenz durchsuchenFloatToStr gibt einen String zurück, mit Strings kannst du nicht rechen.
... und danach kommt so was:

Zitat:

Delphi-Quellcode:
var
  str_restmin : String;
  str_restsec : String;
  int_restmin : Integer;
  int_restsec : Integer;
begin
  str_restmin := FloatToStr(Gesamt);
  int_restmin := str_restmin DIV 60; // Diese beiden Zeilen entsprechen: restmin := FloatToStr(gesamt) DIV 60 

  str_restsec := FloatToStr(Gesamt);
  int_restsec := str_restmin MOD 60;

end;

... einfach zum Heulen.

Noch ein Beispiel:
Zitat:

Delphi-Quellcode:
function Real_Div(AZahl1,AZahl2:Extended):Integer;
begin
  Result := Trunc(AZahl1 / AZahl2);
end
Delphi-Quellcode:
function Real_Mod(AZahl1,AZahl2:Extended):Extended;
begin
  Result := AZahl1 - Trunc(AZahl1 / AZahl2) * AZahl2;
end

... dazu kann ich nur sagen: „Warum einfach, wenn es auch kompliziert geht?“

Viele Grüße
Markus
:gruebel:

icke 26. Dez 2004 16:02

Re: DIV und MOD
 
Hallo
1. Ich habe mir die Antworten alle Durchgelesen.
2. Jeder schreibt irgend etwas anderes und gibt neue Tipps und eine "bessere Lösung"
3. Die Vorschläge habe ich im Quellcode geändert. Da die gleiche Fehlermeldung wie zuvor gekommen ist, bin ich zu dem Schluss gekommen, dass meine Version nicht schlechter sein kann.
4. Niemand bis auf MarkusB der mir endlich gesagt hat, dass der Ausdruck >restmin:= Gesamt div 60;< auch funktioniert!

Gruß icke

PS: ICh werde nun die anderen Vorschläge ausprobieren


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:07 Uhr.
Seite 3 von 3     123   

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