AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Eine BigInt Klasse + RSA-Beispiel
Thema durchsuchen
Ansicht
Themen-Optionen

Eine BigInt Klasse + RSA-Beispiel

Ein Thema von peanut · begonnen am 25. Jul 2006 · letzter Beitrag vom 6. Feb 2021
 
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#21

Re: Eine BigInt Klasse + RSA-Beispiel

  Alt 10. Aug 2007, 12:53
so, dann will ich noch ein paar ideen hier reinwerfen:

Wenn du Delphi 2006 oder höher hast kannst du methoden und property in Records deklarieren.
Dadurch entfällt der Constructor und Destructor.
Außerdem kannst du dann Operatoren überladen.
Mit der Impliciten Typumwandlung wird das arbeiten mit dem Datentyp auch angenehmer.
Schau dir einfach mal dieses Beispiel an:
Delphi-Quellcode:
  TBigInt = record
  private
    Data: Integer;
  public
    class operator Implicit(I: Integer): TBigInt;
    class operator Implicit(T: TBigInt): Integer;
    class operator Add(A, B: TBigInt): TBigInt;
  end;

// ...

class operator TBigInt.Add(A, B: TBigInt): TBigInt;
begin
  result.Data := A.Data + B.Data;
end;

class operator TBigInt.Implicit(I: Integer): TBigInt;
begin
  Result.Data := I;
end;

class operator TBigInt.Implicit(T: TBigInt): Integer;
begin
  result := T.Data;
end;
Und jetzt ist das hier problemlos möglich:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var A, B, C: TBigInt;
begin
  a := 5;
  b := 3;
  c := a + b;
  showmessage(IntToStr(c));
end;
Dominik
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:46 Uhr.
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