System.TFileRec

From Appmethod Libraries
Jump to: navigation, search

Object Pascal

  TFileRec = packed record (* must match the size the compiler generates: 592 bytes (616 bytes for x64) *)
    Handle: NativeInt;
    Mode: Word;
    Flags: Word;
    case Byte of
      0: (RecSize: Cardinal);   //  files of record
      1: (BufSize: Cardinal;    //  text files
          BufPos: Cardinal;
          BufEnd: Cardinal;
          BufPtr: _PAnsiChr;
          OpenFunc: Pointer;
          InOutFunc: Pointer;
          FlushFunc: Pointer;
          CloseFunc: Pointer;
          UserData: array[1..32] of Byte;
          Name: array[0..259] of WideChar;
      );
  end;

C++

struct DECLSPEC_DRECORD TFileRec
{
public:
    NativeInt Handle;
    Word Mode;
    Word Flags;
public:
    union
    {
        struct
        {
            unsigned BufSize;
            unsigned BufPos;
            unsigned BufEnd;
            char *BufPtr;
            void *OpenFunc;
            void *InOutFunc;
            void *FlushFunc;
            void *CloseFunc;
            System::StaticArray<Byte, 32> UserData;
            System::StaticArray<WideChar, 260> Name;
        };
        struct
        {
            unsigned RecSize;
        };
    };
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.pas
System.hpp
System System

Description

Is the internal format for typed and untyped files in the Object Pascal language.

TFileRec is the internal format for typed and untyped files. TFileRec enables you to typecast a Object Pascal file variable to access its internal fields.

Note: You would normally never declare a variable of this type.