Thema: Delphi boolean ohne variable?

Einzelnen Beitrag anzeigen

paresy

Registriert seit: 24. Aug 2004
Ort: Lübeck
105 Beiträge
 
Delphi 2007 Professional
 
#6

Re: boolean ohne variable?

  Alt 14. Dez 2004, 23:11
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  fs : TFileStream;
  DataSize : Word;
  DataType : Word;
  CurEntry : record
              Header : record
               Tag : array[0..3] Of Char;
               EntryType : Word;
               Size : Word;
              end;
              case boolean of
               true: (Value : DWORD; Junk: array[0..1023] of Char);
               false : (Str : array[0..1023] of Char);
             end;
  CurInfo : String;
  CurJunk : array[0..1023] Of Char;
begin
  //...
end;
damit kannst du in einem record mehrere variablen im selben speicher halten -> das ganze dient der übersicht wenn du ein record für 2 sachen verwenden willst und dadurch 2 ( hier 2 durch das boolean -> true/false ) verschieden bezeichnungen brauchst.

beispiel:

Delphi-Quellcode:
 TIPSVarType = (vtBoolean, vtInteger, vtFloat, vtString);
 TIPSVarTypes = set of TIPSVarType;

 PIPSVariable = ^TIPSVariable;
 TIPSVariable = record
  VarName : PChar;
  VarType : TIPSVarType;
  VarInfo : PChar;
  VarUpdated : TDateTime;
  case TIPSVarType of
   vtBoolean : (VarBoolean : Boolean);
   vtInteger : (VarInteger : Integer);
   vtFloat : (VarFloat : Single);
   vtString : (VarString : PChar);
 end;
hier habe ich für jeden variablentyen einen eigenen namen mit verschiedenen typen (Boolean/Integer..). da das record je immer nur eine variabe annehmen kann muss ich ja nicht alle möglichkeiten im record gleichzeitig aufnehmen sondern nehme per case nur jeweils eins rein was mich an speicher nur soviel kostet wie der größte typ ( der compiler denkt da halt mit... und mir erspart es arbeit bzw arbeitsspeicher )

werd mal bei gelegenheit das topic aus der delphi help suchen.... da gabs was...
  Mit Zitat antworten Zitat