AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

C nach Delphi, unsigned int64 ?

Ein Thema von turboPASCAL · begonnen am 13. Dez 2008 · letzter Beitrag vom 14. Dez 2008
Antwort Antwort
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

C nach Delphi, unsigned int64 ?

  Alt 13. Dez 2008, 09:07
Hi,

Gibt es in Delphi so etwas wie unsigned int64 Typ ?

Delphi-Quellcode:
type
  UInt64 = 0..18446744073709551615; // unsigned Int64 ?
Klappt ja nicht.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: C nach Delphi, unsigned int64 ?

  Alt 13. Dez 2008, 09:21
Den Typ sollte es in Delphi schon geben
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: C nach Delphi, unsigned int64 ?

  Alt 13. Dez 2008, 09:27
Moin, ich habe D6 und da gibt es nur soweit ich weis Int64 und der ist signed.

// Edit:

Ah, ist anscheind ein Type Namens: ULARGE_INTEGER

also könne man sagen:
Delphi-Quellcode:
type
  uInt64 = ULARGE_INTEGER;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: C nach Delphi, unsigned int64 ?

  Alt 13. Dez 2008, 10:54
Hallo,

Zitat von turboPASCAL:
Ah, ist anscheind ein Type Namens: ULARGE_INTEGER

also könne man sagen:
Delphi-Quellcode:
type
  uInt64 = ULARGE_INTEGER;
das wird leider nicht allzu viel bringen. ULARGE_INTEGER ist ein Record (siehe Windows.pas), mit dem man nicht sehr gut rechnen kann. Sein Feld QuadPart ist vom Typ LONGLONG - ein Alias für Int64...

Der Typ UInt64 ist offenbar schon in D7 eingeführt worden (klick). Die Implementierung war zumindest in den früheren Delphi-Versionen noch recht fehlerhaft, wie QC-Einträge beweisen. Ob das inzwischen besser geworden ist, kann ich leider nicht sagen.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#5

Re: C nach Delphi, unsigned int64 ?

  Alt 13. Dez 2008, 10:59
Also kann ich uInt64 in D6 nicht nuten, wenn ich ihn so wie oben deklariere ?
Wie könne man sich dann so einen Typ basteln ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: C nach Delphi, unsigned int64 ?

  Alt 13. Dez 2008, 11:35
Matti, du wirst wohl oder übel die arithmetischen Operationen für einen UInt64 selbst implementieren müssen. Vielleicht kannst du dich an diesem Beispiel für eine 128-Bit-Arithmetik orientieren.

Die mit Delphi ausgelieferte Unit FmtBCD implementiert einige Routinen zur BCD-Arithmetik. Sie hätte eine Alternative sein können, wäre sie nicht in den früheren Versionen so fehlerhaft gewesen (QC-Eintrag). Vielleicht findest du ja im Netz eine Alternative.

Mit Hagens DEC habe ich mich bisher nicht beschäftigt, das Paket sollte aber auch geeignete Routinen enthalten.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: C nach Delphi, unsigned int64 ?

  Alt 13. Dez 2008, 11:51
Brauchst du denn wirklich den vollständigen Wertebereich von UInt64?
Wenn nein, dann nimm einfach
Delphi-Quellcode:
{$IFDEF DefiniertFallsDelphiVersionKleiner7}
type
  UInt64 = Int64;
{$ENDIF}
Du solltest dann aber die Überlaufprüfung ausschalten...
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#8

Re: C nach Delphi, unsigned int64 ?

  Alt 14. Dez 2008, 00:43
Bei D6 (eigentlich auch bei meinem D7 noch) gibt es zwar 64 Bit unsingned Integer, allerdings ist die Berechnung dort fehlerhaft (vorallem DIV und MOD).



Aber eigentlich war ich der Meinung, daß System.UInt64 in D6 eingeführt wurde

Hast du denn mal versucht UInt64 direkt zu nutzen? (nicht selbst definiert, sondern gucken ob Delphi es da schon kennt)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: C nach Delphi, unsigned int64 ?

  Alt 14. Dez 2008, 01:48
Zitat von himitsu:
Bei D6 (eigentlich auch bei meinem D7 noch) gibt es zwar 64 Bit unsingned Integer, allerdings ist die Berechnung dort fehlerhaft (vorallem DIV und MOD).
Ich brauchte es für einen Typedef.

Zitat von himitsu:
Aber eigentlich war ich der Meinung, daß System.UInt64 in D6 eingeführt wurde
Nö, System.UInt64 gibts bei mir nicht.

Zitat von himitsu:
Hast du denn mal versucht UInt64 direkt zu nutzen? (nicht selbst definiert, sondern gucken ob Delphi es da schon kennt)
Ja. Es gibt nur so ein ULARGE_INTEGER Record. Das sieht nicht so Vertrauenswürdig aus.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:14 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