Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Zahl als Bruch speichern (https://www.delphipraxis.net/100045-zahl-als-bruch-speichern.html)

sirius 21. Sep 2007 15:09

Re: genauen wert
 
Das Semikolon hinter class(TObject) ist zuviel :zwinker:

dino 21. Sep 2007 15:12

Re: genauen wert
 
ah danke (weiss zwar net warum, aber ich hoffe mal ihr sagts mir ;))

nun scheitert er bei x:=0;

(var x:TBruch)

wie mach ich das nun?

also dass er per :=integer nenner auf 1 setzt und den integerwert dann an den zähler übergibt?

edit: ich vermute mal, dass ich hierfür zwingend nen inttobruch brauche und probiere es mal aus)

sirius 21. Sep 2007 15:19

Re: genauen wert
 
Na du kannst jetzt nicht mehr mit "normaler" Zuweisung etc arbeiten, sondern nur mit Methoden oder Properties.

dino 21. Sep 2007 15:24

Re: genauen wert
 
habs nun so gelöst

Delphi-Quellcode:
var
  Form1: TForm1;

implementation

{$R *.DFM}

function inttobruch(i:Integer):Tbruch;
begin
  result.zaehler:=i;
  result.nenner:=1;
end;
1.war es das was du meintest?
2.so richtig?
3. an der richtigen stelle?

g0rmed 21. Sep 2007 15:31

Re: genauen wert
 
Also, am besten du schaust dir mal das (ab S.48 ) an. Es kann ja nicht sein, dass du nicht weißt was du falsch machst :) .

Khabarakh 21. Sep 2007 15:36

Re: genauen wert
 
Zitat:

Zitat von dino
Delphi-Quellcode:
fr:=-xr/i;
xr:=xr+(i*fr);
yr:=yr+(i*fr);

Sinn :gruebel: ?
Dafür musst du dir jedenfalls keine Klasse schreiben...
Mit einem sinnigeren Beispiel in der Hand könnte man vielleicht noch einen anderen Weg vorschlagen, aber so wird's schwer.

dino 21. Sep 2007 15:43

Re: genauen wert
 
danke, ich werds mir anschauen

und @Khabarakh: ja es hat Sinn!!!
und wenn ich mir keine Klasse schreiben muss, was dann?

und was ist für dich ein sinniges beispiel???

Khabarakh 21. Sep 2007 15:49

Re: genauen wert
 
Zitat:

Zitat von dino
und was ist für dich ein sinniges beispiel???

Jedenfalls keines, das durch eine Zahl teilt und sofort wieder mit dieser multipliziert, sodass ganzzahlige Arithmetik vollkommen ausreichend wäre.

dino 21. Sep 2007 15:59

Re: genauen wert
 
Zitat:

Zitat von g0rmed
Also, am besten du schaust dir mal das (ab S.48 ) an. Es kann ja nicht sein, dass du nicht weißt was du falsch machst :) .

meinteste etwa, dass ich meine Klasse Bruch wenn cih sie schon erstelle auch als eigene unit machen sollte?

ja genau genommen siehts ja auch so aus:


Delphi-Quellcode:
var
  xr,yr,fr,fr1,fr2:real;
  i1,i2,fori:Integer;
for fori := 0 to 1000 do
begin
  fr1:=-xr/i1;
  fr2:=-yr/i2;
  fr:=fr1;
  if fr2<fr then fr:=fr2;
  xr:=xr+(i1*fr); //klar, hier wirds net gebraucht
  yr:=yr+(i2*fr);
  // und hier zwischen passiert halt auch ncoh einges, was aber mit dem Problem wenig zu zun hat
end;

sirius 21. Sep 2007 16:04

Re: genauen wert
 
Zitat:

ja genau genommen siehts ja auch so aus:
Wenn nicht mehr kommt, ist eine Klasse natürlich etwas Overkill. Aber wenn du in deinem Projekt ständig mit genauen rationalen Zahlen rechnen willst, ist eine Klasse die bessere Lösung.

Zitat:

meinteste etwa, dass ich meine Klasse Bruch wenn cih sie schon erstelle auch als eigene unit machen sollte?
Nein, er meinte du sollst eine Art Assign Methode in die Klasse bauen, sodass du dann z.B. myBruch.assign(Zähler,Nenner) aufrufen kannst. Bzw. du sollst objektorientier programmieren und jede einfache Funktion läuft natürlich gegen OOP. (Aber deswegen nicht generell OOP als das NonPlusUltra ansehen!)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 Uhr.
Seite 2 von 6     12 34     Letzte »    

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