unit pk;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  StdCtrls, Buttons, ExtCtrls, Gauges, FileCtrl, checa;

type
  TFormaComprime = class(TForm)
    BitBtn1: TBitBtn;
    mensaje: TLabel;
    Timer1: TTimer;
    BarraAvance: TGauge;
    Directorio: TEdit;
    Label1: TLabel;
    Shape1: TShape;
    Panel1: TPanel;
    Bevel2: TBevel;
    Bevel3: TBevel;
    Bevel4: TBevel;
    Panel2: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Panel2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormaComprime: TFormaComprime;

implementation

{$R *.DFM}

procedure creardirectorio;
var
archi:TextFile;
begin
if not (DirectoryExists(FormaComprime.Directorio.Text)) then
MkDir(FormaComprime.Directorio.Text);
AssignFile(archi,ruta(8)+'\comprime.bat');
ReWrite(archi);
Writeln(archi,'call '+ruta(8)+'\pkzip -spr '+FormaComprime.Directorio.Text+'\Sif.zip '+ruta(8)+'\*.dbf '+ruta(8)+'\*.mdx ');
Writeln(archi,'copy c:\fin.fin c:\res\fin.fin');
Writeln(archi,'call exit ');

CloseFile(archi);
end;

procedure TFormaComprime.BitBtn1Click(Sender: TObject);
begin
if tag=1 then
begin
creardirectorio;
mensaje.Caption:='Iniciando Respaldo';
DeleteFile('c:\res\fin.fin');
BarraAvance.Progress:=0;
Timer1.Enabled:=True;
WinExec(PChar(ruta(8)+'\comprime.bat'),SW_SHOWDEFAULT);
end;
if tag=2 then
Close;
end;

procedure TFormaComprime.Timer1Timer(Sender: TObject);
begin
if FileExists('c:\res\fin.fin') then
begin
mensaje.Caption:='Proceso Terminado';
Timer1.Enabled:=False;
end;
BarraAvance.Progress:=BarraAvance.Progress+1;

end;

procedure TFormaComprime.FormCreate(Sender: TObject);
begin
DeleteFile('c:\res\fin.fin');
end;


procedure TFormaComprime.Panel2Click(Sender: TObject);
begin
Close;
end;

end.
