unit General;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogos,
  StdCtrls, Buttons, Spin, ComCtrls, Tabnotbk,checa, ExtCtrls,describe,
  Dialogs,ColorUni;

type
  TFormaConfiguracionGeneral = class(TForm)
    Folder: TTabbedNotebook;
    Label8: TLabel;
    Edit0: TSpinEdit;
    Edit1: TEdit;
    Label4: TLabel;
    Edit5: TEdit;
    Label1: TLabel;
    Edit2: TEdit;
    Label5: TLabel;
    Edit6: TEdit;
    Label2: TLabel;
    Edit3: TEdit;
    Label6: TLabel;
    Edit7: TEdit;
    Label7: TLabel;
    Edit8: TEdit;
    Label9: TLabel;
    Edit9: TEdit;
    Label10: TLabel;
    Edit10: TEdit;
    Label11: TLabel;
    Edit11: TEdit;
    BotonGuardar: TBitBtn;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Edit12: TEdit;
    Edit13: TEdit;
    Edit14: TEdit;
    Edit15: TEdit;
    Edit16: TEdit;
    Edit17: TEdit;
    Edit18: TEdit;
    Label19: TLabel;
    Label20: TLabel;
    Edit19: TEdit;
    Edit20: TEdit;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    CheckBox8: TCheckBox;
    CheckBox9: TCheckBox;
    CheckBox10: TCheckBox;
    Label25: TLabel;
    Edit25: TEdit;
    BotonGuarda: TBitBtn;
    BotonNuevo: TBitBtn;
    EmpresaUsu: TLabel;
    Label26: TLabel;
    Edit26: TEdit;
    Usuario: TLabel;
    Nume: TSpinEdit;
    CheckBox11: TCheckBox;
    CheckBox12: TCheckBox;
    CheckBox13: TCheckBox;
    CheckBox14: TCheckBox;
    CheckBox15: TCheckBox;
    CheckBox16: TCheckBox;
    CheckBox17: TCheckBox;
    CheckBox18: TCheckBox;
    CheckBox19: TCheckBox;
    CheckBox20: TCheckBox;
    CheckBox21: TCheckBox;
    CheckBox22: TCheckBox;
    CheckBox23: TCheckBox;
    CheckBox24: TCheckBox;
    CheckBox25: TCheckBox;
    CheckBox26: TCheckBox;
    CheckBox27: TCheckBox;
    CheckBox28: TCheckBox;
    CheckBox29: TCheckBox;
    CheckBox30: TCheckBox;
    CheckBox31: TCheckBox;
    CheckBox32: TCheckBox;
    CheckBox33: TCheckBox;
    CheckBox34: TCheckBox;
    CheckBox35: TCheckBox;
    CheckBox36: TCheckBox;
    CheckBox37: TCheckBox;
    CheckBox38: TCheckBox;
    CheckBox39: TCheckBox;
    CheckBox40: TCheckBox;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    EditFacExis: TCheckBox;
    Bevel1: TBevel;
    uno: TLabel;
    dos: TLabel;
    BotonCambios: TBitBtn;
    BotonElimina: TBitBtn;
    Bevel2: TBevel;
    Bevel3: TBevel;
    Bevel4: TBevel;
    Bevel5: TBevel;
    Bevel6: TBevel;
    Bevel7: TBevel;
    Bevel8: TBevel;
    Edit4: TEdit;
    Shape1: TShape;
    Bevel12: TBevel;
    Image1: TImage;
    Bevel13: TBevel;
    Image2: TImage;
    Edit21: TEdit;
    Edit22: TEdit;
    Edit23: TEdit;
    Edit24: TEdit;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Edit27: TEdit;
    Label32: TLabel;
    Edit28: TEdit;
    Label33: TLabel;
    Edit29: TEdit;
    Label34: TLabel;
    Bevel14: TBevel;
    Bevel15: TBevel;
    Bevel16: TBevel;
    Bevel17: TBevel;
    Bevel18: TBevel;
    Bevel19: TBevel;
    Bevel20: TBevel;
    Bevel21: TBevel;
    Bevel22: TBevel;
    Bevel23: TBevel;
    Bevel24: TBevel;
    Bevel25: TBevel;
    Bevel26: TBevel;
    Bevel27: TBevel;
    Bevel28: TBevel;
    Bevel29: TBevel;
    Bevel30: TBevel;
    Bevel31: TBevel;
    Bevel32: TBevel;
    Image3: TImage;
    VentanasEstandar: TCheckBox;
    VentanasFacturacion: TCheckBox;
    VentanasCompras: TCheckBox;
    VentanasInventarios: TCheckBox;
    Ventanasdialogos: TCheckBox;
    DialogoColor: TColorDialog;
    VentanasConfiguracion: TCheckBox;
    VentanasEmpresas: TCheckBox;
    VentanasCatalogos: TCheckBox;
    VentanasReportes: TCheckBox;
    VentanasConsultas: TCheckBox;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    Label41: TLabel;
    PartidasFactura: TEdit;
    PartidasCompra: TEdit;
    Label42: TLabel;
    Label43: TLabel;
    CheckBox41: TCheckBox;
    CheckBox42: TCheckBox;
    CheckBox43: TCheckBox;
    CheckBox45: TCheckBox;
    CheckBox44: TCheckBox;
    CheckBox46: TCheckBox;
    CheckBox47: TCheckBox;
    CheckBox48: TCheckBox;
    CheckBox49: TCheckBox;
    CheckBox50: TCheckBox;
    procedure BotonGuardarClick(Sender: TObject);
    procedure Edit10Exit(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure Edit0Change(Sender: TObject);
    procedure BotonGuardaClick(Sender: TObject);
    procedure NumeChange(Sender: TObject);
    procedure BotonNuevoClick(Sender: TObject);
    procedure BotonCambiosClick(Sender: TObject);
    procedure BotonEliminaClick(Sender: TObject);
    procedure Panel2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BotonEliminaMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BotonCambiosMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BotonNuevoMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BotonGuardaMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure VentanasFacturacionKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure VentanasComprasKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure VentanasInventariosKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure VentanasdialogosKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure VentanasConfiguracionKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure VentanasEmpresasKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure VentanasCatalogosKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure VentanasReportesKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure VentanasConsultasKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit10KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
{    procedure AppMessage(var Msg: TMsg; var Handled: Boolean); }
  private
    { Private declarations }
  public
    { Public declarations }
  procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
  end;

var
  FormaConfiguracionGeneral: TFormaConfiguracionGeneral;


implementation

{$R *.DFM}

{Application.OnMessage := AppMessage; 
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean); 
begin 
    if Msg.wParam = VK_RETURN then 
    begin 
        if ((Screen.ActiveControl) is TDBGrid) or 
            (Screen.ActiveControl) is TEdit)) or 
            (Screen.ActiveControl) is TDBEdit) then 
                Msg.wParam := VK_TAB; 
    end; 
end;}
{TFormaConfiguracionGeneral.}

procedure TFormaConfiguracionGeneral.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
with FormaConfiguracionGeneral do
begin
 if Msg.wParam = VK_RETURN then

 begin
 if ((Screen.ActiveControl) is TEdit) then
 Msg.wParam := VK_TAB;
 end;

end;
end;

Procedure consulta;
type
datos=record
usuario:integer;
Empresa:String[2];
Nombre:String[60];
Clave:String[10];
modulos:String[50];
end;
var
dat:datos;
arch:file of datos;
i:integer;
aux:string;
begin
with FormaConfiguracionGeneral do
begin
AssignFile(arch,leeruta+'\usuarios.def');
Reset(arch);
Seek(arch,StrToInt(Nume.Text));
read(arch,dat);
Nume.MaxValue:=FileSize(arch)-1;
Edit26.Text:=dat.nombre;
Edit25.Text:=dat.clave;

if dat.modulos[1]='s' then
CheckBox1.Checked:=True else CheckBox1.Checked:=False;
if dat.modulos[2]='s' then
CheckBox2.Checked:=True else CheckBox2.Checked:=False;
if dat.modulos[3]='s' then
CheckBox3.Checked:=True else CheckBox3.Checked:=False;
if dat.modulos[4]='s' then
CheckBox4.Checked:=True else CheckBox4.Checked:=False;
if dat.modulos[5]='s' then
CheckBox5.Checked:=True else CheckBox5.Checked:=False;
if dat.modulos[6]='s' then
CheckBox6.Checked:=True else CheckBox6.Checked:=False;
if dat.modulos[7]='s' then
CheckBox7.Checked:=True else CheckBox7.Checked:=False;
if dat.modulos[8]='s' then
CheckBox8.Checked:=True else CheckBox8.Checked:=False;
if dat.modulos[9]='s' then
CheckBox9.Checked:=True else CheckBox9.Checked:=False;
if dat.modulos[10]='s' then
CheckBox10.Checked:=True else CheckBox10.Checked:=False;
if dat.modulos[11]='s' then
CheckBox11.Checked:=True else CheckBox11.Checked:=False;
if dat.modulos[12]='s' then
CheckBox12.Checked:=True else CheckBox12.Checked:=False;
if dat.modulos[13]='s' then
CheckBox13.Checked:=True else CheckBox13.Checked:=False;
if dat.modulos[14]='s' then
CheckBox14.Checked:=True else CheckBox14.Checked:=False;
if dat.modulos[15]='s' then
CheckBox15.Checked:=True else CheckBox15.Checked:=False;
if dat.modulos[16]='s' then
CheckBox16.Checked:=True else CheckBox16.Checked:=False;
if dat.modulos[17]='s' then
CheckBox17.Checked:=True else CheckBox17.Checked:=False;
if dat.modulos[18]='s' then
CheckBox18.Checked:=True else CheckBox18.Checked:=False;
if dat.modulos[19]='s' then
CheckBox19.Checked:=True else CheckBox19.Checked:=False;
if dat.modulos[20]='s' then
CheckBox20.Checked:=True else CheckBox20.Checked:=False;
if dat.modulos[21]='s' then
CheckBox21.Checked:=True else CheckBox21.Checked:=False;
if dat.modulos[22]='s' then
CheckBox22.Checked:=True else CheckBox22.Checked:=False;
if dat.modulos[23]='s' then
CheckBox23.Checked:=True else CheckBox23.Checked:=False;
if dat.modulos[24]='s' then
CheckBox24.Checked:=True else CheckBox24.Checked:=False;
if dat.modulos[25]='s' then
CheckBox25.Checked:=True else CheckBox25.Checked:=False;
if dat.modulos[26]='s' then
CheckBox26.Checked:=True else CheckBox26.Checked:=False;
if dat.modulos[27]='s' then
CheckBox27.Checked:=True else CheckBox27.Checked:=False;
if dat.modulos[28]='s' then
CheckBox28.Checked:=True else CheckBox28.Checked:=False;
if dat.modulos[29]='s' then
CheckBox29.Checked:=True else CheckBox29.Checked:=False;
if dat.modulos[30]='s' then
CheckBox30.Checked:=True else CheckBox30.Checked:=False;
if dat.modulos[31]='s' then
CheckBox31.Checked:=True else CheckBox31.Checked:=False;
if dat.modulos[32]='s' then
CheckBox32.Checked:=True else CheckBox32.Checked:=False;
if dat.modulos[33]='s' then
CheckBox33.Checked:=True else CheckBox33.Checked:=False;
if dat.modulos[34]='s' then
CheckBox34.Checked:=True else CheckBox34.Checked:=False;
if dat.modulos[35]='s' then
CheckBox35.Checked:=True else CheckBox35.Checked:=False;
if dat.modulos[36]='s' then
CheckBox36.Checked:=True else CheckBox36.Checked:=False;
if dat.modulos[37]='s' then
CheckBox37.Checked:=True else CheckBox37.Checked:=False;
if dat.modulos[38]='s' then
CheckBox38.Checked:=True else CheckBox38.Checked:=False;
if dat.modulos[39]='s' then
CheckBox39.Checked:=True else CheckBox39.Checked:=False;
if dat.modulos[40]='s' then
CheckBox40.Checked:=True else CheckBox40.Checked:=False;
if dat.modulos[41]='s' then
CheckBox41.Checked:=True else CheckBox41.Checked:=False;
if dat.modulos[42]='s' then
CheckBox42.Checked:=True else CheckBox42.Checked:=False;
if dat.modulos[43]='s' then
CheckBox43.Checked:=True else CheckBox43.Checked:=False;
if dat.modulos[44]='s' then
CheckBox44.Checked:=True else CheckBox44.Checked:=False;
if dat.modulos[45]='s' then
CheckBox45.Checked:=True else CheckBox45.Checked:=False;
if dat.modulos[46]='s' then
CheckBox46.Checked:=True else CheckBox46.Checked:=False;
if dat.modulos[47]='s' then
CheckBox47.Checked:=True else CheckBox47.Checked:=False;
if dat.modulos[48]='s' then
CheckBox48.Checked:=True else CheckBox48.Checked:=False;
if dat.modulos[49]='s' then
CheckBox49.Checked:=True else CheckBox49.Checked:=False;
if dat.modulos[50]='s' then
CheckBox50.Checked:=True else CheckBox50.Checked:=False;


Usuario.Caption:=dat.nombre;
end;

CloseFile(arch);
end;

procedure leedatos;
var
numero:integer;
letra:char;
arch:TextFile;
linea:string;
begin
with FormaConfiguracionGeneral do
begin
if fileExists(leeruta+'\Gener'+Edit0.Text+'.cnf') then
begin
AssignFile(arch,leeruta+'\Gener'+Edit0.Text+'.cnf');
Reset(arch);
readln(arch,linea);
Edit1.Text:=linea;
readln(arch,linea);
Edit2.Text:=linea;
readln(arch,linea);
Edit3.Text:=linea;
readln(arch,linea);
Edit4.Text:=linea;
readln(arch,linea);
Edit5.Text:=linea;
readln(arch,linea);
Edit6.Text:=linea;
readln(arch,linea);
Edit7.Text:=linea;
readln(arch,linea);
Edit8.Text:=linea;
readln(arch,linea);
Edit9.Text:=linea;
readln(arch,linea);
Edit10.Text:=linea;
readln(arch,linea);
Edit11.Text:=linea;
readln(arch,linea);
Edit12.Text:=linea;
readln(arch,linea);
Edit13.Text:=linea;
readln(arch,linea);
Edit14.Text:=linea;
readln(arch,linea);
Edit15.Text:=linea;
readln(arch,linea);
Edit16.Text:=linea;
readln(arch,linea);
Edit17.Text:=linea;
readln(arch,linea);
Edit18.Text:=linea;
readln(arch,linea);
Edit19.Text:=linea;
readln(arch,linea);
Edit20.Text:=linea;
readln(arch,linea);
if linea='S'then
EditFacExis.Checked:=True;
readln(arch,linea);
Edit21.Text:=linea;
readln(arch,linea);
Edit22.Text:=linea;
readln(arch,linea);
Edit23.Text:=linea;
readln(arch,linea);
Edit24.Text:=linea;
readln(arch,linea);
//Edit25.Text:=linea;
readln(arch,linea);
//Edit26.Text:=linea;
readln(arch,linea);
Edit27.Text:=linea;
readln(arch,linea);
Edit28.Text:=linea;
readln(arch,linea);
Edit29.Text:=linea;
readln(arch,linea);
{30}if linea='S' then VentanasEstandar.Checked:=True else VentanasEstandar.Checked:=False;
readln(arch,linea);
{31} VentanasFacturacion.Color:=actualizacolor(linea);
readln(arch,linea);
{32} VentanasCompras.Color:=actualizacolor(linea);
readln(arch,linea);
{33} VentanasInventarios.Color:=actualizacolor(linea);
readln(arch,linea);
{34} VentanasDialogos.Color:=actualizacolor(linea);
readln(arch,linea);
{35} VentanasConfiguracion.Color:=actualizacolor(linea);
readln(arch,linea);
{36} VentanasEmpresas.Color:=actualizacolor(linea);
readln(arch,linea);
{37} VentanasCatalogos.Color:=actualizacolor(linea);
readln(arch,linea);
{38} VentanasReportes.Color:=actualizacolor(linea);
readln(arch,linea);
{39} VentanasConsultas.Color:=actualizacolor(linea);

CloseFile(arch);

end
else
MuestraMensaje('No Existe La Empresa  '+Edit0.Text);

end;

end;


function checaalta(nombre:string):string;
var
semilla:string;
resultado:string[10];
i,palabras,suma:integer;
valor:array[1..7]of integer;
begin
semilla:='LIZBETH';
palabras:=1;
suma:=0;

for i:=1 to Length(nombre) do
begin

if nombre[i]=' ' then
begin
valor[palabras]:=suma;
palabras:=palabras+1;
suma:=0;
end
else
suma:=suma+Ord(nombre[i])-47;
end;

resultado:='';

for i:=1 to palabras do
begin
suma:=Ord(semilla[i])+valor[i];

if suma>400 then suma:=suma-200;
if suma>255 then suma:=suma-100;
resultado:=resultado+Char(suma);

end;

suma:=0;
for i:=1 to palabras do
begin
if (Ord(resultado[i])>47)and(Ord(resultado[i])<90) then
begin
resultado[i]:=resultado[i];
end
else
begin
suma:=Ord(resultado[i]);
if Ord(resultado[i])>90 then
begin
repeat
suma:=Round(suma/1.3);
until suma<90;
end
else
begin
repeat
suma:=Round(suma*1.3);
until suma>47;

end;

resultado[i]:=Char(suma);

end;

end;

checaalta:=resultado;
end;


procedure TFormaConfiguracionGeneral.BotonGuardarClick(Sender: TObject);
var
numero:integer;
letra:char;
arch:TextFile;
eti:TLabel;
begin
AssignFile(arch,leeruta()+'\Gener'+Edit0.Text+'.cnf');
ReWrite(arch);
Writeln(arch,Edit1.Text);
Writeln(arch,Edit2.Text);
Writeln(arch,Edit3.Text);
Writeln(arch,Edit4.Text);
Writeln(arch,Edit5.Text);
Writeln(arch,Edit6.Text);
Writeln(arch,Edit7.Text);
Writeln(arch,Edit8.Text);
Writeln(arch,Edit9.Text);
Writeln(arch,Edit10.Text);
Writeln(arch,Edit11.Text);
Writeln(arch,Edit12.Text);
Writeln(arch,Edit13.Text);
Writeln(arch,Edit14.Text);
Writeln(arch,Edit15.Text);
Writeln(arch,Edit16.Text);
Writeln(arch,Edit17.Text);
Writeln(arch,Edit18.Text);
Writeln(arch,Edit19.Text);
Writeln(arch,Edit20.Text);
if EditFacExis.Checked then
Writeln(arch,'S')
else
Writeln(arch,'N');
{**a partir de aqui odo se incrementa en uno*****}
Writeln(arch,Edit21.Text);
Writeln(arch,Edit22.Text);
Writeln(arch,Edit23.Text);
Writeln(arch,Edit24.Text);


Writeln(arch,Edit25.Text);
Writeln(arch,Edit26.Text);

Writeln(arch,Edit27.Text);
Writeln(arch,Edit28.Text);
Writeln(arch,Edit29.Text);
{***configuracion de nventanas****************}
 {eti.Caption:=TLabelType(VentanasEstandar.Color);}
{30}if VentanasEstandar.Checked then Writeln(arch,'S') else Writeln(arch,'N');
{31}if VentanasFacturacion.Checked then Writeln(arch,ColorToString(VentanasFacturacion.Color)) else Writeln(arch,'N');
{32}if VentanasCompras.Checked then Writeln(arch,ColorToString(VentanasCompras.Color)) else Writeln(arch,'N');
{33}if VentanasInventarios.Checked then Writeln(arch,ColorToString(VentanasInventarios.Color)) else Writeln(arch,'N');
{34}if VentanasDialogos.Checked then Writeln(arch,ColorToString(VentanasDialogos.Color)) else Writeln(arch,'N');
{35}if VentanasConfiguracion.Checked then Writeln(arch,ColorToString(VentanasConfiguracion.Color)) else Writeln(arch,'N');
{36}if VentanasEmpresas.Checked then Writeln(arch,ColorToString(VentanasEmpresas.Color)) else Writeln(arch,'N');
{37}if VentanasCatalogos.Checked then Writeln(arch,ColorToString(VentanasCatalogos.Color)) else Writeln(arch,'N');
{38}if VentanasReportes.Checked then Writeln(arch,ColorToString(VentanasReportes.Color)) else Writeln(arch,'N');
{39}if VentanasConsultas.Checked then Writeln(arch,ColorToString(VentanasConsultas.Color)) else Writeln(arch,'N');



CloseFile(arch);
end;

procedure TFormaConfiguracionGeneral.Edit10Exit(Sender: TObject);
begin
if Edit10.Text='werota' then
MuestraMensaje(checaalta(Edit9.Text));

if Edit10.text=checaalta(Edit9.Text) then
BotonGuardar.Enabled:=True
else
begin
MuestraMensaje('La Clave De Alta No es Correcta Consulte a su Distribuidor');
Edit9.Setfocus;
end;
end;

procedure TFormaConfiguracionGeneral.FormActivate(Sender: TObject);
begin
BotonGuardar.Enabled:=False;
Edit0.Text:='1';
leedatos;
end;


procedure TFormaConfiguracionGeneral.Edit0Change(Sender: TObject);
begin
if Edit0.Text<>'' then
begin

if StrToInt(Edit0.Text)<0 then Edit0.Text:='0';
if StrToInt(Edit0.Text)>0 then
leedatos;

end;
end;

procedure TFormaConfiguracionGeneral.BotonGuardaClick(Sender: TObject);
type
datos=record
usuario:integer;
Empresa:String[2];
Nombre:String[60];
Clave:String[10];
modulos:String[50];
end;
var
dat:datos;
arch:file of datos;
i:integer;
aux:string;
begin
with FormaConfiguracionGeneral do
begin
aux:='';
if CheckBox1.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox2.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox3.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox4.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox5.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox6.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox7.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox8.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox9.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox10.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox11.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox12.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox13.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox14.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox15.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox16.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox17.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox18.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox19.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox20.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox21.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox22.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox23.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox24.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox25.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox26.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox27.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox28.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox29.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox30.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox31.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox32.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox33.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox34.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox35.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox36.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox37.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox38.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox39.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox40.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox41.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox42.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox43.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox44.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox45.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox46.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox47.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox48.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox49.Checked then aux:=aux+'s' else aux:=aux+'n';
if CheckBox50.Checked then aux:=aux+'s' else aux:=aux+'n';

dat.nombre:=Edit26.Text;
dat.Clave:=Edit25.Text;
dat.modulos:=aux;

AssignFile(arch,leeruta+'\usuarios.def');
Reset(arch);

if BotonNuevo.Tag=0 then
begin
Seek(arch,StrToInt(Nume.Text));
dat.usuario:=StrToInt(Nume.Text);
Write(arch,dat);
end
else
begin
Seek(arch,FileSize(arch));
dat.usuario:=FileSize(arch);
Write(arch,dat);
end;

BotonNuevo.Tag:=0;
BotonCambios.Enabled:=True;
BotonNuevo.Enabled:=True;
BotonGuarda.Enabled:=False;
CloseFile(arch);


end;

end;

procedure TFormaConfiguracionGeneral.NumeChange(Sender: TObject);
begin
if StrToInt(Nume.Text)>=0 then
consulta
else
Nume.Text:='0';
end;

procedure TFormaConfiguracionGeneral.BotonNuevoClick(Sender: TObject);
begin
BotonNuevo.tag:=1;
Edit26.Clear;
Edit25.Clear;
BotonCambios.Enabled:=False;
BotonNuevo.Enabled:=False;
BotonGuarda.Enabled:=True;
end;

procedure TFormaConfiguracionGeneral.BotonCambiosClick(Sender: TObject);
begin
BotonNuevo.Tag:=0;
BotonCambios.Enabled:=False;
BotonNuevo.Enabled:=False;
BotonGuarda.Enabled:=True;
end;

procedure TFormaConfiguracionGeneral.BotonEliminaClick(Sender: TObject);
type
datos=record
usuario:integer;
Empresa:String[2];
Nombre:String[60];
Clave:String[10];
modulos:String[50];
end;
var
dat,dat2:datos;
arch,arch2:file of datos;
i:integer;
aux:string;
begin
with FormaConfiguracionGeneral do
begin

if StrToInt(Nume.Text)<>0 then
begin

AssignFile(arch,leeruta+'\usuarios.def');
Reset(arch);
AssignFile(arch2,leeruta+'\usuatemp.def');
Rewrite(arch2);

Seek(arch,0);

for i:=0 to FileSize(arch)-1 do
begin
Read(arch,dat);
if i<>StrToInt(Nume.Text) then
Write(arch2,dat);
end;

CloseFile(arch);
CloseFile(arch2);

{************************************}

AssignFile(arch,leeruta+'\usuarios.def');
Rewrite(arch);
AssignFile(arch2,leeruta+'\usuatemp.def');
Reset(arch2);
Seek(arch2,0);

for i:=0 to FileSize(arch2)-1 do
begin
Read(arch2,dat);
Write(arch,dat);
end;

CloseFile(arch);
CloseFile(arch2);
{**********************************}
end
else
MuestraMensaje('El Usuario 0 no puede ser dado de baja');

end;

end;

procedure TFormaConfiguracionGeneral.Panel2Click(Sender: TObject);

begin
Close;
end;

procedure TFormaConfiguracionGeneral.FormCreate(Sender: TObject);
begin
{****activa el enter como tabulador*****
poner despues de estudiar****}
{Application.OnMessage := AppMessage;}
Nume.Value:=1;
Nume.Value:=0;
consulta;
end;

procedure TFormaConfiguracionGeneral.BotonEliminaMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
describir(Button,FormaConfiguracionGeneral.Left+BotonElimina.Left,FormaConfiguracionGeneral.Top+BotonElimina.Top+BotonElimina.Height,55);
end;

procedure TFormaConfiguracionGeneral.BotonCambiosMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
describir(Button,FormaConfiguracionGeneral.Left+BotonCambios.Left,FormaConfiguracionGeneral.Top+BotonCambios.Top+BotonCambios.Height,56);
end;

procedure TFormaConfiguracionGeneral.BotonNuevoMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
describir(Button,FormaConfiguracionGeneral.Left+BotonNuevo.Left,FormaConfiguracionGeneral.Top+BotonNuevo.Top+BotonNuevo.Height,57);
end;

procedure TFormaConfiguracionGeneral.BotonGuardaMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
describir(Button,FormaConfiguracionGeneral.Left+BotonGuarda.Left,FormaConfiguracionGeneral.Top+BotonGuarda.Top+BotonGuarda.Height,58);
end;

procedure TFormaConfiguracionGeneral.VentanasFacturacionKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=115 then
begin
if DialogoColor.Execute then
begin

VentanasFacturacion.Color:=DialogoColor.Color;

end;

end;

end;

procedure TFormaConfiguracionGeneral.VentanasComprasKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=115 then
begin
if DialogoColor.Execute then
begin
VentanasCompras.Color:=DialogoColor.Color;

end;
end;

end;

procedure TFormaConfiguracionGeneral.VentanasInventariosKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=115 then
begin
if DialogoColor.Execute then
begin
VentanasInventarios.Color:=DialogoColor.Color;

end;
end;

end;

procedure TFormaConfiguracionGeneral.VentanasdialogosKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=115 then
begin
if DialogoColor.Execute then
begin
VentanasDialogos.Color:=DialogoColor.Color;
end;

end;

end;






procedure TFormaConfiguracionGeneral.VentanasConfiguracionKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=115 then
begin
if DialogoColor.Execute then
begin
VentanasConfiguracion.Color:=DialogoColor.Color;
end;

end;

end;

procedure TFormaConfiguracionGeneral.VentanasEmpresasKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=115 then
begin
if DialogoColor.Execute then
begin
VentanasEmpresas.Color:=DialogoColor.Color;
end;

end;

end;

procedure TFormaConfiguracionGeneral.VentanasCatalogosKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=115 then
begin
if DialogoColor.Execute then
begin
VentanasCatalogos.Color:=DialogoColor.Color;
end;

end;

end;

procedure TFormaConfiguracionGeneral.VentanasReportesKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=115 then
begin
if DialogoColor.Execute then
begin
VentanasReportes.Color:=DialogoColor.Color;
end;

end;

end;

procedure TFormaConfiguracionGeneral.VentanasConsultasKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=115 then
begin
if DialogoColor.Execute then
begin
VentanasConsultas.Color:=DialogoColor.Color;
end;

end;

end;



procedure TFormaConfiguracionGeneral.Edit10KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
if key=120 then
Edit10.PasswordChar:='*';
if key=121 then
Edit10.PasswordChar:=#0;

end;



end.
