Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Größe von SETs festlegen

  Alt 6. Mai 2008, 10:48
jupp, auch als Parameter

und Absolute geht nur bei gleichgroßen Typen ... bringt also nichts


Und ja, sie ist Maschienen- nja, eher Windows-API-abhängig
SizeOf(Set) = SizeOf(Integer) hab es jetzt doch anders gelöst

in den WindowsHeaderFiles ist es als Record definiert, daher wollte ich es möglichst auch so definieren

in Delphi hat man die erste Variante mit Typ+Konstanten verbaut

und ich mach jetzt erstmal
Delphi-Quellcode:
type LOCKTYPE = Set (LOCK_WRITE=1; ...; _locktype_align=SET_HIGH_BIT);

// und (INT_2..INT_8 sind private Definitionen aus FInclude.inc)
type SET_HIGH_BIT = {$IFDEF INT_2}15{$ENDIF} {$IFDEF INT_4}31{$ENDIF} {$IFDEF INT_8}63{$ENDIF};

nja, Bit-Klassen/Records hab ich schon genug
> http://www.delphipraxis.net/internal...=879295#879295 > FType.pas



Zitat:
Das ist nicht korrekt, es müsste so aussehen:
schau ich mir nochma an ... schon nett, diese Unterschiede in den Sprachen

aber dann ließe sich ja etwas wie STGTY nicht als SET übersetzen
Code:
typedef
enum tagSTGTY
    {   STGTY_STORAGE   = 1,
   STGTY_STREAM   = 2,
   STGTY_LOCKBYTES   = 3,
   STGTY_PROPERTY   = 4
    }    STGTY;

typedef
enum tagSTREAM_SEEK
    {   STREAM_SEEK_SET   = 0,
   STREAM_SEEK_CUR   = 1,
   STREAM_SEEK_END   = 2
    }    STREAM_SEEK;

typedef
enum tagLOCKTYPE
   {   LOCK_WRITE   = 1,
   LOCK_EXCLUSIVE   = 2,
   LOCK_ONLYONCE   = 4
    }    LOCKTYPE;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat