AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Large Integer? Welcher Typ in Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

Large Integer? Welcher Typ in Delphi

Offene Frage von "richard_boderich"
Ein Thema von richard_boderich · begonnen am 5. Dez 2007 · letzter Beitrag vom 7. Dez 2007
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von himitsu
himitsu

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

Re: Large Integer? Welcher Typ in Delphi

  Alt 5. Dez 2007, 15:35
Short = 8 Bit
Small = 16 Bit
Long = 32 Bit
Large = 64 Bit

... is ja eigntlich recht einfach.

Aus solchen Gründen hatte ich mir mal diese Unit zusammengebastelt.
Wird bei anderen zwar nicht laufen (es sei den ihr löscht einiges daraus),
aber die Typendefinitionen (bis 64 Bit) sollten bei den meisten funktinieren.
Angehängte Dateien
Dateityp: pas fns_types_174.pas (62,7 KB, 18x aufgerufen)
$2B or not $2B
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#12

Re: Large Integer? Welcher Typ in Delphi

  Alt 5. Dez 2007, 16:22
Zitat von Popov:
Auf die Gefahr jetzt Unsinn zu schreiben, hier mal eine Info. Mit Integer (Typ) wirst du schon auf der richtigen Seite stehen, denn bei Delphi ändert sich der Typ Integer vom System zu System. Bei 8 Bit hat Integer eine andere Größe als bei 16 Bit (z.B. Windows 3.11). Bei 32 Bit (ab Windows 95) hat Integer auch 32 Bit. Bei 64 Bit Systemen (jetzt wette ich mal) hat Integer 64 Bit. Der Typ Integer paßt sich also an. Oft findet man noch in alten Quellcodes LongInt. Das ist wichtig bei Systemen < 32 Bit. Bei 32 Bit Systemen ist LongInt genauso groß wie bei Integer. Bei alten 16 Bit Systemen dagegen größer.
Das hängt nicht von dem System ab sondern von deinem Compiler. Es ist ja nun nicht so, dass dein Delphi Programm mit Integer auf einem XP64 oder Vista 64 Bit gestartet auf einmal 64 Bit grosse Integer hat...
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#13

Re: Large Integer? Welcher Typ in Delphi

  Alt 5. Dez 2007, 18:27
Zitat von Muetze1:
Das hängt nicht von dem System ab sondern von deinem Compiler. Es ist ja nun nicht so, dass dein Delphi Programm mit Integer auf einem XP64 oder Vista 64 Bit gestartet auf einmal 64 Bit grosse Integer hat...
Jup, war auch so gemeint, hab mich nur allgemein ausgedrückt. Dachte, daß es logisch ist.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Large Integer? Welcher Typ in Delphi

  Alt 5. Dez 2007, 18:34
@Popov: wir wissen es, aber am Ende spricht deinen Satz jeder Noob nach
... so entstehen viele falsche Überlieferung.
$2B or not $2B
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#15

Re: Large Integer? Welcher Typ in Delphi

  Alt 5. Dez 2007, 22:03
Zitat von himitsu:
@Popov: wir wissen es, aber am Ende spricht deinen Satz jeder Noob nach
... so entstehen viele falsche Überlieferung.
Du misst so einem Beitrag zu viel Bedeutung bei. Theoretisch besteht die Möglichkeit, daß das einer wirklich falsch versteht und versucht mit seinem Delphi 1 32 Bit Programme zu schrieben, aber irgendwann merkt er es. Und sollte er es falsch verstanden haben und es irgendwo wiedergeben, wird er drauf aufmerksam gemacht. Also glaube nicht, daß hier eine Katastrophe möglich wäre. Ich hab sogar einen gebeten bei Arbeiten mit Objekten diese mit try finally zu sichern. Er antwortete mir, daß er auf try finally scheißt und ich ihn nicht mit sowas belästigen, sondern nur seine Fragen beantworten soll. An einer anderen Stelle hatte ich einen Streit mit einigen Programmierern, daß die Ini, wenn sie schon genommen wird, nicht in das Programmverzeichnis gehört, sondern in den Anwendungsdatenordner. Ich wurde als Idiot beschimpft der sich nicht in fremde Angelegenheiten einmischen soll und jedem Programmierer überlassen soll wo er seine Ini speichert. Wobei von den Leuten der Programmordner favorisiert worden ist. Foren sind voll mit falschen Informationen, also keine Panik wegen einem Beitrag den ein Nob falsch verstehen könnte.
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#16

Re: Large Integer? Welcher Typ in Delphi

  Alt 6. Dez 2007, 17:58
In der MSDN habe ich jetzt noch dies gefunden.

Delphi-Quellcode:
typedef union _LARGE_INTEGER
struct { 
  DWORD LowPart;
  LONG HighPart; 
}
;

struct {
  DWORD LowPart; 
  LONG HighPart; 
}
 u;
  LONGLONG QuadPart;
}

LARGE_INTEGER, *PLARGE_INTEGER;
Das sieht mir aber so aus als wäre das in Delphi eher ein Record mit den einzelnen Typen als ein Int64???? Bitte schreibt mal eure
Meinung dazu.

mfG Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Large Integer? Welcher Typ in Delphi

  Alt 6. Dez 2007, 18:01
Sollte doch das Selbe sein.
Markus Kinzler
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#18

Re: Large Integer? Welcher Typ in Delphi

  Alt 6. Dez 2007, 18:06
Das ist eine union. Du kannst wahlweise auf low- und high-Part einzeln zugreifen oder auf den LONGLONG, der auf x86 normalerweise ein Int64 ist. Die Struktur belegt praktischerweise genausoviel Platz wie ein Int64 und kann damit im weitesten Sinne gleichbehandelt werden. Du kannst also ruhig Int64 verwenden.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#19

Re: Large Integer? Welcher Typ in Delphi

  Alt 6. Dez 2007, 19:11
Equivalent zu der Union: Int64Rec aus der SysUtils.
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#20

Re: Large Integer? Welcher Typ in Delphi

  Alt 7. Dez 2007, 17:17
@All
Also ich komme hier einfach nicht weiter. Habe mal mein Demoproject angehängt. Ich möchte die Lastwritetime eines RegistryKeys ermitteln. Die Api
funktioniert auch, wie man an dem Keynamen und der Länge sehen kann. Die Keylänge ist ja immer doppelt so groß, wie die Stringlänge, da Unicode (2 Byte -> 1 Char)
Ich hoffe jemand kann mir hier helfen, da ich nun schon fast Zwei Tage an diesem Mist sitze. Die MSDN zitiere ich mittlerweile schon im Schlaf und meine Frau mault
mich auch schon voll, weil sie mich net mehr zu Gesicht bekommt.

Es geht übrigens um diese Strucktur

KEY_BASIC_INFORMATION
The KEY_BASIC_INFORMATION structure defines a subset of the full information that is available for a registry key.

typedef struct _KEY_BASIC_INFORMATION {
LARGE_INTEGER LastWriteTime;
ULONG TitleIndex;
ULONG NameLength;
WCHAR Name[1]; // Variable-length string
} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;

mfG Richard
Angehängte Dateien
Dateityp: rar demo_149.rar (170,3 KB, 13x aufgerufen)
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 15:18 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