
unit FDLGAREAS;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, Db, DBCtrls;

type
  TDLGAREAS = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    bcancelar: TBitBtn;
    bok: TBitBtn;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    DBNavigator1: TDBNavigator;
    procedure DBGrid1DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
   private
    { Private declarations }
    function GetCodigo:string;
    procedure SetCodigo(cod:string);
  public
    { Public declarations }
    CERRARDATASET:BOOLEAN;
    property codigo:string read GetCodigo write SetCodigo;
  end;

var
  DLGAREAS: TDLGAREAS;

implementation

uses UDm3;//datos

{$R *.DFM}

function TDLGAREAS.Getcodigo:string;
begin
//    result:=dm.AREASid_area.asstring;
    result:=dm3.cdsQ_FDLGAREASid_area.asstring;
end;

procedure TDLGAREAS.Setcodigo(cod:string);
begin
{    if cod='' then dm.AREAS.first
              else dm.AREAS.locate('id_area',cod,[locaseinsensitive]);
}
//Implements a virtual method for searching a dataset for a specified record and making it the active record.

{   if cod='' then dm3.cdsAREAS.first
               else dm3.cdsAREAS.locate('id_area',cod,[locaseinsensitive]);
//loCaseInsensitive	Key fields and key values are matched without regard to case.
}
 end;


procedure TDLGAREAS.DBGrid1KeyPress(Sender: TObject; var Key: Char);
var x:string;
begin
{    x:=key;
//    dm.areas.locate('id_area',x,[locaseinsensitive,lopartialkey]);
    dm3.cdsareas.locate('id_area',x,[locaseinsensitive,lopartialkey]);
    key:=#0;
}
end;

////************************************************************/////
procedure TDLGAREAS.DBNavigator1Click(Sender: TObject;
  Button: TNavigateBtn);
begin
 if dm3.cdsq_fdlgAREAS.Eof then
 try // para evitar el error de memoria bloqueada en el server.
     dm3.cdsq_fdlgAREas.GetNextPacket;
 except
 end;
end;

procedure TDLGAREAS.DataSource1DataChange(Sender: TObject; Field: TField);
begin
 if dm3.cdsq_fdlgAREAS.Eof then
 try // para evitar el error de memoria bloqueada en el server.
     dm3.cdsq_fdlgAREas.GetNextPacket;
 except
 end;
end;
procedure TDLGAREAS.DBGrid1DblClick(Sender: TObject);
begin
    bok.click;
end;

procedure TDLGAREAS.FormShow(Sender: TObject);
begin
   dbgrid1.setfocus;
end;
procedure TDLGAREAS.FormCreate(Sender: TObject);
begin
 IF NOT DM3.CDSQ_FDLGAREAS.Active THEN
     dm3.cdsq_fdlgAREAS.OPEN;
 datasource1.DataSet := dm3.cdsq_fdlgAREAS;
 cerrardataset := true;
end;

procedure TDLGAREAS.FormDestroy(Sender: TObject);
begin
 datasource1.DataSet := nil;
 if cerrardataset then
   dm3.cdsq_fdlgAREAS.close;
end;

end.
