![]() |
TBignum
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leute,
ich steh mal wieder vor einem Problem. ich will in einem Programm, dass mit großen Zahlen rechnen soll, die Unit TBignum verwenden. Einbinden klappt mit:
Delphi-Quellcode:
Ich kann auch auf die Variable 'werte' zugreifen und wieder auslesen. Doch sobald ich von einem String eine Zahl einlesen will mit der
uses UniTBigNum;
Delphi-Quellcode:
also
Procedure TBigNum.FromString(var SString: AnsiString);
Delphi-Quellcode:
Meldet er den Fehler:
big1.FromString('1000');
Unit1.pas(94): E2197 Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden. Irgend einen dummen kleinen fehler mach ich falsch. (Es ist übrigens nicht der, dass ich vergessen hätte big1 zu konstruieren (create)). Wäre sehr nett von euch wenn ihr mir an einem Beispiel zeigt, wie man mit einer String-Zahl und TBignum eine Rechenoperation ausführt. Danke an alle im Voraus! PS: Irgendwie lassen sich die Buttons nicht anklicken um die Formatierung für den Quellcode auszuwählen TBignum ist im Anhang [edit=alcaeus]Delphi-Tags korrigiert :) Mfg, alcaeus[/edit] |
Re: TBignum
Delphi-Quellcode:
// Falsch
procedure TBigNum.FromString(var SString: AnsiString); // Richtig: Ansistring werden sowieso als Zeiger übergeben procedure TBigNum.FromString(const SString: AnsiString); // Falsch if Pos(',',SString) = 0 then begin // Richtig: es gibt auch Leute, die mit Punkt arbeiten wollen if Pos(DecimalSeparator, SString) = 0 then begin |
Re: TBignum
Nur um sicher zu gehen: Du meinst ich soll in der Unit TBignum was rumändern?
Könntest du mir genau ein Beispiel geben, wie man hier was einliest? |
Re: TBignum
Die Unit mag funktionieren, hält sich aber an keinerlei Programmierkonventionen (Styleguides) von Delphi, was schade ist.
Du musst sogar die Unit, so wie von shmia beschrieben, ändern. Das reicht fürs Erste. Wenn Du an der Unit nichts ändern willst (es gibt keinen Grund, es *nicht* zu tun), dann musst Du den String eben so übergeben:
Delphi-Quellcode:
Var
s : String; Begin s:='111111'; MyBigNum.FromString (s); End; |
Re: TBignum
Das hab ich schon so versucht. Doch rechnen kann man damit dann nicht.
Dann bringt er den fehler : Division durch Null |
Re: TBignum
Ich meine, irgendwo hier gelesen zu haben, das TBignum Schrott is... Jedenfalls sieht es so aus.
|
Re: TBignum
nimm doch das DEC von Hagen Reddman (oder Redmann?)Edit: Der da unter mir ;)
such mal hier im forum nach "unendlich große zahlen" oder so da stehen ein paar versionen zum download auf seite 5 glaub ich |
Re: TBignum
oder such auf SourceForge nach StreamSec II von Hendrik Hellström.
Gruß Hagen |
Re: TBignum
StreamSec II von Hendrik Hellström hab ich nicht gefunden. :gruebel:
DEC von Hagen Reddman verstehe ich beim besten Willen nicht wie das Funktioniert. :pale: |
Re: TBignum
Zitat:
Ich nutze es obwohl ich keinen Plan hat wie es funktioniert...Ist schnell und funktioniert. Bis an die Grenzen des Rams (afaik) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr. |
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