AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

fehlende VarTypes in D5

Ein Thema von shmia · begonnen am 19. Jul 2005 · letzter Beitrag vom 20. Jul 2005
Antwort Antwort
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

fehlende VarTypes in D5

  Alt 19. Jul 2005, 18:42
Hallo,
anscheinend kennt D5 nicht alle VarTypes (es geht um den Datentyp Variant).
Deshalb musste ich in folgender Funktion schon nachhelfen:
Delphi-Quellcode:
function VarTypeAsString(const vt: Integer): string;
begin
   case vt and varTypeMask of
      varEmpty: Result := 'Empty';
      varNull: Result := 'Null';
      varSmallint: Result := 'SmallInt';
      varInteger: Result := 'Integer';
      varSingle: Result := 'Single';
      varDouble: Result := 'Double';
      varCurrency: Result := 'Currency';
      varDate: Result := 'Date';
      varOleStr: Result := 'OleStr';
      varDispatch: Result := 'Dispatch';
      varError: Result := 'Error';
      varBoolean: Result := 'Boolean';
      varVariant: Result := 'Variant';
      varUnknown: Result := 'Unknown';
      varString: Result := 'String';
      varAny: Result := 'Any';
      varByte: Result := 'Byte';

      $0e: Result := 'Decimal (16Byte)';
      $18: Result := 'void';
      $1b: Result := 'safe-array';
      $1d: Result := 'UserDef';

   else
      Result := Format('0x%.8x',[vt]);
   end;

   if (vt and varArray) <> 0 then
      Result := 'array of ' + Result;
   if (vt and varByRef) <> 0 then
      Result := '*'+Result;
end;
Nun fehlen mir noch die Entsprechungen zu $13 und $1A.
Und was fehlt sonst noch?
Andreas
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#2

Re: fehlende VarTypes in D5

  Alt 19. Jul 2005, 19:17
Hier mal die VarTypes aus der D7 Hilfe

Delphi-Syntax:

const
varEmpty = $0000;
varNull = $0001;
varSmallint = $0002;
varInteger = $0003;
varSingle = $0004;
varDouble = $0005;
varCurrency = $0006;
varDate = $0007;
varOleStr = $0008;
varDispatch = $0009;
varError = $000A;
varBoolean = $000B;
varVariant = $000C;
varUnknown = $000D;
varShortInt = $0010;
varByte = $0011;
varWord = $0012;
varLongWord = $0013;
varInt64 = $0014;
varStrArg = $0048;
varString = $0100;
varAny = $0101;
varTypeMask = $0FFF;
varArray = $2000;
varByRef = $4000;

C++ Syntax:

static const Shortint varEmpty = 0x0;
static const Shortint varNull = 0x1;
static const Shortint varSmallint = 0x2;
static const Shortint varInteger = 0x3;
static const Shortint varSingle = 0x4;
static const Shortint varDouble = 0x5;
static const Shortint varCurrency = 0x6;
static const Shortint varDate = 0x7;
static const Shortint varOleStr = 0x8;
static const Shortint varDispatch = 0x9;

static const Shortint varError = 0xa;
static const Shortint varBoolean = 0xb;
static const Shortint varVariant = 0xc;
static const Shortint varUnknown = 0xd;
static const Shortint varByte = 0x11;
static const Shortint varStrArg = 0x48;
static const Word varString = 0x100;
static const Word varAny = 0x101;
static const Word varTypeMask = 0xfff;
static const Word varArray = 0x2000;
static const Word varByRef = 0x4000;


Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: fehlende VarTypes in D5

  Alt 20. Jul 2005, 11:24
Zitat von jensw_2000:
Hier mal die VarTypes aus der D7 Hilfe
Danke für die Info's .
D7 ist da aber auch nicht vollständig.
meine Recherchen ergab:
http://www.marin.clara.net/COM/varia...efinitions.htm
Delphi-Quellcode:
const
   varLongWord = $13; // VT_UI4
   varDecimal = $0e; // VT_DECIMAL (16Byte)
   varVoid = $18; // VT_VOID
   varHResult = $19; // VT_HRESULT
   varPointer = $1a; // VT_PTR
   varSaveArray = $1b; // VT_SAFEARRAY
   varCarray = $1c; // VT_CARRAY
   varUserDefined = $1d; // VT_USERDEFINED
   varPChar = $1e; // VT_LPSTR
   varFileTime = $40; // VT_FILETIME
   varBlob = $41; // VT_BLOB
   varStream = $42; // VT_STREAM
   varStorage = $43; // VT_STORAGE
   varStreamedObj = $44; // VT_STREAMED_OBJECT
   varStoredObj = $45; // VT_STORED_OBJECT
   varBlobObj = $46; // VT_BLOB_OBJECT
   varClipbrdFormat = $47; // VT_CF
   varClsId = $48; // VT_CLSID
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


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:49 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