unit uoddface_carpetas;

{$mode delphi}

interface

uses
  Classes, SysUtils, xmatdefs, ubtree, uoddface_table_nid;


(*


  CREATE TABLE ofe_carpetas (
    nid integer NOT NULL,
    fecha timestamp without time zone NOT NULL,
    tipo integer NOT NULL,
    path character varying(256) NOT NULL,
    descripcion character varying(256) NOT NULL
);

CREATE SEQUENCE ofe_carpetas_nid_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;
ALTER SEQUENCE ofe_carpetas_nid_seq OWNED BY ofe_carpetas.nid;


  *)

  type

    { ofe_carpeta }

    ofe_carpeta = class( TRec_Nid )
      fecha: TDateTime;
      tipo: integer;
      path: string;
      descripcion: string;

      constructor Create(
        nid: integer;
        fecha: TDateTime;
        tipo: integer;
        path: string;
        descripcion: string );

      procedure WriteToBin( f: TStream );  override;
      constructor LoadFromBin( f: TStream ); override;
      procedure CopyRec(a: TRec_key); override;
    end;



    { ofe_carpetas }

    ofe_carpetas = class( TTable_nid )
      constructor Create;
      constructor LoadFromBin( f: TStream );
    end;

implementation

{ ofe_carpetas }

constructor ofe_carpetas.Create;
begin
  inherited Create( ofe_carpeta );
end;

constructor ofe_carpetas.LoadFromBin(f: TStream);
begin
  inherited LoadFromBin( f, ofe_carpeta  );
end;


{ ofe_carpeta }

constructor ofe_carpeta.Create(nid: integer; fecha: TDateTime; tipo: integer;
  path: string; descripcion: string);
begin
  inherited Create( nid );
  self.fecha := fecha;
  self.tipo:= tipo;
  self.path:= path;
  self.descripcion:= descripcion;
end;


procedure ofe_carpeta.WriteToBin(f: TStream);
begin
  inherited WriteToBin( f );
  f.Write( fecha, sizeOf( fecha ) );
  f.Write( tipo, sizeOf( tipo ) );
  f.WriteAnsiString( path );
  f.WriteAnsiString( descripcion );
end;

constructor ofe_carpeta.LoadFromBin(f: TStream);
begin
  inherited LoadFromBin( f );
  f.Read( fecha, sizeOf( fecha ) );
  f.Read( tipo, sizeOf( tipo ) );
  path:= f.ReadAnsiString;
  descripcion:= f.ReadAnsiString;
end;

procedure ofe_carpeta.CopyRec(a: TRec_key);
var
  a_: ofe_carpeta;
begin
  a_:= a as ofe_carpeta;
  inherited CopyRec(a_);
  fecha:= a_.fecha;
  tipo:= a_.tipo;
  path:= a_.path;
  descripcion:= a_.descripcion;
end;

end.

