Importación inicial
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES/tags/1.2.0@4 9a1d36f3-7752-2d40-8ccb-50eb49674c68
This commit is contained in:
commit
5a114526ed
BIN
BASEDATOS.FDB
Normal file
BIN
BASEDATOS.FDB
Normal file
Binary file not shown.
BIN
BD/BASEDATOS para el manual.FDB
Normal file
BIN
BD/BASEDATOS para el manual.FDB
Normal file
Binary file not shown.
BIN
BD/BASEDATOS.FDB
Normal file
BIN
BD/BASEDATOS.FDB
Normal file
Binary file not shown.
46
BD/BaseDatos (Borrar tablas).sql
Normal file
46
BD/BaseDatos (Borrar tablas).sql
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
DROP TABLE FORMASPAGO;
|
||||||
|
|
||||||
|
DROP TABLE CONTADORES;
|
||||||
|
|
||||||
|
DROP TABLE PROVINCIAS;
|
||||||
|
|
||||||
|
DROP TABLE DETALLECONTADORES;
|
||||||
|
|
||||||
|
DROP TABLE POBLACIONES;
|
||||||
|
|
||||||
|
DROP TABLE TIPOSLIBROS;
|
||||||
|
|
||||||
|
DROP TABLE CONTACTOS;
|
||||||
|
|
||||||
|
DROP TABLE CATEGORIAS;
|
||||||
|
|
||||||
|
DROP TABLE ALMACENES;
|
||||||
|
|
||||||
|
DROP TABLE ARTICULOS;
|
||||||
|
|
||||||
|
DROP TABLE PRESUPUESTOS;
|
||||||
|
|
||||||
|
DROP TABLE DETALLESPRESUPUESTOS;
|
||||||
|
|
||||||
|
DROP TABLE OBRAS;
|
||||||
|
|
||||||
|
DROP TABLE PEDIDOS;
|
||||||
|
|
||||||
|
DROP TABLE DETALLESPEDIDOS;
|
||||||
|
|
||||||
|
DROP TABLE FICHABENEFICIOS;
|
||||||
|
|
||||||
|
DROP TABLE ALBARANPAGO;
|
||||||
|
|
||||||
|
DROP TABLE DETALLESALBARANPAGO;
|
||||||
|
|
||||||
|
DROP TABLE FACTURASCLIENTE;
|
||||||
|
|
||||||
|
DROP TABLE DETALLESFACTURASCLIENTE;
|
||||||
|
|
||||||
|
DROP TABLE SUCURSALESCONTACTO;
|
||||||
|
|
||||||
|
DROP TABLE CONTACTOSCATEGORIAS;
|
||||||
|
|
||||||
|
DROP TABLE EMPRESAS;
|
||||||
|
|
||||||
360
BD/BaseDatos.sql
Normal file
360
BD/BaseDatos.sql
Normal file
@ -0,0 +1,360 @@
|
|||||||
|
/*
|
||||||
|
CREATED 27/07/2004
|
||||||
|
MODIFIED 03/10/2005
|
||||||
|
PROJECT FACTUGES ARRIBAS
|
||||||
|
MODEL
|
||||||
|
COMPANY RODAX SOFTWARE
|
||||||
|
AUTHOR
|
||||||
|
VERSION 1.1
|
||||||
|
DATABASE INTERBASE 6 SQL 3
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
CREATE DOMAIN "BANCOS" AS VARCHAR(100);
|
||||||
|
CREATE DOMAIN "CALLES" AS VARCHAR(150);
|
||||||
|
CREATE DOMAIN "CANTIDADES" AS NUMERIC(9,2);
|
||||||
|
CREATE DOMAIN "CODIGOS" AS SMALLINT;
|
||||||
|
CREATE DOMAIN "CODIGOSESPECIALES" AS VARCHAR(10);
|
||||||
|
CREATE DOMAIN "CODIGOSPOSTALES" AS VARCHAR(5);
|
||||||
|
CREATE DOMAIN "CODIGOSCORTOS" AS NUMERIC(3,0);
|
||||||
|
CREATE DOMAIN "CORREOS" AS VARCHAR(60);
|
||||||
|
CREATE DOMAIN "DESCRIPCIONES" AS VARCHAR(2000);
|
||||||
|
CREATE DOMAIN "FAMILIAS" AS VARCHAR(50);
|
||||||
|
CREATE DOMAIN "FECHAS" AS DATE;
|
||||||
|
CREATE DOMAIN "FORMASPAGO" AS VARCHAR(50);
|
||||||
|
CREATE DOMAIN "IMPORTES2" AS NUMERIC(11,2) DEFAULT 0;
|
||||||
|
CREATE DOMAIN "IMPORTES4" AS NUMERIC(13,4) DEFAULT 0;
|
||||||
|
CREATE DOMAIN "IMPORTES6" AS NUMERIC(15,6) DEFAULT 0;
|
||||||
|
CREATE DOMAIN "NIFCIFS" AS VARCHAR(10);
|
||||||
|
CREATE DOMAIN "NOMBRES" AS VARCHAR(100);
|
||||||
|
CREATE DOMAIN "OBSERVACIONES" AS BLOB SUB_TYPE 1 SEGMENT SIZE 100;
|
||||||
|
CREATE DOMAIN "POBLACIONES" AS VARCHAR(40);
|
||||||
|
CREATE DOMAIN "PORCENTAJES" AS FLOAT;
|
||||||
|
CREATE DOMAIN "PROVINCIAS" AS VARCHAR(30);
|
||||||
|
CREATE DOMAIN "REFERENCIAS" AS VARCHAR(20);
|
||||||
|
CREATE DOMAIN "SITUACIONES" AS VARCHAR(30);
|
||||||
|
CREATE DOMAIN "TELEFONOS" AS VARCHAR(30);
|
||||||
|
CREATE DOMAIN "TIPOENTRADALIBRO" AS CHAR(1);
|
||||||
|
CREATE DOMAIN "NOMBRESTABLAS" AS VARCHAR(20);
|
||||||
|
CREATE DOMAIN "SERIADOS" AS VARCHAR(3);
|
||||||
|
CREATE DOMAIN "TIPOSLIBROS" AS CHAR(1);
|
||||||
|
CREATE DOMAIN "CODIGOSLARGOS" AS INTEGER;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE "FORMASPAGO" (
|
||||||
|
"DESCRIPCION" "FORMASPAGO" NOT NULL,
|
||||||
|
CONSTRAINT "PK_FORMASPAGO" PRIMARY KEY ("DESCRIPCION")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "CONTADORES" (
|
||||||
|
"CODIGOTABLA" SMALLINT NOT NULL,
|
||||||
|
"TABLA" VARCHAR(20) NOT NULL COLLATE ES_ES,
|
||||||
|
"COMUN" SMALLINT DEFAULT 0 NOT NULL,
|
||||||
|
"LONGITUD" SMALLINT DEFAULT 0,
|
||||||
|
CONSTRAINT "PK_CONTADORES" PRIMARY KEY ("CODIGOTABLA")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "PROVINCIAS" (
|
||||||
|
"CODIGO" VARCHAR(2) NOT NULL COLLATE ES_ES,
|
||||||
|
"DESCRIPCION" "PROVINCIAS",
|
||||||
|
CONSTRAINT "PK_PROVINCIAS" PRIMARY KEY ("CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "DETALLECONTADORES" (
|
||||||
|
"CODIGOTABLA" SMALLINT NOT NULL,
|
||||||
|
"SERIADO" "SERIADOS",
|
||||||
|
"DIA" SMALLINT,
|
||||||
|
"MES" SMALLINT,
|
||||||
|
"ANO" SMALLINT,
|
||||||
|
"CONTADOR" INTEGER DEFAULT 0 NOT NULL,
|
||||||
|
"CONTDIA" VARCHAR(2) COLLATE ES_ES,
|
||||||
|
"CONTMES" VARCHAR(2) COLLATE ES_ES,
|
||||||
|
"CONTANO" VARCHAR(2) COLLATE ES_ES
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "POBLACIONES" (
|
||||||
|
"CODIGOPROVINCIA" VARCHAR(2) NOT NULL COLLATE ES_ES,
|
||||||
|
"CODIGOPOBLACION" VARCHAR(5) NOT NULL COLLATE ES_ES,
|
||||||
|
"DESCRIPCION" "POBLACIONES",
|
||||||
|
CONSTRAINT "PK_POBLACIONES" PRIMARY KEY ("CODIGOPROVINCIA","CODIGOPOBLACION")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "TIPOSLIBROS" (
|
||||||
|
"DESCRIPCION" "TIPOSLIBROS" NOT NULL,
|
||||||
|
CONSTRAINT "PK_TIPOSLIBROS" PRIMARY KEY ("DESCRIPCION")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "CONTACTOS" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGO" "CODIGOS" NOT NULL,
|
||||||
|
"FECHAALTA" "FECHAS" NOT NULL,
|
||||||
|
"USUARIO" "NOMBRES" NOT NULL,
|
||||||
|
"NIFCIF" "NIFCIFS",
|
||||||
|
"NOMBRE" "NOMBRES" NOT NULL,
|
||||||
|
"OBSERVACIONES" "OBSERVACIONES",
|
||||||
|
CONSTRAINT "PK_CONTACTOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "CATEGORIAS" (
|
||||||
|
"CODIGO" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"DESCRIPCION" "NOMBRES" NOT NULL,
|
||||||
|
CONSTRAINT "PK_CATEGORIAS" PRIMARY KEY ("CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "ALMACENES" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGO" "CODIGOSCORTOS" NOT NULL UNIQUE,
|
||||||
|
"FECHAALTA" "FECHAS" NOT NULL,
|
||||||
|
"USUARIO" "NOMBRES" NOT NULL,
|
||||||
|
"NOMBRE" "NOMBRES" NOT NULL,
|
||||||
|
"CALLE" "CALLES",
|
||||||
|
"PROVINCIA" "PROVINCIAS",
|
||||||
|
"POBLACION" "POBLACIONES",
|
||||||
|
"CODIGOPOSTAL" "CODIGOSPOSTALES",
|
||||||
|
"TELEFONO" "TELEFONOS",
|
||||||
|
"MOVIL" "TELEFONOS",
|
||||||
|
"FAX" "TELEFONOS",
|
||||||
|
"PERSONACONTACTO" "NOMBRES",
|
||||||
|
"OBSERVACIONES" "OBSERVACIONES",
|
||||||
|
CONSTRAINT "PK_ALMACENES" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "ARTICULOS" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGO" "CODIGOSLARGOS" NOT NULL UNIQUE,
|
||||||
|
"CODIGOALMACEN" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGOPEDIDO" "CODIGOS" NOT NULL,
|
||||||
|
"CODIGOOBRA" "CODIGOS" NOT NULL,
|
||||||
|
"DESCRIPCION" "NOMBRES",
|
||||||
|
CONSTRAINT "PK_ARTICULOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "PRESUPUESTOS" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGO" "CODIGOS" NOT NULL UNIQUE,
|
||||||
|
"FECHAALTA" "FECHAS" NOT NULL,
|
||||||
|
"USUARIO" "NOMBRES" NOT NULL,
|
||||||
|
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
|
||||||
|
"REFERENCIA" "NOMBRES",
|
||||||
|
"TIPO" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"FECHAPRESUPUESTO" "FECHAS" NOT NULL,
|
||||||
|
"VIGENCIAPRESUPUESTO" "FECHAS",
|
||||||
|
"SITUACION" "SITUACIONES" NOT NULL,
|
||||||
|
"FECHADECISION" "FECHAS",
|
||||||
|
"BASEIMPONIBLE" "IMPORTES4",
|
||||||
|
"DESCUENTO" "PORCENTAJES",
|
||||||
|
"IMPORTEDESCUENTO" "IMPORTES4",
|
||||||
|
"IVA" "PORCENTAJES",
|
||||||
|
"IMPORTEIVA" "IMPORTES4",
|
||||||
|
"IMPORTETOTAL" "IMPORTES2",
|
||||||
|
"OBSERVACIONES" "OBSERVACIONES",
|
||||||
|
"PLAZOENTREGA" "OBSERVACIONES",
|
||||||
|
"FORMAPAGO" "OBSERVACIONES",
|
||||||
|
CONSTRAINT "PK_PRESUPUESTOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "DETALLESPRESUPUESTOS" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGOPRESUPUESTO" "CODIGOS" NOT NULL,
|
||||||
|
"NUMCONCEPTO" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"DESCRIPCION" "DESCRIPCIONES",
|
||||||
|
"CANTIDAD" "CANTIDADES",
|
||||||
|
"IMPORTEUNIDAD" "IMPORTES6",
|
||||||
|
"IMPORTETOTAL" "IMPORTES6",
|
||||||
|
"TIPO" CHAR(1),
|
||||||
|
CONSTRAINT "PK_DETALLESPRESUPUESTOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGOPRESUPUESTO","NUMCONCEPTO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "OBRAS" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGO" "CODIGOS" NOT NULL UNIQUE,
|
||||||
|
"FECHAALTA" "FECHAS" NOT NULL,
|
||||||
|
"USUARIO" "NOMBRES" NOT NULL,
|
||||||
|
"CODIGOPRESUPUESTO" "CODIGOS" NOT NULL,
|
||||||
|
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
|
||||||
|
"REFERENCIA" "NOMBRES",
|
||||||
|
"FECHAINICIO" "FECHAS" NOT NULL,
|
||||||
|
"FECHAFIN" "FECHAS",
|
||||||
|
"SITUACION" "SITUACIONES" NOT NULL,
|
||||||
|
"OBSERVACIONES" "OBSERVACIONES",
|
||||||
|
CONSTRAINT "PK_OBRAS" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "PEDIDOS" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGO" "CODIGOS" NOT NULL UNIQUE,
|
||||||
|
"FECHAALTA" "FECHAS" NOT NULL,
|
||||||
|
"USUARIO" "NOMBRES" NOT NULL,
|
||||||
|
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
|
||||||
|
"CODIGOALMACEN" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGOOBRA" "CODIGOS" NOT NULL,
|
||||||
|
"REFERENCIA" "NOMBRES",
|
||||||
|
"FECHAPEDIDO" "FECHAS" NOT NULL,
|
||||||
|
"FECHACONFIRMACION" "FECHAS",
|
||||||
|
"SITUACION" "SITUACIONES" NOT NULL,
|
||||||
|
"FECHAENTREGA" "FECHAS",
|
||||||
|
"OBSERVACIONES" "OBSERVACIONES",
|
||||||
|
"IMPORTETOTAL" "IMPORTES2",
|
||||||
|
"DIRECCIONCOMPLETA" "OBSERVACIONES",
|
||||||
|
"INCIDENCIAS" "OBSERVACIONES",
|
||||||
|
CONSTRAINT "PK_PEDIDOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "DETALLESPEDIDOS" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGOPEDIDO" "CODIGOS" NOT NULL,
|
||||||
|
"NUMCONCEPTO" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"DESCRIPCION" "DESCRIPCIONES",
|
||||||
|
"CANTIDAD" "CANTIDADES",
|
||||||
|
"IMPORTEUNIDAD" "IMPORTES6",
|
||||||
|
"IMPORTETOTAL" "IMPORTES6",
|
||||||
|
CONSTRAINT "PK_DETALLESPEDIDOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGOPEDIDO","NUMCONCEPTO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "FICHABENEFICIOS" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGOOBRA" "CODIGOS" NOT NULL,
|
||||||
|
"NUMCONCEPTO" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"DESCRIPCION" "NOMBRES" NOT NULL,
|
||||||
|
"MODELO" "NOMBRES",
|
||||||
|
"PROVEEDOR" "NOMBRES",
|
||||||
|
"COMPRA" "IMPORTES2",
|
||||||
|
"VENTA" "IMPORTES2",
|
||||||
|
CONSTRAINT "PK_FICHABENEFICIOS" PRIMARY KEY ("CODIGOEMPRESA","CODIGOOBRA","NUMCONCEPTO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "ALBARANPAGO" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGO" "CODIGOSESPECIALES" NOT NULL UNIQUE,
|
||||||
|
"FECHAALTA" "FECHAS" NOT NULL,
|
||||||
|
"USUARIO" "NOMBRES" NOT NULL,
|
||||||
|
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
|
||||||
|
"FECHAALBARAN" "FECHAS" NOT NULL,
|
||||||
|
"SITUACION" "SITUACIONES" NOT NULL,
|
||||||
|
"FECHAPAGO" "FECHAS",
|
||||||
|
"BASEIMPONIBLE" "IMPORTES4",
|
||||||
|
"DESCUENTO" "PORCENTAJES",
|
||||||
|
"IMPORTEDESCUENTO" "IMPORTES4",
|
||||||
|
"IVA" "PORCENTAJES",
|
||||||
|
"IMPORTEIVA" "IMPORTES4",
|
||||||
|
"IMPORTETOTAL" "IMPORTES2",
|
||||||
|
"OBSERVACIONES" "OBSERVACIONES",
|
||||||
|
"FORMAPAGO" "OBSERVACIONES",
|
||||||
|
CONSTRAINT "PK_ALBARANPAGO" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "DETALLESALBARANPAGO" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGOALBARAN" "CODIGOSESPECIALES" NOT NULL,
|
||||||
|
"NUMCONCEPTO" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"DESCRIPCION" "DESCRIPCIONES",
|
||||||
|
"CANTIDAD" "CANTIDADES",
|
||||||
|
"IMPORTEUNIDAD" "IMPORTES6",
|
||||||
|
"IMPORTETOTAL" "IMPORTES6",
|
||||||
|
CONSTRAINT "PK_DETALLESALBARANPAGO" PRIMARY KEY ("CODIGOEMPRESA","CODIGOALBARAN","NUMCONCEPTO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "FACTURASCLIENTE" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGO" "CODIGOSESPECIALES" NOT NULL UNIQUE,
|
||||||
|
"FECHAALTA" "FECHAS" NOT NULL,
|
||||||
|
"USUARIO" "NOMBRES" NOT NULL,
|
||||||
|
"FECHAFACTURA" "FECHAS" NOT NULL,
|
||||||
|
"BASEIMPONIBLE" "IMPORTES4",
|
||||||
|
"DESCUENTO" "PORCENTAJES",
|
||||||
|
"IMPORTEDESCUENTO" "IMPORTES4",
|
||||||
|
"IVA" "PORCENTAJES",
|
||||||
|
"IMPORTEIVA" "IMPORTES4",
|
||||||
|
"IMPORTETOTAL" "IMPORTES2",
|
||||||
|
"OBSERVACIONES" "OBSERVACIONES",
|
||||||
|
"FORMAPAGO" "OBSERVACIONES",
|
||||||
|
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
|
||||||
|
"NIFCIF" "NIFCIFS",
|
||||||
|
"NOMBRE" "NOMBRES",
|
||||||
|
"CALLE" "CALLES",
|
||||||
|
"PROVINCIA" "PROVINCIAS",
|
||||||
|
"CODIGOPOSTAL" "CODIGOSPOSTALES",
|
||||||
|
"POBLACION" "POBLACIONES",
|
||||||
|
CONSTRAINT "PK_FACTURASCLIENTE" PRIMARY KEY ("CODIGOEMPRESA","CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "DETALLESFACTURASCLIENTE" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGOFACTURA" "CODIGOSESPECIALES" NOT NULL,
|
||||||
|
"NUMCONCEPTO" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"DESCRIPCION" "DESCRIPCIONES",
|
||||||
|
"CANTIDAD" "CANTIDADES",
|
||||||
|
"IMPORTEUNIDAD" "IMPORTES6",
|
||||||
|
"IMPORTETOTAL" "IMPORTES6",
|
||||||
|
CONSTRAINT "PK_DETALLESFACTURASCLIENTE" PRIMARY KEY ("CODIGOEMPRESA","CODIGOFACTURA","NUMCONCEPTO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "SUCURSALESCONTACTO" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
|
||||||
|
"CALLE" "CALLES",
|
||||||
|
"PROVINCIA" "PROVINCIAS",
|
||||||
|
"CODIGOPOSTAL" "CODIGOSPOSTALES",
|
||||||
|
"POBLACION" "POBLACIONES",
|
||||||
|
"TELEFONO1" "TELEFONOS",
|
||||||
|
"TELEFONO2" "TELEFONOS",
|
||||||
|
"MOVIL" "TELEFONOS",
|
||||||
|
"FAX" "TELEFONOS",
|
||||||
|
"CORREO" "CORREOS",
|
||||||
|
"PAGINAWEB" "NOMBRES",
|
||||||
|
"PERSONACONTACTO" "NOMBRES",
|
||||||
|
CONSTRAINT "PK_SUCURSALESCONTACTO" PRIMARY KEY ("CODIGOEMPRESA","CODIGOCONTACTO")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "CONTACTOSCATEGORIAS" (
|
||||||
|
"CODIGOEMPRESA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"CODIGOCONTACTO" "CODIGOS" NOT NULL,
|
||||||
|
"CODIGOCATEGORIA" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
CONSTRAINT "PK_CONTACTOSCATEGORIAS" PRIMARY KEY ("CODIGOEMPRESA","CODIGOCONTACTO","CODIGOCATEGORIA")
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE "EMPRESAS" (
|
||||||
|
"CODIGO" "CODIGOSCORTOS" NOT NULL,
|
||||||
|
"NOMBRE" "NOMBRES",
|
||||||
|
CONSTRAINT "PK_EMPRESAS" PRIMARY KEY ("CODIGO")
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE "DETALLECONTADORES" ADD CONSTRAINT "FK_DETALLECONTADORES" FOREIGN KEY ("CODIGOTABLA") REFERENCES "CONTADORES" ("CODIGOTABLA") ON UPDATE NO ACTION ON DELETE CASCADE;
|
||||||
|
ALTER TABLE "POBLACIONES" ADD CONSTRAINT "FK__CHILDENTITYNAME___PARENTENT" FOREIGN KEY ("CODIGOPROVINCIA") REFERENCES "PROVINCIAS" ("CODIGO") ON UPDATE CASCADE ON DELETE CASCADE;
|
||||||
|
ALTER TABLE "PRESUPUESTOS" ADD CONSTRAINT "FK_PRESUPUESTOS_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "PEDIDOS" ADD CONSTRAINT "FK_PEDIDOS_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "ALBARANPAGO" ADD CONSTRAINT "FK_ALBARANPAGO_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "OBRAS" ADD CONSTRAINT "FK_OBRAS_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "FACTURASCLIENTE" ADD CONSTRAINT "FK_FACTURASCLIENTE_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "SUCURSALESCONTACTO" ADD CONSTRAINT "FK_SUCURSALESCONTACTO_CONTACTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "CONTACTOSCATEGORIAS" ADD CONSTRAINT "FK_CONTACTOSCATEGORIAS_CONTACTO" FOREIGN KEY ("CODIGOEMPRESA","CODIGOCONTACTO") REFERENCES "CONTACTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "CONTACTOSCATEGORIAS" ADD CONSTRAINT "FK_CONTACTOSCATEGORIAS_CATEGORI" FOREIGN KEY ("CODIGOCATEGORIA") REFERENCES "CATEGORIAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "ARTICULOS" ADD CONSTRAINT "FK_ARTICULOS_ALMACENES" FOREIGN KEY ("CODIGOEMPRESA","CODIGOALMACEN") REFERENCES "ALMACENES" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "PEDIDOS" ADD CONSTRAINT "FK_PEDIDOS_ALMACENES" FOREIGN KEY ("CODIGOEMPRESA","CODIGOALMACEN") REFERENCES "ALMACENES" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "DETALLESPRESUPUESTOS" ADD CONSTRAINT "FK_DETALLESPRESUPUESTOS_PRESUPU" FOREIGN KEY ("CODIGOEMPRESA","CODIGOPRESUPUESTO") REFERENCES "PRESUPUESTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "OBRAS" ADD CONSTRAINT "FK_OBRAS_PRESUPUESTOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOPRESUPUESTO") REFERENCES "PRESUPUESTOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "ARTICULOS" ADD CONSTRAINT "FK_ARTICULOS_OBRAS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOOBRA") REFERENCES "OBRAS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "FICHABENEFICIOS" ADD CONSTRAINT "FK_FICHABENEFICIOS_OBRAS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOOBRA") REFERENCES "OBRAS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "PEDIDOS" ADD CONSTRAINT "FK_PEDIDOS_OBRAS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOOBRA") REFERENCES "OBRAS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "DETALLESPEDIDOS" ADD CONSTRAINT "FK_DETALLESPEDIDOS_PEDIDOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOPEDIDO") REFERENCES "PEDIDOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "ARTICULOS" ADD CONSTRAINT "FK_ARTICULOS_PEDIDOS" FOREIGN KEY ("CODIGOEMPRESA","CODIGOPEDIDO") REFERENCES "PEDIDOS" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "DETALLESALBARANPAGO" ADD CONSTRAINT "FK_DETALLESPRESUPUESTOS2_ALBARA" FOREIGN KEY ("CODIGOEMPRESA","CODIGOALBARAN") REFERENCES "ALBARANPAGO" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "DETALLESFACTURASCLIENTE" ADD CONSTRAINT "FK_DETALLESFACTURASCLIENTE_FACT" FOREIGN KEY ("CODIGOEMPRESA","CODIGOFACTURA") REFERENCES "FACTURASCLIENTE" ("CODIGOEMPRESA","CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "CONTACTOS" ADD CONSTRAINT "FK_CONTACTOS_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "FACTURASCLIENTE" ADD CONSTRAINT "FK_FACTURASCLIENTE_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "ALBARANPAGO" ADD CONSTRAINT "FK_ALBARANPAGO_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "ALMACENES" ADD CONSTRAINT "FK_ALMACENES_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "ARTICULOS" ADD CONSTRAINT "FK_ARTICULOS_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "PEDIDOS" ADD CONSTRAINT "FK_PEDIDOS_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "OBRAS" ADD CONSTRAINT "FK_OBRAS_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
ALTER TABLE "PRESUPUESTOS" ADD CONSTRAINT "FK_PRESUPUESTOS_EMPRESAS" FOREIGN KEY ("CODIGOEMPRESA") REFERENCES "EMPRESAS" ("CODIGO") ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE ROLE "USUARIOS";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
5944
BD/serverlog.txt
Normal file
5944
BD/serverlog.txt
Normal file
File diff suppressed because it is too large
Load Diff
45
Base/BaseD7.cfg
Normal file
45
Base/BaseD7.cfg
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
-$A8
|
||||||
|
-$B-
|
||||||
|
-$C+
|
||||||
|
-$D+
|
||||||
|
-$E-
|
||||||
|
-$F-
|
||||||
|
-$G+
|
||||||
|
-$H+
|
||||||
|
-$I+
|
||||||
|
-$J-
|
||||||
|
-$K-
|
||||||
|
-$L+
|
||||||
|
-$M-
|
||||||
|
-$N+
|
||||||
|
-$O-
|
||||||
|
-$P+
|
||||||
|
-$Q-
|
||||||
|
-$R-
|
||||||
|
-$S-
|
||||||
|
-$T-
|
||||||
|
-$U-
|
||||||
|
-$V+
|
||||||
|
-$W+
|
||||||
|
-$X+
|
||||||
|
-$YD
|
||||||
|
-$Z1
|
||||||
|
-GD
|
||||||
|
-cg
|
||||||
|
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||||
|
-H+
|
||||||
|
-W+
|
||||||
|
-M
|
||||||
|
-$M16384,1048576
|
||||||
|
-K$00400000
|
||||||
|
-N".\"
|
||||||
|
-LE"..\Output\Cliente"
|
||||||
|
-LN".\"
|
||||||
|
-U"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor"
|
||||||
|
-O"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor"
|
||||||
|
-I"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor"
|
||||||
|
-R"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor"
|
||||||
|
-Z
|
||||||
|
-w-UNSAFE_TYPE
|
||||||
|
-w-UNSAFE_CODE
|
||||||
|
-w-UNSAFE_CAST
|
||||||
BIN
Base/BaseD7.dcp
Normal file
BIN
Base/BaseD7.dcp
Normal file
Binary file not shown.
197
Base/BaseD7.dof
Normal file
197
Base/BaseD7.dof
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
[FileVersion]
|
||||||
|
Version=7.0
|
||||||
|
[Compiler]
|
||||||
|
A=8
|
||||||
|
B=0
|
||||||
|
C=1
|
||||||
|
D=1
|
||||||
|
E=0
|
||||||
|
F=0
|
||||||
|
G=1
|
||||||
|
H=1
|
||||||
|
I=1
|
||||||
|
J=0
|
||||||
|
K=0
|
||||||
|
L=1
|
||||||
|
M=0
|
||||||
|
N=1
|
||||||
|
O=0
|
||||||
|
P=1
|
||||||
|
Q=0
|
||||||
|
R=0
|
||||||
|
S=0
|
||||||
|
T=0
|
||||||
|
U=0
|
||||||
|
V=1
|
||||||
|
W=1
|
||||||
|
X=1
|
||||||
|
Y=1
|
||||||
|
Z=1
|
||||||
|
ShowHints=1
|
||||||
|
ShowWarnings=1
|
||||||
|
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||||
|
NamespacePrefix=
|
||||||
|
SymbolDeprecated=1
|
||||||
|
SymbolLibrary=1
|
||||||
|
SymbolPlatform=1
|
||||||
|
UnitLibrary=1
|
||||||
|
UnitPlatform=1
|
||||||
|
UnitDeprecated=1
|
||||||
|
HResultCompat=1
|
||||||
|
HidingMember=1
|
||||||
|
HiddenVirtual=1
|
||||||
|
Garbage=1
|
||||||
|
BoundsError=1
|
||||||
|
ZeroNilCompat=1
|
||||||
|
StringConstTruncated=1
|
||||||
|
ForLoopVarVarPar=1
|
||||||
|
TypedConstVarPar=1
|
||||||
|
AsgToTypedConst=1
|
||||||
|
CaseLabelRange=1
|
||||||
|
ForVariable=1
|
||||||
|
ConstructingAbstract=1
|
||||||
|
ComparisonFalse=1
|
||||||
|
ComparisonTrue=1
|
||||||
|
ComparingSignedUnsigned=1
|
||||||
|
CombiningSignedUnsigned=1
|
||||||
|
UnsupportedConstruct=1
|
||||||
|
FileOpen=1
|
||||||
|
FileOpenUnitSrc=1
|
||||||
|
BadGlobalSymbol=1
|
||||||
|
DuplicateConstructorDestructor=1
|
||||||
|
InvalidDirective=1
|
||||||
|
PackageNoLink=1
|
||||||
|
PackageThreadVar=1
|
||||||
|
ImplicitImport=1
|
||||||
|
HPPEMITIgnored=1
|
||||||
|
NoRetVal=1
|
||||||
|
UseBeforeDef=1
|
||||||
|
ForLoopVarUndef=1
|
||||||
|
UnitNameMismatch=1
|
||||||
|
NoCFGFileFound=1
|
||||||
|
MessageDirective=1
|
||||||
|
ImplicitVariants=1
|
||||||
|
UnicodeToLocale=1
|
||||||
|
LocaleToUnicode=1
|
||||||
|
ImagebaseMultiple=1
|
||||||
|
SuspiciousTypecast=1
|
||||||
|
PrivatePropAccessor=1
|
||||||
|
UnsafeType=0
|
||||||
|
UnsafeCode=0
|
||||||
|
UnsafeCast=0
|
||||||
|
[Linker]
|
||||||
|
MapFile=3
|
||||||
|
OutputObjs=0
|
||||||
|
ConsoleApp=1
|
||||||
|
DebugInfo=0
|
||||||
|
RemoteSymbols=0
|
||||||
|
MinStackSize=16384
|
||||||
|
MaxStackSize=1048576
|
||||||
|
ImageBase=4194304
|
||||||
|
ExeDescription=
|
||||||
|
[Directories]
|
||||||
|
OutputDir=
|
||||||
|
UnitOutputDir=.\
|
||||||
|
PackageDLLOutputDir=..\Output\Cliente
|
||||||
|
PackageDCPOutputDir=.\
|
||||||
|
SearchPath=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor
|
||||||
|
Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;CEToolsPkgd7;FR7;FRIBX7;Hydra_Core_D7;Hydra_RO_D7;fqb70;frx7;frxADO7;frxBDE7;frxDB7;frxDBX7;frxe7;frxIBX7;fs7;fsADO7;fsBDE7;fsDB7;fsIBX7;DataAbstract_Core_D7;DataAbstract_IDE_D7
|
||||||
|
Conditionals=
|
||||||
|
DebugSourceDirs=
|
||||||
|
UsePackages=0
|
||||||
|
[Parameters]
|
||||||
|
RunParams=
|
||||||
|
HostApplication=
|
||||||
|
Launcher=
|
||||||
|
UseLauncher=0
|
||||||
|
DebugCWD=
|
||||||
|
[Language]
|
||||||
|
ActiveLang=
|
||||||
|
ProjectLang=
|
||||||
|
RootDir=C:\Archivos de programa\Borland\Delphi7\Bin\
|
||||||
|
[Version Info]
|
||||||
|
IncludeVerInfo=1
|
||||||
|
AutoIncBuild=0
|
||||||
|
MajorVer=1
|
||||||
|
MinorVer=0
|
||||||
|
Release=0
|
||||||
|
Build=0
|
||||||
|
Debug=0
|
||||||
|
PreRelease=0
|
||||||
|
Special=0
|
||||||
|
Private=0
|
||||||
|
DLL=0
|
||||||
|
Locale=3082
|
||||||
|
CodePage=1252
|
||||||
|
[Version Info Keys]
|
||||||
|
CompanyName=
|
||||||
|
FileDescription=
|
||||||
|
FileVersion=1.0.0.0
|
||||||
|
InternalName=
|
||||||
|
LegalCopyright=
|
||||||
|
LegalTrademarks=
|
||||||
|
OriginalFilename=
|
||||||
|
ProductName=
|
||||||
|
ProductVersion=1.0.0.0
|
||||||
|
Comments=
|
||||||
|
[Excluded Packages]
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxTreeListVCLD7.bpl=ExpressQuantumTreeList 4 (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxThemeD7.bpl=Express XP Theme Manager by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxLibraryVCLD7.bpl=Express Cross Platform Library (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxExportVCLD7.bpl=Express Cross Platform Export Library (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxEditorsVCLD7.bpl=ExpressEditors Library 5 (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxDataD7.bpl=ExpressDataController by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxExtEditorsVCLD7.bpl=ExpressExtendedEditors Library 5 (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxGridVCLD7.bpl=ExpressQuantumGrid 5 (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxPageControlVCLD7.bpl=Express Cross Platform PageControl (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxSchedulerVCLD7.bpl=ExpressScheduler 2 (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxsbD7.bpl=ExpressSideBar by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxComnD7.bpl=ExpressCommonLibrary by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarD7.bpl=ExpressBars by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarDBNavD7.bpl=ExpressBars DBNavigator by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarExtDBItemsD7.bpl=ExpressBars extended DB items by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarExtItemsD7.bpl=ExpressBars extended items by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxDockingD7.bpl=ExpressDocking Library by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxLayoutControlD7.bpl=ExpressLayout Control by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxNavBarD7.bpl=ExpressNavBar by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxGDIPlusD7.bpl=ExpressGDI+ Library by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxVerticalGridVCLD7.bpl=ExpressVerticalGrid (VCL Edition) by Developer Express Inc.
|
||||||
|
c:\archivos de programa\borland\delphi7\Projects\Bpl\RodaxFrameD7.bpl=Frames Acana (D7)
|
||||||
|
C:\WINDOWS\system32\dclShX_Namespace_V3D7.bpl=(untitled)
|
||||||
|
C:\WINDOWS\system32\vclShX_Namespace_v3D7.bpl=(untitled)
|
||||||
|
[HistoryLists\hlDebugSourcePath]
|
||||||
|
Count=1
|
||||||
|
Item0=D:\Proyectos\Componentes\GUISDK\Sources\;D:\Proyectos\Componentes\PluginSDK\Source\;D:\Proyectos\FactuGES (Estudio)\Codigo\Modulos\Contactos\Cliente;D:\Proyectos\FactuGES (Estudio)\Codigo\Modulos\Contactos\Reglas
|
||||||
|
[HistoryLists\hlUnitAliases]
|
||||||
|
Count=1
|
||||||
|
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||||
|
[HistoryLists\hlSearchPath]
|
||||||
|
Count=12
|
||||||
|
Item0=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas
|
||||||
|
Item1=..\Modulos\Presupuestos\Reglas;..\Modulos\Contactos\Reglas;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Albaranes de cliente\Reglas
|
||||||
|
Item2=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados;..\..\Contactos\Cliente;..\..\Almacenes\Cliente
|
||||||
|
Item3=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados
|
||||||
|
Item4=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados;..\..\Contactos\Cliente
|
||||||
|
Item5=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados
|
||||||
|
Item6=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente
|
||||||
|
Item7=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados;..\..\Montajes\Cliente;..\..\Almacenes\Cliente
|
||||||
|
Item8=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados;..\..\Montajes\Cliente
|
||||||
|
Item9=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor
|
||||||
|
Item10=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\base;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas
|
||||||
|
Item11=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\Base;..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios
|
||||||
|
[HistoryLists\hlUnitOutputDirectory]
|
||||||
|
Count=1
|
||||||
|
Item0=.\
|
||||||
|
[HistoryLists\hlOutputDirectorry]
|
||||||
|
Count=2
|
||||||
|
Item0=..\Output\Cliente
|
||||||
|
Item1=..\Output\Servidor
|
||||||
|
[HistoryLists\hlBPLOutput]
|
||||||
|
Count=3
|
||||||
|
Item0=..\..\..\Output\Cliente
|
||||||
|
Item1=..\Output\Cliente
|
||||||
|
Item2=..\..\Output\Cliente
|
||||||
|
[HistoryLists\hlDCPOutput]
|
||||||
|
Count=1
|
||||||
|
Item0=.\
|
||||||
114
Base/BaseD7.dpk
Normal file
114
Base/BaseD7.dpk
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
package BaseD7;
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
{$ALIGN 8}
|
||||||
|
{$ASSERTIONS ON}
|
||||||
|
{$BOOLEVAL OFF}
|
||||||
|
{$DEBUGINFO ON}
|
||||||
|
{$EXTENDEDSYNTAX ON}
|
||||||
|
{$IMPORTEDDATA ON}
|
||||||
|
{$IOCHECKS ON}
|
||||||
|
{$LOCALSYMBOLS ON}
|
||||||
|
{$LONGSTRINGS ON}
|
||||||
|
{$OPENSTRINGS ON}
|
||||||
|
{$OPTIMIZATION OFF}
|
||||||
|
{$OVERFLOWCHECKS OFF}
|
||||||
|
{$RANGECHECKS OFF}
|
||||||
|
{$REFERENCEINFO ON}
|
||||||
|
{$SAFEDIVIDE OFF}
|
||||||
|
{$STACKFRAMES ON}
|
||||||
|
{$TYPEDADDRESS OFF}
|
||||||
|
{$VARSTRINGCHECKS ON}
|
||||||
|
{$WRITEABLECONST OFF}
|
||||||
|
{$MINENUMSIZE 1}
|
||||||
|
{$IMAGEBASE $400000}
|
||||||
|
{$RUNONLY}
|
||||||
|
{$IMPLICITBUILD OFF}
|
||||||
|
|
||||||
|
requires
|
||||||
|
rtl,
|
||||||
|
vcl,
|
||||||
|
vcldb,
|
||||||
|
GUISDK_D7,
|
||||||
|
vcljpg,
|
||||||
|
dbrtl,
|
||||||
|
dsnap,
|
||||||
|
vcldb,
|
||||||
|
PNG_D7,
|
||||||
|
PngComponentsD7,
|
||||||
|
JvCoreD7R,
|
||||||
|
JvStdCtrlsD7R,
|
||||||
|
JvPageCompsD7R,
|
||||||
|
cxLibraryVCLD7,
|
||||||
|
dxThemeD7,
|
||||||
|
cxEditorsVCLD7,
|
||||||
|
cxDataD7,
|
||||||
|
cxExtEditorsVCLD7,
|
||||||
|
cxGridVCLD7,
|
||||||
|
cxPageControlVCLD7,
|
||||||
|
tb2k_d7,
|
||||||
|
tbx_d7,
|
||||||
|
vclx,
|
||||||
|
vclactnband,
|
||||||
|
designide,
|
||||||
|
cxExportVCLD7,
|
||||||
|
adortl,
|
||||||
|
JvSystemD7R,
|
||||||
|
dxPSCoreD7,
|
||||||
|
dxPScxCommonD7,
|
||||||
|
dxPScxGridLnkD7,
|
||||||
|
cxIntlPrintSys3D7,
|
||||||
|
dxBarD7,
|
||||||
|
dxBarExtItemsD7,
|
||||||
|
cxIntl5D7,
|
||||||
|
DataAbstract_D7,
|
||||||
|
dxPsPrVwAdvD7,
|
||||||
|
ccpack70,
|
||||||
|
JvMMD7R,
|
||||||
|
JvCtrlsD7R,
|
||||||
|
dxLayoutControlD7,
|
||||||
|
teeui,
|
||||||
|
tee,
|
||||||
|
fsTee7,
|
||||||
|
fs7,
|
||||||
|
frxTee7,
|
||||||
|
frx7,
|
||||||
|
frxe7;
|
||||||
|
|
||||||
|
contains
|
||||||
|
uDataModuleBase in 'uDataModuleBase.pas' {dmBase: TDAClientDataModule},
|
||||||
|
uEditorBase in 'uEditorBase.pas' {fEditorBase},
|
||||||
|
uEditorGrid in 'uEditorGrid.pas' {fEditorGrid},
|
||||||
|
uEditorItem in 'uEditorItem.pas' {fEditorItem},
|
||||||
|
uDataTableUtils in 'uDataTableUtils.pas',
|
||||||
|
uEditorUtils in 'uEditorUtils.pas',
|
||||||
|
uEditorPreview in 'uEditorPreview.pas' {fEditorPreview},
|
||||||
|
uViewPreview in 'uViewPreview.pas' {frViewPreview: TFrame},
|
||||||
|
uViewBase in 'uViewBase.pas' {frViewBase: TCustomView},
|
||||||
|
uViewCategorias in 'uViewCategorias.pas' {frViewCategorias: TCustomView},
|
||||||
|
uViewDireccion in 'uViewDireccion.pas' {frViewDireccion: TCustomView},
|
||||||
|
uViewGrid in 'uViewGrid.pas' {frViewGrid: TCustomView},
|
||||||
|
uViewInternet in 'uViewInternet.pas' {frViewInternet: TCustomView},
|
||||||
|
uViewTelefonos in 'uViewTelefonos.pas' {frViewTelefonos: TCustomView},
|
||||||
|
uEditorDBBase in 'uEditorDBBase.pas' {fEditorDBBase: TCustomEditor},
|
||||||
|
uEditorDBItem in 'uEditorDBItem.pas' {fEditorDBItem: TCustomEditor},
|
||||||
|
uViewMensaje in 'uViewMensaje.pas' {frViewMensaje: TFrame},
|
||||||
|
uExceptions in 'uExceptions.pas',
|
||||||
|
uViewContenido in 'uViewContenido.pas' {frViewContenido: TFrame},
|
||||||
|
uViewBarraSeleccion in 'uViewBarraSeleccion.pas' {frViewBarraSeleccion: TFrame},
|
||||||
|
uBizImportesDetalleBase in 'uBizImportesDetalleBase.pas',
|
||||||
|
uBizImportesCabeceraBase in 'uBizImportesCabeceraBase.pas',
|
||||||
|
uViewFormaPago in 'uViewFormaPago.pas' {frViewFormaPago: TFrame},
|
||||||
|
uViewObservaciones in 'uViewObservaciones.pas' {frViewObservaciones: TFrame},
|
||||||
|
uViewPlazoEntrega in 'uViewPlazoEntrega.pas' {frViewPlazoEntrega: TFrame},
|
||||||
|
uViewTotales in 'uViewTotales.pas' {frViewTotales: TFrame},
|
||||||
|
uDBSelectionList in 'uDBSelectionList.pas',
|
||||||
|
uConfigurarConexion in 'uConfigurarConexion.pas' {fConfigurarConexion},
|
||||||
|
uViewDetallesFamilias in 'uViewDetallesFamilias.pas' {frViewDetallesFamilias: TFrame},
|
||||||
|
uBizInformesBase in 'uBizInformesBase.pas',
|
||||||
|
uViewDetallesNormales in 'uViewDetallesNormales.pas' {frViewDetallesNormales: TFrame},
|
||||||
|
uVentanaEspera in 'uVentanaEspera.pas' {Form1},
|
||||||
|
uSysFunc in 'uSysFunc.pas',
|
||||||
|
InfoProject in 'InfoProject.pas';
|
||||||
|
|
||||||
|
end.
|
||||||
16
Base/BaseD7.drc
Normal file
16
Base/BaseD7.drc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* VER150
|
||||||
|
Generated by the Borland Delphi Pascal Compiler
|
||||||
|
because -GD or --drc was supplied to the compiler.
|
||||||
|
|
||||||
|
This file contains compiler-generated resources that
|
||||||
|
were bound to the executable.
|
||||||
|
If this file is empty, then no compiler-generated
|
||||||
|
resources were bound to the produced executable.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define uROWinInetHttpChannel_sxInvalidURLformat 65520
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
uROWinInetHttpChannel_sxInvalidURLformat, "Invalid URL format"
|
||||||
|
END
|
||||||
|
|
||||||
BIN
Base/BaseD7.res
Normal file
BIN
Base/BaseD7.res
Normal file
Binary file not shown.
187
Base/InfoProject.pas
Normal file
187
Base/InfoProject.pas
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
{
|
||||||
|
===============================================================================
|
||||||
|
Copyright (©) 2005. Rodax Software.
|
||||||
|
===============================================================================
|
||||||
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
||||||
|
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
|
||||||
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
||||||
|
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
|
||||||
|
bajo el que se suministra.
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
Web: www.rodax-software.com
|
||||||
|
===============================================================================
|
||||||
|
Fecha primera versión: 17-05-2005
|
||||||
|
Versión actual: 1.0.0
|
||||||
|
Fecha versión actual: 17-05-2005
|
||||||
|
===============================================================================
|
||||||
|
Modificaciones:
|
||||||
|
|
||||||
|
Fecha Comentarios
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
===============================================================================
|
||||||
|
}
|
||||||
|
unit InfoProject;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
|
||||||
|
|
||||||
|
type
|
||||||
|
TInfoProject = class(TComponent)
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
FFVIBuff: Pointer;
|
||||||
|
FFVISize: DWord;
|
||||||
|
FHandle: DWord;
|
||||||
|
FFileName: String;
|
||||||
|
FLanguage: Word;
|
||||||
|
FCodePage: Word;
|
||||||
|
FLanguageCodePage: String;
|
||||||
|
FCompanyName: String;
|
||||||
|
FFileDescription: String;
|
||||||
|
FFileVersion: String;
|
||||||
|
FInternalName: String;
|
||||||
|
FLegalCopyright: String;
|
||||||
|
FLegalTradeMarks: String;
|
||||||
|
FOriginalFileName: String;
|
||||||
|
FProductName: String;
|
||||||
|
FProductVersion: String;
|
||||||
|
FComments: String;
|
||||||
|
procedure ReadFixedFileInfo;
|
||||||
|
function GetLangCPage: String;
|
||||||
|
function GetStringFileInfo(S: String): String;
|
||||||
|
procedure SetFileName(const Value: String);
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
function LanguageStr(Language: Word): String;
|
||||||
|
property FileName: String read FFileName write SetFileName;
|
||||||
|
property Language: Word read FLanguage;
|
||||||
|
property CodePage: Word read FCodePage;
|
||||||
|
property LanguageCodePage: String read FLanguageCodePage;
|
||||||
|
property CompanyName: String read FCompanyName;
|
||||||
|
property FileDescription: String read FFileDescription;
|
||||||
|
property FileVersion: String read FFileVersion;
|
||||||
|
property InternalName: String read FInternalName;
|
||||||
|
property LegalCopyright: String read FLegalCopyright;
|
||||||
|
property LegalTradeMarks: String read FLegalTradeMarks;
|
||||||
|
property OriginalFileName: String read FOriginalFileName;
|
||||||
|
property ProductName: String read FProductName;
|
||||||
|
property ProductVersion: String read FProductVersion;
|
||||||
|
property Comments: String read FComments;
|
||||||
|
published
|
||||||
|
{ Published declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ TInfoProject }
|
||||||
|
|
||||||
|
constructor TInfoProject.Create(AOwner: TComponent);
|
||||||
|
begin { of TInfoProject.Create }
|
||||||
|
inherited Create(AOwner);
|
||||||
|
|
||||||
|
{ build current EXE filename }
|
||||||
|
FileName := ParamStr(0);
|
||||||
|
end; { of TInfoProject.Create }
|
||||||
|
|
||||||
|
procedure TInfoProject.ReadFixedFileInfo;
|
||||||
|
begin { of TInfoProject.ReadFixedFileInfo }
|
||||||
|
{ determine size of buffer required }
|
||||||
|
FFVISize := GetFileVersionInfoSize(PChar(FileName), FHandle);
|
||||||
|
|
||||||
|
{ create buffer }
|
||||||
|
GetMem(FFVIBuff, FFVISize);
|
||||||
|
try
|
||||||
|
|
||||||
|
{ load buffer }
|
||||||
|
GetFileVersionInfo(PChar(FileName), FHandle, FFVISize, FFVIBuff);
|
||||||
|
|
||||||
|
{ extract the language/codepage info }
|
||||||
|
FLanguageCodePage := GetLangCPage;
|
||||||
|
|
||||||
|
{ extract the other info }
|
||||||
|
FCompanyName := GetStringFileInfo('CompanyName');
|
||||||
|
FFileDescription := GetStringFileInfo('FileDescription');
|
||||||
|
FFileVersion := GetStringFileInfo('FileVersion');
|
||||||
|
FInternalName := GetStringFileInfo('InternalName');
|
||||||
|
FLegalCopyright := GetStringFileInfo('LegalCopyright');
|
||||||
|
FLegalTradeMarks := GetStringFileInfo('LegalTradeMarks');
|
||||||
|
FOriginalFileName := GetStringFileInfo('OriginalFileName');
|
||||||
|
FProductName := GetStringFileInfo('ProductName');
|
||||||
|
FProductVersion := GetStringFileInfo('ProductVersion');
|
||||||
|
FComments := GetStringFileInfo('Comments');
|
||||||
|
|
||||||
|
finally
|
||||||
|
{ dispose buffer }
|
||||||
|
FreeMem(FFVIBuff, FFVISize);
|
||||||
|
end;
|
||||||
|
end; { of TInfoProject.ReadFixedFileInfo }
|
||||||
|
|
||||||
|
function TInfoProject.LanguageStr(Language: Word): String;
|
||||||
|
var
|
||||||
|
P: array[0..255] of Char;
|
||||||
|
Len: Word;
|
||||||
|
begin { of TInfoProject.LanguageStr }
|
||||||
|
Len := VerLanguageName(Language, P, SizeOf(P));
|
||||||
|
if (Len > SizeOf(P)) then
|
||||||
|
begin
|
||||||
|
{ if this occurs then the P buffer is too small }
|
||||||
|
{ so we will truncate the returned string }
|
||||||
|
Len := SizeOf(P);
|
||||||
|
end;
|
||||||
|
SetString(Result, P, Len);
|
||||||
|
end; { of TInfoProject.LanguageStr }
|
||||||
|
|
||||||
|
function TInfoProject.GetLangCPage: String;
|
||||||
|
var
|
||||||
|
SearchString: String;
|
||||||
|
FVILang: array of Byte;
|
||||||
|
Len: DWORD;
|
||||||
|
begin { of TInfoProject.GetLangCPage }
|
||||||
|
Result := '00000000';
|
||||||
|
if (FFVIBuff <> NIL) then
|
||||||
|
begin
|
||||||
|
SearchString := '\VarFileInfo\Translation';
|
||||||
|
if VerQueryValue(FFVIBuff, PChar(SearchString),
|
||||||
|
Pointer(FVILang), Len) then
|
||||||
|
begin
|
||||||
|
FLanguage := FVILang[0] + FVILang[1]*$100;
|
||||||
|
FCodePage := FVILang[2] + FVILang[3]*$100;
|
||||||
|
Result := IntToHex(FLanguage, 4) + IntToHex(FCodePage, 4);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end; { of TInfoProject.GetLangCPage }
|
||||||
|
|
||||||
|
function TInfoProject.GetStringFileInfo(S: String): String;
|
||||||
|
var
|
||||||
|
SearchString: String;
|
||||||
|
P: PChar;
|
||||||
|
Len: DWORD;
|
||||||
|
begin { of TInfoProject.GetStringFileInfo }
|
||||||
|
Result := '';
|
||||||
|
if (FFVIBuff <> NIL) then
|
||||||
|
begin
|
||||||
|
SearchString := '\StringFileInfo\'+FLanguageCodePage+'\'+S;
|
||||||
|
if VerQueryValue(FFVIBuff, PChar(SearchString), Pointer(P), Len) then
|
||||||
|
begin
|
||||||
|
{ coded with StrLen to ditch the trailing #0 character }
|
||||||
|
SetString(Result, P, StrLen(P));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end; { of TInfoProject.GetStringFileInfo }
|
||||||
|
|
||||||
|
procedure TInfoProject.SetFileName(const Value: String);
|
||||||
|
begin { of TInfoProject.SetFileName }
|
||||||
|
FFileName := ExpandUNCFileName(Value);
|
||||||
|
|
||||||
|
{ read fileinfo from this new file }
|
||||||
|
ReadFixedFileInfo;
|
||||||
|
|
||||||
|
end; { of TInfoProject.SetFileName }
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
0
Base/serverlog.txt
Normal file
0
Base/serverlog.txt
Normal file
166
Base/uBizImportesCabeceraBase.pas
Normal file
166
Base/uBizImportesCabeceraBase.pas
Normal file
@ -0,0 +1,166 @@
|
|||||||
|
unit uBizImportesCabeceraBase;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
uDAInterfaces, uDADataTable;
|
||||||
|
|
||||||
|
type
|
||||||
|
IBizImportesCabecera = interface(IDAStronglyTypedDataTable)
|
||||||
|
['{566EE7D3-EE6D-4B01-B327-92E288A0C5A0}']
|
||||||
|
procedure RecalcularImporte;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TBizIVAFieldRules = class(TDAFieldRules)
|
||||||
|
protected
|
||||||
|
procedure OnChange(Sender: TDACustomField); override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TBizDescuentoFieldRules = class(TDAFieldRules)
|
||||||
|
protected
|
||||||
|
procedure OnChange(Sender: TDACustomField); override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TBizBaseImponibleFieldRules = class(TDAFieldRules)
|
||||||
|
protected
|
||||||
|
procedure OnChange(Sender: TDACustomField); override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure RecalcularImportesCabecera(aDataTable : TDADataTable); overload;
|
||||||
|
procedure RecalcularImportesCabecera(aMasterTable, aDetailTable : TDADataTable); overload;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils, DB, uBizImportesDetalleBase;
|
||||||
|
|
||||||
|
const
|
||||||
|
fld_BASEIMPONIBLE = 'BASEIMPONIBLE';
|
||||||
|
fld_IVA = 'IVA';
|
||||||
|
fld_IMPORTEIVA = 'IMPORTEIVA';
|
||||||
|
fld_DESCUENTO = 'DESCUENTO';
|
||||||
|
fld_IMPORTEDESCUENTO = 'IMPORTEDESCUENTO';
|
||||||
|
fld_IMPORTETOTAL = 'IMPORTETOTAL';
|
||||||
|
|
||||||
|
procedure RecalcularImportesCabecera(aDataTable : TDADataTable);
|
||||||
|
{ Recalcula todos los importes de la cabecera a partir de la base imponible }
|
||||||
|
var
|
||||||
|
BIField : TDAField;
|
||||||
|
IDField : TDAField;
|
||||||
|
DTOField : TDAField;
|
||||||
|
IVAField : TDAField;
|
||||||
|
IIField : TDAField;
|
||||||
|
ITField : TDAField;
|
||||||
|
EnEdicion : Boolean;
|
||||||
|
begin
|
||||||
|
BIField := aDataTable.FindField(fld_BASEIMPONIBLE);
|
||||||
|
if not Assigned(BIField) then
|
||||||
|
raise Exception.Create('Campo BASEIMPONIBLE no encontrado (CalcularImportes)');
|
||||||
|
|
||||||
|
IDField := aDataTable.FindField(fld_IMPORTEDESCUENTO);
|
||||||
|
if not Assigned(IDField) then
|
||||||
|
raise Exception.Create('Campo IMPORTEDESCUENTO no encontrado (CalcularImportes)');
|
||||||
|
|
||||||
|
DTOField := aDataTable.FindField(fld_DESCUENTO);
|
||||||
|
if not Assigned(DTOField) then
|
||||||
|
raise Exception.Create('Campo DESCUENTO no encontrado (CalcularImportes)');
|
||||||
|
|
||||||
|
IVAField := aDataTable.FindField(fld_IVA);
|
||||||
|
if not Assigned(IVAField) then
|
||||||
|
raise Exception.Create('Campo IVA no encontrado (CalcularImportes)');
|
||||||
|
|
||||||
|
IIField := aDataTable.FindField(fld_IMPORTEIVA);
|
||||||
|
if not Assigned(IIField) then
|
||||||
|
raise Exception.Create('Campo IMPORTEIVA no encontrado (CalcularImportes)');
|
||||||
|
|
||||||
|
ITField := aDataTable.FindField(fld_IMPORTETOTAL);
|
||||||
|
if not Assigned(ITField) then
|
||||||
|
raise Exception.Create('Campo IMPORTETOTAL no encontrado (CalcularImportes)');
|
||||||
|
|
||||||
|
// ¿Viene en modo edición?
|
||||||
|
EnEdicion := (aDataTable.State in dsEditModes);
|
||||||
|
|
||||||
|
if not EnEdicion then
|
||||||
|
aDataTable.Edit;
|
||||||
|
|
||||||
|
IDField.Value := BIField.AsCurrency * (DTOField.AsInteger/100);
|
||||||
|
ITField.Value := BIField.AsCurrency - IDField.AsCurrency;
|
||||||
|
IIField.Value := ITField.AsCurrency * (IVAField.AsInteger/100);
|
||||||
|
ITField.Value := ITField.AsCurrency + IIField.AsCurrency;
|
||||||
|
|
||||||
|
if EnEdicion then
|
||||||
|
aDataTable.Edit; // Para dejar la tabla como estaba otra vez
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure RecalcularImportesCabecera(aMasterTable, aDetailTable : TDADataTable);
|
||||||
|
{ Recalcula todos los importes de la cabecera a partir de los detalles }
|
||||||
|
var
|
||||||
|
aDetalle : IBizImportesDetalle;
|
||||||
|
BIField : TDAField;
|
||||||
|
EnEdicion : Boolean;
|
||||||
|
begin
|
||||||
|
BIField := aMasterTable.FindField(fld_BASEIMPONIBLE);
|
||||||
|
if not Assigned(BIField) then
|
||||||
|
raise Exception.Create('Campo BASEIMPONIBLE no encontrado (CalcularImportes)');
|
||||||
|
|
||||||
|
// ¿Viene en modo edición?
|
||||||
|
EnEdicion := (aMasterTable.State in dsEditModes);
|
||||||
|
|
||||||
|
if not EnEdicion then
|
||||||
|
aMasterTable.Edit;
|
||||||
|
|
||||||
|
BIField.Value := 0;
|
||||||
|
if aDetailTable.RecordCount > 0 then
|
||||||
|
if Supports(aDetailTable, IBizImportesDetalle, aDetalle) then
|
||||||
|
BIField.Value := aDetalle.DarSumaTotalImportes;
|
||||||
|
|
||||||
|
RecalcularImportesCabecera(aMasterTable);
|
||||||
|
|
||||||
|
if EnEdicion then
|
||||||
|
aMasterTable.Edit; // Para dejar la tabla como estaba otra vez
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ TBizIVAFieldRules }
|
||||||
|
|
||||||
|
procedure TBizIVAFieldRules.OnChange(Sender: TDACustomField);
|
||||||
|
var
|
||||||
|
aCabecera : IBizImportesCabecera;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Supports(DataTable, IBizImportesCabecera, aCabecera) then
|
||||||
|
aCabecera.RecalcularImporte;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TBizDescuentoFieldRules }
|
||||||
|
|
||||||
|
procedure TBizDescuentoFieldRules.OnChange(Sender: TDACustomField);
|
||||||
|
var
|
||||||
|
aCabecera : IBizImportesCabecera;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Supports(DataTable, IBizImportesCabecera, aCabecera) then
|
||||||
|
aCabecera.RecalcularImporte;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TBizBaseImponibleFieldRules }
|
||||||
|
|
||||||
|
procedure TBizBaseImponibleFieldRules.OnChange(Sender: TDACustomField);
|
||||||
|
var
|
||||||
|
aCabecera : IBizImportesCabecera;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Supports(DataTable, IBizImportesCabecera, aCabecera) then
|
||||||
|
aCabecera.RecalcularImporte;
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterFieldRules('Client.Field.Descuento', TBizDescuentoFieldRules);
|
||||||
|
RegisterFieldRules('Client.Field.IVA', TBizIVAFieldRules);
|
||||||
|
RegisterFieldRules('Client.Field.BaseImponible', TBizBaseImponibleFieldRules);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
|
||||||
|
end.
|
||||||
1034
Base/uBizImportesDetalleBase.pas
Normal file
1034
Base/uBizImportesDetalleBase.pas
Normal file
File diff suppressed because it is too large
Load Diff
14
Base/uBizInformesBase.pas
Normal file
14
Base/uBizInformesBase.pas
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
unit uBizInformesBase;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
type
|
||||||
|
IBizInformesAware = interface
|
||||||
|
['{98AD6541-199F-4155-B394-ED0316298759}']
|
||||||
|
procedure Preview;
|
||||||
|
procedure Print;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
end.
|
||||||
111
Base/uConfigurarConexion.dfm
Normal file
111
Base/uConfigurarConexion.dfm
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
object fConfigurarConexion: TfConfigurarConexion
|
||||||
|
Left = 425
|
||||||
|
Top = 509
|
||||||
|
Width = 399
|
||||||
|
Height = 179
|
||||||
|
ActiveControl = edtServer
|
||||||
|
Caption = 'Configuraci'#243'n de la conexi'#243'n'
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = False
|
||||||
|
Position = poScreenCenter
|
||||||
|
OnCreate = FormCreate
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object bProbar: TButton
|
||||||
|
Left = 8
|
||||||
|
Top = 113
|
||||||
|
Width = 105
|
||||||
|
Height = 25
|
||||||
|
Caption = '&Probar la conexi'#243'n'
|
||||||
|
TabOrder = 1
|
||||||
|
OnClick = bProbarClick
|
||||||
|
end
|
||||||
|
object GroupBox1: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 375
|
||||||
|
Height = 97
|
||||||
|
Caption = 'Servidor de FactuGES'
|
||||||
|
TabOrder = 0
|
||||||
|
DesignSize = (
|
||||||
|
375
|
||||||
|
97)
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 18
|
||||||
|
Top = 30
|
||||||
|
Width = 97
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Nombre del servidor:'
|
||||||
|
end
|
||||||
|
object Label2: TLabel
|
||||||
|
Left = 18
|
||||||
|
Top = 60
|
||||||
|
Width = 93
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Puerto de escucha:'
|
||||||
|
end
|
||||||
|
object edtServer: TEdit
|
||||||
|
Left = 128
|
||||||
|
Top = 24
|
||||||
|
Width = 231
|
||||||
|
Height = 21
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object edtPort: TEdit
|
||||||
|
Left = 128
|
||||||
|
Top = 56
|
||||||
|
Width = 116
|
||||||
|
Height = 21
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
TabOrder = 1
|
||||||
|
Text = '8099'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object bAceptar: TButton
|
||||||
|
Left = 219
|
||||||
|
Top = 113
|
||||||
|
Width = 75
|
||||||
|
Height = 25
|
||||||
|
Caption = '&Aceptar'
|
||||||
|
Default = True
|
||||||
|
ModalResult = 1
|
||||||
|
TabOrder = 2
|
||||||
|
end
|
||||||
|
object bCancelar: TButton
|
||||||
|
Left = 307
|
||||||
|
Top = 113
|
||||||
|
Width = 75
|
||||||
|
Height = 25
|
||||||
|
Cancel = True
|
||||||
|
Caption = '&Cancelar'
|
||||||
|
ModalResult = 2
|
||||||
|
TabOrder = 3
|
||||||
|
end
|
||||||
|
object HTTPChannel: TROWinInetHTTPChannel
|
||||||
|
ServerLocators = <>
|
||||||
|
DispatchOptions = []
|
||||||
|
ProbeServers = False
|
||||||
|
ProbeFrequency = 60000
|
||||||
|
UserAgent = 'FactuGES'
|
||||||
|
TargetURL = 'http://localhost:8099/BIN'
|
||||||
|
Left = 120
|
||||||
|
Top = 112
|
||||||
|
end
|
||||||
|
object ROBinMessage: TROBinMessage
|
||||||
|
Left = 152
|
||||||
|
Top = 112
|
||||||
|
end
|
||||||
|
object CoService: TRORemoteService
|
||||||
|
ServiceName = 'srvLogin'
|
||||||
|
Message = ROBinMessage
|
||||||
|
Channel = HTTPChannel
|
||||||
|
Left = 184
|
||||||
|
Top = 112
|
||||||
|
end
|
||||||
|
end
|
||||||
78
Base/uConfigurarConexion.pas
Normal file
78
Base/uConfigurarConexion.pas
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
unit uConfigurarConexion;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, StdCtrls, uROClient, uROWinInetHttpChannel, uRODynamicRequest,
|
||||||
|
uROServiceComponent, uRORemoteService, uROBinMessage;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfConfigurarConexion = class(TForm)
|
||||||
|
bProbar: TButton;
|
||||||
|
GroupBox1: TGroupBox;
|
||||||
|
Label1: TLabel;
|
||||||
|
Label2: TLabel;
|
||||||
|
edtServer: TEdit;
|
||||||
|
edtPort: TEdit;
|
||||||
|
bAceptar: TButton;
|
||||||
|
bCancelar: TButton;
|
||||||
|
HTTPChannel: TROWinInetHTTPChannel;
|
||||||
|
ROBinMessage: TROBinMessage;
|
||||||
|
CoService: TRORemoteService;
|
||||||
|
procedure bProbarClick(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
private
|
||||||
|
function GetTargetURL: String;
|
||||||
|
procedure SetTargetURL(const Value: String);
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
property TargetURL : String read GetTargetURL write SetTargetURL;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
fConfigurarConexion: TfConfigurarConexion;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
StrUtils, JclStrings, FactuGES_Intf, uDataModuleBase;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
{ TfConfigurarConexion }
|
||||||
|
|
||||||
|
function TfConfigurarConexion.GetTargetURL: String;
|
||||||
|
begin
|
||||||
|
Result := 'http://' + edtServer.Text + ':' + edtPort.Text + '/bin';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfConfigurarConexion.SetTargetURL(const Value: String);
|
||||||
|
var
|
||||||
|
s : String;
|
||||||
|
begin
|
||||||
|
s := StrAfter('http://', Value);
|
||||||
|
s := StrBefore(':', s);
|
||||||
|
edtServer.Text := s;
|
||||||
|
|
||||||
|
s := StrAfter(edtServer.Text + ':', Value);
|
||||||
|
s := StrBefore('/bin', s);
|
||||||
|
edtPort.Text := s;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfConfigurarConexion.bProbarClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
HTTPChannel.TargetURL := TargetURL;
|
||||||
|
(CoService as IsrvLogin).Ping;
|
||||||
|
Application.MessageBox('Conexión válida con el servidor.', 'FactuGES', MB_OK);
|
||||||
|
finally
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfConfigurarConexion.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
HTTPChannel.OnFailure := dmBase.ROChannelFailure;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
125
Base/uDBSelectionList.pas
Normal file
125
Base/uDBSelectionList.pas
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
unit uDBSelectionList;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
uDADataTable, Classes, DB;
|
||||||
|
|
||||||
|
type
|
||||||
|
TSelectedRowList = class;
|
||||||
|
|
||||||
|
ISelectedRowList = interface
|
||||||
|
['{1886B04A-DB0D-40AE-BCAE-DA57CD4CD582}']
|
||||||
|
function GetSelectedRows : TSelectedRowList;
|
||||||
|
property SelectedRows : TSelectedRowList read GetSelectedRows;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TSelectedRowList = class
|
||||||
|
private
|
||||||
|
FDataTable: TDADataTable;
|
||||||
|
FList: TList;
|
||||||
|
function GetCount: Integer;
|
||||||
|
function GetCurrentRowSelected: Boolean;
|
||||||
|
function GetItem(Index: Integer): TBookmark;
|
||||||
|
procedure SetCurrentRowSelected(Value: Boolean);
|
||||||
|
protected
|
||||||
|
function CurrentRow: TBookmark;
|
||||||
|
function Compare(const Item1, Item2: TBookmark): Boolean;
|
||||||
|
public
|
||||||
|
constructor Create(ADataTable : TDADataTable);
|
||||||
|
destructor Destroy; override;
|
||||||
|
procedure Clear; // free all bookmarks
|
||||||
|
function Find(const Item: TBookmark; var Index: Integer): Boolean;
|
||||||
|
function IndexOf(const Item: TBookmark): Integer;
|
||||||
|
property Count: Integer read GetCount;
|
||||||
|
property CurrentRowSelected: Boolean read GetCurrentRowSelected
|
||||||
|
write SetCurrentRowSelected;
|
||||||
|
property Items[Index: Integer]: TBookmark read GetItem; default;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
DBConsts;
|
||||||
|
|
||||||
|
{ TSelectedRowList }
|
||||||
|
|
||||||
|
constructor TSelectedRowList.Create(ADataTable : TDADataTable);
|
||||||
|
begin
|
||||||
|
inherited Create;
|
||||||
|
FList := TList.Create;
|
||||||
|
FDataTable := ADataTable;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TSelectedRowList.Destroy;
|
||||||
|
begin
|
||||||
|
Clear;
|
||||||
|
FList.Free;
|
||||||
|
FDataTable := NIL;
|
||||||
|
inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSelectedRowList.Clear;
|
||||||
|
begin
|
||||||
|
if FList.Count = 0 then
|
||||||
|
Exit;
|
||||||
|
FList.Clear;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TSelectedRowList.Compare(const Item1, Item2: TBookmark): Boolean;
|
||||||
|
begin
|
||||||
|
Result := (Item1 = Item2);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TSelectedRowList.CurrentRow: TBookmark;
|
||||||
|
begin
|
||||||
|
if not FDataTable.Active then
|
||||||
|
raise EDatabaseError.Create(sDataSetClosed);
|
||||||
|
Result := FDataTable.GetBookMark
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TSelectedRowList.GetCurrentRowSelected: Boolean;
|
||||||
|
var
|
||||||
|
Index: Integer;
|
||||||
|
begin
|
||||||
|
Result := Find(CurrentRow, Index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TSelectedRowList.Find(const Item: TBookmark; var Index: Integer): Boolean;
|
||||||
|
begin
|
||||||
|
Index := FList.IndexOf(Item);
|
||||||
|
Result := (Index > -1)
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TSelectedRowList.GetCount: Integer;
|
||||||
|
begin
|
||||||
|
Result := FList.Count;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TSelectedRowList.GetItem(Index: Integer): TBookmark;
|
||||||
|
begin
|
||||||
|
Result := FList[Index];
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TSelectedRowList.IndexOf(const Item: TBookmark): Integer;
|
||||||
|
begin
|
||||||
|
Result := FList.IndexOf(Item);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSelectedRowList.SetCurrentRowSelected(Value: Boolean);
|
||||||
|
var
|
||||||
|
Index: Integer;
|
||||||
|
Current: TBookmark;
|
||||||
|
begin
|
||||||
|
Current := CurrentRow;
|
||||||
|
if (Find(Current, Index) = Value) then
|
||||||
|
Exit;
|
||||||
|
if Value then
|
||||||
|
FList.Add(Current)
|
||||||
|
else
|
||||||
|
FList.Delete(Index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
Base/uDataModuleBase.ddp
Normal file
BIN
Base/uDataModuleBase.ddp
Normal file
Binary file not shown.
1660
Base/uDataModuleBase.dfm
Normal file
1660
Base/uDataModuleBase.dfm
Normal file
File diff suppressed because it is too large
Load Diff
216
Base/uDataModuleBase.pas
Normal file
216
Base/uDataModuleBase.pas
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
unit uDataModuleBase;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Controls, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher,
|
||||||
|
TBXOffice2003Theme, Classes, ImgList, uROClient, uROBinMessage,
|
||||||
|
uROServiceComponent, uRORemoteService, uROWinInetHttpChannel,
|
||||||
|
DataAbstract_Intf, uDADataTable, uDABINAdapter, cxintl, cxIntlPrintSys3,
|
||||||
|
FactuGES_Intf, JvAppStorage, JvAppRegistryStorage, SysUtils,
|
||||||
|
JvComponentBase;
|
||||||
|
|
||||||
|
type
|
||||||
|
TdmBase = class(TDataModule)
|
||||||
|
ROChannel: TROWinInetHTTPChannel;
|
||||||
|
SmallImages: TPngImageList;
|
||||||
|
StyleManager: TJvNavPaneStyleManager;
|
||||||
|
TBXSwitcher: TTBXSwitcher;
|
||||||
|
cxIntl: TcxIntl;
|
||||||
|
cxIntlPrintSys3: TcxIntlPrintSys3;
|
||||||
|
ROMessage: TROBinMessage;
|
||||||
|
DABINAdapter: TDABINAdapter;
|
||||||
|
JvAppRegistryStorage: TJvAppRegistryStorage;
|
||||||
|
RORemoteService: TRORemoteService;
|
||||||
|
procedure DAClientDataModuleCreate(Sender: TObject);
|
||||||
|
procedure ROChannelFailure(Sender: TROTransportChannel;
|
||||||
|
anException: Exception; var Retry: Boolean);
|
||||||
|
procedure ROChannelProgress(iSender: TObject; iType: TProgressType;
|
||||||
|
iDirection: TProgressDirection; iTransferred, iTotal: Integer);
|
||||||
|
private
|
||||||
|
FOnThemeChange: TNotifyEvent;
|
||||||
|
function GetAdapter: TDABINAdapter;
|
||||||
|
function GetChannel: TROWinInetHTTPChannel;
|
||||||
|
function GetCodigoEmpresa: Integer;
|
||||||
|
function GetMessage: TROBinMessage;
|
||||||
|
procedure InitStyleManager;
|
||||||
|
procedure OnTBXThemeChange(Sender: TObject);
|
||||||
|
procedure LeerConfiguracion;
|
||||||
|
procedure SalvarConfiguracion;
|
||||||
|
public
|
||||||
|
procedure ConfigurarConexion;
|
||||||
|
property Adapter: TDABINAdapter read GetAdapter;
|
||||||
|
property Channel: TROWinInetHTTPChannel read GetChannel;
|
||||||
|
property CodigoEmpresa: Integer read GetCodigoEmpresa;
|
||||||
|
property Message: TROBinMessage read GetMessage;
|
||||||
|
property OnThemeChange: TNotifyEvent read FOnThemeChange write
|
||||||
|
FOnThemeChange;
|
||||||
|
function darRutaDocumentos: Variant;
|
||||||
|
function darVersion: String;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
dmBase: TdmBase;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.DFM}
|
||||||
|
|
||||||
|
uses
|
||||||
|
Dialogs, Variants, TBX, TBXThemes, uConfigurarConexion, WinInet, Forms, Windows,
|
||||||
|
uVentanaEspera, InfoProject;
|
||||||
|
|
||||||
|
const
|
||||||
|
SERVER_URL = 'http://localhost:8099/bin';
|
||||||
|
IE_OFFLINE_ERROR = 'Unexpected error in WinInet HTTP Channel (2)';
|
||||||
|
|
||||||
|
{
|
||||||
|
*********************************** TdmBase ************************************
|
||||||
|
}
|
||||||
|
procedure TdmBase.ConfigurarConexion;
|
||||||
|
begin
|
||||||
|
with TfConfigurarConexion.Create(NIL) do
|
||||||
|
try
|
||||||
|
TargetURL := ROChannel.TargetURL;
|
||||||
|
if ShowModal = mrOk then
|
||||||
|
begin
|
||||||
|
ROChannel.TargetURL := TargetURL;
|
||||||
|
ROChannel.Connected := False;
|
||||||
|
ROChannel.Connected := True;
|
||||||
|
SalvarConfiguracion;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBXSwitcher.OnThemeChange := OnTBXThemeChange;
|
||||||
|
TBXSetTheme('Office2003');
|
||||||
|
|
||||||
|
LeerConfiguracion;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.GetAdapter: TDABINAdapter;
|
||||||
|
begin
|
||||||
|
Result := DABinAdapter;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.GetChannel: TROWinInetHTTPChannel;
|
||||||
|
begin
|
||||||
|
Result := ROChannel;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.GetCodigoEmpresa: Integer;
|
||||||
|
begin
|
||||||
|
Result := 1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.GetMessage: TROBinMessage;
|
||||||
|
begin
|
||||||
|
Result := ROMessage;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.InitStyleManager;
|
||||||
|
begin
|
||||||
|
if not USE_THEMES then
|
||||||
|
begin
|
||||||
|
TBXSwitcher.EnableXPStyles := False;
|
||||||
|
StyleManager.Theme := nptStandard;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
TBXSwitcher.EnableXPStyles := True;
|
||||||
|
with StyleManager do
|
||||||
|
begin
|
||||||
|
if CurrentTheme is TTBXOffice2003Theme then
|
||||||
|
begin
|
||||||
|
case GetOffice2003Scheme of
|
||||||
|
osBlue : Theme := nptXPBlue;
|
||||||
|
osMetallic : Theme := nptXPSilver;
|
||||||
|
osGreen : Theme := nptXPOlive;
|
||||||
|
else
|
||||||
|
Theme := nptStandard;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TdmBase.LeerConfiguracion;
|
||||||
|
begin
|
||||||
|
ROChannel.TargetURL := JvAppRegistryStorage.ReadString('ServerURL', SERVER_URL);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.OnTBXThemeChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
InitStyleManager;
|
||||||
|
|
||||||
|
if Assigned(FOnThemeChange) then
|
||||||
|
FOnThemeChange(Sender);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.SalvarConfiguracion;
|
||||||
|
begin
|
||||||
|
JvAppRegistryStorage.BeginUpdate;
|
||||||
|
try
|
||||||
|
JvAppRegistryStorage.WriteString('ServerURL', ROChannel.TargetURL);
|
||||||
|
finally
|
||||||
|
JvAppRegistryStorage.EndUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.ROChannelFailure(Sender: TROTransportChannel;
|
||||||
|
anException: Exception; var Retry: Boolean);
|
||||||
|
begin
|
||||||
|
if (Pos(anException.Message, IE_OFFLINE_ERROR) > 0) then
|
||||||
|
begin
|
||||||
|
// Preguntar al usuario si se quiere conectar
|
||||||
|
if InternetGoOnline(PAnsiChar(ROChannel.TargetURL), GetDesktopWindow(), 0) then
|
||||||
|
Retry := True // Si el usuario pulsa en 'Conectar' reintentar la operación
|
||||||
|
else
|
||||||
|
Abort; // Si el usuario pulsa en 'Seguir desconectado' parar todo
|
||||||
|
end
|
||||||
|
else
|
||||||
|
raise Exception.Create(anException.Message);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TdmBase.ROChannelProgress(iSender: TObject; iType: TProgressType;
|
||||||
|
iDirection: TProgressDirection; iTransferred, iTotal: Integer);
|
||||||
|
begin
|
||||||
|
{ if iType = ptInProgress then
|
||||||
|
begin
|
||||||
|
if not Form1.Visible then
|
||||||
|
Form1.Show;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Form1.Hide;}
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.darRutaDocumentos: Variant;
|
||||||
|
var
|
||||||
|
Ruta: String;
|
||||||
|
begin
|
||||||
|
Ruta := (RORemoteService as IsrvConfiguracion).darRutaDocumentos;
|
||||||
|
if DirectoryExists(Ruta)
|
||||||
|
then Result := Ruta
|
||||||
|
else Result := Null;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TdmBase.darVersion: String;
|
||||||
|
var
|
||||||
|
InfoProject : TInfoProject;
|
||||||
|
begin
|
||||||
|
InfoProject := TInfoProject.Create(Self);
|
||||||
|
Result := 'v' + InfoProject.FileVersion;
|
||||||
|
FreeAndNil(InfoProject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
dmBase := TdmBase.Create(NIL);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
dmBase.Free;
|
||||||
|
|
||||||
|
end.
|
||||||
167
Base/uDataTableUtils.pas
Normal file
167
Base/uDataTableUtils.pas
Normal file
@ -0,0 +1,167 @@
|
|||||||
|
unit uDataTableUtils;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
uDACDSDataTable, uDADataTable, uDAInterfaces;
|
||||||
|
|
||||||
|
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
||||||
|
var ATarget : TDACDSDataTable); overload;
|
||||||
|
|
||||||
|
procedure DeleteAllTable(const ADataTable : TDADataTable);
|
||||||
|
|
||||||
|
function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
uDAClasses, SysUtils;
|
||||||
|
|
||||||
|
procedure DeleteAllTable(const ADataTable : TDADataTable);
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
begin
|
||||||
|
ADataTable.ClearRows;
|
||||||
|
{ if ADataTable.RecordCount > 0 then
|
||||||
|
begin
|
||||||
|
ADataTable.DisableControls;
|
||||||
|
//ADataTable.DisableEventHandlers; <- No descomentar
|
||||||
|
try
|
||||||
|
repeat begin
|
||||||
|
ADataTable.Last;
|
||||||
|
ADataTable.Delete;
|
||||||
|
end
|
||||||
|
until ADataTable.BOF;
|
||||||
|
finally
|
||||||
|
ADataTable.EnableControls;
|
||||||
|
//ADataTable.EnableEventHandlers; <- No descomentar
|
||||||
|
end;
|
||||||
|
end;}
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
||||||
|
var ATarget : TDACDSDataTable);
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
begin
|
||||||
|
with ATarget do
|
||||||
|
begin
|
||||||
|
RemoteService := ASource.GetRemoteService;
|
||||||
|
Adapter := ASource.GetAdapter;
|
||||||
|
|
||||||
|
BusinessRulesID := ASource.BusinessRulesID;
|
||||||
|
Randomize;
|
||||||
|
Name := ASource.Name + '_' + IntToStr(Random(MAXINT));
|
||||||
|
LogicalName := ASource.LogicalName;
|
||||||
|
|
||||||
|
Params.AssignParamCollection(ASource.Params);
|
||||||
|
|
||||||
|
with SchemaCall do
|
||||||
|
begin
|
||||||
|
MethodName := ASource.SchemaCall.MethodName;
|
||||||
|
for i := 0 to ASource.SchemaCall.Params.Count - 1 do
|
||||||
|
begin
|
||||||
|
with Params.Add do begin
|
||||||
|
Name := ASource.SchemaCall.Params[i].Name;
|
||||||
|
ParamType := ASource.SchemaCall.Params[i].ParamType;
|
||||||
|
DataType := ASource.SchemaCall.Params[i].DataType;
|
||||||
|
Value := ASource.SchemaCall.Params[i].Value;
|
||||||
|
UserClassName := ASource.SchemaCall.Params[i].UserClassName;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
ATarget.LoadSchema; // o también ATarget.Fields.AssignFieldCollection(ASource.Fields);
|
||||||
|
|
||||||
|
with DataUpdateCall do
|
||||||
|
begin
|
||||||
|
MethodName := ASource.DataUpdateCall.MethodName;
|
||||||
|
for i := 0 to ASource.DataUpdateCall.Params.Count - 1 do
|
||||||
|
begin
|
||||||
|
with Params.Add do begin
|
||||||
|
Name := ASource.DataUpdateCall.Params[i].Name;
|
||||||
|
ParamType := ASource.DataUpdateCall.Params[i].ParamType;
|
||||||
|
DataType := ASource.DataUpdateCall.Params[i].DataType;
|
||||||
|
Value := ASource.DataUpdateCall.Params[i].Value;
|
||||||
|
UserClassName := ASource.DataUpdateCall.Params[i].UserClassName;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
with ScriptCall do
|
||||||
|
begin
|
||||||
|
MethodName := ASource.ScriptCall.MethodName;
|
||||||
|
for i := 0 to ASource.ScriptCall.Params.Count - 1 do
|
||||||
|
begin
|
||||||
|
with Params.Add do begin
|
||||||
|
Name := ASource.ScriptCall.Params[i].Name;
|
||||||
|
ParamType := ASource.ScriptCall.Params[i].ParamType;
|
||||||
|
DataType := ASource.ScriptCall.Params[i].DataType;
|
||||||
|
Value := ASource.ScriptCall.Params[i].Value;
|
||||||
|
UserClassName := ASource.ScriptCall.Params[i].UserClassName;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
with DataRequestCall do
|
||||||
|
begin
|
||||||
|
MethodName := ASource.DataRequestCall.MethodName;
|
||||||
|
for i := 0 to ASource.DataRequestCall.Params.Count - 1 do
|
||||||
|
begin
|
||||||
|
with Params.Add do begin
|
||||||
|
begin
|
||||||
|
Name := ASource.DataRequestCall.Params[i].Name;
|
||||||
|
ParamType := ASource.DataRequestCall.Params[i].ParamType;
|
||||||
|
DataType := ASource.DataRequestCall.Params[i].DataType;
|
||||||
|
Value := ASource.DataRequestCall.Params[i].Value;
|
||||||
|
UserClassName := ASource.DataRequestCall.Params[i].UserClassName;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
with MasterParamsMappings do
|
||||||
|
for i := 0 to ASource.MasterParamsMappings.Count - 1 do
|
||||||
|
Add(ASource.MasterParamsMappings.Strings[i]);
|
||||||
|
|
||||||
|
with MasterRequestMappings do
|
||||||
|
for i := 0 to ASource.MasterRequestMappings.Count - 1 do
|
||||||
|
Add(ASource.MasterRequestMappings.Strings[i]);
|
||||||
|
|
||||||
|
MasterMappingMode := ASource.MasterMappingMode;
|
||||||
|
|
||||||
|
MasterFields := ASource.MasterFields;
|
||||||
|
MasterOptions := ASource.MasterOptions;
|
||||||
|
|
||||||
|
DetailFields := ASource.DetailFields;
|
||||||
|
DetailOptions := ASource.DetailOptions;
|
||||||
|
|
||||||
|
RemoteUpdatesOptions := ASource.RemoteUpdatesOptions;
|
||||||
|
StreamingOptions := ASource.StreamingOptions;
|
||||||
|
RemoteFetchEnabled := ASource.RemoteFetchEnabled;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean;
|
||||||
|
var
|
||||||
|
i, x : integer;
|
||||||
|
OldNewAreDifferent: boolean;
|
||||||
|
begin
|
||||||
|
OldNewAreDifferent := FALSE;
|
||||||
|
for i := 0 to (aDelta.Count-1) do
|
||||||
|
begin
|
||||||
|
for x := 0 to (aDelta.LoggedFieldCount-1) do
|
||||||
|
begin
|
||||||
|
OldNewAreDifferent := (aDelta.Changes[i].OldValues[x] <> aDelta.Changes[i].NewValues[x]);
|
||||||
|
|
||||||
|
if OldNewAreDifferent then
|
||||||
|
Break; // Abandon iteration at the first difference between old and new.
|
||||||
|
end;
|
||||||
|
|
||||||
|
if OldNewAreDifferent then
|
||||||
|
Break; // Abandon iteration at the first difference between old and new.
|
||||||
|
end;
|
||||||
|
result := OldNewAreDifferent;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
Base/uEditorBase.ddp
Normal file
BIN
Base/uEditorBase.ddp
Normal file
Binary file not shown.
1621
Base/uEditorBase.dfm
Normal file
1621
Base/uEditorBase.dfm
Normal file
File diff suppressed because it is too large
Load Diff
198
Base/uEditorBase.pas
Normal file
198
Base/uEditorBase.pas
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
unit uEditorBase;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uGUIBase, uCustomEditor, ToolWin, ComCtrls, JvExControls,
|
||||||
|
JvComponent, JvNavigationPane, ActnList, TB2Dock, TB2Toolbar, TBX,
|
||||||
|
TB2Item, ImgList, PngImageList, StdActns, JvFormAutoSize, AppEvnts,
|
||||||
|
uCustomView, uViewBase, uViewMensaje, JvAppStorage, JvAppRegistryStorage,
|
||||||
|
JvFormPlacement, pngimage, ExtCtrls, JvComponentBase;
|
||||||
|
|
||||||
|
type
|
||||||
|
IEditorBase = interface(ICustomEditor)
|
||||||
|
['{CB8CDE00-B225-4A1D-9A5C-EC6FBE2C854B}']
|
||||||
|
function ShowModal : Integer;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfEditorBase = class(TCustomEditor, IEditorBase)
|
||||||
|
actAcercaDe: TAction;
|
||||||
|
actAnterior: TAction;
|
||||||
|
actBuscar: TAction;
|
||||||
|
actCancelarCambios: TAction;
|
||||||
|
actCerrar: TAction;
|
||||||
|
actConfPagina: TAction;
|
||||||
|
actCopiar: TEditCopy;
|
||||||
|
actCortar: TEditCut;
|
||||||
|
actDeshacer: TEditUndo;
|
||||||
|
actEliminar: TAction;
|
||||||
|
actGuardar: TAction;
|
||||||
|
actGuardarCerrar: TAction;
|
||||||
|
actImprimir: TAction;
|
||||||
|
actLimpiar: TEditDelete;
|
||||||
|
actModificar: TAction;
|
||||||
|
actNuevo: TAction;
|
||||||
|
actPegar: TEditPaste;
|
||||||
|
actPrevisualizar: TAction;
|
||||||
|
actRefrescar: TAction;
|
||||||
|
actSeleccionarTodo: TEditSelectAll;
|
||||||
|
actSiguiente: TAction;
|
||||||
|
EditorActionList: TActionList;
|
||||||
|
JvNavPanelHeader: TJvNavPanelHeader;
|
||||||
|
LargeImages: TPngImageList;
|
||||||
|
SmallImages: TPngImageList;
|
||||||
|
TBXDock: TTBXDock;
|
||||||
|
TBXItem1: TTBXItem;
|
||||||
|
TBXItem10: TTBXItem;
|
||||||
|
TBXItem11: TTBXItem;
|
||||||
|
TBXItem12: TTBXItem;
|
||||||
|
TBXItem13: TTBXItem;
|
||||||
|
TBXItem14: TTBXItem;
|
||||||
|
TBXItem15: TTBXItem;
|
||||||
|
TBXItem16: TTBXItem;
|
||||||
|
TBXItem17: TTBXItem;
|
||||||
|
TBXItem18: TTBXItem;
|
||||||
|
TBXItem19: TTBXItem;
|
||||||
|
TBXItem2: TTBXItem;
|
||||||
|
TBXItem20: TTBXItem;
|
||||||
|
TBXItem21: TTBXItem;
|
||||||
|
TBXItem22: TTBXItem;
|
||||||
|
TBXItem23: TTBXItem;
|
||||||
|
TBXItem24: TTBXItem;
|
||||||
|
TBXItem25: TTBXItem;
|
||||||
|
TBXItem26: TTBXItem;
|
||||||
|
TBXItem27: TTBXItem;
|
||||||
|
TBXItem28: TTBXItem;
|
||||||
|
TBXItem29: TTBXItem;
|
||||||
|
TBXItem3: TTBXItem;
|
||||||
|
TBXItem30: TTBXItem;
|
||||||
|
TBXItem31: TTBXItem;
|
||||||
|
TBXItem32: TTBXItem;
|
||||||
|
TBXItem4: TTBXItem;
|
||||||
|
TBXItem5: TTBXItem;
|
||||||
|
TBXItem6: TTBXItem;
|
||||||
|
TBXItem8: TTBXItem;
|
||||||
|
TBXItem9: TTBXItem;
|
||||||
|
tbxMain: TTBXToolbar;
|
||||||
|
tbxMenu: TTBXToolbar;
|
||||||
|
TBXSeparatorItem1: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem10: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem11: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem12: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem13: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem2: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem3: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem4: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem5: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem6: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem7: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem8: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem9: TTBXSeparatorItem;
|
||||||
|
TBXSubmenuItem1: TTBXSubmenuItem;
|
||||||
|
TBXSubmenuItem4: TTBXSubmenuItem;
|
||||||
|
TBXSubmenuItem5: TTBXSubmenuItem;
|
||||||
|
TBXSubmenuItem6: TTBXSubmenuItem;
|
||||||
|
TBXSubmenuItem7: TTBXSubmenuItem;
|
||||||
|
StatusBar: TStatusBar;
|
||||||
|
JvFormStorage: TJvFormStorage;
|
||||||
|
JvAppRegistryStorage: TJvAppRegistryStorage;
|
||||||
|
Image1: TImage;
|
||||||
|
procedure actCerrarExecute(Sender: TObject);
|
||||||
|
procedure actGuardarCerrarExecute(Sender: TObject);
|
||||||
|
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||||
|
protected
|
||||||
|
function ModifiedQuery : Boolean;
|
||||||
|
public
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
published
|
||||||
|
procedure FormShow(Sender: TObject); virtual;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfEditorBaseClass = class of TfEditorBase;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
uses
|
||||||
|
Menus, uDataModuleBase;
|
||||||
|
|
||||||
|
{
|
||||||
|
********************************* TfEditorBase *********************************
|
||||||
|
}
|
||||||
|
procedure TfEditorBase.actCerrarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorBase.actGuardarCerrarExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
ACursor: TCursor;
|
||||||
|
begin
|
||||||
|
ACursor := Screen.Cursor;
|
||||||
|
Screen.Cursor := crHourGlass;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
try
|
||||||
|
if actGuardar.Execute then
|
||||||
|
actCerrar.Execute;
|
||||||
|
finally
|
||||||
|
Screen.Cursor := ACursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TfEditorBase.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
JvFormStorage.AppStoragePath := Name;
|
||||||
|
JvNavPanelHeader.StyleManager := dmBase.StyleManager;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorBase.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||||
|
begin
|
||||||
|
if Valid then
|
||||||
|
CanClose := ModifiedQuery
|
||||||
|
else
|
||||||
|
CanClose := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorBase.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if Assigned(Parent) then
|
||||||
|
begin
|
||||||
|
StatusBar.Visible := False;
|
||||||
|
actCerrar.ShortCut := 0
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
StatusBar.Visible := True;
|
||||||
|
actCerrar.ShortCut := ShortCut(VK_ESCAPE, []);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfEditorBase.ModifiedQuery: Boolean;
|
||||||
|
var
|
||||||
|
Respuesta: Integer;
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
if Modified then
|
||||||
|
begin
|
||||||
|
Respuesta := Application.MessageBox('Se han producido cambios.' + #10#13 +
|
||||||
|
'¿Desea guardarlos antes de salir?', 'Atención', MB_YESNOCANCEL);
|
||||||
|
case Respuesta of
|
||||||
|
IDYES : actGuardar.Execute;
|
||||||
|
IDNO : actCancelarCambios.Execute;
|
||||||
|
else
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
{ else
|
||||||
|
actCancelarCambios.Execute;}
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterClass(TfEditorBase);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
UnRegisterClass(TfEditorBase);
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
Base/uEditorDBBase.ddp
Normal file
BIN
Base/uEditorDBBase.ddp
Normal file
Binary file not shown.
49
Base/uEditorDBBase.dfm
Normal file
49
Base/uEditorDBBase.dfm
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
inherited fEditorDBBase: TfEditorDBBase
|
||||||
|
Left = 310
|
||||||
|
Top = 320
|
||||||
|
Caption = 'fEditorDBBase'
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||||
|
inherited Image1: TImage
|
||||||
|
Picture.Data = {00}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited EditorActionList: TActionList
|
||||||
|
inherited actModificar: TAction
|
||||||
|
OnUpdate = actModificarUpdate
|
||||||
|
end
|
||||||
|
inherited actGuardar: TAction
|
||||||
|
OnExecute = actGuardarExecute
|
||||||
|
end
|
||||||
|
inherited actEliminar: TAction
|
||||||
|
OnExecute = actEliminarExecute
|
||||||
|
OnUpdate = actEliminarUpdate
|
||||||
|
end
|
||||||
|
inherited actPrevisualizar: TAction
|
||||||
|
OnUpdate = actPrevisualizarUpdate
|
||||||
|
end
|
||||||
|
inherited actImprimir: TAction
|
||||||
|
OnUpdate = actImprimirUpdate
|
||||||
|
end
|
||||||
|
inherited actRefrescar: TAction
|
||||||
|
OnExecute = actRefrescarExecute
|
||||||
|
OnUpdate = actRefrescarUpdate
|
||||||
|
end
|
||||||
|
inherited actAnterior: TAction
|
||||||
|
OnExecute = actAnteriorExecute
|
||||||
|
OnUpdate = actAnteriorUpdate
|
||||||
|
end
|
||||||
|
inherited actSiguiente: TAction
|
||||||
|
OnExecute = actSiguienteExecute
|
||||||
|
OnUpdate = actSiguienteUpdate
|
||||||
|
end
|
||||||
|
inherited actCancelarCambios: TAction
|
||||||
|
OnExecute = actCancelarCambiosExecute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object dsDataTable: TDADataSource
|
||||||
|
Left = 40
|
||||||
|
Top = 88
|
||||||
|
end
|
||||||
|
end
|
||||||
332
Base/uEditorDBBase.pas
Normal file
332
Base/uEditorDBBase.pas
Normal file
@ -0,0 +1,332 @@
|
|||||||
|
unit uEditorDBBase;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uEditorItem, ImgList, PngImageList, StdActns, ActnList, TBX,
|
||||||
|
TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent,
|
||||||
|
JvNavigationPane, DB, uDADataTable, uEditorBase, JvFormAutoSize,
|
||||||
|
uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView, uViewBase,
|
||||||
|
uViewMensaje, JvAppStorage, JvAppRegistryStorage, JvFormPlacement,
|
||||||
|
pngimage, ExtCtrls, JvComponentBase, dxLayoutLookAndFeels;
|
||||||
|
|
||||||
|
type
|
||||||
|
IEditorDBBase = interface(IEditorBase)
|
||||||
|
['{497AE4CE-D061-4F75-A29A-320F8565FF54}']
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfEditorDBBase = class(TfEditorBase, IEditorDBBase)
|
||||||
|
dsDataTable: TDADataSource;
|
||||||
|
procedure actRefrescarExecute(Sender: TObject);
|
||||||
|
procedure actAnteriorExecute(Sender: TObject);
|
||||||
|
procedure actSiguienteExecute(Sender: TObject);
|
||||||
|
procedure actAnteriorUpdate(Sender: TObject);
|
||||||
|
procedure actSiguienteUpdate(Sender: TObject);
|
||||||
|
procedure actRefrescarUpdate(Sender: TObject);
|
||||||
|
procedure actCancelarCambiosExecute(Sender: TObject);
|
||||||
|
procedure actGuardarExecute(Sender: TObject);
|
||||||
|
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); virtual;
|
||||||
|
procedure actEliminarExecute(Sender: TObject);
|
||||||
|
procedure actEliminarUpdate(Sender: TObject);
|
||||||
|
procedure actModificarUpdate(Sender: TObject);
|
||||||
|
procedure actPrevisualizarUpdate(Sender: TObject);
|
||||||
|
procedure actImprimirUpdate(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
protected
|
||||||
|
function GetModified: Boolean; override;
|
||||||
|
published
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
fEditorDBBase: TfEditorDBBase;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses uExceptions, uDataTableUtils, uBizInformesBase,
|
||||||
|
uDAInterfaces, uBizImportesDetalleBase;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actRefrescarExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
ACursor: TCursor;
|
||||||
|
ABookmark : TBookmark;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
begin
|
||||||
|
if (dsDataTable.DataTable.IsEmpty) or (not ModifiedQuery) then
|
||||||
|
Exit; // No continuar con el refresco
|
||||||
|
|
||||||
|
ABookmark := dsDataTable.DataTable.GetBookMark;
|
||||||
|
// dsDataTable.DataTable.DisableControls; <- No descomentar
|
||||||
|
|
||||||
|
ACursor := Screen.Cursor;
|
||||||
|
Screen.Cursor := crHourGlass;
|
||||||
|
try
|
||||||
|
dsDataTable.DataTable.Refresh;
|
||||||
|
|
||||||
|
if dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark) then
|
||||||
|
dsDataTable.DataTable.GotoBookmark(ABookmark);
|
||||||
|
finally
|
||||||
|
dsDataTable.DataTable.FreeBookmark(ABookmark);
|
||||||
|
// dsDataTable.DataTable.EnableControls; <- No descomentar
|
||||||
|
Screen.Cursor := ACursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actAnteriorExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
begin
|
||||||
|
if (not ModifiedQuery) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
dsDataTable.DataTable.Prior;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actSiguienteExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
begin
|
||||||
|
if (not ModifiedQuery) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
dsDataTable.DataTable.Next;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actAnteriorUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
(Sender as TAction).Enabled := not dsDataTable.DataTable.BOF
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actSiguienteUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
(Sender as TAction).Enabled := not dsDataTable.DataTable.EOF
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actRefrescarUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) and
|
||||||
|
(not (dsDataTable.DataTable.State = dsInsert)) then
|
||||||
|
(Sender as TAction).Enabled := not (dsDataTable.DataTable.Fetching or
|
||||||
|
dsDataTable.DataTable.Opening or
|
||||||
|
dsDataTable.DataTable.Closing)
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actCancelarCambiosExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
dtDetails : TList;
|
||||||
|
i : integer;
|
||||||
|
ABookmark : TBookmark;
|
||||||
|
ACursor : TCursor;
|
||||||
|
AParche : IParche;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
|
||||||
|
AParche := NIL;
|
||||||
|
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
begin
|
||||||
|
ABookmark := dsDataTable.DataTable.GetBookMark;
|
||||||
|
dsDataTable.DataTable.DisableControls;
|
||||||
|
// dsDataTable.DataTable.DisableEventHandlers; <- No descomentar
|
||||||
|
|
||||||
|
ACursor := Screen.Cursor;
|
||||||
|
Screen.Cursor := crHourGlass;
|
||||||
|
|
||||||
|
{ No lo pongo en try..finally para ver posibles errores }
|
||||||
|
//try
|
||||||
|
dsDataTable.DataTable.Cancel;
|
||||||
|
|
||||||
|
dtDetails := dsDataTable.DataTable.GetDetailDataTables;
|
||||||
|
for i := 0 to dtDetails.Count - 1 do
|
||||||
|
begin
|
||||||
|
(TDADataTable(dtDetails.Items[i])).Cancel;
|
||||||
|
|
||||||
|
{ PARCHE **********************************
|
||||||
|
OJO: Está pensado para que sólo una de las tablas detalle
|
||||||
|
soporte el interfaz de IParche }
|
||||||
|
if not Assigned(AParche) and
|
||||||
|
Supports((TDADataTable(dtDetails.Items[i])), IParche, AParche) then
|
||||||
|
AParche.DesactivarEventos;
|
||||||
|
end;
|
||||||
|
|
||||||
|
dsDataTable.DataTable.CancelUpdates;
|
||||||
|
|
||||||
|
{ Comprobar si el bookmark no es válido cuando estamos cancelando la
|
||||||
|
inserción de una fila nueva.
|
||||||
|
CUIDADO!! Si no es válido salta una excepción. NO devuelve false!!!}
|
||||||
|
try
|
||||||
|
if (Assigned(ABookmark)) and
|
||||||
|
(dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark)) then
|
||||||
|
dsDataTable.DataTable.GotoBookmark(ABookmark);
|
||||||
|
except
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ PARCHE ********************************** }
|
||||||
|
if Assigned(AParche) then
|
||||||
|
begin
|
||||||
|
AParche.ActivarEventos;
|
||||||
|
AParche.Refrescar;
|
||||||
|
AParche := NIL;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//finally
|
||||||
|
dsDataTable.DataTable.EnableControls;
|
||||||
|
dsDataTable.DataTable.FreeBookmark(ABookmark);
|
||||||
|
// dsDataTable.DataTable.EnableEventHandlers; <- No descomentar
|
||||||
|
Screen.Cursor := ACursor;
|
||||||
|
//end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actGuardarExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
dtDetails : TList;
|
||||||
|
i : integer;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
begin
|
||||||
|
if dsDataTable.DataTable.Editing then
|
||||||
|
dsDataTable.DataTable.Post;
|
||||||
|
|
||||||
|
dtDetails := dsDataTable.DataTable.GetDetailDataTables;
|
||||||
|
for i := 0 to dtDetails.Count - 1 do
|
||||||
|
if (TDADataTable(dtDetails.Items[i])).Editing then
|
||||||
|
(TDADataTable(dtDetails.Items[i])).Post;
|
||||||
|
|
||||||
|
dsDataTable.DataTable.ApplyUpdates;
|
||||||
|
Modified := False;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfEditorDBBase.GetModified: Boolean;
|
||||||
|
var
|
||||||
|
dtDetails : TList;
|
||||||
|
i : integer;
|
||||||
|
bCambiado : Boolean;
|
||||||
|
begin
|
||||||
|
bCambiado := False;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
begin
|
||||||
|
bCambiado := (dsDataTable.DataTable.State = dsEdit) or
|
||||||
|
DeltaValuesAreDifferent(dsDataTable.DataTable.Delta);
|
||||||
|
|
||||||
|
if (not bCambiado) then
|
||||||
|
begin
|
||||||
|
dtDetails := dsDataTable.DataTable.GetDetailDataTables;
|
||||||
|
for i := 0 to dtDetails.Count - 1 do
|
||||||
|
begin
|
||||||
|
bCambiado := bCambiado or
|
||||||
|
((TDADataTable(dtDetails.Items[i])).State = dsEdit) or
|
||||||
|
DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta);
|
||||||
|
if bCambiado then
|
||||||
|
Break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if (not bCambiado) then
|
||||||
|
bCambiado := inherited GetModified;
|
||||||
|
|
||||||
|
Result := bCambiado;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||||
|
begin
|
||||||
|
{ Para resetear el estado de la tabla en el caso de hacer un insert
|
||||||
|
sin meter ningún dato. }
|
||||||
|
if Assigned(dsDataTable.DataTable) and (not Modified) then
|
||||||
|
dsDataTable.DataTable.Cancel;
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actEliminarExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
aObj : IApplyUpdateFailedException;
|
||||||
|
ACursor: TCursor;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ACursor := Screen.Cursor;
|
||||||
|
Screen.Cursor := crHourGlass;
|
||||||
|
try
|
||||||
|
if dsDataTable.DataTable.State in dsEditModes then
|
||||||
|
dsDataTable.DataTable.Cancel;
|
||||||
|
dsDataTable.DataTable.Delete;
|
||||||
|
try
|
||||||
|
dsDataTable.DataTable.ApplyUpdates;
|
||||||
|
Modified := False;
|
||||||
|
except
|
||||||
|
on E: EDAApplyUpdateFailed do
|
||||||
|
begin
|
||||||
|
dsDataTable.DataTable.CancelUpdates;
|
||||||
|
actRefrescar.Execute;
|
||||||
|
if Supports(dsDataTable.DataTable, IApplyUpdateFailedException, aObj) then
|
||||||
|
aObj.ShowApplyUpdateFailed(E);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
raise; // Generic exception
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
Screen.Cursor := ACursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actEliminarUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
|
||||||
|
and not (dsDataTable.DataTable.State = dsInsert)
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actModificarUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actPrevisualizarUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBBase.actImprimirUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
Base/uEditorDBItem.ddp
Normal file
BIN
Base/uEditorDBItem.ddp
Normal file
Binary file not shown.
50
Base/uEditorDBItem.dfm
Normal file
50
Base/uEditorDBItem.dfm
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
inherited fEditorDBItem: TfEditorDBItem
|
||||||
|
Left = 559
|
||||||
|
Top = 315
|
||||||
|
Caption = 'fEditorDBItem'
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
inherited TBXDock: TTBXDock
|
||||||
|
inherited tbxMain: TTBXToolbar
|
||||||
|
inherited TBXItem26: TTBXItem
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
inherited TBXItem25: TTBXItem
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited tbxMenu: TTBXToolbar
|
||||||
|
inherited TBXSubmenuItem1: TTBXSubmenuItem
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object pgPaginas: TPageControl [2]
|
||||||
|
Left = 0
|
||||||
|
Top = 76
|
||||||
|
Width = 662
|
||||||
|
Height = 383
|
||||||
|
ActivePage = pagGeneral
|
||||||
|
Align = alClient
|
||||||
|
TabOrder = 2
|
||||||
|
object pagGeneral: TTabSheet
|
||||||
|
Caption = 'General'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited EditorActionList: TActionList
|
||||||
|
Top = 112
|
||||||
|
inherited actEliminar: TAction
|
||||||
|
ShortCut = 0
|
||||||
|
end
|
||||||
|
inherited actPrevisualizar: TAction
|
||||||
|
OnExecute = actPrevisualizarExecute
|
||||||
|
end
|
||||||
|
inherited actImprimir: TAction
|
||||||
|
OnExecute = actImprimirExecute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited dsDataTable: TDADataSource
|
||||||
|
Left = 48
|
||||||
|
Top = 112
|
||||||
|
end
|
||||||
|
end
|
||||||
90
Base/uEditorDBItem.pas
Normal file
90
Base/uEditorDBItem.pas
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
unit uEditorDBItem;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uEditorItem, ImgList, PngImageList, StdActns, ActnList, TBX,
|
||||||
|
TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent,
|
||||||
|
JvNavigationPane, DB, uDADataTable, uEditorDBBase, JvFormAutoSize,
|
||||||
|
StdCtrls, uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView,
|
||||||
|
uViewBase, uViewMensaje, JvAppStorage, JvAppRegistryStorage,
|
||||||
|
JvFormPlacement, pngimage, ExtCtrls, JvComponentBase;
|
||||||
|
|
||||||
|
type
|
||||||
|
IEditorDBItem = interface(IEditorDBBase)
|
||||||
|
['{497AE4CE-D061-4F75-A29A-320F8565FF54}']
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfEditorDBItem = class(TfEditorDBBase, IEditorDBItem)
|
||||||
|
pgPaginas: TPageControl;
|
||||||
|
pagGeneral: TTabSheet;
|
||||||
|
procedure actEliminarExecute(Sender: TObject);
|
||||||
|
procedure actPrevisualizarExecute(Sender: TObject);
|
||||||
|
procedure actImprimirExecute(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
fEditorDBItem: TfEditorDBItem;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses uBizInformesBase;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfEditorDBItem.actEliminarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
actCerrar.Execute;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBItem.actPrevisualizarExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
Respuesta: Integer;
|
||||||
|
aInf : IBizInformesAware;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Modified then
|
||||||
|
begin
|
||||||
|
if (Application.MessageBox('Se han producido cambios y no se puede previsualizar hasta que no se guarden.' + #10#13 +
|
||||||
|
'¿Desea guardarlos ahora?', 'Atención', MB_YESNO) = IDYES) then
|
||||||
|
actGuardar.Execute
|
||||||
|
else begin
|
||||||
|
Application.MessageBox('Recuerde guardar los cambios si quiere previsualizar o imprimir.', 'FactuGES', MB_OK);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Assigned(dsDataTable.DataTable) and
|
||||||
|
Supports(dsDataTable.DataTable, IBizInformesAware, aInf) then
|
||||||
|
aInf.Preview;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorDBItem.actImprimirExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
Respuesta: Integer;
|
||||||
|
aInf : IBizInformesAware;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Modified then
|
||||||
|
begin
|
||||||
|
if (Application.MessageBox('Se han producido cambios y no se puede imprimir hasta que no se guarden.' + #10#13 +
|
||||||
|
'¿Desea guardarlos ahora?', 'Atención', MB_YESNO) = IDYES) then
|
||||||
|
actGuardar.Execute
|
||||||
|
else begin
|
||||||
|
Application.MessageBox('Recuerde guardar los cambios si quiere previsualizar o imprimir.', 'FactuGES', MB_OK);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Assigned(dsDataTable.DataTable) and
|
||||||
|
Supports(dsDataTable.DataTable, IBizInformesAware, aInf) then
|
||||||
|
aInf.Print;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
1424
Base/uEditorGrid.dfm
Normal file
1424
Base/uEditorGrid.dfm
Normal file
File diff suppressed because it is too large
Load Diff
208
Base/uEditorGrid.pas
Normal file
208
Base/uEditorGrid.pas
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
unit uEditorGrid;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
|
||||||
|
JvNavigationPane, ActnList, TB2Dock, TB2Toolbar, TBX, TB2Item,
|
||||||
|
ImgList, PngImageList, StdActns, TB2ExtItems, TBXExtItems, uViewGrid,
|
||||||
|
uEditorDBBase, DB, uDADataTable, Menus, JvFormAutoSize,
|
||||||
|
uDAScriptingProvider, uDACDSDataTable, AppEvnts, JvAppStorage,
|
||||||
|
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls,
|
||||||
|
JvComponentBase;
|
||||||
|
|
||||||
|
type
|
||||||
|
IEditorGrid = interface(IEditorDBBase)
|
||||||
|
['{CB8CDE00-B225-4A1D-9A5C-EC6FBE2C854B}']
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfEditorGrid = class(TfEditorDBBase, IEditorGrid)
|
||||||
|
tbxEditFiltro: TTBXEditItem;
|
||||||
|
tbxFiltro: TTBXToolbar;
|
||||||
|
TBXItem7: TTBXItem;
|
||||||
|
GridPopupMenu: TPopupMenu;
|
||||||
|
Modificar1: TMenuItem;
|
||||||
|
Eliminar1: TMenuItem;
|
||||||
|
N1: TMenuItem;
|
||||||
|
Nuevo1: TMenuItem;
|
||||||
|
TBXLabelItem1: TTBXLabelItem;
|
||||||
|
actQuitarFiltro: TAction;
|
||||||
|
N2: TMenuItem;
|
||||||
|
Previsualizar1: TMenuItem;
|
||||||
|
Imprimir1: TMenuItem;
|
||||||
|
TBXSeparatorItem14: TTBXSeparatorItem;
|
||||||
|
TBXItem33: TTBXItem;
|
||||||
|
actDuplicar: TAction;
|
||||||
|
TBXSeparatorItem15: TTBXSeparatorItem;
|
||||||
|
TBXItem34: TTBXItem;
|
||||||
|
Duplicar1: TMenuItem;
|
||||||
|
procedure tbxEditFiltroChange(Sender: TObject; const Text: String);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure actPrevisualizarExecute(Sender: TObject);
|
||||||
|
procedure actConfPaginaExecute(Sender: TObject);
|
||||||
|
procedure actImprimirExecute(Sender: TObject);
|
||||||
|
procedure actQuitarFiltroExecute(Sender: TObject);
|
||||||
|
procedure actModificarExecute(Sender: TObject);
|
||||||
|
procedure actEliminarExecute(Sender: TObject);
|
||||||
|
procedure actDuplicarUpdate(Sender: TObject);
|
||||||
|
procedure actDuplicarExecute(Sender: TObject);
|
||||||
|
procedure JvFormStorageSavePlacement(Sender: TObject);
|
||||||
|
procedure JvFormStorageRestorePlacement(Sender: TObject);
|
||||||
|
procedure actRefrescarExecute(Sender: TObject);
|
||||||
|
private
|
||||||
|
FViewGrid : IViewGrid;
|
||||||
|
protected
|
||||||
|
procedure SetViewGrid(const Value : IViewGrid); virtual;
|
||||||
|
function GetViewGrid: IViewGrid;
|
||||||
|
public
|
||||||
|
property ViewGrid: IViewGrid read GetViewGrid write SetViewGrid;
|
||||||
|
constructor Create(AOwner : TComponent); override;
|
||||||
|
|
||||||
|
destructor Destroy; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
uDataModuleBase, uCustomEditor, cxGridTableView;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
{
|
||||||
|
********************************* TfEditorGrid *********************************
|
||||||
|
}
|
||||||
|
destructor TfEditorGrid.Destroy;
|
||||||
|
begin
|
||||||
|
FViewGrid := NIL;
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfEditorGrid.GetViewGrid: IViewGrid;
|
||||||
|
begin
|
||||||
|
Result := FViewGrid;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.SetViewGrid(const Value: IViewGrid);
|
||||||
|
begin
|
||||||
|
FViewGrid := Value;
|
||||||
|
if Assigned(FViewGrid) then
|
||||||
|
begin
|
||||||
|
FViewGrid.PopupMenu := GridPopupMenu;
|
||||||
|
FViewGrid.OnDblClick := actModificar.OnExecute;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.tbxEditFiltroChange(Sender: TObject; const Text: String);
|
||||||
|
begin
|
||||||
|
if Assigned(ViewGrid) then
|
||||||
|
ViewGrid.Filter := Text;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(ViewGrid) then
|
||||||
|
ViewGrid.ShowEmbedded(Self);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.actPrevisualizarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ViewGrid.Preview;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.actConfPaginaExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ViewGrid.PrintSetup;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.actImprimirExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ViewGrid.Print;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.actQuitarFiltroExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if Assigned(ViewGrid) then
|
||||||
|
begin
|
||||||
|
tbxEditFiltro.Text := '';
|
||||||
|
ViewGrid.Filter := '';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.actModificarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ViewGrid.SyncFocusedRecordsFromGrid;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.actEliminarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
ViewGrid.SyncFocusedRecordsFromGrid; // Esto va ANTES del inherited. No cambiar.
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TfEditorGrid.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
actModificar.ShortCut := ShortCut(VK_RETURN, []);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.actDuplicarUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if Assigned(dsDataTable.DataTable) then
|
||||||
|
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
|
||||||
|
and not (dsDataTable.DataTable.State = dsInsert)
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.actDuplicarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
ViewGrid.SyncFocusedRecordsFromGrid; // Esto va ANTES del inherited. No cambiar.
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.JvFormStorageSavePlacement(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(ViewGrid) then
|
||||||
|
ViewGrid.StoreToRegistry;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.JvFormStorageRestorePlacement(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(ViewGrid) then
|
||||||
|
ViewGrid.RestoreFromRegistry;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGrid.actRefrescarExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
FocusedRow, TopRow : Integer;
|
||||||
|
begin
|
||||||
|
ViewGrid.SyncFocusedRecordsFromGrid;
|
||||||
|
|
||||||
|
TopRow := (ViewGrid.Grid.ActiveView.Controller as TcxGridTableController).TopRowIndex;
|
||||||
|
FocusedRow := ViewGrid.Grid.ActiveView.DataController.FocusedRowIndex;
|
||||||
|
|
||||||
|
inherited;
|
||||||
|
|
||||||
|
ViewGrid.Grid.ActiveView.DataController.FocusedRowIndex := FocusedRow;
|
||||||
|
(ViewGrid.Grid.ActiveView.Controller as TcxGridTableController).TopRowIndex := TopRow;
|
||||||
|
// ViewGrid.Grid.ActiveView.Controller.TopRowIndex := TopRow;
|
||||||
|
|
||||||
|
// ViewGrid.SyncFocusedRecordsFromDataSet;
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterClass(TfEditorGrid);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
UnRegisterClass(TfEditorGrid);
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
BIN
Base/uEditorItem.ddp
Normal file
BIN
Base/uEditorItem.ddp
Normal file
Binary file not shown.
53
Base/uEditorItem.dfm
Normal file
53
Base/uEditorItem.dfm
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
inherited fEditorItem: TfEditorItem
|
||||||
|
Left = 457
|
||||||
|
Top = 278
|
||||||
|
Width = 686
|
||||||
|
Height = 535
|
||||||
|
Caption = 'fEditorItem'
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||||
|
Width = 678
|
||||||
|
Visible = False
|
||||||
|
inherited Image1: TImage
|
||||||
|
Left = 651
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object pgPaginas: TPageControl [1]
|
||||||
|
Left = 0
|
||||||
|
Top = 76
|
||||||
|
Width = 678
|
||||||
|
Height = 406
|
||||||
|
ActivePage = pagGeneral
|
||||||
|
Align = alClient
|
||||||
|
TabOrder = 1
|
||||||
|
object pagGeneral: TTabSheet
|
||||||
|
Caption = 'General'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited TBXDock: TTBXDock
|
||||||
|
Width = 678
|
||||||
|
inherited tbxMain: TTBXToolbar
|
||||||
|
inherited TBXItem5: TTBXItem
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited tbxMenu: TTBXToolbar
|
||||||
|
inherited TBXSubmenuItem4: TTBXSubmenuItem
|
||||||
|
inherited TBXItem10: TTBXItem
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited StatusBar: TStatusBar
|
||||||
|
Top = 482
|
||||||
|
Width = 678
|
||||||
|
end
|
||||||
|
inherited EditorActionList: TActionList
|
||||||
|
Top = 104
|
||||||
|
inherited actEliminar: TAction
|
||||||
|
ShortCut = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
40
Base/uEditorItem.pas
Normal file
40
Base/uEditorItem.pas
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
unit uEditorItem;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uEditorBase, ActnList, JvExControls, JvComponent,
|
||||||
|
JvNavigationPane, ComCtrls, StdActns, TB2Dock, TB2Toolbar, TBX, TB2Item,
|
||||||
|
ImgList, PngImageList, JvFormAutoSize, JvAppStorage,
|
||||||
|
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
IEditorItem = interface(IEditorBase)
|
||||||
|
['{F6A412D1-59AA-41D2-ADD5-C92687CD5387}']
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfEditorItem = class(TfEditorBase, IEditorItem)
|
||||||
|
pagGeneral: TTabSheet;
|
||||||
|
pgPaginas: TPageControl;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
fEditorItem: TfEditorItem;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses uDataModuleBase;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterClass(TfEditorItem);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
|
||||||
|
UnRegisterClass(TfEditorItem);
|
||||||
|
|
||||||
|
|
||||||
|
end.
|
||||||
15
Base/uEditorPSPreview.dfm
Normal file
15
Base/uEditorPSPreview.dfm
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
object Form1: TForm1
|
||||||
|
Left = 580
|
||||||
|
Top = 506
|
||||||
|
Width = 320
|
||||||
|
Height = 240
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = True
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
end
|
||||||
24
Base/uEditorPSPreview.pas
Normal file
24
Base/uEditorPSPreview.pas
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
unit uEditorPSPreview;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, dxPSPrVw;
|
||||||
|
|
||||||
|
type
|
||||||
|
TForm1 = class(TCustomdxPSPreviewWindow)
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
Form1: TForm1;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
Base/uEditorPreview.ddp
Normal file
BIN
Base/uEditorPreview.ddp
Normal file
Binary file not shown.
797
Base/uEditorPreview.dfm
Normal file
797
Base/uEditorPreview.dfm
Normal file
@ -0,0 +1,797 @@
|
|||||||
|
inherited fEditorPreview: TfEditorPreview
|
||||||
|
Left = 248
|
||||||
|
Top = 277
|
||||||
|
Caption = 'Previsualizar'
|
||||||
|
WindowState = wsMaximized
|
||||||
|
OnDestroy = FormDestroy
|
||||||
|
OnResize = FormResize
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
inherited TBXDock: TTBXDock
|
||||||
|
Height = 75
|
||||||
|
inherited tbxMain: TTBXToolbar
|
||||||
|
Top = 49
|
||||||
|
DefaultDock = TBXDock
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
object TBXToolbar1: TTBXToolbar
|
||||||
|
Left = 0
|
||||||
|
Top = 23
|
||||||
|
Caption = 'TBXToolbar1'
|
||||||
|
DefaultDock = TBXDock
|
||||||
|
DragHandleStyle = dhNone
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
TabOrder = 2
|
||||||
|
object TBXItem39: TTBXItem
|
||||||
|
Action = actImprimir
|
||||||
|
DisplayMode = nbdmImageAndText
|
||||||
|
Images = SmallImages
|
||||||
|
end
|
||||||
|
object TBXSeparatorItem18: TTBXSeparatorItem
|
||||||
|
end
|
||||||
|
object tbxMano: TTBXItem
|
||||||
|
Action = actToolHand
|
||||||
|
AutoCheck = True
|
||||||
|
Checked = True
|
||||||
|
DisplayMode = nbdmImageAndText
|
||||||
|
GroupIndex = 1
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
end
|
||||||
|
object TBXSeparatorItem14: TTBXSeparatorItem
|
||||||
|
end
|
||||||
|
object tbxZoom: TTBXItem
|
||||||
|
Action = actToolZoom
|
||||||
|
AutoCheck = True
|
||||||
|
DisplayMode = nbdmImageAndText
|
||||||
|
GroupIndex = 1
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
end
|
||||||
|
object TBXItem42: TTBXItem
|
||||||
|
Action = actTodaPagina
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
end
|
||||||
|
object TBXItem41: TTBXItem
|
||||||
|
Action = actAnchoPagina
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
end
|
||||||
|
object TBXItem40: TTBXItem
|
||||||
|
Action = actZoomOut
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
end
|
||||||
|
object cbZoom: TTBXComboBoxItem
|
||||||
|
Caption = 'Zoom'
|
||||||
|
ReadOnly = True
|
||||||
|
OnItemClick = cbZoomItemClick
|
||||||
|
end
|
||||||
|
object TBXItem37: TTBXItem
|
||||||
|
Action = actZoomIn
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
end
|
||||||
|
object TBXSeparatorItem17: TTBXSeparatorItem
|
||||||
|
end
|
||||||
|
object TBXSeparatorItem16: TTBXSeparatorItem
|
||||||
|
end
|
||||||
|
object TBXItem35: TTBXItem
|
||||||
|
Action = actPrimeraPagina
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
end
|
||||||
|
object TBXItem34: TTBXItem
|
||||||
|
Action = actPaginaAnterior
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
end
|
||||||
|
object TBXItem33: TTBXItem
|
||||||
|
Action = actPaginaSiguiente
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
end
|
||||||
|
object TBXItem36: TTBXItem
|
||||||
|
Action = actUltimaPagina
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
end
|
||||||
|
object TBXSeparatorItem15: TTBXSeparatorItem
|
||||||
|
end
|
||||||
|
object TBXItem7: TTBXItem
|
||||||
|
Action = actCerrar
|
||||||
|
Images = SmallImages
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited EditorActionList: TActionList
|
||||||
|
Top = 104
|
||||||
|
inherited actImprimir: TAction
|
||||||
|
OnExecute = actImprimirExecute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited SmallImages: TPngImageList
|
||||||
|
Left = 43
|
||||||
|
Top = 104
|
||||||
|
end
|
||||||
|
inherited LargeImages: TPngImageList
|
||||||
|
Left = 75
|
||||||
|
Top = 104
|
||||||
|
end
|
||||||
|
inherited JvFormStorage: TJvFormStorage
|
||||||
|
Left = 376
|
||||||
|
Top = 136
|
||||||
|
end
|
||||||
|
inherited JvAppRegistryStorage: TJvAppRegistryStorage
|
||||||
|
Left = 408
|
||||||
|
Top = 136
|
||||||
|
end
|
||||||
|
object PreviewActionList: TActionList
|
||||||
|
Images = PreviewSmallImageList
|
||||||
|
Left = 344
|
||||||
|
Top = 104
|
||||||
|
object actPrimeraPagina: TAction
|
||||||
|
Category = 'Preview'
|
||||||
|
Caption = 'Primera p'#225'gina'
|
||||||
|
ImageIndex = 0
|
||||||
|
OnExecute = actPrimeraPaginaExecute
|
||||||
|
end
|
||||||
|
object actUltimaPagina: TAction
|
||||||
|
Category = 'Preview'
|
||||||
|
Caption = #218'ltima p'#225'gina'
|
||||||
|
ImageIndex = 3
|
||||||
|
OnExecute = actUltimaPaginaExecute
|
||||||
|
end
|
||||||
|
object actPaginaAnterior: TAction
|
||||||
|
Category = 'Preview'
|
||||||
|
Caption = 'P'#225'gina anterior'
|
||||||
|
ImageIndex = 1
|
||||||
|
OnExecute = actPaginaAnteriorExecute
|
||||||
|
end
|
||||||
|
object actPaginaSiguiente: TAction
|
||||||
|
Category = 'Preview'
|
||||||
|
Caption = 'P'#225'gina siguiente'
|
||||||
|
ImageIndex = 2
|
||||||
|
OnExecute = actPaginaSiguienteExecute
|
||||||
|
end
|
||||||
|
object actZoomIn: TAction
|
||||||
|
Category = 'Zoom'
|
||||||
|
Caption = 'M'#225's zoom'
|
||||||
|
ImageIndex = 8
|
||||||
|
OnExecute = actZoomInExecute
|
||||||
|
end
|
||||||
|
object actZoomOut: TAction
|
||||||
|
Category = 'Zoom'
|
||||||
|
Caption = 'Menos zoom'
|
||||||
|
ImageIndex = 9
|
||||||
|
OnExecute = actZoomOutExecute
|
||||||
|
end
|
||||||
|
object actTodaPagina: TAction
|
||||||
|
Category = 'Zoom'
|
||||||
|
Caption = 'Toda la p'#225'gina'
|
||||||
|
ImageIndex = 4
|
||||||
|
OnExecute = actTodaPaginaExecute
|
||||||
|
end
|
||||||
|
object actAnchoPagina: TAction
|
||||||
|
Category = 'Zoom'
|
||||||
|
Caption = 'Ancho de p'#225'gina'
|
||||||
|
ImageIndex = 5
|
||||||
|
OnExecute = actAnchoPaginaExecute
|
||||||
|
end
|
||||||
|
object actToolHand: TAction
|
||||||
|
Category = 'Tools'
|
||||||
|
Caption = 'Mano'
|
||||||
|
ImageIndex = 10
|
||||||
|
OnExecute = actToolHandExecute
|
||||||
|
end
|
||||||
|
object actToolZoom: TAction
|
||||||
|
Category = 'Tools'
|
||||||
|
Caption = 'Zoom'
|
||||||
|
ImageIndex = 6
|
||||||
|
OnExecute = actToolZoomExecute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object PreviewSmallImageList: TPngImageList
|
||||||
|
PngImages = <
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000F14944415478DA
|
||||||
|
C5D2A10EC2301006E01B4F30893C39C59619EC70937B843D014C829B0339DEA0
|
||||||
|
1289638EC9C9E1160C9553A43882A0B45DC80223A30112CE346DFA7F697A6770
|
||||||
|
CEE19B327E0A8C663BB5A14506348D8CE7CBDEB4E0DBB96D7402518010C5A405
|
||||||
|
C8B0840F9B493710FA08F1E21190E1D0B7C5F9F23D10780849D200F7705102AC
|
||||||
|
D73A8023005203F73065A08022D3003C0B81AC08A0E3810C33115600156BAE01
|
||||||
|
3888E2A9F50BDC71CE07EE105875025A01B09268007D01A4CD1F48E4DAB3809D
|
||||||
|
657F35001440963E764122C78BA50798268ACF6ACF8142F6F97B400E8B9AC617
|
||||||
|
93887EC23B814FEAFFC00D0E3CD3E1153EE1F30000000049454E44AE426082}
|
||||||
|
Name = 'PngImage1'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000A34944415478DA
|
||||||
|
63FCFFFF3F032580912606303232628839545CF8BFBF5D9F912C03409A1F5C38
|
||||||
|
C0707F7B3EE90680342778E83334744C24DD0098E60B371818366C20D10098E6
|
||||||
|
071F18C0065C384082018E9517C19A3F0035830D7800A44F90E802A3BC13FFF5
|
||||||
|
8CCC193EBCF8C8F0E00503C3871B0B480F039021FF9834183EFC00721E906100
|
||||||
|
CC9077BF34C837006EC8AD13E41B00020A1E13FE136D002960E00D000045F48A
|
||||||
|
E13771044B0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage0'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000A44944415478DA
|
||||||
|
63FCFFFF3F03258091260638565EFC7FA0C380115D1C9B5A9C067CFAF683E1DC
|
||||||
|
240B46B20D48F0D06798B4EE248A21241BF0E10703C3A26D0843483220C0419F
|
||||||
|
E1C10706860F407CE91AC410920C70B0506078F0829FE1C2838F0C1F1E3C009A
|
||||||
|
7480E1FEF67C46A20D30D0506038708301AEF9C18E02D25C202020C070E1C207
|
||||||
|
B86692C3800118800F6E2034936CC0830BA89A493680A294480A18780300CF22
|
||||||
|
A8E18A4EF6A30000000049454E44AE426082}
|
||||||
|
Name = 'PngImage3'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000EC4944415478DA
|
||||||
|
C5D2A10EC2301405D0DB2FA012F9246E95C8E290FB04FE8049703890842F5850
|
||||||
|
2882021CB5185210044725B220086E74908D40C252020937A97BF7A479792C49
|
||||||
|
127C13F673A0D65E27AA27D8EBA06CE97C70D10D5821703A5FB01A54D92B1085
|
||||||
|
84A813633F6B16038D7A80C178F984A440A34EE8F43C017B0186D3079202A124
|
||||||
|
F4FB1E402803180B58F736DB3B72038403620F405609E65082364758639CA440
|
||||||
|
42425608F1C803106E50ED9097CD3CBAFD40106132F10038E7D0DAE6E56C07A2
|
||||||
|
EC80B90700B740B37B9433801CA07C00A39FCB19C039412B0FE0DD25A6709A42
|
||||||
|
E0D3FC1FB8020318D0E1923D9C4B0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage2'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD2520000017E4944415478DA
|
||||||
|
630C9B1C9ACFC0C03081813C50C00834E07F7E400E51AAFFFEFBC3F0EBDF7786
|
||||||
|
9F7F2138C9268F01C58073FBBF113444C9EA0B58F38469B3192E2DBB8C69404E
|
||||||
|
AC07568DBFFE303058F86431D44EB264F8053460DACC25B80DA89FBC1FC38092
|
||||||
|
144706FBC02C86F27E03B00BE6CE594B9C0B4036FFFC0DA15D43B31872BB95C0
|
||||||
|
062C5FB09B341764C4383278476631A4754882BDB076F111FC2E40B619860363
|
||||||
|
B318125A05187E026362CBD2B3A4B92036D491212C218B21B2999DE1C7DF6F0C
|
||||||
|
7B565CC76E4072B807D8E6BFFF1036FFFE0BA16352B218021BFE82C3E0F0EA07
|
||||||
|
080372FC3218FEFEFFCD70E5D07F8698200F86FE79982E08F4756448CAC862F0
|
||||||
|
AA05A5836F0CA7D6BD421890E6130F36F5DE311E86303F0F145B616C1048C9CC
|
||||||
|
6270AE7A05567B71E3678401F19E6160C1A7274519E62DDD843725DA943F04BB
|
||||||
|
E0C696BF080322DC7CC151034BE390F4FE0DCA47D07FFEFF01D37F81F4EDAD8C
|
||||||
|
0803829C5DC04993540033207F57D36EB2B2B35B9D6B0100103839527F8C36D7
|
||||||
|
0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage5'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000001714944415478DA
|
||||||
|
630C9B1C9ACFC0C03081813C50C00834E07F7E400E51AAFFFEFBC3F0EBDF7786
|
||||||
|
9F7F2138C9268F016EC099973B18F253E4198E6ED6C4A9D9CEFF36C3C4390F19
|
||||||
|
64793519264C9BCD7069D9658801D6962A60CDC40290216B171F411880CF05BF
|
||||||
|
A0CE05D17E619FC09A05D8C519E6CE598B6AC0B9FDDF8876018BEE6986E50B76
|
||||||
|
631A9013EB8153D3AF3F0C0C3F7F3330D807663124B40A607A016640FDE4FD58
|
||||||
|
0D2849716458B86607C3BCA59B18229BD919B62C3D4B9C0B603683E8E51B2006
|
||||||
|
0436FC65D8B3E23A692EC888716458BB05628057ED1786C3AB1F200CC8F1CB60
|
||||||
|
B878F0178A0B906D86E1CD3B20063857BD6238B5EE15C280349F7886EB8799F1
|
||||||
|
BA2036D49161C76E880136E50F192E6EFC8C3020DE338CE1DE311EB001D86CFE
|
||||||
|
FD1742EFDB0F31C0B4E43AC38D2D7F110644B8F9323C3D29CA901CEE81A219A6
|
||||||
|
11C63E7604628051F16586DB5B1911060439BB304C9BB984E88404033003F277
|
||||||
|
35ED262B3BBBD5B9160000C8E01B524AB937870000000049454E44AE426082}
|
||||||
|
Name = 'PngImage4'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA
|
||||||
|
8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414
|
||||||
|
A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D
|
||||||
|
739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF
|
||||||
|
425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008
|
||||||
|
EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5
|
||||||
|
6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050
|
||||||
|
910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85
|
||||||
|
CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15
|
||||||
|
205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7
|
||||||
|
F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D
|
||||||
|
B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D
|
||||||
|
09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02
|
||||||
|
161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE
|
||||||
|
4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0
|
||||||
|
7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D
|
||||||
|
02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747
|
||||||
|
2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7
|
||||||
|
FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386
|
||||||
|
01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790
|
||||||
|
E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6
|
||||||
|
9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74
|
||||||
|
2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD
|
||||||
|
BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03
|
||||||
|
503A4EA60D6AAC070000000049454E44AE426082}
|
||||||
|
Name = 'PngImage6'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA
|
||||||
|
8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251
|
||||||
|
82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E
|
||||||
|
C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC
|
||||||
|
5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910
|
||||||
|
082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537
|
||||||
|
BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0
|
||||||
|
81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB
|
||||||
|
B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048
|
||||||
|
5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5
|
||||||
|
E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676
|
||||||
|
3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8
|
||||||
|
8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002
|
||||||
|
29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29
|
||||||
|
5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF
|
||||||
|
077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF
|
||||||
|
0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5
|
||||||
|
1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF
|
||||||
|
AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632
|
||||||
|
83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4
|
||||||
|
E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384
|
||||||
|
8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72
|
||||||
|
CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD
|
||||||
|
DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8
|
||||||
|
3FA68502A9830000000049454E44AE426082}
|
||||||
|
Name = 'PngImage7'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000E14944415478DA
|
||||||
|
63FCFFFF3F032580717019C0C8C8086787B4DDF8FFEBD76F869F3F7F33EC6C37
|
||||||
|
824BA05B88D300BF86CBFFA3A35419A6CFB8C870A0CF9C7403DC2BCFFD8F88D4
|
||||||
|
66983DEB34C3B12936C41910DA7E13EE6C100E0D37609837E7180358EC0708FF
|
||||||
|
6278B0218011A701FE8D57C0CEFEF68391E1DB770630FD1D88BF7C07E26F8C0C
|
||||||
|
6B17AE6178B1230CB7011E55E7FF836C86B9C23FC48661C9BC5D609B7F40F187
|
||||||
|
0331B80D400E03DDF85DFF3D039D1856CEDFCCF0706320E981A816BEF5BF8BBF
|
||||||
|
07D8D92F7786936E80BCFFFAFF30677F3C184B9C01E480616000007F3BB6E1E0
|
||||||
|
0AF3B40000000049454E44AE426082}
|
||||||
|
Name = 'PngImage8'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000714944415478DA
|
||||||
|
63FCFFFF3F03258071D4002A1B10DA7E13CC01897DFDFA83E1DBB71F60FAFBB7
|
||||||
|
9F0C9F3F7F03E3F7FBA219F11A1013A500E77FFCCCC8F0EA1D23C38BB74C0CCF
|
||||||
|
5E3131AC9E3397E1F7E914DC0684B4DDF88FCBE62F9FBF33FCF9F397E1FFF974
|
||||||
|
DC060C7C208E1A401E0000EFE473E127272ED00000000049454E44AE426082}
|
||||||
|
Name = 'PngImage9'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000001C74944415478DA
|
||||||
|
A5934D4B5B411885CF5D9982288874EB0F306E5CBA9A646514E33536264AE456
|
||||||
|
5184528AE0424A043751FCC08228E24788894631D5D6D12C5C08EA2A74512AD8
|
||||||
|
E4070822EE44A3E255CC386F24264AAE5978609881B9E739EFCCBC571142E03D
|
||||||
|
5208A0284ADECDA08FB9E4342087EFF3C04124772F139C1790319614C3DCE456
|
||||||
|
B116E2D0EF11CF051502FCD7BA54F37A98C3E951110E70783A5584FC3C2E0155
|
||||||
|
0501DB534C34389F92DD9A342E7068DD2A96FC1CD296AE44F3EE470C019B934C
|
||||||
|
A8AE6CF2E29C9C3B6C5809EEC0EEA84194C7E212506508D8F8C144735B36D93F
|
||||||
|
232B69B72212DE43BDBD1A5BBFFFA1C7B7AF3C03424396C6B252F08714709184
|
||||||
|
F94311E22DEDD9E4C0FC0E9CEE1AFC8AC4505B5789E876025F867300D1694BFA
|
||||||
|
CCA49FCB1C046AD5B2C94B813D383E3D25334B0576778FF17524074047C8944D
|
||||||
|
A2B3BB3C36E8BA8E3BFD363DEEEF74DC5C5F2179718ED89F4B7C1B7B0520AD8E
|
||||||
|
3241C9F4B191F93A798943F90EBDE37900A4908F0987CB6A6826FD3D02FA260C
|
||||||
|
0024FF201374DBF9CCA767B7F28E4CF07C7F03409AF532411796319391747266
|
||||||
|
C2C77298651F240AFE4C53FD4CA4E48BA464FBD1CBD09ACCB29D132F5AF93D7A
|
||||||
|
04D7A238F0C903C3480000000049454E44AE426082}
|
||||||
|
Name = 'PngImage10'
|
||||||
|
Background = clWindow
|
||||||
|
end>
|
||||||
|
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
||||||
|
Left = 371
|
||||||
|
Top = 104
|
||||||
|
Bitmap = {}
|
||||||
|
end
|
||||||
|
object PreviewLargeImageList: TPngImageList
|
||||||
|
Height = 24
|
||||||
|
Width = 24
|
||||||
|
PngImages = <
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD252000001894944415478DA
|
||||||
|
63FCFFFF3F032D01E3F0B4C0B1F2228AE0810E03467C8638545CF8BFBF5D1FAB
|
||||||
|
1A9C1604D9E980D97D93A6303CD851C088CFF007170E30DCDF9E4F7D0B408683
|
||||||
|
D481D450DD0298E1DF7EFE679831732A752D4036FCDBAF7F0C8BE64F27CF82AF
|
||||||
|
3FFE33CC9C3515C50274C3BF03E9D5CB66906E81BB9936C3E7EFFF18962D9E0E
|
||||||
|
B7009BE1DF7FFD67D8B26626E91658E96A022DF8CFB079CD0CB005B80CFFF693
|
||||||
|
8161DF66322CD055D160F80C0CA2035B663228183830E032FC0B50CDA9DDB348
|
||||||
|
B74041469DE1D3B77F0CE7F6CD06FBC028EFC47F1F6B430CC3BFFEF8C770F5F0
|
||||||
|
1CD22D10125265F8F0F53FC3BD9373E07100B2C44A4F1FC5F0AF400B1F9C9A4B
|
||||||
|
BA054CEC2A0C1F813E787B791E4A2A0259A222AF07371C64D19B4BF348B7E0F3
|
||||||
|
5F25A00FFE31FCBDB700231F802CE113D0061B0EC23F6ECD27DD82C79F1418FE
|
||||||
|
FE03721E2CC09A9341967C63D064F8018C0F901A922D78F04101C2C16101CC92
|
||||||
|
77BF34686701DC925B27C8B0005804C3003E0B4040C163C27F922CA02618B580
|
||||||
|
200000A0D9B0E00198A13A0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage1'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD252000000FA4944415478DA
|
||||||
|
63FCFFFF3F032D01E3F0B680919111AF66878A0BFFF7B7EBE35544B60520C31F
|
||||||
|
5C38C0707F7B3EF52D00191E64A7C3D037690AF52D8019FEEDE77F861933A752
|
||||||
|
D70264C3BFFDFAC7B068FE74EA59806EF87720BD7AD90CEA5880CDF0EFBFFE33
|
||||||
|
6C593393720B7019FEED2703C3BECD145AE0587911A7E15F7EFC6738B57B16E5
|
||||||
|
3E30CA3BF1DFC7DA10C3F0AF3FFE315C3D3C873A7100B2C44A4F1FC5F0AF400B
|
||||||
|
1F9C9A4BBD5404B244455E0F6E38C8A23797E651371F802CE113D0061B0EC23F
|
||||||
|
6ECDA77E4E0659F28D4193E107303E181E2CA04D5904B2E4DD2F0DDA5900B7E4
|
||||||
|
D609DA5900020A1E13FE53640135C0A805040100D3AF21E00AC8E9BE00000000
|
||||||
|
49454E44AE426082}
|
||||||
|
Name = 'PngImage0'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD2520000012E4944415478DA
|
||||||
|
63FCFFFF3F032D01E3F0B6C0B1F2E2FF031D068CF80C20E440BC16D8955FF9FF
|
||||||
|
F5C7578673932C705A429105B6400BF2037518DA979FC469094516D8945DFD5F
|
||||||
|
10A40D66E3B284220BACCBAEFD2F0CD202B37FFDF9CFD0BBFA148625145A701D
|
||||||
|
688126D8F0EFBFFE337CFBF99F61C18E33289650648155E98DFF39FEEA70C3C1
|
||||||
|
F8D73F862D47CFC32DA1C802CBD29BFF533C55510CFFFE13E29B63972E822DA1
|
||||||
|
C8028B929BFFA39D55300CFFF69381E1CB8FFF0CA776CF62B8BF3D9F916C0BCC
|
||||||
|
4B6EFD0FB251C269F8831D0594F9C0ACF8F67F4F73799C86531C07A6C577FE3B
|
||||||
|
1AC8E2349C620B4C8AEEFEB7D496C66938152CB8F75F5F450AA7E1145B605C74
|
||||||
|
FFBF8A8C044EC329B6C0A8F0C1FFF73736E2349C620B0C0B1FFEBF30418176F5
|
||||||
|
0135C0A80504010058FB49E08BBA20470000000049454E44AE426082}
|
||||||
|
Name = 'PngImage3'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD252000001C24944415478DA
|
||||||
|
63FCFFFF3F032D01E3F0B4C0B1F2E2FF031D068CF834DA965D46D178A85307AB
|
||||||
|
7AAC16D8955FF9FFF5C7578673932C705A02B220D44113CCEE9B3485E1FEF67C
|
||||||
|
E22DB0055A901FA8C3D0BEFC244E4B28B2C0A6ECEAFF82206D301B9725145960
|
||||||
|
5D76ED7F61901698FDEBCF7F86DED5A7302CA1D082EB400B34C1867FFFF59FE1
|
||||||
|
DBCFFF0C0B769C41B10466C1D71FFF1966CE9A4A9A0556A537FEE7F8ABC30D07
|
||||||
|
E35FFF18B61C3D0FB7046481978506C3E7EFFF18962D9E4E9A0596A537FFA778
|
||||||
|
AAA218FEFD27C437C72E5D045B02B2C0565F0D68C17F86CD6B6690668145C9CD
|
||||||
|
FFD1CE2A18867FFBC9C0F0051824A776CF6290D5736630505365F80CE41FD832
|
||||||
|
93340BCC4B6EFD0FB251C269F8831D05601F28CBA9307CFAF68FE1DCBED9A459
|
||||||
|
60567CFBBFA7B93C4EC36171202AA2C4F0E1EB7F867B27E790668169F19DFF8E
|
||||||
|
06B2380D8759C0CAA9C8F011E883B797E791668149D1DDFF96DAD2380D8759F0
|
||||||
|
EDBF3CD007FF18FEDE5B40AA05F7FEEBAB48E1341C66C1B32FB20C7FFF01390F
|
||||||
|
48B4C0B8E8FE7F1519099C86C32C78FC4916C221D502A3C207FFDFDFD888D370
|
||||||
|
8A2D302C7CF8FFC2040582F5C1E34B7BE17C922CA02618B5802000000BFCA8E0
|
||||||
|
E6ADB53E0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage2'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD252000002344944415478DA
|
||||||
|
63FCFFFF3F032D0123C882F02961F940F6042A9B5DB03267D5449805FFF30372
|
||||||
|
C832E51FC35F863FFF7E31FCFEF713887F41D9BF18526C0A19DEBF7ACF489105
|
||||||
|
7FFE430C86190AA3A74C5FC87069D965FC169CDBFF8D24CB642C5EC32D993173
|
||||||
|
397116E4C47AE035F4EFBFFF0CBFFFFC65B0F2CB63A89C680CF7C1DCD96B29B7
|
||||||
|
0066F89C957B18E62DDDC450DAAF0BF7C1C2B99B89B7A07EF27E9C9614275932
|
||||||
|
2C5A77006C4141AF3ADC07CBE6EF24DF073097FFFAFD87E1F7EFBF0CCB371F06
|
||||||
|
5B90D3AD08F7C1AA85FBA9E383CC48638635DB8F812D48ED9060F8FD1F62C1C6
|
||||||
|
C52748F701BACB21ECBF0C9BF69C045B90D02E04CF0FDB969EA78E0FA2FD7418
|
||||||
|
761D3A0BB620A695079ED9762FBF8ADF0250EEBCB0FF27D8825F409722BB18CE
|
||||||
|
868AEF3F7E016C4178332B3C0EF6AFBC8DDB0258D6BF72F03F435AA42B43EBF4
|
||||||
|
43387D10E8AAC670E4F465B005418DFFE1417464F523EC1620972B370FB33124
|
||||||
|
8638E174394CFCD4856B600BFCEA7FC283E8E4DA179816E40664A2145AF78EF2
|
||||||
|
30C404D8E3351CC43E7FF526D802F79AF7607D20FD17367CC2B420D32F19A544
|
||||||
|
7C745C8821CCDB06AFE120F6959B77C0163855BD84177C5736FDC0B420C93B12
|
||||||
|
A5447C794A9A21D0CD9261FDAEE30C8400C802DB8A4770BD37B7FCC3B420D633
|
||||||
|
18A5D87D7B4611AC915860597607ACF7DFFFBF0CB7B732625A10E9EE8BE20314
|
||||||
|
1AADDCC7C506190E02582D087175A78AE1382D087076045714D402E816E4EF6A
|
||||||
|
DA4DD54ADFADCE1551E9D31200008EE53CFED5D704CB0000000049454E44AE42
|
||||||
|
6082}
|
||||||
|
Name = 'PngImage5'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD252000003154944415478DA
|
||||||
|
B5956D48536114C7CFC89022883E288415547E48F243651451425A6A929361A2
|
||||||
|
0E13D14553985AA411944A5A4804622AE9AC25CBDCD0125F4B526CD87C2F75E8
|
||||||
|
544C83B23EE45829E6667AEFEEEDDE3377756D6B1BD98167CFB37BEEF9FFCE39
|
||||||
|
CF81CBA3691A783C1ED8B300F1043D28F5B3EF64ED50390D9A14877ED4667F62
|
||||||
|
4B633298FF45EB9D1FB579B8EFF7CF71A8CFBE33D8DF0931A20E7BEE2B3592DA
|
||||||
|
0716009D2190709EF43BDE902EF48562E5B45544F12D1DFAD65B5CC401C8CA96
|
||||||
|
425BFD4E20A8152099C5EE974E5D8539DD1CCF066011D7FDF400EF1D24279428
|
||||||
|
914177B39FD99FE08BCFBECC52603018F15C505803F5B55B51BCB44C0E238A51
|
||||||
|
5BC049FE04C88B4428CE9A716909F4FA1F60342E81EC5987154037E7012B0401
|
||||||
|
8B8B065CEC595AF91A140A0ACAA54AFB00D658C8FD7C3127AEFF6E0634B60E73
|
||||||
|
80E4A85D306FF0E4C4170D06A8AC56A1385B81EC519D7DC090CA5C6E5AE16748
|
||||||
|
BB1C0125152D56FD7E98B91764EA3D78B1164B8A0F42F1A7B907711A57F6F580
|
||||||
|
5CD6EC182049388781BCC352F3A80D8BED4E1045D1B029A002CFF36F13813499
|
||||||
|
20242E0BC4F77C40C1B4CA29C002B10760C54913059EC71E73E2CA66353CA96E
|
||||||
|
02518117D4CA55AE011C65CE8A13A4094892427182D95FB47623E0E2DD6DD058
|
||||||
|
D5E71C905BA202572C5578940199A0A1BD0F01B1F99BE155F5B0FB15B0D912A6
|
||||||
|
D5AC194182A902AB612B61CE2D6F061010759B8676E5987B007BE224D722F36A
|
||||||
|
530F22203277195435531BD7A278BE3FDE87AA578380F0EC05E87A3EE35A05AE
|
||||||
|
646EB96CF5BB11049CBDA987FEBA6FB68034412A6854CB1CC01D7176927A87C6
|
||||||
|
1010786306340D0BB680D44811683B6904B041F9659D2EB52832D817C7F4FDC8
|
||||||
|
04024E5C9F066DD32F5B40F279214C756D811461A85B9913ABEF69C63F20E068
|
||||||
|
E6384CB650B68084F00BF0A9673B2445075B055314E5549C7DAE9D9C46C0916B
|
||||||
|
A330F592670B1086F1E16B9F1724084E637071D5804B2D0A3ABE1B77A780E890
|
||||||
|
30981DF001213FD02AB3BF5D36C5C45ACC29407026083F141B657F0232DAF2DA
|
||||||
|
8BFE5D76CD427342D63EFAFFD37E031AD161FE86E3B8C60000000049454E44AE
|
||||||
|
426082}
|
||||||
|
Name = 'PngImage4'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA
|
||||||
|
AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4
|
||||||
|
4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3
|
||||||
|
A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3
|
||||||
|
7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117
|
||||||
|
CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671
|
||||||
|
584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7
|
||||||
|
B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E
|
||||||
|
1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3
|
||||||
|
88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37
|
||||||
|
33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8
|
||||||
|
29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F
|
||||||
|
0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D
|
||||||
|
F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D
|
||||||
|
AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480
|
||||||
|
651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E
|
||||||
|
C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56
|
||||||
|
4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5
|
||||||
|
CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A
|
||||||
|
3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6
|
||||||
|
30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020
|
||||||
|
D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D
|
||||||
|
D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA
|
||||||
|
9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50
|
||||||
|
C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6
|
||||||
|
80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152
|
||||||
|
D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1
|
||||||
|
38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11
|
||||||
|
5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242
|
||||||
|
60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE
|
||||||
|
47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3
|
||||||
|
B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7
|
||||||
|
7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130
|
||||||
|
26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7
|
||||||
|
98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981
|
||||||
|
2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0
|
||||||
|
4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877
|
||||||
|
4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB
|
||||||
|
2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366
|
||||||
|
752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF
|
||||||
|
6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688
|
||||||
|
F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811
|
||||||
|
F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000
|
||||||
|
49454E44AE426082}
|
||||||
|
Name = 'PngImage7'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA
|
||||||
|
AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED
|
||||||
|
C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B
|
||||||
|
139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24
|
||||||
|
5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4
|
||||||
|
8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5
|
||||||
|
B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB
|
||||||
|
5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191
|
||||||
|
6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5
|
||||||
|
05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262
|
||||||
|
6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56
|
||||||
|
488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0
|
||||||
|
A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36
|
||||||
|
E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A
|
||||||
|
EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098
|
||||||
|
0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7
|
||||||
|
20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0
|
||||||
|
9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A
|
||||||
|
7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715
|
||||||
|
2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC
|
||||||
|
0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1
|
||||||
|
F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9
|
||||||
|
6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407
|
||||||
|
B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A
|
||||||
|
2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0
|
||||||
|
8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E
|
||||||
|
5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F
|
||||||
|
82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC
|
||||||
|
4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536
|
||||||
|
D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D
|
||||||
|
932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B
|
||||||
|
D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC
|
||||||
|
F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134
|
||||||
|
1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA
|
||||||
|
4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4
|
||||||
|
C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF
|
||||||
|
BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25
|
||||||
|
6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F
|
||||||
|
0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707
|
||||||
|
274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4
|
||||||
|
697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16
|
||||||
|
949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855
|
||||||
|
88E7298D620000000049454E44AE426082}
|
||||||
|
Name = 'PngImage6'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD252000001324944415478DA
|
||||||
|
63FCFFFF3F032D0123DD2C606464C4A9C8A5EF22862BF614E9E3D480EC68A22D
|
||||||
|
C8F05765F8FDE72F10FF63888B5ECEC0702183BA16247B2B810DFF03B424297E
|
||||||
|
15F52D887357001B0EB2243D790DF52D887296051B0E0AA69CF4F5D4B720D45E
|
||||||
|
1A6CF89FBF7F190AB23651DF82006B09B0E1205F94E66D21DD02D7FE4B783384
|
||||||
|
8F85283C88AA8AB633B8C459E254BBBB508F11AB05C8491116A1B06081B1C172
|
||||||
|
28FCBF0CBF7E0331880DA4174F3ECBF0FF7C3A760B909322398683D82B675CC0
|
||||||
|
6D01725224C770107BFD9CCBB82DD8B3E838F6480686B7A52637DCF0DEC683F8
|
||||||
|
A20BBB05845291892A27DCE5935A8F503F99EA2BB2C1836546D771EA5BA025CB
|
||||||
|
0C0FE7797DA7A86F818A04034A52A4BA057222A84991EA1648F2FF42498A54B7
|
||||||
|
002309936A01ADC0D0B700000ADFCFE01EDA3C000000000049454E44AE426082}
|
||||||
|
Name = 'PngImage8'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD2520000007C4944415478DA
|
||||||
|
63FCFFFF3F032D01E3A805A3168C5A80B0C0B5FF12D56CDA5DA8C788D5829C20
|
||||||
|
751485BFFFFC65F8F1F30FC38F5FBF19BE83E89F501ACAFFF6E317C3B7EFBF21
|
||||||
|
F40F087D68CD3D86FFE7D3095B408EE13F7EFD6138B5E911610BC8351C04F05A
|
||||||
|
B067D171AAC401560B6805462D18B560D4023A5800007B57E2D1072B1BE80000
|
||||||
|
000049454E44AE426082}
|
||||||
|
Name = 'PngImage9'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD252000002E84944415478DA
|
||||||
|
A5957D48144118C69F2B29B3FA23222C02598AA48F3B4A304A839C120C925022
|
||||||
|
4AA2F2B3B313FB80A0C20E333F52FC2348C24AC49490D4C414394D4D4F33112B
|
||||||
|
C1F0233090C9D0142BA920AFDA73DAD975E5923BDDB5178679776EEFF9CD3CF3
|
||||||
|
CEAC8131061E0683010B457126392175D699C7CC186B6BB9BBF7544D595727A0
|
||||||
|
373A21D238D8DF83CE4EDA27014CFF0D5067BD7C198CD3D3C0C9984870404707
|
||||||
|
057FF6F242DFDCD5E805CCCEFA5517C5A93805D0DE4E117F4EC9E7AE4617E071
|
||||||
|
2E615167668520C1E4BCAD8DE26C929237355124E7B41A160528CD21CCD59658
|
||||||
|
B392DBED1489C94ADED048B1CA0758B254B12BFABABD5C33E0D12DC2DCD9D2DC
|
||||||
|
4C61B9A0E4F5CF284E4707E3F3F8A86C9704306906487BC03CD992743102EF07
|
||||||
|
DEC2564761B61CC4C8872154D7505CB96337680614A513E6C9164B72388606FB
|
||||||
|
516B93C0E6FD181B19465535C5B53C1D80C234C23CD992981486E1A141D4D44A
|
||||||
|
D6252816555651A4DCD5012848254C8B2DB171BB31F96502159514D67C378092
|
||||||
|
AC03EA356094DA6C5DDFB712A6DAF2E923C5BED07088E21F74B5352260AF620B
|
||||||
|
1FF73706E0C7B749943DA148BDE71E201F289EAB1B6A4E6F35E4A710C66DE1EF
|
||||||
|
BD68A8C19E9030389D22DEBC6C812930184E0936D0F31A9BB79AE4F1E29277B8
|
||||||
|
F1C03D40AE163554CFF975C06D718AA23C732EA2E4A22CAEF4A23CFECB3185D2
|
||||||
|
328A9B051E5610142418FD77ECFA07A2568B1671DE2AAAC69151E86193F98686
|
||||||
|
84085021FC37AD3397DBD4149EDABE23AB689E2AE29E87860AD8B27DA76E7187
|
||||||
|
E3276CCF45643F5CA04CF3AE1276284C80DF267F5DE27CBCBE05C829D1700E6E
|
||||||
|
5F262CFCB080F51BFD348B8F8E39F05BF4764877D10A4D072DF71261114704AC
|
||||||
|
59BB6E41711E9DDDC0065F44E9BA4DB3CF1376345280CFCAD5F38AABB397D240
|
||||||
|
09D0AF19C023C342D8F163829C7B12EFEEF586691BA2F8A773511FFD34B3B492
|
||||||
|
085F7C9D1897055DC3555C2D6FDD001ED678C2F8C99E96FEC2783F93BB8ACF05
|
||||||
|
FC0592430CFE3F77C7A70000000049454E44AE426082}
|
||||||
|
Name = 'PngImage10'
|
||||||
|
Background = clWindow
|
||||||
|
end>
|
||||||
|
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
||||||
|
Left = 403
|
||||||
|
Top = 104
|
||||||
|
Bitmap = {}
|
||||||
|
end
|
||||||
|
object frxReport1: TfrxReport
|
||||||
|
Version = '3.23.7'
|
||||||
|
DotMatrixReport = False
|
||||||
|
EngineOptions.DoublePass = True
|
||||||
|
IniFile = '\Software\Fast Reports'
|
||||||
|
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator]
|
||||||
|
PreviewOptions.Zoom = 1.000000000000000000
|
||||||
|
PrintOptions.Printer = 'Default'
|
||||||
|
ReportOptions.CreateDate = 38658.858023541660000000
|
||||||
|
ReportOptions.LastChange = 38658.858023541660000000
|
||||||
|
ScriptLanguage = 'PascalScript'
|
||||||
|
ScriptText.Strings = (
|
||||||
|
'begin'
|
||||||
|
''
|
||||||
|
'end.')
|
||||||
|
StoreInDFM = False
|
||||||
|
Left = 16
|
||||||
|
Top = 200
|
||||||
|
Datasets = <>
|
||||||
|
Variables = <>
|
||||||
|
Style = <>
|
||||||
|
end
|
||||||
|
object frxBarCodeObject1: TfrxBarCodeObject
|
||||||
|
Left = 16
|
||||||
|
Top = 240
|
||||||
|
end
|
||||||
|
object frxOLEObject1: TfrxOLEObject
|
||||||
|
Left = 48
|
||||||
|
Top = 240
|
||||||
|
end
|
||||||
|
object frxChartObject1: TfrxChartObject
|
||||||
|
Left = 16
|
||||||
|
Top = 272
|
||||||
|
end
|
||||||
|
object frxRichObject1: TfrxRichObject
|
||||||
|
Left = 48
|
||||||
|
Top = 272
|
||||||
|
end
|
||||||
|
object frxCrossObject1: TfrxCrossObject
|
||||||
|
Left = 80
|
||||||
|
Top = 240
|
||||||
|
end
|
||||||
|
object frxCheckBoxObject1: TfrxCheckBoxObject
|
||||||
|
Left = 80
|
||||||
|
Top = 272
|
||||||
|
end
|
||||||
|
object frxGradientObject1: TfrxGradientObject
|
||||||
|
Left = 16
|
||||||
|
Top = 304
|
||||||
|
end
|
||||||
|
object frxDotMatrixExport1: TfrxDotMatrixExport
|
||||||
|
UseFileCache = True
|
||||||
|
ShowProgress = True
|
||||||
|
EscModel = 0
|
||||||
|
GraphicFrames = False
|
||||||
|
SaveToFile = False
|
||||||
|
UseIniSettings = True
|
||||||
|
Left = 48
|
||||||
|
Top = 304
|
||||||
|
end
|
||||||
|
object frxDialogControls1: TfrxDialogControls
|
||||||
|
Left = 80
|
||||||
|
Top = 304
|
||||||
|
end
|
||||||
|
object frxTIFFExport1: TfrxTIFFExport
|
||||||
|
ShowDialog = False
|
||||||
|
UseFileCache = True
|
||||||
|
ShowProgress = True
|
||||||
|
Monochrome = True
|
||||||
|
Left = 144
|
||||||
|
Top = 240
|
||||||
|
end
|
||||||
|
object frxPDFExport1: TfrxPDFExport
|
||||||
|
ShowDialog = False
|
||||||
|
UseFileCache = True
|
||||||
|
ShowProgress = True
|
||||||
|
PrintOptimized = False
|
||||||
|
Outline = False
|
||||||
|
Author = 'FastReport'#174
|
||||||
|
Subject = 'FastReport'#174' PDF export'
|
||||||
|
Background = False
|
||||||
|
Creator = 'FastReport'#174' (http://www.fast-report.com)'
|
||||||
|
HTMLTags = False
|
||||||
|
Left = 144
|
||||||
|
Top = 280
|
||||||
|
end
|
||||||
|
object frxBMPExport1: TfrxBMPExport
|
||||||
|
ShowDialog = False
|
||||||
|
UseFileCache = True
|
||||||
|
ShowProgress = True
|
||||||
|
Monochrome = True
|
||||||
|
Left = 144
|
||||||
|
Top = 320
|
||||||
|
end
|
||||||
|
end
|
||||||
308
Base/uEditorPreview.pas
Normal file
308
Base/uEditorPreview.pas
Normal file
@ -0,0 +1,308 @@
|
|||||||
|
unit uEditorPreview;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uEditorBase, ImgList, PngImageList, StdActns, ActnList, TBX,
|
||||||
|
TB2Item, TB2Dock, TB2Toolbar, JvExControls, JvComponent, JvNavigationPane,
|
||||||
|
TB2ExtItems, TBXExtItems, uViewPreview, frxClass, ComCtrls, frxPreview,
|
||||||
|
JvFormAutoSize, JvAppStorage, JvAppRegistryStorage, JvFormPlacement,
|
||||||
|
pngimage, frxExportImage, frxExportPDF, frxDCtrl, frxDMPExport,
|
||||||
|
frxGradient, frxChBox, frxCross, frxRich, frxChart, frxOLE, frxBarcode,
|
||||||
|
ExtCtrls, JvComponentBase;
|
||||||
|
|
||||||
|
type
|
||||||
|
IEditorPreview = interface(IEditorBase)
|
||||||
|
['{7E79BEFC-C817-43D9-A60F-9573D1777068}']
|
||||||
|
function GetReport: TfrxReport;
|
||||||
|
property Report: TfrxReport read GetReport;
|
||||||
|
procedure LoadFromStream(AStream : TStream);
|
||||||
|
function ExportToFile : String;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfEditorPreview = class(TfEditorBase, IEditorPreview)
|
||||||
|
TBXToolbar1: TTBXToolbar;
|
||||||
|
TBXItem7: TTBXItem;
|
||||||
|
TBXItem33: TTBXItem;
|
||||||
|
TBXItem34: TTBXItem;
|
||||||
|
TBXItem39: TTBXItem;
|
||||||
|
TBXSeparatorItem14: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem15: TTBXSeparatorItem;
|
||||||
|
TBXSeparatorItem16: TTBXSeparatorItem;
|
||||||
|
cbZoom: TTBXComboBoxItem;
|
||||||
|
PreviewActionList: TActionList;
|
||||||
|
PreviewSmallImageList: TPngImageList;
|
||||||
|
PreviewLargeImageList: TPngImageList;
|
||||||
|
actPrimeraPagina: TAction;
|
||||||
|
actUltimaPagina: TAction;
|
||||||
|
actPaginaAnterior: TAction;
|
||||||
|
actPaginaSiguiente: TAction;
|
||||||
|
TBXItem35: TTBXItem;
|
||||||
|
TBXItem36: TTBXItem;
|
||||||
|
actZoomIn: TAction;
|
||||||
|
actZoomOut: TAction;
|
||||||
|
actTodaPagina: TAction;
|
||||||
|
actAnchoPagina: TAction;
|
||||||
|
TBXSeparatorItem17: TTBXSeparatorItem;
|
||||||
|
TBXItem37: TTBXItem;
|
||||||
|
TBXItem40: TTBXItem;
|
||||||
|
TBXItem41: TTBXItem;
|
||||||
|
TBXItem42: TTBXItem;
|
||||||
|
frxReport1: TfrxReport;
|
||||||
|
actToolHand: TAction;
|
||||||
|
actToolZoom: TAction;
|
||||||
|
tbxZoom: TTBXItem;
|
||||||
|
tbxMano: TTBXItem;
|
||||||
|
TBXSeparatorItem18: TTBXSeparatorItem;
|
||||||
|
frxBarCodeObject1: TfrxBarCodeObject;
|
||||||
|
frxOLEObject1: TfrxOLEObject;
|
||||||
|
frxChartObject1: TfrxChartObject;
|
||||||
|
frxRichObject1: TfrxRichObject;
|
||||||
|
frxCrossObject1: TfrxCrossObject;
|
||||||
|
frxCheckBoxObject1: TfrxCheckBoxObject;
|
||||||
|
frxGradientObject1: TfrxGradientObject;
|
||||||
|
frxDotMatrixExport1: TfrxDotMatrixExport;
|
||||||
|
frxDialogControls1: TfrxDialogControls;
|
||||||
|
frxTIFFExport1: TfrxTIFFExport;
|
||||||
|
frxPDFExport1: TfrxPDFExport;
|
||||||
|
frxBMPExport1: TfrxBMPExport;
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure actPrimeraPaginaExecute(Sender: TObject);
|
||||||
|
procedure actUltimaPaginaExecute(Sender: TObject);
|
||||||
|
procedure actPaginaAnteriorExecute(Sender: TObject);
|
||||||
|
procedure actPaginaSiguienteExecute(Sender: TObject);
|
||||||
|
procedure actZoomInExecute(Sender: TObject);
|
||||||
|
procedure actTodaPaginaExecute(Sender: TObject);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure FormResize(Sender: TObject);
|
||||||
|
procedure actImprimirExecute(Sender: TObject);
|
||||||
|
procedure actAnchoPaginaExecute(Sender: TObject);
|
||||||
|
procedure actZoomOutExecute(Sender: TObject);
|
||||||
|
procedure cbZoomItemClick(Sender: TObject);
|
||||||
|
procedure actToolHandExecute(Sender: TObject);
|
||||||
|
procedure actToolZoomExecute(Sender: TObject);
|
||||||
|
private
|
||||||
|
FPreview : TfrViewPreview;
|
||||||
|
function GetReport: TfrxReport;
|
||||||
|
procedure OnPageChanged(Sender: TfrxPreview; PageNo: Integer);
|
||||||
|
procedure UpdateZoom;
|
||||||
|
public
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
property Report: TfrxReport read GetReport;
|
||||||
|
procedure Print;
|
||||||
|
procedure LoadFromStream(AStream : TStream);
|
||||||
|
function ExportToFile : String;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
fEditorPreview: TfEditorPreview;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
frxRes, frxUtils, frxPrinter, uCustomEditor, uSysFunc,
|
||||||
|
frxFormUtils;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
{ TfEditorBase1 }
|
||||||
|
|
||||||
|
function TfEditorPreview.GetReport: TfrxReport;
|
||||||
|
begin
|
||||||
|
Result := frxReport1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TfEditorPreview.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
UpdateZoom;
|
||||||
|
actPrimeraPagina.Execute;
|
||||||
|
FPreview.ShowEmbedded(Self);
|
||||||
|
Report.ShowPreparedReport;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actPrimeraPaginaExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPreview.Preview.First;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actUltimaPaginaExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPreview.Preview.Last;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actPaginaAnteriorExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPreview.Preview.Prior;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actPaginaSiguienteExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPreview.Preview.Next;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actZoomInExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPreview.Preview.Zoom := FPreview.Preview.Zoom + 0.25;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.UpdateZoom;
|
||||||
|
begin
|
||||||
|
cbZoom.Text := IntToStr(Round(FPreview.Preview.Zoom * 100)) + '%';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actTodaPaginaExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPreview.Preview.ZoomMode := zmWholePage;
|
||||||
|
UpdateZoom;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.FormDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPreview.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.FormResize(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
UpdateZoom;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actImprimirExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if not frxPrinters.HasPhysicalPrinters then
|
||||||
|
frxErrorMsg(frxResources.Get('clNoPrinters'))
|
||||||
|
else
|
||||||
|
FPreview.Preview.Print;
|
||||||
|
Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actAnchoPaginaExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPreview.Preview.ZoomMode := zmPageWidth;
|
||||||
|
UpdateZoom;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actZoomOutExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FPreview.Preview.Zoom := FPreview.Preview.Zoom - 0.25;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.cbZoomItemClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
s: String;
|
||||||
|
begin
|
||||||
|
FPreview.Preview.SetFocus;
|
||||||
|
|
||||||
|
if cbZoom.ItemIndex = 6 then
|
||||||
|
actAnchoPagina.Execute
|
||||||
|
else if cbZoom.ItemIndex = 7 then
|
||||||
|
actTodaPagina.Execute
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
s := cbZoom.Text;
|
||||||
|
|
||||||
|
if Pos('%', s) <> 0 then
|
||||||
|
s[Pos('%', s)] := ' ';
|
||||||
|
while Pos(' ', s) <> 0 do
|
||||||
|
Delete(s, Pos(' ', s), 1);
|
||||||
|
|
||||||
|
if s <> '' then
|
||||||
|
FPreview.Preview.Zoom := frxStrToFloat(s) / 100;
|
||||||
|
end;
|
||||||
|
|
||||||
|
UpdateZoom;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actToolHandExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if tbxMano.Checked then
|
||||||
|
FPreview.Preview.Tool := ptHand
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.actToolZoomExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if tbxZoom.Checked then
|
||||||
|
FPreview.Preview.Tool := ptZoom;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.OnPageChanged(Sender: TfrxPreview;
|
||||||
|
PageNo: Integer);
|
||||||
|
var
|
||||||
|
FirstPass: Boolean;
|
||||||
|
begin
|
||||||
|
FirstPass := False;
|
||||||
|
if Sender.PreviewPages <> nil then
|
||||||
|
FirstPass := not Sender.PreviewPages.Engine.FinalPass;
|
||||||
|
|
||||||
|
if FirstPass then
|
||||||
|
StatusBar.Panels[0].Text := frxResources.Get('clFirstPass') +
|
||||||
|
IntToStr(Sender.PageCount)
|
||||||
|
else
|
||||||
|
StatusBar.Panels[0].Text := Format(frxResources.Get('clPageOf'),
|
||||||
|
[PageNo, Sender.PageCount]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TfEditorPreview.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
|
||||||
|
with cbZoom.Strings do
|
||||||
|
begin
|
||||||
|
Clear;
|
||||||
|
Add('25%');
|
||||||
|
Add('50%');
|
||||||
|
Add('75%');
|
||||||
|
Add('100%');
|
||||||
|
Add('150%');
|
||||||
|
Add('200%');
|
||||||
|
Add(frxResources.Get('zmPageWidth'));
|
||||||
|
Add(frxResources.Get('zmWholePage'));
|
||||||
|
end;
|
||||||
|
|
||||||
|
FPreview := TfrViewPreview.Create(Self);
|
||||||
|
Report.Preview := FPreview.Preview;
|
||||||
|
FPreview.Preview.OnPageChanged := OnPageChanged;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.Print;
|
||||||
|
begin
|
||||||
|
actImprimir.Execute;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfEditorPreview.ExportToFile: String;
|
||||||
|
var
|
||||||
|
AFile : String;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
AFile := DarFicheroTIFFTemporal;
|
||||||
|
frxTIFFExport1.SeparateFiles := False;
|
||||||
|
frxTIFFExport1.DefaultPath := ExtractFilePath(AFile);
|
||||||
|
frxTIFFExport1.FileName := ExtractFileName(AFile);
|
||||||
|
try
|
||||||
|
if Report.Export(frxTIFFExport1) then
|
||||||
|
Result := AFile;
|
||||||
|
finally
|
||||||
|
frxTIFFExport1.DefaultPath := '';
|
||||||
|
frxTIFFExport1.FileName := '';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.LoadFromStream(AStream: TStream);
|
||||||
|
begin
|
||||||
|
Report.PreviewPages.LoadFromStream(AStream);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
108
Base/uEditorUtils.pas
Normal file
108
Base/uEditorUtils.pas
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
unit uEditorUtils;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
uEditorItem, uDADataTable, Controls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TFuncItemEditor = function(ABizObject : TDADataTableRules) : TModalResult;
|
||||||
|
TProcItemEditor = procedure(ABizObject : TDADataTableRules);
|
||||||
|
TFuncGetEditor = function : IEditorItem;
|
||||||
|
|
||||||
|
TEditorType = (etItem, etItems, etSelectItems);
|
||||||
|
|
||||||
|
procedure RegisterEditor(const IID : TGUID; const AFuncItemEditor : TFuncItemEditor;
|
||||||
|
const AType : TEditorType);
|
||||||
|
|
||||||
|
function ShowEditor(const IID : TGUID; ABizObject : TDADataTableRules;
|
||||||
|
const AType : TEditorType) : TModalResult;
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
Dialogs, Classes, ComObj, SysUtils;
|
||||||
|
|
||||||
|
var
|
||||||
|
FBizEditorsList : TList;
|
||||||
|
|
||||||
|
type
|
||||||
|
PBizEditorsRec = ^TBizEditorsRec;
|
||||||
|
TBizEditorsRec = record
|
||||||
|
IID : String;
|
||||||
|
ItemEditor : TFuncItemEditor;
|
||||||
|
ItemsEditor : TFuncItemEditor;
|
||||||
|
SelectItemsEditor : TFuncItemEditor;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function FindBizEditors(const IID : TGUID) : PBizEditorsRec;
|
||||||
|
var
|
||||||
|
P: PBizEditorsRec;
|
||||||
|
I: Integer;
|
||||||
|
AIID : String;
|
||||||
|
begin
|
||||||
|
Result := NIL;
|
||||||
|
AIID := GUIDToString(IID);
|
||||||
|
if FBizEditorsList <> nil then
|
||||||
|
for I := 0 to FBizEditorsList.Count-1 do
|
||||||
|
begin
|
||||||
|
P := FBizEditorsList[I];
|
||||||
|
if (AIID = P^.IID) then
|
||||||
|
begin
|
||||||
|
Result := P;
|
||||||
|
Break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure RegisterEditor(const IID : TGUID; const AFuncItemEditor : TFuncItemEditor;
|
||||||
|
const AType : TEditorType);
|
||||||
|
var
|
||||||
|
P: PBizEditorsRec;
|
||||||
|
begin
|
||||||
|
P := NIL;
|
||||||
|
if FBizEditorsList = nil then
|
||||||
|
FBizEditorsList := TList.Create;
|
||||||
|
|
||||||
|
P := FindBizEditors(IID);
|
||||||
|
if not Assigned(P) then
|
||||||
|
New(P);
|
||||||
|
try
|
||||||
|
P^.IID := GUIDToString(IID);
|
||||||
|
case AType of
|
||||||
|
etItem : P^.ItemEditor := AFuncItemEditor;
|
||||||
|
etItems : P^.ItemsEditor := AFuncItemEditor;
|
||||||
|
etSelectItems : P^.SelectItemsEditor := AFuncItemEditor;
|
||||||
|
end;
|
||||||
|
FBizEditorsList.Insert(0, P);
|
||||||
|
except
|
||||||
|
on E: EConvertError do
|
||||||
|
ShowMessage(E.Message);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function ShowEditor(const IID : TGUID; ABizObject : TDADataTableRules;
|
||||||
|
const AType : TEditorType) : TModalResult;
|
||||||
|
var
|
||||||
|
P: PBizEditorsRec;
|
||||||
|
begin
|
||||||
|
P := FindBizEditors(IID);
|
||||||
|
|
||||||
|
if Assigned(P) then
|
||||||
|
case AType of
|
||||||
|
etItem : Result := P.ItemEditor(ABizObject);
|
||||||
|
etItems : Result := P.ItemsEditor(ABizObject);
|
||||||
|
etSelectItems : Result := P.SelectItemsEditor(ABizObject);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
initialization
|
||||||
|
FBizEditorsList := TList.Create;
|
||||||
|
|
||||||
|
finalization
|
||||||
|
FBizEditorsList.Free;
|
||||||
|
|
||||||
|
end.
|
||||||
20
Base/uExceptions.pas
Normal file
20
Base/uExceptions.pas
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
unit uExceptions;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
uDADataTable;
|
||||||
|
|
||||||
|
const
|
||||||
|
AUF_FKVIOLATION = 'violation of FOREIGN KEY';
|
||||||
|
AUF_HAVEVALUE = 'must have a value';
|
||||||
|
|
||||||
|
type
|
||||||
|
IApplyUpdateFailedException = interface
|
||||||
|
['{B090A762-3D65-405E-A810-14DB4F6E8F82}']
|
||||||
|
procedure ShowApplyUpdateFailed (const Error: EDAApplyUpdateFailed);
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
end.
|
||||||
249
Base/uSysFunc.pas
Normal file
249
Base/uSysFunc.pas
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
{
|
||||||
|
===============================================================================
|
||||||
|
Copyright (©) 2002. Rodax Software.
|
||||||
|
===============================================================================
|
||||||
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
||||||
|
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
|
||||||
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
||||||
|
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
|
||||||
|
bajo el que se suministra.
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
Web: www.rodax-software.com
|
||||||
|
===============================================================================
|
||||||
|
Fecha primera versión: 01-11-2002
|
||||||
|
Versión actual: 1.0.0
|
||||||
|
Fecha versión actual: 01-11-2002
|
||||||
|
===============================================================================
|
||||||
|
Modificaciones:
|
||||||
|
|
||||||
|
Fecha Comentarios
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
===============================================================================
|
||||||
|
}
|
||||||
|
|
||||||
|
unit uSysFunc;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
{ Funciones del sistema }
|
||||||
|
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean) : Boolean;
|
||||||
|
function DarRutaTemporal : String;
|
||||||
|
function DarFicheroTemporal : String;
|
||||||
|
function DarFicheroBMPTemporal : String;
|
||||||
|
function DarFicheroTIFFTemporal : String;
|
||||||
|
function DarFicheroExportar (var Fichero : String) : Boolean;
|
||||||
|
function DarVersionFichero (Executable : String) : String;
|
||||||
|
function DarFechaFichero (Executable : String) : String;
|
||||||
|
procedure CopiarFichero(const Origen, Destino: string);
|
||||||
|
procedure DoDelTree( TheDir : String);
|
||||||
|
procedure Deltree(DirToKill : String; KillChoosenDir : Boolean);
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils, Windows, Dialogs,
|
||||||
|
|
||||||
|
Messages, Classes, Graphics, Controls, Forms,
|
||||||
|
StdCtrls;
|
||||||
|
|
||||||
|
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean): Boolean;
|
||||||
|
var
|
||||||
|
StartupInfo : TStartupInfo;
|
||||||
|
ProcessInfo : TProcessInformation;
|
||||||
|
begin
|
||||||
|
{setup the startup information for the application }
|
||||||
|
FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
|
||||||
|
with StartupInfo do
|
||||||
|
begin
|
||||||
|
cb := SizeOf(TStartupInfo);
|
||||||
|
dwFlags:= STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
|
||||||
|
if Oculto then
|
||||||
|
wShowWindow:= SW_HIDE
|
||||||
|
else
|
||||||
|
wShowWindow:= SW_SHOWNORMAL;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Result := CreateProcess(nil,PChar(LineaComando), nil, nil, False,
|
||||||
|
NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo);
|
||||||
|
if Esperar then
|
||||||
|
if Result then
|
||||||
|
begin
|
||||||
|
WaitForInputIdle(ProcessInfo.hProcess, INFINITE);
|
||||||
|
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarRutaTemporal: String;
|
||||||
|
var
|
||||||
|
nBufferLength : DWORD; // size, in characters, of the buffer
|
||||||
|
lpBuffer : PChar; // address of buffer for temp. path
|
||||||
|
begin
|
||||||
|
nBufferLength := MAX_PATH + 1; // initialize
|
||||||
|
GetMem( lpBuffer, nBufferLength );
|
||||||
|
try
|
||||||
|
if GetTempPath( nBufferLength, lpBuffer ) <> 0 then
|
||||||
|
Result := StrPas( lpBuffer )
|
||||||
|
else
|
||||||
|
Result := '';
|
||||||
|
finally
|
||||||
|
FreeMem( lpBuffer );
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFicheroTemporal : String;
|
||||||
|
var
|
||||||
|
Buf: array [0..MAX_PATH] of Char;
|
||||||
|
RutaTmp : string;
|
||||||
|
begin
|
||||||
|
RutaTmp := DarRutaTemporal;
|
||||||
|
if GetTempFileName(PChar(RutaTmp), 'tmp', 0, Buf) <> 0 then
|
||||||
|
SetString(Result, Buf, StrLen(Buf))
|
||||||
|
else
|
||||||
|
Result := '';
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFicheroTIFFTemporal : String;
|
||||||
|
var
|
||||||
|
Cadena : String;
|
||||||
|
begin
|
||||||
|
Cadena := DarFicheroTemporal;
|
||||||
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'tif';
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFicheroBMPTemporal : String;
|
||||||
|
var
|
||||||
|
Cadena : String;
|
||||||
|
begin
|
||||||
|
Cadena := DarFicheroTemporal;
|
||||||
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'bmp';
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFicheroExportar (var Fichero : String) : Boolean;
|
||||||
|
var
|
||||||
|
DialogoSalvar : TSaveDialog;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
DialogoSalvar := TSaveDialog.Create(NIL);
|
||||||
|
try
|
||||||
|
with DialogoSalvar do
|
||||||
|
begin
|
||||||
|
DefaultExt := 'doc';
|
||||||
|
Filter := 'Documento de Word (*.doc)|*.doc';
|
||||||
|
FilterIndex := 0;
|
||||||
|
Options := [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist, ofEnableSizing];
|
||||||
|
end;
|
||||||
|
Result := DialogoSalvar.Execute;
|
||||||
|
if Result then
|
||||||
|
Fichero := DialogoSalvar.FileName;
|
||||||
|
finally
|
||||||
|
DialogoSalvar.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarVersionFichero (Executable : String) : String;
|
||||||
|
var
|
||||||
|
Size, Size2: DWord;
|
||||||
|
Pt, Pt2: Pointer;
|
||||||
|
begin
|
||||||
|
Size := GetFileVersionInfoSize(PChar (Executable), Size2);
|
||||||
|
if Size > 0 then
|
||||||
|
begin
|
||||||
|
GetMem (Pt, Size);
|
||||||
|
try
|
||||||
|
GetFileVersionInfo (PChar (Executable), 0, Size, Pt);
|
||||||
|
VerQueryValue (Pt, '\', Pt2, Size2);
|
||||||
|
with TVSFixedFileInfo (Pt2^) do
|
||||||
|
begin
|
||||||
|
Result:= IntToStr (HiWord (dwFileVersionMS)) + '.' +
|
||||||
|
IntToStr (LoWord (dwFileVersionMS)) + '.' +
|
||||||
|
IntToStr (HiWord (dwFileVersionLS)) + '.' +
|
||||||
|
IntToStr (LoWord (dwFileVersionLS));
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeMem (Pt);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFechaFichero (Executable : String) : String;
|
||||||
|
var
|
||||||
|
FileTime, LocalFileTime : TFileTime;
|
||||||
|
SystemTime : TSystemTime;
|
||||||
|
hFile : Integer;
|
||||||
|
begin
|
||||||
|
hFile := FileOpen(Executable, fmShareDenyNone);
|
||||||
|
try
|
||||||
|
if hFile <> -1 then
|
||||||
|
begin
|
||||||
|
Windows.GetFileTime( hFile, nil, nil, @FileTime ); // ftLasWriteTime
|
||||||
|
// Change the file time to local time
|
||||||
|
FileTimeToLocalFileTime( FileTime, LocalFileTime );
|
||||||
|
if FileTimeToSystemTime(LocalFileTime, SystemTime) then
|
||||||
|
Result := DateTimeToStr(SystemTimeToDateTime(SystemTime));
|
||||||
|
end; // if hFile <> 0
|
||||||
|
finally
|
||||||
|
FileClose( hFile );
|
||||||
|
end; // try
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure CopiarFichero(const Origen, Destino: string);
|
||||||
|
var
|
||||||
|
lpMsgBuf : pchar;
|
||||||
|
begin
|
||||||
|
CopyFile(PChar(Origen), PChar(Destino), FALSE);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure DoDelTree(TheDir : String);
|
||||||
|
Var
|
||||||
|
Search : TSearchRec;
|
||||||
|
rec : word;
|
||||||
|
Begin
|
||||||
|
If TheDir[Length(TheDir)] <> '\' Then TheDir := TheDir + '\';
|
||||||
|
rec := SysUtils.FindFirst(TheDir + '*.*', faAnyFile, Search);
|
||||||
|
While rec = 0 Do
|
||||||
|
Begin
|
||||||
|
If Search.Name[1] <> '.' Then
|
||||||
|
Begin
|
||||||
|
// Is this a directory?
|
||||||
|
If (Search.Attr And faDirectory) = faDirectory Then
|
||||||
|
Begin
|
||||||
|
// If so, lets call DelTree again using this new
|
||||||
|
// directory as the TheDir parameter.
|
||||||
|
DoDelTree(TheDir + Search.Name);
|
||||||
|
// Not that all of the files are gone from this directoy,
|
||||||
|
// we can remove the directory.
|
||||||
|
RmDir(TheDir + Search.Name);
|
||||||
|
End
|
||||||
|
Else
|
||||||
|
Begin
|
||||||
|
// We found a file.
|
||||||
|
// Now lets reset its attributes so we don't have any problems
|
||||||
|
// deleting them.
|
||||||
|
SysUtils.FileSetAttr(TheDir + Search.Name, 0);
|
||||||
|
SysUtils.DeleteFile(TheDir + Search.Name);
|
||||||
|
Application.ProcessMessages;
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
rec := SysUtils.FindNext(Search);
|
||||||
|
End;
|
||||||
|
SysUtils.FindClose(Search);
|
||||||
|
End;
|
||||||
|
|
||||||
|
procedure Deltree(DirToKill : String; KillChoosenDir : Boolean);
|
||||||
|
begin
|
||||||
|
{$I-}
|
||||||
|
DoDelTree(DirToKill);
|
||||||
|
// If we want to delete the choosen directory.
|
||||||
|
If KillChoosenDir Then
|
||||||
|
RmDir(DirToKill);
|
||||||
|
//modified
|
||||||
|
if IOResult <> 0 then
|
||||||
|
ShowMessage('Could not delete ' + DirToKill);
|
||||||
|
//{$I}
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
28
Base/uVentanaEspera.dfm
Normal file
28
Base/uVentanaEspera.dfm
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
object Form1: TForm1
|
||||||
|
Left = 825
|
||||||
|
Top = 391
|
||||||
|
Width = 299
|
||||||
|
Height = 129
|
||||||
|
Caption = 'Form1'
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = False
|
||||||
|
Position = poOwnerFormCenter
|
||||||
|
OnClose = FormClose
|
||||||
|
OnHide = FormHide
|
||||||
|
OnShow = FormShow
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object JvAnimate1: TJvAnimate
|
||||||
|
Left = 8
|
||||||
|
Top = 16
|
||||||
|
Width = 272
|
||||||
|
Height = 60
|
||||||
|
CommonAVI = aviCopyFiles
|
||||||
|
StopFrame = 81
|
||||||
|
end
|
||||||
|
end
|
||||||
52
Base/uVentanaEspera.pas
Normal file
52
Base/uVentanaEspera.pas
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
unit uVentanaEspera;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, StdCtrls, ComCtrls, JvExComCtrls, JvAnimate;
|
||||||
|
|
||||||
|
type
|
||||||
|
TForm1 = class(TForm)
|
||||||
|
JvAnimate1: TJvAnimate;
|
||||||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure FormHide(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
Form1: TForm1;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
begin
|
||||||
|
Action := caFree;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if not JvAnimate1.Active then
|
||||||
|
JvAnimate1.Active := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.FormHide(Sender: TObject);
|
||||||
|
begin
|
||||||
|
JvAnimate1.Active := False
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
// Application.CreateForm(TForm1, Form1);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
{ if Assigned(Form1) then
|
||||||
|
Form1.Close;}
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
BIN
Base/uViewBarraSeleccion.ddp
Normal file
BIN
Base/uViewBarraSeleccion.ddp
Normal file
Binary file not shown.
53
Base/uViewBarraSeleccion.dfm
Normal file
53
Base/uViewBarraSeleccion.dfm
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
inherited frViewBarraSeleccion: TfrViewBarraSeleccion
|
||||||
|
Width = 439
|
||||||
|
Height = 19
|
||||||
|
Align = alBottom
|
||||||
|
AutoScroll = False
|
||||||
|
Visible = False
|
||||||
|
object pnlSeleccion: TPanel
|
||||||
|
Left = 0
|
||||||
|
Top = -18
|
||||||
|
Width = 439
|
||||||
|
Height = 37
|
||||||
|
Align = alBottom
|
||||||
|
BevelOuter = bvNone
|
||||||
|
ParentBackground = True
|
||||||
|
TabOrder = 0
|
||||||
|
DesignSize = (
|
||||||
|
439
|
||||||
|
37)
|
||||||
|
object bSeleccionar: TButton
|
||||||
|
Left = 264
|
||||||
|
Top = 7
|
||||||
|
Width = 74
|
||||||
|
Height = 23
|
||||||
|
Action = actSeleccionar
|
||||||
|
Anchors = [akRight]
|
||||||
|
Default = True
|
||||||
|
ModalResult = 1
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object bCancelar: TButton
|
||||||
|
Left = 343
|
||||||
|
Top = 7
|
||||||
|
Width = 74
|
||||||
|
Height = 23
|
||||||
|
Action = actCancelar
|
||||||
|
Anchors = [akRight]
|
||||||
|
Cancel = True
|
||||||
|
ModalResult = 2
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object ActionListSeleccion: TActionList
|
||||||
|
Left = 8
|
||||||
|
Top = 5
|
||||||
|
object actSeleccionar: TAction
|
||||||
|
Caption = '&Seleccionar'
|
||||||
|
end
|
||||||
|
object actCancelar: TAction
|
||||||
|
Caption = '&Cancelar'
|
||||||
|
OnExecute = actCancelarExecute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
37
Base/uViewBarraSeleccion.pas
Normal file
37
Base/uViewBarraSeleccion.pas
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
unit uViewBarraSeleccion;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, StdCtrls, ActnList, ExtCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrViewBarraSeleccion = class(TfrViewBase)
|
||||||
|
pnlSeleccion: TPanel;
|
||||||
|
bSeleccionar: TButton;
|
||||||
|
bCancelar: TButton;
|
||||||
|
ActionListSeleccion: TActionList;
|
||||||
|
actSeleccionar: TAction;
|
||||||
|
actCancelar: TAction;
|
||||||
|
procedure actCancelarExecute(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frViewBarraSeleccion: TfrViewBarraSeleccion;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrViewBarraSeleccion.actCancelarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
Base/uViewBase.ddp
Normal file
BIN
Base/uViewBase.ddp
Normal file
Binary file not shown.
14
Base/uViewBase.dfm
Normal file
14
Base/uViewBase.dfm
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
object frViewBase: TfrViewBase
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 302
|
||||||
|
Height = 222
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
TabOrder = 0
|
||||||
|
ReadOnly = False
|
||||||
|
end
|
||||||
33
Base/uViewBase.pas
Normal file
33
Base/uViewBase.pas
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
unit uViewBase;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uGUIBase, uCustomView, JvComponent, JvFormAutoSize;
|
||||||
|
|
||||||
|
type
|
||||||
|
IViewInicio = interface(ICustomView)
|
||||||
|
['{B567620D-8FE7-4ADC-B9BD-AFC639ED1923}']
|
||||||
|
function Control : TControl;
|
||||||
|
end;
|
||||||
|
|
||||||
|
IViewBase = interface(ICustomView)
|
||||||
|
['{E1E559AC-31E8-4E5F-8655-428D12467518}']
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfrViewBase = class(TCustomView, IViewBase)
|
||||||
|
published
|
||||||
|
property Modified;
|
||||||
|
property OnGetModified;
|
||||||
|
property ReadOnly;
|
||||||
|
property Valid;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
{ TfrViewBase }
|
||||||
|
|
||||||
|
end.
|
||||||
20
Base/uViewCategorias.dfm
Normal file
20
Base/uViewCategorias.dfm
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
inherited frViewCategorias: TfrViewCategorias
|
||||||
|
Width = 256
|
||||||
|
object DBGrid1: TDBGrid [0]
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 241
|
||||||
|
Height = 121
|
||||||
|
DataSource = DADataSource
|
||||||
|
TabOrder = 0
|
||||||
|
TitleFont.Charset = DEFAULT_CHARSET
|
||||||
|
TitleFont.Color = clWindowText
|
||||||
|
TitleFont.Height = -11
|
||||||
|
TitleFont.Name = 'MS Sans Serif'
|
||||||
|
TitleFont.Style = []
|
||||||
|
end
|
||||||
|
object DADataSource: TDADataSource
|
||||||
|
Left = 8
|
||||||
|
Top = 136
|
||||||
|
end
|
||||||
|
end
|
||||||
30
Base/uViewCategorias.pas
Normal file
30
Base/uViewCategorias.pas
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
unit uViewCategorias;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, StdCtrls, DBCtrls, DB, uDADataTable, Grids, DBGrids,
|
||||||
|
JvComponent, JvFormAutoSize;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrViewCategorias = class(TfrViewBase)
|
||||||
|
DADataSource: TDADataSource;
|
||||||
|
DBGrid1: TDBGrid;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frViewCategorias: TfrViewCategorias;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterClass(TfrViewCategorias);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
|
||||||
|
UnRegisterClass(TfrViewCategorias);
|
||||||
|
|
||||||
|
end.
|
||||||
182
Base/uViewContenido.dfm
Normal file
182
Base/uViewContenido.dfm
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
inherited frViewContenido: TfrViewContenido
|
||||||
|
Width = 443
|
||||||
|
Height = 270
|
||||||
|
Align = alClient
|
||||||
|
object cxGrid: TcxGrid
|
||||||
|
Left = 0
|
||||||
|
Top = 25
|
||||||
|
Width = 443
|
||||||
|
Height = 245
|
||||||
|
Align = alClient
|
||||||
|
TabOrder = 0
|
||||||
|
LookAndFeel.Kind = lfOffice11
|
||||||
|
LookAndFeel.NativeStyle = True
|
||||||
|
object cxGridView: TcxGridDBTableView
|
||||||
|
NavigatorButtons.ConfirmDelete = False
|
||||||
|
FilterBox.Visible = fvNever
|
||||||
|
DataController.DataSource = DADataSource
|
||||||
|
DataController.Filter.Options = [fcoCaseInsensitive]
|
||||||
|
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText, dcoFocusTopRowAfterSorting]
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||||
|
DataController.Summary.FooterSummaryItems = <
|
||||||
|
item
|
||||||
|
Format = ',0.00 '#8364';-,0.00 '#8364
|
||||||
|
Kind = skSum
|
||||||
|
end>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsBehavior.AlwaysShowEditor = True
|
||||||
|
OptionsBehavior.CellHints = True
|
||||||
|
OptionsBehavior.FocusCellOnTab = True
|
||||||
|
OptionsBehavior.GoToNextCellOnEnter = True
|
||||||
|
OptionsBehavior.BestFitMaxRecordCount = 20
|
||||||
|
OptionsBehavior.FocusCellOnCycle = True
|
||||||
|
OptionsCustomize.ColumnFiltering = False
|
||||||
|
OptionsCustomize.ColumnGrouping = False
|
||||||
|
OptionsCustomize.ColumnMoving = False
|
||||||
|
OptionsCustomize.ColumnSorting = False
|
||||||
|
OptionsCustomize.DataRowSizing = True
|
||||||
|
OptionsData.Appending = True
|
||||||
|
OptionsSelection.MultiSelect = True
|
||||||
|
OptionsSelection.UnselectFocusedRecordOnExit = False
|
||||||
|
OptionsView.CellEndEllipsis = True
|
||||||
|
OptionsView.CellAutoHeight = True
|
||||||
|
OptionsView.ColumnAutoWidth = True
|
||||||
|
OptionsView.Footer = True
|
||||||
|
OptionsView.GridLineColor = cl3DLight
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
OptionsView.HeaderEndEllipsis = True
|
||||||
|
OptionsView.Indicator = True
|
||||||
|
OptionsView.NewItemRowInfoText = 'Click here to add a new row'
|
||||||
|
Styles.ContentEven = cxStyleEven
|
||||||
|
Styles.ContentOdd = cxStyleOdd
|
||||||
|
Styles.Inactive = cxStyleSelection
|
||||||
|
Styles.Selection = cxStyleSelection
|
||||||
|
end
|
||||||
|
object cxGridLevel: TcxGridLevel
|
||||||
|
GridView = cxGridView
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object ToolBar1: TToolBar
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 443
|
||||||
|
Height = 25
|
||||||
|
Caption = 'ToolBar1'
|
||||||
|
EdgeBorders = []
|
||||||
|
EdgeInner = esNone
|
||||||
|
EdgeOuter = esNone
|
||||||
|
Flat = True
|
||||||
|
Images = ContenidoImageList
|
||||||
|
List = True
|
||||||
|
ShowCaptions = True
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object ActionListContenido: TActionList
|
||||||
|
Left = 8
|
||||||
|
Top = 104
|
||||||
|
object actAnadir: TAction
|
||||||
|
Caption = 'A'#241'adir'
|
||||||
|
ImageIndex = 0
|
||||||
|
OnExecute = actAnadirExecute
|
||||||
|
end
|
||||||
|
object actEliminar: TAction
|
||||||
|
Caption = 'Eliminar'
|
||||||
|
ImageIndex = 1
|
||||||
|
OnExecute = actEliminarExecute
|
||||||
|
OnUpdate = actEliminarUpdate
|
||||||
|
end
|
||||||
|
object actSubir: TAction
|
||||||
|
Caption = 'Subir'
|
||||||
|
ImageIndex = 2
|
||||||
|
OnExecute = actSubirExecute
|
||||||
|
OnUpdate = actSubirUpdate
|
||||||
|
end
|
||||||
|
object actBajar: TAction
|
||||||
|
Caption = 'Bajar'
|
||||||
|
ImageIndex = 3
|
||||||
|
OnExecute = actBajarExecute
|
||||||
|
OnUpdate = actBajarUpdate
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object DADataSource: TDADataSource
|
||||||
|
DataTable = dmPresupuestos.tbl_DetallesPresupuestos
|
||||||
|
Left = 8
|
||||||
|
Top = 136
|
||||||
|
end
|
||||||
|
object ContenidoImageList: TPngImageList
|
||||||
|
PngImages = <
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000D04944415478DA
|
||||||
|
6364C0062630FCC72A5EC0C0882EC488CB80191909706EDDBA750CAF767D6260
|
||||||
|
5830240DF8F9FB3743EBE6CD780CC011602003409A7F0071EF8E1D10030C30D5
|
||||||
|
31A23B1706609AB1E23F7FC0F4FA2967B01B408CE6A3B76E815D856100319ABF
|
||||||
|
FFFAC570EEC103540340218D0C92EDECE01AD79E398335ACE106305CC0942CAC
|
||||||
|
77871BB0F5E2454820620138A331D3CB09EEECBD57AF929E0E629DADC106FCF9
|
||||||
|
F70F1E602419106A67C6F01DE40260805D7AFC9874037C2C0D194EDDBD8B1260
|
||||||
|
241900A6D103178B01000648ED7B1FCA93F30000000049454E44AE426082}
|
||||||
|
Name = 'PngImage0'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD2520000006E4944415478DA
|
||||||
|
63FCFFFF3F03258071D40006C6397A1214990036203925952CCD73E7CCC66100
|
||||||
|
C85BBF7F32307CFDC4C0F0FD2B03C33710FD05487F46E0374F19E6FE964032E0
|
||||||
|
CF6F840120CD200D5F3F43357E42F0416C90013FBFA119B0B099742FC00CA028
|
||||||
|
10073E1D0C7D030077CE5E397DD56C480000000049454E44AE426082}
|
||||||
|
Name = 'PngImage1'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000E14944415478DA
|
||||||
|
63FCFFFF3F032580717019C0C8C88822E9D770F9FFA6065D1441740B711A00D2
|
||||||
|
1C1DA5CA307DC64586037DE68C241900D3FCF10B23C39123CF19AE5EBECF7076
|
||||||
|
B623235106206BFEF899114C3FBAFB94E1C4D1AB0CB7567A33E235C0BFF1CAFF
|
||||||
|
9F3F7F3380B0B7BF2158F3BB8F4C0C7B36EE60F8F9E317C30F207EB1238C91A0
|
||||||
|
17AC728EFC77F234076BFEF2E631C3C1BDE7191E6E0C24CE0B20609CBAFFBFB9
|
||||||
|
A31DD0004606B6DF8F18766E3DC9F0726738F106E8C6EFFA6F68AC0617DFB8F6
|
||||||
|
30C3C783B1C41BA016BEF53FCCCF30FCF364326103C801C3C00000BEA5B3E15D
|
||||||
|
7F64240000000049454E44AE426082}
|
||||||
|
Name = 'PngImage2'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000DF4944415478DA
|
||||||
|
63FCFFFF3F032580717019C0C8C808A643DA6E80057FFDFACDF0F327041FE833
|
||||||
|
074BA25B88D380982805869FBF18183E7E61645830EF34C3B12936C41BE0D770
|
||||||
|
F97F74942A58F39123CF19AE5EBECF7076B623F106B8579EFB1F1CAACDF0F133
|
||||||
|
23C3E58BCF18CE9FBDC57079A11B6103FC1BAFFC87F9D9DBDF10EC8247779F32
|
||||||
|
9C387A95E1E78F5F0C3F80F8C58E3046BC2E70283AF91FA6F9DD472620666460
|
||||||
|
FBFD8861E7D6930C2F77863312E505E3D4FDFFCD1DED3034131D0620A016BEF5
|
||||||
|
BF85B5368A66920C000171F795FF91351334801C300C0C00007FBCB4E1E577C7
|
||||||
|
9A0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage3'
|
||||||
|
Background = clWindow
|
||||||
|
end>
|
||||||
|
Left = 8
|
||||||
|
Top = 64
|
||||||
|
Bitmap = {}
|
||||||
|
end
|
||||||
|
object cxStyleRepository: TcxStyleRepository
|
||||||
|
Left = 8
|
||||||
|
Top = 168
|
||||||
|
object cxStyleEven: TcxStyle
|
||||||
|
end
|
||||||
|
object cxStyleOdd: TcxStyle
|
||||||
|
AssignedValues = [svColor]
|
||||||
|
Color = 16119285
|
||||||
|
end
|
||||||
|
object cxStyleSelection: TcxStyle
|
||||||
|
AssignedValues = [svColor, svTextColor]
|
||||||
|
Color = clHighlight
|
||||||
|
TextColor = clHighlightText
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
134
Base/uViewContenido.pas
Normal file
134
Base/uViewContenido.pas
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
unit uViewContenido;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, cxStyles, ComCtrls, ToolWin, ActnList, cxCustomData,
|
||||||
|
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
|
||||||
|
uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||||||
|
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ImgList,
|
||||||
|
PngImageList, cxGrid;
|
||||||
|
|
||||||
|
type
|
||||||
|
IViewContenido = interface(IViewBase)
|
||||||
|
['{AF7F3CD1-3CD1-4F87-A4B4-FCB1320104F7}']
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfrViewContenido = class(TfrViewBase, IViewContenido)
|
||||||
|
ActionListContenido: TActionList;
|
||||||
|
cxGrid: TcxGrid;
|
||||||
|
cxGridView: TcxGridDBTableView;
|
||||||
|
cxGridLevel: TcxGridLevel;
|
||||||
|
DADataSource: TDADataSource;
|
||||||
|
actAnadir: TAction;
|
||||||
|
actEliminar: TAction;
|
||||||
|
actSubir: TAction;
|
||||||
|
actBajar: TAction;
|
||||||
|
ContenidoImageList: TPngImageList;
|
||||||
|
ToolBar1: TToolBar;
|
||||||
|
cxStyleRepository: TcxStyleRepository;
|
||||||
|
cxStyleEven: TcxStyle;
|
||||||
|
cxStyleOdd: TcxStyle;
|
||||||
|
cxStyleSelection: TcxStyle;
|
||||||
|
procedure actAnadirExecute(Sender: TObject);
|
||||||
|
procedure actEliminarExecute(Sender: TObject);
|
||||||
|
procedure actEliminarUpdate(Sender: TObject);
|
||||||
|
procedure actSubirUpdate(Sender: TObject);
|
||||||
|
procedure actBajarExecute(Sender: TObject);
|
||||||
|
procedure actBajarUpdate(Sender: TObject);
|
||||||
|
procedure actSubirExecute(Sender: TObject);
|
||||||
|
private
|
||||||
|
protected
|
||||||
|
public
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses uBizImportesDetalleBase, uDAInterfaces;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrViewContenido.actAnadirExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(DADataSource.DataTable) then
|
||||||
|
DADataSource.DataTable.Insert
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewContenido.actEliminarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
{ Este cambio nos permite poder eliminar varios conceptos de una sola vez
|
||||||
|
y no de uno en uno como antes. }
|
||||||
|
with cxGrid.ActiveView.DataController do
|
||||||
|
begin
|
||||||
|
DeleteSelection;
|
||||||
|
SelectRows(FocusedRowIndex, FocusedRowIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ if Assigned(DADataSource.DataTable) then
|
||||||
|
DADataSource.DataTable.Delete;}
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewContenido.actEliminarUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if Assigned(DADataSource.DataTable) then
|
||||||
|
(Sender as TAction).Enabled := (not DADataSource.DataTable.IsEmpty)
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewContenido.actSubirUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(cxGridView.Controller.FocusedRow) then
|
||||||
|
(Sender as TAction).Enabled := not (cxGridView.Controller.FocusedRow.IsFirst)
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewContenido.actBajarExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
AField : TDAField;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(DADataSource.DataTable) then
|
||||||
|
begin
|
||||||
|
AField := DADataSource.DataTable.FindField(fld_POSICION);
|
||||||
|
// Por si el registro está recién insertado y la posición todavía
|
||||||
|
// no ha sido asignada.
|
||||||
|
if (AField.AsInteger < 0) then
|
||||||
|
DADataSource.DataTable.Post;
|
||||||
|
|
||||||
|
IntercambiarPosiciones(DADataSource.DataTable, AField.AsInteger, AField.AsInteger + 1);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewContenido.actBajarUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(cxGridView.Controller.FocusedRow) then
|
||||||
|
(Sender as TAction).Enabled := not (cxGridView.Controller.FocusedRow.IsLast)
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewContenido.actSubirExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
AField : TDAField;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(DADataSource.DataTable) then
|
||||||
|
begin
|
||||||
|
AField := DADataSource.DataTable.FindField(fld_POSICION);
|
||||||
|
// Por si el registro está recién insertado y la posición todavía
|
||||||
|
// no ha sido asignada.
|
||||||
|
if (AField.AsInteger < 0) then
|
||||||
|
DADataSource.DataTable.Post;
|
||||||
|
|
||||||
|
IntercambiarPosiciones(DADataSource.DataTable, AField.AsInteger, AField.AsInteger - 1);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
Base/uViewDetallesFamilias.ddp
Normal file
BIN
Base/uViewDetallesFamilias.ddp
Normal file
Binary file not shown.
430
Base/uViewDetallesFamilias.dfm
Normal file
430
Base/uViewDetallesFamilias.dfm
Normal file
@ -0,0 +1,430 @@
|
|||||||
|
inherited frViewDetallesFamilias: TfrViewDetallesFamilias
|
||||||
|
Width = 638
|
||||||
|
inherited cxGrid: TcxGrid
|
||||||
|
Top = 22
|
||||||
|
Width = 638
|
||||||
|
Height = 248
|
||||||
|
inherited cxGridView: TcxGridDBTableView
|
||||||
|
OnEditing = cxGridViewEditing
|
||||||
|
OptionsView.Footer = False
|
||||||
|
object cxGridViewPOSICION: TcxGridDBColumn
|
||||||
|
DataBinding.FieldName = 'POSICION'
|
||||||
|
Visible = False
|
||||||
|
SortIndex = 0
|
||||||
|
SortOrder = soAscending
|
||||||
|
end
|
||||||
|
object cxGridViewTIPO: TcxGridDBColumn
|
||||||
|
DataBinding.FieldName = 'TIPO'
|
||||||
|
PropertiesClassName = 'TcxImageComboBoxProperties'
|
||||||
|
Properties.Images = TipoPngImageList
|
||||||
|
Properties.Items = <
|
||||||
|
item
|
||||||
|
Description = 'Concepto'
|
||||||
|
ImageIndex = 0
|
||||||
|
Value = 'C'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Description = 'T'#237'tulo de cap'#237'tulo'
|
||||||
|
ImageIndex = 1
|
||||||
|
Tag = 1
|
||||||
|
Value = 'T'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Description = 'Total de cap'#237'tulo'
|
||||||
|
ImageIndex = 2
|
||||||
|
Tag = 2
|
||||||
|
Value = 'S'
|
||||||
|
end>
|
||||||
|
Properties.LargeImages = TipoPngImageList
|
||||||
|
BestFitMaxWidth = 64
|
||||||
|
Styles.OnGetContentStyle = cxGridViewTIPOStylesGetContentStyle
|
||||||
|
Width = 56
|
||||||
|
end
|
||||||
|
object cxGridViewDESCRIPCION: TcxGridDBColumn
|
||||||
|
DataBinding.FieldName = 'DESCRIPCION'
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
Styles.OnGetContentStyle = cxGridViewTIPOStylesGetContentStyle
|
||||||
|
Width = 224
|
||||||
|
end
|
||||||
|
object cxGridViewCANTIDAD: TcxGridDBColumn
|
||||||
|
DataBinding.FieldName = 'CANTIDAD'
|
||||||
|
PropertiesClassName = 'TcxMaskEditProperties'
|
||||||
|
BestFitMaxWidth = 64
|
||||||
|
HeaderAlignmentHorz = taRightJustify
|
||||||
|
Styles.OnGetContentStyle = cxGridViewTIPOStylesGetContentStyle
|
||||||
|
Width = 130
|
||||||
|
end
|
||||||
|
object cxGridViewIMPORTEUNIDAD: TcxGridDBColumn
|
||||||
|
DataBinding.FieldName = 'IMPORTEUNIDAD'
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
|
BestFitMaxWidth = 120
|
||||||
|
HeaderAlignmentHorz = taRightJustify
|
||||||
|
Styles.OnGetContentStyle = cxGridViewTIPOStylesGetContentStyle
|
||||||
|
Width = 130
|
||||||
|
end
|
||||||
|
object cxGridViewIMPORTETOTAL: TcxGridDBColumn
|
||||||
|
DataBinding.FieldName = 'IMPORTETOTAL'
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
|
Properties.ReadOnly = True
|
||||||
|
BestFitMaxWidth = 120
|
||||||
|
HeaderAlignmentHorz = taRightJustify
|
||||||
|
Options.Editing = False
|
||||||
|
Styles.Content = cxStyle_IMPORTETOTAL
|
||||||
|
Styles.OnGetContentStyle = cxGridViewTIPOStylesGetContentStyle
|
||||||
|
Width = 130
|
||||||
|
end
|
||||||
|
object cxGridViewVISIBLE: TcxGridDBColumn
|
||||||
|
Caption = 'Visible'
|
||||||
|
DataBinding.FieldName = 'VISIBLE'
|
||||||
|
PropertiesClassName = 'TcxCheckBoxProperties'
|
||||||
|
Properties.DisplayChecked = 'S'
|
||||||
|
Properties.DisplayUnchecked = 'N'
|
||||||
|
Properties.Glyph.Data = {
|
||||||
|
92030000424D9203000000000000920100002800000020000000100000000100
|
||||||
|
08000000000000020000120B0000120B0000570000005700000000000000FFFF
|
||||||
|
FF0040384000703840008048500090586000C0606000A0505000804040006030
|
||||||
|
30009050500070404000A060600090606000A0707000B0808000C09090004030
|
||||||
|
3000E0B0B000B0909000FFF0F000FF787000E0787000C0686000FF9890009048
|
||||||
|
4000A0585000D0888000E0989000E0706000FF80700080484000A0686000FFA0
|
||||||
|
9000FF887000B060500070484000FFB0A000C0989000D0A8A000E0B8B000FF98
|
||||||
|
8000A0605000FFC0B000F0C0B00080686000F0D8D000B0908000E0C8B000E0D8
|
||||||
|
D000FFE0C000FFF8F000F0E0C000FFF0D000FFF8E00020283000FEFEFE00FAFA
|
||||||
|
FA00F7F7F700F3F3F300F1F1F100F0F0F000EDEDED00EAEAEA00E7E7E700E6E6
|
||||||
|
E600E3E3E300E0E0E000DADADA00D7D7D700D3D3D300D0D0D000CDCDCD00C9C9
|
||||||
|
C900C6C6C600C4C4C400C3C3C300C0C0C000BEBEBE00BCBCBC00B9B9B900B7B7
|
||||||
|
B700B3B3B300AEAEAE00ACACAC00A6A6A600FFFFFF0056565656565656565656
|
||||||
|
5656565656565656565656565656565656565656565656565656565656565656
|
||||||
|
5656565656565656565656565656565656565656565656565656565656565656
|
||||||
|
5656565656565656565656565656565656565656565656565656565656565656
|
||||||
|
5656565656565656565656565656565656565656565656565656404040444C4C
|
||||||
|
463D5656565656565656122830262D2D2F325656565644444444433E4145474A
|
||||||
|
50463B404456101010102734181D061A242F35122656564646443A3F434A544C
|
||||||
|
49493A3C4646560F0F10362C1507110A2320362E0F0F56564845394341535554
|
||||||
|
44473944484856560E13331C21023711161714260E0E5656564A3E403E38544A
|
||||||
|
4344464B4B565656560D31122B01111A1E1B0F050556565656564E49423F4343
|
||||||
|
434A4E4E565656565656040C2925221E1E2A04045656565656565650504F4D4F
|
||||||
|
50505056565656565656560B0B1F19080B0B0B56565656565656565652505151
|
||||||
|
505656565656565656565656090B03030B565656565656565656565656565656
|
||||||
|
5656565656565656565656565656565656565656565656565656565656565656
|
||||||
|
5656565656565656565656565656565656565656565656565656565656565656
|
||||||
|
5656565656565656565656565656565656565656565656565656565656565656
|
||||||
|
56565656565656565656565656565656565656565656}
|
||||||
|
Properties.GlyphCount = 2
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.NullStyle = nssUnchecked
|
||||||
|
Properties.ValueChecked = 'S'
|
||||||
|
Properties.ValueUnchecked = 'N'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ToolBar1: TToolBar
|
||||||
|
Width = 638
|
||||||
|
Height = 22
|
||||||
|
ButtonWidth = 105
|
||||||
|
object ToolButton1: TToolButton
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Action = actAnadirCap
|
||||||
|
AutoSize = True
|
||||||
|
end
|
||||||
|
object ToolButton2: TToolButton
|
||||||
|
Left = 102
|
||||||
|
Top = 0
|
||||||
|
Action = actAnadir
|
||||||
|
AutoSize = True
|
||||||
|
end
|
||||||
|
object ToolButton7: TToolButton
|
||||||
|
Left = 211
|
||||||
|
Top = 0
|
||||||
|
Width = 8
|
||||||
|
Caption = 'ToolButton7'
|
||||||
|
ImageIndex = 5
|
||||||
|
Style = tbsSeparator
|
||||||
|
end
|
||||||
|
object ToolButton3: TToolButton
|
||||||
|
Left = 219
|
||||||
|
Top = 0
|
||||||
|
Action = actEliminar
|
||||||
|
AutoSize = True
|
||||||
|
end
|
||||||
|
object ToolButton4: TToolButton
|
||||||
|
Left = 286
|
||||||
|
Top = 0
|
||||||
|
Width = 8
|
||||||
|
Caption = 'ToolButton4'
|
||||||
|
ImageIndex = 3
|
||||||
|
Style = tbsSeparator
|
||||||
|
end
|
||||||
|
object ToolButton5: TToolButton
|
||||||
|
Left = 294
|
||||||
|
Top = 0
|
||||||
|
Action = actSubir
|
||||||
|
AutoSize = True
|
||||||
|
end
|
||||||
|
object ToolButton6: TToolButton
|
||||||
|
Left = 349
|
||||||
|
Top = 0
|
||||||
|
Action = actBajar
|
||||||
|
AutoSize = True
|
||||||
|
end
|
||||||
|
object ToolButton8: TToolButton
|
||||||
|
Left = 405
|
||||||
|
Top = 0
|
||||||
|
Width = 8
|
||||||
|
Caption = 'ToolButton8'
|
||||||
|
ImageIndex = 4
|
||||||
|
Style = tbsSeparator
|
||||||
|
end
|
||||||
|
object ToolButton9: TToolButton
|
||||||
|
Left = 413
|
||||||
|
Top = 0
|
||||||
|
Action = actRecalcular
|
||||||
|
AutoSize = True
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ActionListContenido: TActionList
|
||||||
|
Images = ContenidoImageList
|
||||||
|
object actAnadirCap: TAction [0]
|
||||||
|
Caption = 'A'#241'adir cap'#237'tulo'
|
||||||
|
ImageIndex = 5
|
||||||
|
OnExecute = actAnadirCapExecute
|
||||||
|
end
|
||||||
|
inherited actAnadir: TAction
|
||||||
|
Caption = 'A'#241'adir concepto'
|
||||||
|
ImageIndex = 4
|
||||||
|
end
|
||||||
|
object actRecalcular: TAction
|
||||||
|
Caption = 'Recalcular'
|
||||||
|
ImageIndex = 6
|
||||||
|
OnExecute = actRecalcularExecute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ContenidoImageList: TPngImageList
|
||||||
|
PngImages = <
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000E14944415478DA
|
||||||
|
63FCFFFF3F032580717019C0C8C8086787B4DDF8FFEBD76F869F3F7F33EC6C37
|
||||||
|
824BA05B88D300BF86CBFFA3A35419A6CFB8C870A0CF9C7403DC2BCFFD8F88D4
|
||||||
|
66983DEB34C3B12936C41910DA7E13EE6C100E0D37609837E7180358EC0708FF
|
||||||
|
6278B0218011A701FE8D57C0CEFEF68391E1DB770630FD1D88BF7C07E26F8C0C
|
||||||
|
6B17AE6178B1230CB7011E55E7FF836C86B9C23FC48661C9BC5D609B7F40F187
|
||||||
|
0331B80D400E03DDF85DFF3D039D1856CEDFCCF0706320E981A816BEF5BF8BBF
|
||||||
|
07D8D92F7786936E80BCFFFAFF30677F3C184B9C01E480616000007F3BB6E1E0
|
||||||
|
0AF3B40000000049454E44AE426082}
|
||||||
|
Name = 'PngImage0'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000714944415478DA
|
||||||
|
63FCFFFF3F03258071D4002A1B10DA7E13CC01897DFDFA83E1DBB71F60FAFBB7
|
||||||
|
9F0C9F3F7F03E3F7FBA219F11A1013A500E77FFCCCC8F0EA1D23C38BB74C0CCF
|
||||||
|
5E3131AC9E3397E1F7E914DC0684B4DDF88FCBE62F9FBF33FCF9F397E1FFF974
|
||||||
|
DC060C7C208E1A401E0000EFE473E127272ED00000000049454E44AE426082}
|
||||||
|
Name = 'PngImage1'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000E14944415478DA
|
||||||
|
63FCFFFF3F032580717019C0C8C88822E9D770F9FFA6065D1441740B711A00D2
|
||||||
|
1C1DA5CA307DC64586037DE68C241900D3FCF10B23C39123CF19AE5EBECF7076
|
||||||
|
B623235106206BFEF899114C3FBAFB94E1C4D1AB0CB7567A33E235C0BFF1CAFF
|
||||||
|
9F3F7F3380B0B7BF2158F3BB8F4C0C7B36EE60F8F9E317C30F207EB1238C91A0
|
||||||
|
17AC728EFC77F234076BFEF2E631C3C1BDE7191E6E0C24CE0B20609CBAFFBFB9
|
||||||
|
A31DD0004606B6DF8F18766E3DC9F0726738F106E8C6EFFA6F68AC0617DFB8F6
|
||||||
|
30C3C783B1C41BA016BEF53FCCCF30FCF364326103C801C3C00000BEA5B3E15D
|
||||||
|
7F64240000000049454E44AE426082}
|
||||||
|
Name = 'PngImage2'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000DF4944415478DA
|
||||||
|
63FCFFFF3F032580717019C0C8C808A643DA6E80057FFDFACDF0F327041FE833
|
||||||
|
074BA25B88D380982805869FBF18183E7E61645830EF34C3B12936C41BE0D770
|
||||||
|
F97F74942A58F39123CF19AE5EBECF7076B623F106B8579EFB1F1CAACDF0F133
|
||||||
|
23C3E58BCF18CE9FBDC57079A11B6103FC1BAFFC87F9D9DBDF10EC8247779F32
|
||||||
|
9C387A95E1E78F5F0C3F80F8C58E3046BC2E70283AF91FA6F9DD472620666460
|
||||||
|
FBFD8861E7D6930C2F77863312E505E3D4FDFFCD1DED3034131D0620A016BEF5
|
||||||
|
BF85B5368A66920C000171F795FF91351334801C300C0C00007FBCB4E1E577C7
|
||||||
|
9A0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage3'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000002354944415478DA
|
||||||
|
9D93DF4B936114C73FEF9CDB9C947A23A546E185062E4308122AB5488942A18B
|
||||||
|
A2A228229088EEBA0B83EECCCBCAEA1FA8ABD29B0CACB0FC1176538ACA963FA6
|
||||||
|
A2AEF9966E6E367CF7EEDDF3F4CEB5B4B640FAC281E7E19CF339E73987479152
|
||||||
|
92D2A34BCAC6650B9A8FD4A0A40089E42BCDE941D128E85AD212E7A896B48F83
|
||||||
|
9B00FF939CB703C6BC26A0FD22D25AB0F5B68DE0467242EB804CD535B352DF32
|
||||||
|
DC5C75B2737B1E617D8D79DF0ACD53605FAEA1B6AA8FDEA15F1D24DE9249B3B9
|
||||||
|
2B6837B2B853DD4457749496960ECE8D5772F9C0C8BAFF3720530709B97F404B
|
||||||
|
EE3E6E1D69E04DC0C3BDD6573CC986DD0EFE0DE80F43DC489E8716E175693977
|
||||||
|
8F37D1A90E71FFF65BAE9AF32ACB379D0246A7F7A7034A3C4E6A5DE568868112
|
||||||
|
55282B2DA4B278179EC0570606A6D0A5412CC7C062B130F9594D071CF617F2F0
|
||||||
|
CC35A2C4889B65E644800955C52A159CDBEC84D734739506934195DEC75FD201
|
||||||
|
F5C162AE379EE4933A8B61221CD2865D5AF9160AE38F8430AC122104B3A12526
|
||||||
|
9E2F86FE00E83AB8A60BC8D31CB8BD7E8840757D298D27AA189CF4F2B27B98AC
|
||||||
|
A0056C906DCB425F886F74D0FEC0BE0E99710884397DCC389F90F8CE17D15053
|
||||||
|
C188DF47F7B331EADC7BE8B14DD791F80139C495B6B3F68E40ECE0E94C6B5C72
|
||||||
|
4418BCB0485D4539E30195F79D1E0C8FA8902FA43B15A36CFE8D7F4B69558EBA
|
||||||
|
F616F714951430B3FA9D85FE006BC3B163B243BEDB1AA04D39E4CCB775E95E03
|
||||||
|
2324B0080B22224EC9A7F2432AE627BA3D288D657888700000000049454E44AE
|
||||||
|
426082}
|
||||||
|
Name = 'PngImage4'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
61000000097048597300000B3A00000B3A01647F570D000002604944415478DA
|
||||||
|
8DD25B48D35100C7F1EF7FEA9C96A60F4A362DF141C399E59BD05D4ABA5A60D9
|
||||||
|
5BF8522F4119F4926610425A4F121145CFF5605E085C299A5D347AE8E2D0E5C8
|
||||||
|
B55AA5CD69CD369DEEF2DFFFF4DFC4E122B3DFDBE19CF3F9712E5273C3C54AA0
|
||||||
|
95D81CABA96F6C638508219054409C3AAE8D99B8FB20F05FC8B2C012E4AF5161
|
||||||
|
694560B984E16501CFAC60D01262D4AE44C69FA46FB46418C94A4DC3139C637C
|
||||||
|
7C9AD3C12AF2A49CC8FCB94B57A518E0F96B1969D645D906071AB5A3F797933B
|
||||||
|
B93E2E975660F40F535FDFCEC3555964DA1DF45931D70E884D5120DC6EECD772
|
||||||
|
247788345D00110A31ECF9495DF60C17B697D3E3B270ADE9112F9232E97F3269
|
||||||
|
56FB8EAA802D0A2CB627660C1394154420C0E0948BC7C5095CD953418773901B
|
||||||
|
75BD9C55774ECCD2D5524813A98422C089FD09D1F6FCA94E761615E09355D02F
|
||||||
|
919F9749B13E078BEB3B03031F09089960928C46A3C1FACEB97089F9B99A85B3
|
||||||
|
677FA174CEC4CDAA6AFC0409A1F0557131EA74122F24925312F1CCFBF0FB64AC
|
||||||
|
D34E7A6E9BDD1160F35A1729B66E821376CE1FD273A6F2006F9D766495D0092D
|
||||||
|
89229E49B70787D78D1C2F501405BBFB07A3AD130B80B7AB31FACEB7AAD359E3
|
||||||
|
D331627380174AF7E671785F09AFAC363ABB4DC44D6B407DB4046D1C81B11052
|
||||||
|
F8332C8D542B6DE30D71E822C32D2527D73797EF3030E418A7FBBE19C5A4D4B0
|
||||||
|
1A13E16D49EA25FE09C4600D52A1A144FF7E97A1800F2E27CF3A2CC816C520DA
|
||||||
|
C44874CD3F81266977D1467DDFBAEC743ECF4C31D6EF62DE142C13EDE2E9FF01
|
||||||
|
D7A5ADC9695A63C02623BB15348A06C5AB1C14F7C4CBC535BF015419481881D7
|
||||||
|
D75A0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage5'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000001974944415478DA
|
||||||
|
63FCFFFF3F43E6CC1FFD37181E163090003418E4274C4FE728640419E038F3E6
|
||||||
|
7F85130788D6CC671BCF70785511C3B91DD318510C489DAA8BA1F8C7D71F0CDF
|
||||||
|
BE7E63F8FEFD3BC3F7AFDF198E6F956738FADA8481E54E297E03FEFEFE0BD608
|
||||||
|
D6FC0DA2F9CFEF3F0C170E68E03680434183282F6035205E5B99E1FB4F6465FF
|
||||||
|
187EFCFAC9C0C2CC0914FF8F82F79FFB8BDB002995BF0C010B1E30F499493128
|
||||||
|
69B181D90DDA8A0C75C637197ECD2A63C8935FCF70FC0A1E03B28EDC6560D8B0
|
||||||
|
83A1BF3D92A1F0E47B30BBBC2483A1F14A00C3828E1D0C47277C67B8701BA701
|
||||||
|
BF197EFEFEC9F0EF1F37D8A93F7E3120399D01CEBFFBF41F76033E7CF9C2A0A8
|
||||||
|
C90976768D86228389C57F303B51589EC1DF9711CC76FF2FCBF0ECCD7FEC06BC
|
||||||
|
FBF49FA1F8F43DB0B38B0B33187AEF3F00B32363D319967F7E0866DB79A432BC
|
||||||
|
FF8CC380A7AFFFE174368C0FF31A5603407EC3E5ECC0CA6C860B172E301C5D7C
|
||||||
|
041CC9580DB872EF2F4E676B055833CC9871814197FB0B6E03FA56FC242A2562
|
||||||
|
1800CACE27D71791949D81200068C04600978A82F0182DA2F50000000049454E
|
||||||
|
44AE426082}
|
||||||
|
Name = 'PngImage6'
|
||||||
|
Background = clWindow
|
||||||
|
end>
|
||||||
|
Bitmap = {}
|
||||||
|
end
|
||||||
|
object cxStyleRepository1: TcxStyleRepository
|
||||||
|
Left = 264
|
||||||
|
Top = 80
|
||||||
|
object cxStyle_IMPORTETOTAL: TcxStyle
|
||||||
|
AssignedValues = [svColor, svTextColor]
|
||||||
|
Color = clInactiveCaptionText
|
||||||
|
TextColor = clHotLight
|
||||||
|
end
|
||||||
|
object cxStyle_SUBTOTAL: TcxStyle
|
||||||
|
AssignedValues = [svColor, svFont, svTextColor]
|
||||||
|
Color = clInactiveCaptionText
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
TextColor = clHotLight
|
||||||
|
end
|
||||||
|
object cxStyle_TITULO: TcxStyle
|
||||||
|
AssignedValues = [svColor, svFont, svTextColor]
|
||||||
|
Color = clInactiveCaption
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
TextColor = clHighlightText
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object TipoPngImageList: TPngImageList
|
||||||
|
PngImages = <
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000001094944415478DA
|
||||||
|
63FCFFFF3F03258011993323818124D39E7C75421800D21C9B8AA9E8D74F28FE
|
||||||
|
C1C0F0134603F1C913480690A3995F8281E1EA5DA00120CD2C82C43BFBCF7B84
|
||||||
|
667018E0B21D64D3CFEF501A8A412E387306E2743BC37D0C87CE435D00122005
|
||||||
|
80348300DC006C2E8081BF7F81CEFECDC0F0FB17C445376E20E4081A00D2F41B
|
||||||
|
A8F9CF2F087BCD1A0E06358D1F0C6C2C441880AE19E48A0D1B391814948106B0
|
||||||
|
32800DC1690036CD20BC651B0783943CC40520434E5CC662002ECD20F6CE3D1C
|
||||||
|
0C22D21003AEDC71626859BD8F11C5007C9A41E2FB0E7230F089FF6078F004A2
|
||||||
|
19251DCC9CCA415414BEFB6D05D70C36A02F8A631D503090D83480AC196C00A5
|
||||||
|
D919005F65CFBFE56F19230000000049454E44AE426082}
|
||||||
|
Name = 'PngImage0'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
61000000097048597300000B3A00000B3A01647F570D000001A24944415478DA
|
||||||
|
9D923B2C43511CC6BFEB158B129341A283342241448C44D46222418C2261A0F1
|
||||||
|
58BD26A193C482A18B8DC463D284A5212D121D3CDB26A452214A5295287A1FBD
|
||||||
|
F738E75EBDE90DD5C6B7DC9C73CFF7FBFEFFFF39DCE2EC4417804D18D53D3E63
|
||||||
|
DF42061142C0510019EC2930FC706C885941D2025220BF8A82B98C807462E0B4
|
||||||
|
80B77782D3808CEB9092156C6C7A9E33000EBC0970EF51B4568491C3B104058A
|
||||||
|
2000220F598883C822129F3104BC41B86E7035E921353A80A53BDD05E8305FA0
|
||||||
|
A450A4876528A20042CD8A48CD920459E221BCBEC1B1F37845F33A2920A80392
|
||||||
|
E96DE6B096CCF3DF66FA9544D55CBC3482E3061B4B5F9D3A44BF3E83DEF67C3D
|
||||||
|
DD94F70992A01508C664066B3977E2EC641F73265B2505047580C59CA3F55E7E
|
||||||
|
A7F54C01321F87427B6E3E5A330CCE6A2DC5827D1BB8B4713AA0AE2C8AA2E01E
|
||||||
|
A4A7D08F490FE5FA30DA6731ECADAC7BE075FB412E86B55BF8D8B5A7BDAA8D2A
|
||||||
|
0DE07B88E039164724A63DB097DBB00A51CBF84BF5037EC200AEC0FD0FB35A41
|
||||||
|
360036B8A41A9BAA75335B6704A48AAB5D560F27CDFF02A49A99BE008A302DB4
|
||||||
|
AC93694C0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage1'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
61000000097048597300000B3A00000B3A01647F570D000001784944415478DA
|
||||||
|
8DD1BF4BC3401407F0EFF9B38BC5D141B10E1637FF02A988205550C15FB3829B
|
||||||
|
A06EFE9C0A767170712A82B33FA0A08576A92D220EA2C5522D562B75B175A918
|
||||||
|
AA4DDA26E725DAC38049F38684E4EE7DDEBD7764C7B33A01E008FA985CDAF41E
|
||||||
|
A346504A411840E7A79A740BBEC39225C410F883FC1B0C263501A35061434028
|
||||||
|
50C492325219C512B6B8B1457440F4AA0252C863A0338BE661BF2584036AF5C0
|
||||||
|
7913C61C71B4DA4A08C7DE30B476A96D0AACF4C0D56D835C1621BD0BF09DBE26
|
||||||
|
D8EFF1F50B3C71A05A7DD09165BD29504411670C717B6E35E464B9037D5DF548
|
||||||
|
DE64107EC43E4B9EE533987137F2EAF6862FD04A095412A1948A88C4F318D94E
|
||||||
|
6B887FCE8EBB07A15A3DCD01A7A3EEA7F7F6172892043040168B506406B19344
|
||||||
|
EF058CEEE63464DA89E0410A6EDD2DF4B6E5D1920EA19CCB180EEB3A0B2C84F8
|
||||||
|
67BF3A730E7C06BDA6937EFE00F612FA647E02F5617A4D84B8D82B524D66FBA3
|
||||||
|
BA7533A056B229602999106A0698F7F61BDF228CEAE9FA9FA3C1000000004945
|
||||||
|
4E44AE426082}
|
||||||
|
Name = 'PngImage2'
|
||||||
|
Background = clWindow
|
||||||
|
end>
|
||||||
|
Left = 72
|
||||||
|
Top = 64
|
||||||
|
Bitmap = {}
|
||||||
|
end
|
||||||
|
end
|
||||||
143
Base/uViewDetallesFamilias.pas
Normal file
143
Base/uViewDetallesFamilias.pas
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
unit uViewDetallesFamilias;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewContenido, cxStyles, cxCustomData, cxGraphics, cxFilter,
|
||||||
|
cxData, cxDataStorage, cxEdit, DB, cxDBData, cxDropDownEdit, cxTextEdit,
|
||||||
|
cxSpinEdit, cxCurrencyEdit, ImgList, PngImageList, uDADataTable,
|
||||||
|
ExtActns, StdActns, ActnList, ComCtrls, ToolWin, cxGridLevel,
|
||||||
|
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||||||
|
cxControls, cxGridCustomView, cxGrid, cxImageComboBox,
|
||||||
|
uBizImportesCabeceraBase, cxCheckBox, TB2Item, TBX, TB2Dock, TB2Toolbar,
|
||||||
|
JvExComCtrls, JvToolBar, cxMaskEdit;
|
||||||
|
|
||||||
|
type
|
||||||
|
IViewDetallesFamilias = interface(IViewContenido)
|
||||||
|
['{FFE0D3C1-F05C-4F28-9393-03F344CA6EBA}']
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfrViewDetallesFamilias = class(TfrViewContenido, IViewDetallesFamilias)
|
||||||
|
cxStyleRepository1: TcxStyleRepository;
|
||||||
|
cxStyle_IMPORTETOTAL: TcxStyle;
|
||||||
|
cxStyle_SUBTOTAL: TcxStyle;
|
||||||
|
TipoPngImageList: TPngImageList;
|
||||||
|
cxGridViewDESCRIPCION: TcxGridDBColumn;
|
||||||
|
cxGridViewCANTIDAD: TcxGridDBColumn;
|
||||||
|
cxGridViewIMPORTEUNIDAD: TcxGridDBColumn;
|
||||||
|
cxGridViewIMPORTETOTAL: TcxGridDBColumn;
|
||||||
|
cxGridViewTIPO: TcxGridDBColumn;
|
||||||
|
cxGridViewPOSICION: TcxGridDBColumn;
|
||||||
|
cxGridViewVISIBLE: TcxGridDBColumn;
|
||||||
|
actAnadirCap: TAction;
|
||||||
|
ToolButton1: TToolButton;
|
||||||
|
ToolButton2: TToolButton;
|
||||||
|
ToolButton3: TToolButton;
|
||||||
|
ToolButton4: TToolButton;
|
||||||
|
ToolButton5: TToolButton;
|
||||||
|
ToolButton6: TToolButton;
|
||||||
|
ToolButton7: TToolButton;
|
||||||
|
cxStyle_TITULO: TcxStyle;
|
||||||
|
ToolButton8: TToolButton;
|
||||||
|
ToolButton9: TToolButton;
|
||||||
|
actRecalcular: TAction;
|
||||||
|
procedure cxGridViewEditing(Sender: TcxCustomGridTableView;
|
||||||
|
AItem: TcxCustomGridTableItem; var AAllow: Boolean);
|
||||||
|
procedure cxGridViewTIPOStylesGetContentStyle(
|
||||||
|
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||||||
|
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||||||
|
procedure actAnadirCapExecute(Sender: TObject);
|
||||||
|
procedure actRecalcularExecute(Sender: TObject);
|
||||||
|
private
|
||||||
|
protected
|
||||||
|
public
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses uBizImportesDetalleBase, uDAInterfaces;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrViewDetallesFamilias.cxGridViewEditing(
|
||||||
|
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
|
||||||
|
var AAllow: Boolean);
|
||||||
|
var
|
||||||
|
IndiceCol : Integer;
|
||||||
|
begin
|
||||||
|
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_DESCRIPCION).Index;
|
||||||
|
if AItem.Index <= IndiceCol then
|
||||||
|
AAllow := True
|
||||||
|
else begin
|
||||||
|
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_TIPODETALLE).Index;
|
||||||
|
if (UpperCase(AItem.GridView.Items[IndiceCol].EditValue) = TIPODETALLE_SUBTOTAL) then
|
||||||
|
AAllow := False
|
||||||
|
else begin
|
||||||
|
if (UpperCase(AItem.GridView.Items[IndiceCol].EditValue) = TIPODETALLE_TITULO) then
|
||||||
|
begin
|
||||||
|
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_VISIBLE).Index;
|
||||||
|
if AItem.Index = IndiceCol then
|
||||||
|
AAllow := True
|
||||||
|
else
|
||||||
|
AAllow := False
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewDetallesFamilias.cxGridViewTIPOStylesGetContentStyle(
|
||||||
|
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||||||
|
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||||||
|
var
|
||||||
|
IndiceCol : Integer;
|
||||||
|
ATipo : String;
|
||||||
|
begin
|
||||||
|
if Assigned(ARecord) then
|
||||||
|
begin
|
||||||
|
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_TIPODETALLE).Index;
|
||||||
|
ATipo := VarToStr(ARecord.Values[IndiceCol]);
|
||||||
|
if ATipo = TIPODETALLE_SUBTOTAL then
|
||||||
|
AStyle := cxStyle_SUBTOTAL;
|
||||||
|
if ATipo = TIPODETALLE_TITULO then
|
||||||
|
AStyle := cxStyle_TITULO;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewDetallesFamilias.actAnadirCapExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
AFieldTIPO : TDAField;
|
||||||
|
AFieldDES : TDAField;
|
||||||
|
begin
|
||||||
|
if Assigned(DADataSource.DataTable) then
|
||||||
|
begin
|
||||||
|
AFieldTIPO := DADataSource.DataTable.FindField(fld_TIPODETALLE);
|
||||||
|
AFieldDES := DADataSource.DataTable.FindField(fld_DESCRIPCION);
|
||||||
|
|
||||||
|
DADataSource.DataTable.Append;
|
||||||
|
AFieldDES.AsString := 'Capítulo de...';
|
||||||
|
AFieldTIPO.Value := TIPODETALLE_TITULO;
|
||||||
|
if DADataSource.DataTable.State in dsEditModes then
|
||||||
|
DADataSource.DataTable.Post;
|
||||||
|
DADataSource.DataTable.Next;
|
||||||
|
|
||||||
|
DADataSource.DataTable.Insert;
|
||||||
|
AFieldTIPO.Value := TIPODETALLE_CONCEPTO;
|
||||||
|
if DADataSource.DataTable.State in dsEditModes then
|
||||||
|
DADataSource.DataTable.Post;
|
||||||
|
DADataSource.DataTable.Next;
|
||||||
|
|
||||||
|
DADataSource.DataTable.Insert;
|
||||||
|
AFieldDES.AsString := 'Total del capítulo';
|
||||||
|
AFieldTIPO.Value := TIPODETALLE_SUBTOTAL;
|
||||||
|
if DADataSource.DataTable.State in dsEditModes then
|
||||||
|
DADataSource.DataTable.Post;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewDetallesFamilias.actRecalcularExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
RecalcularTodo(DADataSource.DataTable);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
Base/uViewDetallesNormales.ddp
Normal file
BIN
Base/uViewDetallesNormales.ddp
Normal file
Binary file not shown.
92
Base/uViewDetallesNormales.dfm
Normal file
92
Base/uViewDetallesNormales.dfm
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
inherited frViewDetallesNormales: TfrViewDetallesNormales
|
||||||
|
inherited ToolBar1: TToolBar
|
||||||
|
ButtonWidth = 63
|
||||||
|
object ToolButton1: TToolButton
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Action = actAnadir
|
||||||
|
end
|
||||||
|
object ToolButton2: TToolButton
|
||||||
|
Left = 63
|
||||||
|
Top = 0
|
||||||
|
Action = actEliminar
|
||||||
|
end
|
||||||
|
object ToolButton3: TToolButton
|
||||||
|
Left = 126
|
||||||
|
Top = 0
|
||||||
|
Width = 8
|
||||||
|
Caption = 'ToolButton3'
|
||||||
|
ImageIndex = 2
|
||||||
|
Style = tbsSeparator
|
||||||
|
end
|
||||||
|
object ToolButton4: TToolButton
|
||||||
|
Left = 134
|
||||||
|
Top = 0
|
||||||
|
Action = actSubir
|
||||||
|
end
|
||||||
|
object ToolButton5: TToolButton
|
||||||
|
Left = 197
|
||||||
|
Top = 0
|
||||||
|
Action = actBajar
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ContenidoImageList: TPngImageList
|
||||||
|
PngImages = <
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000E14944415478DA
|
||||||
|
63FCFFFF3F032580717019C0C8C8086787B4DDF8FFEBD76F869F3F7F33EC6C37
|
||||||
|
824BA05B88D300BF86CBFFA3A35419A6CFB8C870A0CF9C7403DC2BCFFD8F88D4
|
||||||
|
66983DEB34C3B12936C41910DA7E13EE6C100E0D37609837E7180358EC0708FF
|
||||||
|
6278B0218011A701FE8D57C0CEFEF68391E1DB770630FD1D88BF7C07E26F8C0C
|
||||||
|
6B17AE6178B1230CB7011E55E7FF836C86B9C23FC48661C9BC5D609B7F40F187
|
||||||
|
0331B80D400E03DDF85DFF3D039D1856CEDFCCF0706320E981A816BEF5BF8BBF
|
||||||
|
07D8D92F7786936E80BCFFFAFF30677F3C184B9C01E480616000007F3BB6E1E0
|
||||||
|
0AF3B40000000049454E44AE426082}
|
||||||
|
Name = 'PngImage0'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000714944415478DA
|
||||||
|
63FCFFFF3F03258071D4002A1B10DA7E13CC01897DFDFA83E1DBB71F60FAFBB7
|
||||||
|
9F0C9F3F7F03E3F7FBA219F11A1013A500E77FFCCCC8F0EA1D23C38BB74C0CCF
|
||||||
|
5E3131AC9E3397E1F7E914DC0684B4DDF88FCBE62F9FBF33FCF9F397E1FFF974
|
||||||
|
DC060C7C208E1A401E0000EFE473E127272ED00000000049454E44AE426082}
|
||||||
|
Name = 'PngImage1'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000E14944415478DA
|
||||||
|
63FCFFFF3F032580717019C0C8C88822E9D770F9FFA6065D1441740B711A00D2
|
||||||
|
1C1DA5CA307DC64586037DE68C241900D3FCF10B23C39123CF19AE5EBECF7076
|
||||||
|
B623235106206BFEF899114C3FBAFB94E1C4D1AB0CB7567A33E235C0BFF1CAFF
|
||||||
|
9F3F7F3380B0B7BF2158F3BB8F4C0C7B36EE60F8F9E317C30F207EB1238C91A0
|
||||||
|
17AC728EFC77F234076BFEF2E631C3C1BDE7191E6E0C24CE0B20609CBAFFBFB9
|
||||||
|
A31DD0004606B6DF8F18766E3DC9F0726738F106E8C6EFFA6F68AC0617DFB8F6
|
||||||
|
30C3C783B1C41BA016BEF53FCCCF30FCF364326103C801C3C00000BEA5B3E15D
|
||||||
|
7F64240000000049454E44AE426082}
|
||||||
|
Name = 'PngImage2'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000000DF4944415478DA
|
||||||
|
63FCFFFF3F032580717019C0C8C808A643DA6E80057FFDFACDF0F327041FE833
|
||||||
|
074BA25B88D380982805869FBF18183E7E61645830EF34C3B12936C41BE0D770
|
||||||
|
F97F74942A58F39123CF19AE5EBECF7076B623F106B8579EFB1F1CAACDF0F133
|
||||||
|
23C3E58BCF18CE9FBDC57079A11B6103FC1BAFFC87F9D9DBDF10EC8247779F32
|
||||||
|
9C387A95E1E78F5F0C3F80F8C58E3046BC2E70283AF91FA6F9DD472620666460
|
||||||
|
FBFD8861E7D6930C2F77863312E505E3D4FDFFCD1DED3034131D0620A016BEF5
|
||||||
|
BF85B5368A66920C000171F795FF91351334801C300C0C00007FBCB4E1E577C7
|
||||||
|
9A0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage3'
|
||||||
|
Background = clWindow
|
||||||
|
end>
|
||||||
|
end
|
||||||
|
end
|
||||||
34
Base/uViewDetallesNormales.pas
Normal file
34
Base/uViewDetallesNormales.pas
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
unit uViewDetallesNormales;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewContenido, cxStyles, cxCustomData, cxGraphics, cxFilter,
|
||||||
|
cxData, cxDataStorage, cxEdit, DB, cxDBData, ImgList, PngImageList,
|
||||||
|
uDADataTable, ActnList, ToolWin, ComCtrls, cxGridLevel, cxClasses,
|
||||||
|
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
|
||||||
|
cxGridDBTableView, cxGrid;
|
||||||
|
|
||||||
|
type
|
||||||
|
IViewDetallesNormales = interface(IViewContenido)
|
||||||
|
['{7E9FEF3B-2A2E-404C-BF1E-7C103E671AFE}']
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfrViewDetallesNormales = class(TfrViewContenido, IViewDetallesNormales)
|
||||||
|
ToolButton1: TToolButton;
|
||||||
|
ToolButton2: TToolButton;
|
||||||
|
ToolButton3: TToolButton;
|
||||||
|
ToolButton4: TToolButton;
|
||||||
|
ToolButton5: TToolButton;
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
end.
|
||||||
114
Base/uViewDireccion.dfm
Normal file
114
Base/uViewDireccion.dfm
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
inherited frViewDireccion: TfrViewDireccion
|
||||||
|
Width = 300
|
||||||
|
Height = 140
|
||||||
|
Constraints.MinHeight = 140
|
||||||
|
Constraints.MinWidth = 300
|
||||||
|
DesignSize = (
|
||||||
|
300
|
||||||
|
140)
|
||||||
|
object lblCalle: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 34
|
||||||
|
Width = 27
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Calle:'
|
||||||
|
end
|
||||||
|
object lblProvincia: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 106
|
||||||
|
Width = 47
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Provincia:'
|
||||||
|
end
|
||||||
|
object lblPoblacion: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 58
|
||||||
|
Width = 49
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Poblaci'#243'n:'
|
||||||
|
end
|
||||||
|
object lblCodigoPostal: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 82
|
||||||
|
Width = 69
|
||||||
|
Height = 13
|
||||||
|
Caption = 'C'#243'digo postal:'
|
||||||
|
end
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 55
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Direcci'#243'n'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clActiveCaption
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Bevel1: TBevel
|
||||||
|
Left = 72
|
||||||
|
Top = 8
|
||||||
|
Width = 216
|
||||||
|
Height = 9
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
Shape = bsBottomLine
|
||||||
|
end
|
||||||
|
object eCalle: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 30
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'CALLE'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object ePoblacion: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 54
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'POBLACION'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 1
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object eProvincia: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 102
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'PROVINCIA'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 3
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object eCodigoPostal: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 78
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'CODIGOPOSTAL'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 2
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object DADataSource: TDADataSource
|
||||||
|
Left = 24
|
||||||
|
Top = 32
|
||||||
|
end
|
||||||
|
end
|
||||||
40
Base/uViewDireccion.pas
Normal file
40
Base/uViewDireccion.pas
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
unit uViewDireccion;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, StdCtrls, Mask, DBCtrls, DB, uDADataTable, ExtCtrls,
|
||||||
|
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
|
||||||
|
cxDBEdit;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrViewDireccion = class(TfrViewBase)
|
||||||
|
Bevel1: TBevel;
|
||||||
|
DADataSource: TDADataSource;
|
||||||
|
Label5: TLabel;
|
||||||
|
lblCalle: TLabel;
|
||||||
|
lblCodigoPostal: TLabel;
|
||||||
|
lblPoblacion: TLabel;
|
||||||
|
lblProvincia: TLabel;
|
||||||
|
eCalle: TcxDBTextEdit;
|
||||||
|
ePoblacion: TcxDBTextEdit;
|
||||||
|
eProvincia: TcxDBTextEdit;
|
||||||
|
eCodigoPostal: TcxDBTextEdit;
|
||||||
|
protected
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frViewDireccion: TfrViewDireccion;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterClass(TfrViewDireccion);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
UnRegisterClass(TfrViewDireccion);
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
Base/uViewFormaPago.ddp
Normal file
BIN
Base/uViewFormaPago.ddp
Normal file
Binary file not shown.
47
Base/uViewFormaPago.dfm
Normal file
47
Base/uViewFormaPago.dfm
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
inherited frViewFormaPago: TfrViewFormaPago
|
||||||
|
Width = 300
|
||||||
|
Constraints.MinWidth = 300
|
||||||
|
DesignSize = (
|
||||||
|
300
|
||||||
|
222)
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 85
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Forma de pago'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clActiveCaption
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Bevel1: TBevel
|
||||||
|
Left = 96
|
||||||
|
Top = 8
|
||||||
|
Width = 192
|
||||||
|
Height = 9
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
Shape = bsBottomLine
|
||||||
|
end
|
||||||
|
object memFormaPago: TcxDBMemo
|
||||||
|
Left = 16
|
||||||
|
Top = 32
|
||||||
|
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||||
|
DataBinding.DataField = 'FORMAPAGO'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Properties.ScrollBars = ssVertical
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 0
|
||||||
|
Height = 175
|
||||||
|
Width = 269
|
||||||
|
end
|
||||||
|
object DADataSource: TDADataSource
|
||||||
|
Left = 16
|
||||||
|
Top = 48
|
||||||
|
end
|
||||||
|
end
|
||||||
26
Base/uViewFormaPago.pas
Normal file
26
Base/uViewFormaPago.pas
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
unit uViewFormaPago;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
|
||||||
|
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrViewFormaPago = class(TfrViewBase)
|
||||||
|
DADataSource: TDADataSource;
|
||||||
|
memFormaPago: TcxDBMemo;
|
||||||
|
Label5: TLabel;
|
||||||
|
Bevel1: TBevel;
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
end.
|
||||||
118
Base/uViewGrid.dfm
Normal file
118
Base/uViewGrid.dfm
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
inherited frViewGrid: TfrViewGrid
|
||||||
|
Width = 443
|
||||||
|
Height = 270
|
||||||
|
Align = alClient
|
||||||
|
object cxGrid: TcxGrid
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 443
|
||||||
|
Height = 270
|
||||||
|
Align = alClient
|
||||||
|
TabOrder = 0
|
||||||
|
LookAndFeel.Kind = lfOffice11
|
||||||
|
LookAndFeel.NativeStyle = True
|
||||||
|
object cxGridView: TcxGridDBTableView
|
||||||
|
OnDblClick = cxGridViewDblClick
|
||||||
|
NavigatorButtons.ConfirmDelete = False
|
||||||
|
FilterBox.Visible = fvNever
|
||||||
|
DataController.DataModeController.SmartRefresh = True
|
||||||
|
DataController.DataModeController.SyncMode = False
|
||||||
|
DataController.DataSource = DADataSource
|
||||||
|
DataController.Filter.Options = [fcoCaseInsensitive]
|
||||||
|
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText, dcoFocusTopRowAfterSorting]
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||||
|
DataController.Summary.FooterSummaryItems = <>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
DataController.OnSortingChanged = cxGridViewDataControllerSortingChanged
|
||||||
|
OptionsBehavior.CellHints = True
|
||||||
|
OptionsBehavior.BestFitMaxRecordCount = 20
|
||||||
|
OptionsCustomize.ColumnFiltering = False
|
||||||
|
OptionsCustomize.ColumnGrouping = False
|
||||||
|
OptionsData.Deleting = False
|
||||||
|
OptionsData.DeletingConfirmation = False
|
||||||
|
OptionsData.Editing = False
|
||||||
|
OptionsData.Inserting = False
|
||||||
|
OptionsSelection.CellSelect = False
|
||||||
|
OptionsSelection.UnselectFocusedRecordOnExit = False
|
||||||
|
OptionsView.CellEndEllipsis = True
|
||||||
|
OptionsView.CellAutoHeight = True
|
||||||
|
OptionsView.ColumnAutoWidth = True
|
||||||
|
OptionsView.Footer = True
|
||||||
|
OptionsView.FooterAutoHeight = True
|
||||||
|
OptionsView.GridLineColor = cl3DLight
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
OptionsView.HeaderEndEllipsis = True
|
||||||
|
Styles.ContentEven = cxStyleEven
|
||||||
|
Styles.ContentOdd = cxStyleOdd
|
||||||
|
Styles.Inactive = cxStyleSelection
|
||||||
|
Styles.Selection = cxStyleSelection
|
||||||
|
end
|
||||||
|
object cxGridLevel: TcxGridLevel
|
||||||
|
GridView = cxGridView
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object DADataSource: TDADataSource
|
||||||
|
Left = 368
|
||||||
|
Top = 96
|
||||||
|
end
|
||||||
|
object ActionList1: TActionList
|
||||||
|
Left = 336
|
||||||
|
Top = 96
|
||||||
|
end
|
||||||
|
object dxComponentPrinter: TdxComponentPrinter
|
||||||
|
CurrentLink = dxComponentPrinterLink
|
||||||
|
PreviewOptions.EnableOptions = [peoCanChangeMargins, peoPageBackground, peoPageSetup, peoPreferences, peoPrint]
|
||||||
|
PreviewOptions.VisibleOptions = [pvoPageBackground, pvoPageSetup, pvoPreferences, pvoPrint, pvoPrintStyles, pvoReportFileOperations, pvoPageMargins]
|
||||||
|
PreviewOptions.WindowState = wsMaximized
|
||||||
|
Version = 0
|
||||||
|
Left = 368
|
||||||
|
Top = 128
|
||||||
|
object dxComponentPrinterLink: TdxGridReportLink
|
||||||
|
Active = True
|
||||||
|
Component = cxGrid
|
||||||
|
PrinterPage.DMPaper = 9
|
||||||
|
PrinterPage.Footer = 6350
|
||||||
|
PrinterPage.Header = 6350
|
||||||
|
PrinterPage.Margins.Bottom = 12700
|
||||||
|
PrinterPage.Margins.Left = 12700
|
||||||
|
PrinterPage.Margins.Right = 12700
|
||||||
|
PrinterPage.Margins.Top = 12700
|
||||||
|
PrinterPage.PageSize.X = 210000
|
||||||
|
PrinterPage.PageSize.Y = 297000
|
||||||
|
PrinterPage._dxMeasurementUnits_ = 0
|
||||||
|
PrinterPage._dxLastMU_ = 2
|
||||||
|
ReportDocument.CreationDate = 39078.680011030090000000
|
||||||
|
OptionsCharts.Transparent = True
|
||||||
|
OptionsFormatting.SuppressBackgroundBitmaps = True
|
||||||
|
OptionsOnEveryPage.Caption = False
|
||||||
|
OptionsOnEveryPage.FilterBar = False
|
||||||
|
OptionsSize.AutoWidth = True
|
||||||
|
OptionsView.Caption = False
|
||||||
|
OptionsView.ExpandButtons = False
|
||||||
|
OptionsView.FilterBar = False
|
||||||
|
OptionsView.GroupFooters = False
|
||||||
|
BuiltInReportLink = True
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object dxPSEngineController1: TdxPSEngineController
|
||||||
|
LookAndFeel = pslfOffice11
|
||||||
|
UseNativeLookAndFeel = False
|
||||||
|
Left = 336
|
||||||
|
Top = 128
|
||||||
|
end
|
||||||
|
object cxStyleRepository1: TcxStyleRepository
|
||||||
|
Left = 296
|
||||||
|
Top = 128
|
||||||
|
object cxStyleEven: TcxStyle
|
||||||
|
end
|
||||||
|
object cxStyleOdd: TcxStyle
|
||||||
|
AssignedValues = [svColor]
|
||||||
|
Color = clInactiveCaptionText
|
||||||
|
end
|
||||||
|
object cxStyleSelection: TcxStyle
|
||||||
|
AssignedValues = [svColor, svTextColor]
|
||||||
|
Color = clHighlight
|
||||||
|
TextColor = clHighlightText
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
409
Base/uViewGrid.pas
Normal file
409
Base/uViewGrid.pas
Normal file
@ -0,0 +1,409 @@
|
|||||||
|
unit uViewGrid;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||||
|
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
|
||||||
|
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
|
||||||
|
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
||||||
|
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
||||||
|
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||||
|
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
||||||
|
cxIntlPrintSys3, dxPSPrvwAdv;
|
||||||
|
|
||||||
|
type
|
||||||
|
IViewGrid = interface(IViewBase)
|
||||||
|
['{07468FAD-4891-42E6-B646-51F17F0033F5}']
|
||||||
|
function GetDblClick: TNotifyEvent;
|
||||||
|
function GetFilter: string;
|
||||||
|
function GetPopupMenu: TPopupMenu;
|
||||||
|
function GetGrid : TcxGrid;
|
||||||
|
procedure Preview;
|
||||||
|
procedure Print;
|
||||||
|
procedure PrintSetup;
|
||||||
|
procedure GotoFirst;
|
||||||
|
procedure GotoLast;
|
||||||
|
procedure SetDblClick(const Value: TNotifyEvent);
|
||||||
|
procedure SetFilter(const Value: string);
|
||||||
|
procedure SetPopupMenu(const Value: TPopupMenu);
|
||||||
|
procedure RefreshGrid;
|
||||||
|
function GetMultiSelection: Boolean;
|
||||||
|
procedure SetMultiSelection(const Value: Boolean);
|
||||||
|
property Filter: string read GetFilter write SetFilter;
|
||||||
|
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
|
||||||
|
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
|
||||||
|
property MultiSelection : Boolean read GetMultiSelection write SetMultiSelection;
|
||||||
|
property Grid : TcxGrid read GetGrid;
|
||||||
|
procedure SyncFocusedRecordsFromGrid;
|
||||||
|
procedure SyncFocusedRecordsFromDataSet;
|
||||||
|
procedure StoreToRegistry;
|
||||||
|
procedure RestoreFromRegistry;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfrViewGrid = class(TfrViewBase, IViewGrid)
|
||||||
|
ActionList1: TActionList;
|
||||||
|
cxGrid: TcxGrid;
|
||||||
|
cxGridLevel: TcxGridLevel;
|
||||||
|
cxGridView: TcxGridDBTableView;
|
||||||
|
DADataSource: TDADataSource;
|
||||||
|
dxComponentPrinter: TdxComponentPrinter;
|
||||||
|
dxComponentPrinterLink: TdxGridReportLink;
|
||||||
|
dxPSEngineController1: TdxPSEngineController;
|
||||||
|
cxStyleRepository1: TcxStyleRepository;
|
||||||
|
cxStyleEven: TcxStyle;
|
||||||
|
cxStyleOdd: TcxStyle;
|
||||||
|
cxStyleSelection: TcxStyle;
|
||||||
|
procedure cxGridViewDblClick(Sender: TObject);
|
||||||
|
procedure cxGridViewDataControllerSortingChanged(Sender: TObject);
|
||||||
|
procedure SelectionChanged(Sender: TcxCustomGridTableView); virtual; abstract;
|
||||||
|
private
|
||||||
|
FFilter: string;
|
||||||
|
FOnFilterChanged : TNotifyEvent;
|
||||||
|
FOnDblClick: TNotifyEvent;
|
||||||
|
FPopupMenu: TPopupMenu;
|
||||||
|
procedure FiltrarGrid(TextoFiltro : String);
|
||||||
|
|
||||||
|
protected
|
||||||
|
function GetGrid : TcxGrid;
|
||||||
|
function GetDblClick: TNotifyEvent; virtual;
|
||||||
|
function GetFilter: string; virtual;
|
||||||
|
function GetPopupMenu: TPopupMenu; virtual;
|
||||||
|
function GetMultiSelection: Boolean; virtual;
|
||||||
|
procedure SetDblClick(const Value: TNotifyEvent); virtual;
|
||||||
|
procedure SetFilter(const Value: string); virtual;
|
||||||
|
procedure SetPopupMenu(const Value: TPopupMenu); virtual;
|
||||||
|
procedure SetMultiSelection(const Value: Boolean); virtual;
|
||||||
|
procedure FilterChanged(Sender : TObject); virtual;
|
||||||
|
|
||||||
|
public
|
||||||
|
procedure ShowEmbedded(const AParent : TWinControl); override;
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
procedure Preview;
|
||||||
|
procedure Print;
|
||||||
|
procedure PrintSetup;
|
||||||
|
procedure GotoFirst;
|
||||||
|
procedure GotoLast;
|
||||||
|
procedure StoreToRegistry; virtual;
|
||||||
|
procedure RestoreFromRegistry; virtual;
|
||||||
|
property Filter: string read GetFilter write SetFilter;
|
||||||
|
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
|
||||||
|
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
|
||||||
|
property Grid : TcxGrid read GetGrid;
|
||||||
|
procedure SyncFocusedRecordsFromGrid;
|
||||||
|
procedure SyncFocusedRecordsFromDataSet;
|
||||||
|
property MultiSelection : Boolean read GetMultiSelection write SetMultiSelection;
|
||||||
|
procedure RefreshGrid;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
var
|
||||||
|
frViewGrid: TfrViewGrid;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
CCReg, uDataModuleBase, uDBSelectionList;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
{ TfrViewGrid }
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterCustomContainer(TfrViewGrid);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
********************************* TfrViewGrid **********************************
|
||||||
|
}
|
||||||
|
constructor TfrViewGrid.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FFilter := '';
|
||||||
|
FOnFilterChanged := FilterChanged;
|
||||||
|
GotoFirst;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.cxGridViewDblClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if Assigned(FOnDblClick) then
|
||||||
|
FOnDblClick(Sender);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.FiltrarGrid(TextoFiltro : String);
|
||||||
|
var
|
||||||
|
Columna: TcxGridDBColumn;
|
||||||
|
i: Integer;
|
||||||
|
AItemList: TcxFilterCriteriaItemList;
|
||||||
|
AItemList2: TcxFilterCriteriaItemList;
|
||||||
|
begin
|
||||||
|
with cxGrid.ActiveView.DataController.Filter do
|
||||||
|
begin
|
||||||
|
BeginUpdate;
|
||||||
|
try
|
||||||
|
Options := [fcoCaseInsensitive, fcoSoftCompare];
|
||||||
|
Root.Clear;
|
||||||
|
if Length(TextoFiltro) > 0 then
|
||||||
|
begin
|
||||||
|
for i:=0 to (cxGrid.ActiveView as TcxGridDBTableView).ColumnCount - 1 do
|
||||||
|
begin
|
||||||
|
Columna := (cxGrid.ActiveView as TcxGridDBTableView).Columns[i];
|
||||||
|
if i = 0 then
|
||||||
|
begin
|
||||||
|
AItemList := Root;
|
||||||
|
AItemList.BoolOperatorKind := fboAnd;
|
||||||
|
AItemList2 := AItemList.AddItemList(fboAnd);
|
||||||
|
AItemList := AItemList2;
|
||||||
|
AItemList2 := AItemList.AddItemList(fboOr);
|
||||||
|
AItemList := AItemList2;
|
||||||
|
AItemList.AddItem(Columna, foLike, '%'+TextoFiltro+'%', IntToStr(i));
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
AItemList2 := AItemList.AddItemList(fboOr);
|
||||||
|
AItemList2.AddItem(Columna, foLike, '%'+TextoFiltro+'%', IntToStr(i));
|
||||||
|
AItemList := AItemList2;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
Active := True;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Active := False;
|
||||||
|
finally
|
||||||
|
EndUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfrViewGrid.GetDblClick: TNotifyEvent;
|
||||||
|
begin
|
||||||
|
Result := FOnDblClick;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfrViewGrid.GetFilter: string;
|
||||||
|
begin
|
||||||
|
Result := FFilter;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfrViewGrid.GetPopupMenu: TPopupMenu;
|
||||||
|
begin
|
||||||
|
Result := FPopupMenu;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.GotoFirst;
|
||||||
|
begin
|
||||||
|
cxGridView.DataController.GotoFirst;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.GotoLast;
|
||||||
|
begin
|
||||||
|
cxGridView.DataController.GotoLast;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.SetDblClick(const Value: TNotifyEvent);
|
||||||
|
begin
|
||||||
|
FOnDblClick := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.SetFilter(const Value: string);
|
||||||
|
begin
|
||||||
|
if FFilter <> Value then
|
||||||
|
begin
|
||||||
|
FFilter := Value;
|
||||||
|
FiltrarGrid(FFilter);
|
||||||
|
if Assigned(FOnFilterChanged) then
|
||||||
|
FOnFilterChanged(Self);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.SetPopupMenu(const Value: TPopupMenu);
|
||||||
|
begin
|
||||||
|
FPopupMenu := Value;
|
||||||
|
cxGridView.PopupMenu := FPopupMenu;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.cxGridViewDataControllerSortingChanged(
|
||||||
|
Sender: TObject);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
AFields: array of String;
|
||||||
|
ADirections: array of TDASortDirection;
|
||||||
|
ABookmark : Pointer;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
|
||||||
|
with cxGridView do
|
||||||
|
begin
|
||||||
|
for i := 0 to SortedItemCount - 1 do
|
||||||
|
begin
|
||||||
|
SetLength(AFields, i+1);
|
||||||
|
AFields[i] := (SortedItems[i] as TcxGridDBColumn).DataBinding.FieldName;
|
||||||
|
SetLength(ADirections, i+1);
|
||||||
|
case (SortedItems[i] as TcxGridDBColumn).SortOrder of
|
||||||
|
soAscending : ADirections[i] := sdAscending;
|
||||||
|
soDescending : ADirections[i] := sdDescending;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Assigned(DADataSource.DataTable) then
|
||||||
|
with DADataSource.DataTable do
|
||||||
|
begin
|
||||||
|
DisableControls;
|
||||||
|
ABookmark := GetBookMark;
|
||||||
|
try
|
||||||
|
Sort(AFields, ADirections);
|
||||||
|
GotoBookmark(ABookmark);
|
||||||
|
finally
|
||||||
|
FreeBookmark(ABookmark);
|
||||||
|
EnableControls;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfrViewGrid.GetGrid: TcxGrid;
|
||||||
|
begin
|
||||||
|
Result := cxGrid;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.ShowEmbedded(const AParent : TWinControl);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
|
||||||
|
if not DADataSource.DataTable.Active then
|
||||||
|
DADataSource.DataTable.Active := True;
|
||||||
|
|
||||||
|
with Grid do
|
||||||
|
begin
|
||||||
|
ActiveView.DataController.GotoFirst;
|
||||||
|
ActiveView.Focused := True;
|
||||||
|
if (ActiveView.ViewData as TcxCustomGridTableViewData).RecordCount > 0 then
|
||||||
|
begin
|
||||||
|
(ActiveView.ViewData as TcxCustomGridTableViewData).Records[0].Selected := True;
|
||||||
|
(ActiveView.ViewData as TcxCustomGridTableViewData).Records[0].Focused := True;
|
||||||
|
end;
|
||||||
|
{ if (ActiveView is TcxCustomGridTableView) then
|
||||||
|
(ActiveView as TcxCustomGridTableView).ApplyBestFit;}
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.Preview;
|
||||||
|
begin
|
||||||
|
dxComponentPrinter.Preview;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.Print;
|
||||||
|
begin
|
||||||
|
dxComponentPrinter.Print(True, nil, nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.PrintSetup;
|
||||||
|
begin
|
||||||
|
dxComponentPrinter.PageSetup(nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.RefreshGrid;
|
||||||
|
var
|
||||||
|
FocusedRow, TopRow : Integer;
|
||||||
|
begin
|
||||||
|
{ Refrescar las filas del grid a partir del dataset y colocar la fila
|
||||||
|
seleccionada donde estaba }
|
||||||
|
|
||||||
|
if DADataSource.DataTable.State = dsBrowse then
|
||||||
|
begin
|
||||||
|
TopRow := cxGridView.Controller.TopRowIndex;
|
||||||
|
FocusedRow := cxGridView.DataController.FocusedRowIndex;
|
||||||
|
|
||||||
|
cxGridView.DataController.UpdateItems(False); // <- Refresco
|
||||||
|
|
||||||
|
cxGridView.DataController.FocusedRowIndex := FocusedRow;
|
||||||
|
cxGridView.Controller.TopRowIndex := TopRow;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.SyncFocusedRecordsFromDataSet;
|
||||||
|
var
|
||||||
|
AIndex : Integer;
|
||||||
|
begin
|
||||||
|
{ for AIndex := 0 to cxGridView.DataController.RecordCount - 1 do
|
||||||
|
begin
|
||||||
|
if (MessageBox(0, PChar(cxGridView.DataController.GetDisplayText(AIndex, 1)), '',
|
||||||
|
MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON1) = idYes) then
|
||||||
|
begin
|
||||||
|
cxGridView.DataController.SelectAll;
|
||||||
|
|
||||||
|
|
||||||
|
cxGridView.DataController.SelectRows(AIndex, AIndex);
|
||||||
|
cxGridView.DataController.FocusSelectedRow(0);
|
||||||
|
Break;
|
||||||
|
end;
|
||||||
|
end;}
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.SyncFocusedRecordsFromGrid;
|
||||||
|
var
|
||||||
|
AValue : Variant;
|
||||||
|
i: Integer;
|
||||||
|
aObj : ISelectedRowList;
|
||||||
|
Clave : String;
|
||||||
|
begin
|
||||||
|
if not Supports(DADataSource.DataTable, ISelectedRowList, aObj) then
|
||||||
|
raise Exception.Create('La tabla no soporta el interfaz ISelectedRowList (SyncFocusedRecords)');
|
||||||
|
|
||||||
|
Clave := cxGridView.DataController.KeyFieldNames;
|
||||||
|
if Length(Clave) = 0 then
|
||||||
|
raise Exception.Create('Falta indicar los campos clave de la tabla en la vista del grid (SyncFocusedRecords)');
|
||||||
|
|
||||||
|
DADataSource.DataTable.DisableControls;
|
||||||
|
// DADataSource.DataTable.DisableEventHandlers; <- No descomentar
|
||||||
|
try
|
||||||
|
for i := 0 to cxGridView.Controller.SelectedRecordCount - 1 do
|
||||||
|
begin
|
||||||
|
AValue := cxGridView.Controller.SelectedRows[i].Values[cxGridView.GetColumnByFieldName(Clave).Index];
|
||||||
|
DADataSource.DataTable.First;
|
||||||
|
if DADataSource.DataTable.Locate(Clave, AValue, []) then
|
||||||
|
aObj.SelectedRows.CurrentRowSelected := True;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
// DADataSource.DataTable.EnableEventHandlers; <- No descomentar
|
||||||
|
DADataSource.DataTable.EnableControls;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfrViewGrid.GetMultiSelection: Boolean;
|
||||||
|
begin
|
||||||
|
Result := (cxGrid.ActiveView as TcxGridDBTableView).OptionsSelection.MultiSelect;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.SetMultiSelection(const Value: Boolean);
|
||||||
|
begin
|
||||||
|
(cxGrid.ActiveView as TcxGridDBTableView).OptionsSelection.MultiSelect := True;
|
||||||
|
(cxGrid.ActiveView as TcxGridDBTableView).OnSelectionChanged := SelectionChanged;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.RestoreFromRegistry;
|
||||||
|
begin
|
||||||
|
cxGridView.RestoreFromRegistry('Software\\FactuGES\\GridSettings\\' + Self.Name, False, False, []);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.StoreToRegistry;
|
||||||
|
begin
|
||||||
|
cxGridView.StoreToRegistry('Software\\FactuGES\\GridSettings\\' + Self.Name, True, []);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGrid.FilterChanged(Sender: TObject);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TfrViewGrid.Destroy;
|
||||||
|
begin
|
||||||
|
FOnFilterChanged := Nil;
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
94
Base/uViewInternet.dfm
Normal file
94
Base/uViewInternet.dfm
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
inherited frViewInternet: TfrViewInternet
|
||||||
|
Width = 300
|
||||||
|
Height = 115
|
||||||
|
Constraints.MinHeight = 115
|
||||||
|
Constraints.MinWidth = 300
|
||||||
|
DesignSize = (
|
||||||
|
300
|
||||||
|
115)
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 45
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Internet'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clActiveCaption
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Bevel1: TBevel
|
||||||
|
Left = 56
|
||||||
|
Top = 8
|
||||||
|
Width = 233
|
||||||
|
Height = 9
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
Shape = bsBottomLine
|
||||||
|
end
|
||||||
|
object lblParticular: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 34
|
||||||
|
Width = 76
|
||||||
|
Height = 13
|
||||||
|
Caption = 'E-mail personal:'
|
||||||
|
end
|
||||||
|
object lblTrabajo: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 58
|
||||||
|
Width = 70
|
||||||
|
Height = 13
|
||||||
|
Caption = 'E-mail trabajo:'
|
||||||
|
end
|
||||||
|
object lblMovil: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 82
|
||||||
|
Width = 59
|
||||||
|
Height = 13
|
||||||
|
Caption = 'P'#225'gina web:'
|
||||||
|
end
|
||||||
|
object ePaginaWeb: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 78
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'PAGINAWEB'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 2
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object eMailTrabajo: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 54
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'CORREO2'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 1
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object eMailParticular: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 30
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'CORREO1'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object DADataSource: TDADataSource
|
||||||
|
Left = 16
|
||||||
|
Top = 32
|
||||||
|
end
|
||||||
|
end
|
||||||
39
Base/uViewInternet.pas
Normal file
39
Base/uViewInternet.pas
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
unit uViewInternet;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, DB, uDADataTable, StdCtrls, Mask, DBCtrls, ExtCtrls,
|
||||||
|
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
|
||||||
|
cxDBEdit;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrViewInternet = class(TfrViewBase)
|
||||||
|
Bevel1: TBevel;
|
||||||
|
DADataSource: TDADataSource;
|
||||||
|
Label5: TLabel;
|
||||||
|
lblMovil: TLabel;
|
||||||
|
lblParticular: TLabel;
|
||||||
|
lblTrabajo: TLabel;
|
||||||
|
ePaginaWeb: TcxDBTextEdit;
|
||||||
|
eMailTrabajo: TcxDBTextEdit;
|
||||||
|
eMailParticular: TcxDBTextEdit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frViewInternet: TfrViewInternet;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterClass(TfrViewInternet);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
|
||||||
|
UnRegisterClass(TfrViewInternet);
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
104
Base/uViewMensaje.dfm
Normal file
104
Base/uViewMensaje.dfm
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
inherited frViewMensaje: TfrViewMensaje
|
||||||
|
Width = 443
|
||||||
|
Height = 22
|
||||||
|
Align = alTop
|
||||||
|
Visible = False
|
||||||
|
object TBXAlignmentPanel1: TTBXAlignmentPanel
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 443
|
||||||
|
Height = 22
|
||||||
|
Align = alClient
|
||||||
|
AutoSize = True
|
||||||
|
Color = clInfoBk
|
||||||
|
Margins.Left = 2
|
||||||
|
Margins.Top = 2
|
||||||
|
Margins.Right = 2
|
||||||
|
Margins.Bottom = 2
|
||||||
|
TabOrder = 0
|
||||||
|
object Image1: TImage
|
||||||
|
Left = 2
|
||||||
|
Top = 2
|
||||||
|
Width = 19
|
||||||
|
Height = 18
|
||||||
|
Align = alLeft
|
||||||
|
Picture.Data = {
|
||||||
|
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001000
|
||||||
|
00001008060000001FF3FF61000000097048597300000AEB00000AEB01828B0D
|
||||||
|
5A0000000467414D410000B18E7CFB51930000027F4944415478DA95926D4853
|
||||||
|
5118C79FDB268AA54485D62C4C50962CDC87F5416D9AB966CEA440A4E84D828C
|
||||||
|
304C89B217DB87D00F65252B69422F9A4161D6A0507C6D595A645083CC557871
|
||||||
|
29CE19949B6DD3DDEDDE9D73BABB561835D3030FCF39E739FFDFF3C2A1608EF5
|
||||||
|
A1467A415632783A589C100254B0A0EB5A623A9392DCD365B89DBEFF3CBC5830
|
||||||
|
C0DD9DD726922B34EFDAEB5B53F75972170470D4C8E461DB724D78091139AC66
|
||||||
|
F4FC5E9BA24007FDF3064C75E6DE7DE94BD8DBDC4A834615014B5DBD8D6985E3
|
||||||
|
7BE6056074D2B544934357DCFA1CD2FBEA1B6C908742E96EAFBFFB7E5FE2A15A
|
||||||
|
18FA2FC0F978B35E9CBAE94895EE2DB474D82053B918CA4BA2A1BFD37823B3D8
|
||||||
|
79784E80BB36298ADA98368C97937043F3185CACA1E164F12AD89E1509132316
|
||||||
|
E659BB39A14807B6A000E74365A5282D43EB67BFC020FD1D76159AC0502785D8
|
||||||
|
984580B8691830BEA9561F634EFC1340AAA4111E55C60817859611E4038EF342
|
||||||
|
56FE6BE86C5A0F807D4010035F2DA3EE1EA32DEEA81EEC7F0126EF288E87A8D5
|
||||||
|
97389F8DC28280858ACB9FE06C690CBFF702E60DB153E463EF70C5D632EEDC1F
|
||||||
|
00FA6A7CA824397D888B46AB671EF300CC826DDC092B5710411CB0406C62D86E
|
||||||
|
EFEA72C69DAA07F76FC0645DD241B15A7D93E3C6A85FE2471D5E686872C1CE1C
|
||||||
|
2FE46BF0AC2A1842F7B9CBB2CFF8AB05007900A26949819995E075184D43A0FF
|
||||||
|
400B95575CD0FED4010A9907AAB5E1BC9801EC9FA9C261656D03467FFC8106E2
|
||||||
|
A55C7A591EA551197CC84A1121BB4FC8346AF540CB1307A895046225E8670B8C
|
||||||
|
D01E6611B198C445D9E5DC75EABD7E4DA32B322C05630F3F15BE5482788F788F
|
||||||
|
F9E9FB679D9110C781FBC077B753433BB478CB0F7C3B8CF0987D51CF00000000
|
||||||
|
49454E44AE426082}
|
||||||
|
end
|
||||||
|
object lblMensaje: TLabel
|
||||||
|
Left = 21
|
||||||
|
Top = 2
|
||||||
|
Width = 398
|
||||||
|
Height = 18
|
||||||
|
Align = alClient
|
||||||
|
Caption = 'Mensaje'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
Transparent = True
|
||||||
|
Layout = tlCenter
|
||||||
|
end
|
||||||
|
object bClose: TJvNavIconButton
|
||||||
|
Left = 419
|
||||||
|
Top = 2
|
||||||
|
Height = 18
|
||||||
|
Align = alRight
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
ButtonType = nibClose
|
||||||
|
Colors.ButtonColorFrom = clWhite
|
||||||
|
Colors.ButtonColorTo = 12435133
|
||||||
|
Colors.ButtonHotColorFrom = 13009540
|
||||||
|
Colors.ButtonHotColorTo = 13009540
|
||||||
|
Colors.ButtonSelectedColorFrom = 14602190
|
||||||
|
Colors.ButtonSelectedColorTo = 14602190
|
||||||
|
Colors.SplitterColorFrom = 13026246
|
||||||
|
Colors.SplitterColorTo = 9211532
|
||||||
|
Colors.DividerColorFrom = 15725551
|
||||||
|
Colors.DividerColorTo = 13026246
|
||||||
|
Colors.HeaderColorFrom = 8684164
|
||||||
|
Colors.HeaderColorTo = 8684164
|
||||||
|
Colors.FrameColor = 8684676
|
||||||
|
Colors.ToolPanelHeaderColorFrom = clWhite
|
||||||
|
Colors.ToolPanelHeaderColorTo = 12435133
|
||||||
|
ImageIndex = 0
|
||||||
|
StyleManager = dmBase.StyleManager
|
||||||
|
ParentStyleManager = False
|
||||||
|
OnClick = bCloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object ApplicationEvents: TApplicationEvents
|
||||||
|
OnException = ApplicationEventsException
|
||||||
|
Left = 104
|
||||||
|
end
|
||||||
|
end
|
||||||
49
Base/uViewMensaje.pas
Normal file
49
Base/uViewMensaje.pas
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
unit uViewMensaje;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, StdCtrls, pngimage, ExtCtrls, TBXDkPanels, AppEvnts,
|
||||||
|
JvExControls, JvComponent, JvButton, JvNavigationPane;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrViewMensaje = class(TfrViewBase)
|
||||||
|
TBXAlignmentPanel1: TTBXAlignmentPanel;
|
||||||
|
Image1: TImage;
|
||||||
|
lblMensaje: TLabel;
|
||||||
|
ApplicationEvents: TApplicationEvents;
|
||||||
|
bClose: TJvNavIconButton;
|
||||||
|
procedure ApplicationEventsException(Sender: TObject; E: Exception);
|
||||||
|
procedure bCloseClick(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frViewMensaje: TfrViewMensaje;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses uDataModuleBase;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrViewMensaje.ApplicationEventsException(Sender: TObject;
|
||||||
|
E: Exception);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
lblMensaje.Caption := E.Message;
|
||||||
|
if not Visible then
|
||||||
|
Visible := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewMensaje.bCloseClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
Visible := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
47
Base/uViewObservaciones.dfm
Normal file
47
Base/uViewObservaciones.dfm
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
inherited frViewObservaciones: TfrViewObservaciones
|
||||||
|
Width = 300
|
||||||
|
Constraints.MinWidth = 300
|
||||||
|
DesignSize = (
|
||||||
|
300
|
||||||
|
226)
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 85
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Observaciones'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clActiveCaption
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Bevel1: TBevel
|
||||||
|
Left = 96
|
||||||
|
Top = 8
|
||||||
|
Width = 192
|
||||||
|
Height = 9
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
Shape = bsBottomLine
|
||||||
|
end
|
||||||
|
object memObservaciones: TcxDBMemo
|
||||||
|
Left = 16
|
||||||
|
Top = 32
|
||||||
|
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||||
|
DataBinding.DataField = 'OBSERVACIONES'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Properties.ScrollBars = ssVertical
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 0
|
||||||
|
Height = 179
|
||||||
|
Width = 269
|
||||||
|
end
|
||||||
|
object DADataSource: TDADataSource
|
||||||
|
Left = 16
|
||||||
|
Top = 48
|
||||||
|
end
|
||||||
|
end
|
||||||
26
Base/uViewObservaciones.pas
Normal file
26
Base/uViewObservaciones.pas
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
unit uViewObservaciones;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
|
||||||
|
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrViewObservaciones = class(TfrViewBase)
|
||||||
|
Label5: TLabel;
|
||||||
|
Bevel1: TBevel;
|
||||||
|
memObservaciones: TcxDBMemo;
|
||||||
|
DADataSource: TDADataSource;
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
end.
|
||||||
47
Base/uViewPlazoEntrega.dfm
Normal file
47
Base/uViewPlazoEntrega.dfm
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
inherited frViewPlazoEntrega: TfrViewPlazoEntrega
|
||||||
|
Width = 300
|
||||||
|
Constraints.MinWidth = 300
|
||||||
|
DesignSize = (
|
||||||
|
300
|
||||||
|
240)
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 97
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Plazo de entrega'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clActiveCaption
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Bevel1: TBevel
|
||||||
|
Left = 112
|
||||||
|
Top = 8
|
||||||
|
Width = 176
|
||||||
|
Height = 9
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
Shape = bsBottomLine
|
||||||
|
end
|
||||||
|
object memPlazoEntrega: TcxDBMemo
|
||||||
|
Left = 16
|
||||||
|
Top = 32
|
||||||
|
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||||
|
DataBinding.DataField = 'PLAZOENTREGA'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Properties.ScrollBars = ssVertical
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 0
|
||||||
|
Height = 193
|
||||||
|
Width = 269
|
||||||
|
end
|
||||||
|
object DADataSource: TDADataSource
|
||||||
|
Left = 16
|
||||||
|
Top = 48
|
||||||
|
end
|
||||||
|
end
|
||||||
26
Base/uViewPlazoEntrega.pas
Normal file
26
Base/uViewPlazoEntrega.pas
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
unit uViewPlazoEntrega;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
|
||||||
|
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrViewPlazoEntrega = class(TfrViewBase)
|
||||||
|
Label5: TLabel;
|
||||||
|
Bevel1: TBevel;
|
||||||
|
memPlazoEntrega: TcxDBMemo;
|
||||||
|
DADataSource: TDADataSource;
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
end.
|
||||||
10
Base/uViewPreview.dfm
Normal file
10
Base/uViewPreview.dfm
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
inherited frViewPreview: TfrViewPreview
|
||||||
|
object frxPreview: TfrxPreview
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 320
|
||||||
|
Height = 240
|
||||||
|
Align = alClient
|
||||||
|
OutlineVisible = False
|
||||||
|
end
|
||||||
|
end
|
||||||
43
Base/uViewPreview.pas
Normal file
43
Base/uViewPreview.pas
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
unit uViewPreview;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, frxClass, frxPreview, JvComponent, JvFormAutoSize;
|
||||||
|
|
||||||
|
type
|
||||||
|
IViewPreview = interface(IViewBase)
|
||||||
|
['{F9A96948-4005-4E9B-8045-7B4874A05D19}']
|
||||||
|
function GetPreview: TfrxPreview;
|
||||||
|
property Preview : TfrxPreview read GetPreview;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TfrViewPreview = class(TfrViewBase, IViewPreview)
|
||||||
|
frxPreview: TfrxPreview;
|
||||||
|
private
|
||||||
|
function GetPreview: TfrxPreview;
|
||||||
|
public
|
||||||
|
property Preview : TfrxPreview read GetPreview;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
{ TfrViewPreview }
|
||||||
|
|
||||||
|
function TfrViewPreview.GetPreview: TfrxPreview;
|
||||||
|
begin
|
||||||
|
Result := frxPreview;
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterClass(TfrViewPreview);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
UnRegisterClass(TfrViewPreview);
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
|
end.
|
||||||
114
Base/uViewTelefonos.dfm
Normal file
114
Base/uViewTelefonos.dfm
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
inherited frViewTelefonos: TfrViewTelefonos
|
||||||
|
Width = 300
|
||||||
|
Height = 140
|
||||||
|
Constraints.MinHeight = 140
|
||||||
|
Constraints.MinWidth = 300
|
||||||
|
DesignSize = (
|
||||||
|
300
|
||||||
|
140)
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 57
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Tel'#233'fonos'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clActiveCaption
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Bevel1: TBevel
|
||||||
|
Left = 72
|
||||||
|
Top = 8
|
||||||
|
Width = 217
|
||||||
|
Height = 9
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
Shape = bsBottomLine
|
||||||
|
end
|
||||||
|
object lblParticular: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 34
|
||||||
|
Width = 49
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Particular:'
|
||||||
|
end
|
||||||
|
object lblTrabajo: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 58
|
||||||
|
Width = 41
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Trabajo:'
|
||||||
|
end
|
||||||
|
object lblMovil: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 82
|
||||||
|
Width = 73
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Tel'#233'fono m'#243'vil:'
|
||||||
|
end
|
||||||
|
object lblFax: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 106
|
||||||
|
Width = 75
|
||||||
|
Height = 13
|
||||||
|
Caption = 'N'#250'mero de fax:'
|
||||||
|
end
|
||||||
|
object eTlfParticular: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 30
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'TELEFONO1'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object eTlfTrabajo: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 54
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'TELEFONO2'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 1
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object eTlfMovil: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 78
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'MOVIL'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 2
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object eFax: TcxDBTextEdit
|
||||||
|
Left = 100
|
||||||
|
Top = 102
|
||||||
|
Anchors = [akLeft, akTop, akRight]
|
||||||
|
DataBinding.DataField = 'FAX'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 3
|
||||||
|
Width = 185
|
||||||
|
end
|
||||||
|
object DADataSource: TDADataSource
|
||||||
|
Left = 16
|
||||||
|
Top = 32
|
||||||
|
end
|
||||||
|
end
|
||||||
41
Base/uViewTelefonos.pas
Normal file
41
Base/uViewTelefonos.pas
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
unit uViewTelefonos;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, DB, uDADataTable, StdCtrls, Mask, DBCtrls, ExtCtrls,
|
||||||
|
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
|
||||||
|
cxDBEdit;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrViewTelefonos = class(TfrViewBase)
|
||||||
|
Bevel1: TBevel;
|
||||||
|
DADataSource: TDADataSource;
|
||||||
|
Label5: TLabel;
|
||||||
|
lblFax: TLabel;
|
||||||
|
lblMovil: TLabel;
|
||||||
|
lblParticular: TLabel;
|
||||||
|
lblTrabajo: TLabel;
|
||||||
|
eTlfParticular: TcxDBTextEdit;
|
||||||
|
eTlfTrabajo: TcxDBTextEdit;
|
||||||
|
eTlfMovil: TcxDBTextEdit;
|
||||||
|
eFax: TcxDBTextEdit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frViewTelefonos: TfrViewTelefonos;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
initialization
|
||||||
|
RegisterClass(TfrViewTelefonos);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
|
||||||
|
UnRegisterClass(TfrViewTelefonos);
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
271
Base/uViewTotales.dfm
Normal file
271
Base/uViewTotales.dfm
Normal file
@ -0,0 +1,271 @@
|
|||||||
|
inherited frViewTotales: TfrViewTotales
|
||||||
|
Width = 730
|
||||||
|
Height = 122
|
||||||
|
Align = alBottom
|
||||||
|
Constraints.MaxHeight = 122
|
||||||
|
Constraints.MinHeight = 122
|
||||||
|
Constraints.MinWidth = 730
|
||||||
|
object TabControl1: TTabControl
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 730
|
||||||
|
Height = 122
|
||||||
|
Align = alClient
|
||||||
|
TabOrder = 0
|
||||||
|
object GroupBox1: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 713
|
||||||
|
Height = 105
|
||||||
|
Caption = 'Importes totales'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clActiveCaption
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
TabOrder = 0
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 25
|
||||||
|
Width = 74
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Base imponible:'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Label2: TLabel
|
||||||
|
Left = 248
|
||||||
|
Top = 25
|
||||||
|
Width = 77
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Descuento (%):'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Label3: TLabel
|
||||||
|
Left = 282
|
||||||
|
Top = 49
|
||||||
|
Width = 43
|
||||||
|
Height = 13
|
||||||
|
Caption = 'IVA (%):'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Label4: TLabel
|
||||||
|
Left = 483
|
||||||
|
Top = 25
|
||||||
|
Width = 76
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Importe de dto:'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 482
|
||||||
|
Top = 49
|
||||||
|
Width = 77
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Importe de IVA:'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Label7: TLabel
|
||||||
|
Left = 479
|
||||||
|
Top = 73
|
||||||
|
Width = 80
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Importe total:'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clActiveCaption
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object lblBase: TcxDBCurrencyEdit
|
||||||
|
Left = 96
|
||||||
|
Top = 21
|
||||||
|
AutoSize = False
|
||||||
|
DataBinding.DataField = 'BASEIMPONIBLE'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Enabled = False
|
||||||
|
ParentFont = False
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
|
Properties.ReadOnly = True
|
||||||
|
Properties.UseLeftAlignmentOnEditing = False
|
||||||
|
Properties.UseThousandSeparator = True
|
||||||
|
Style.Font.Charset = DEFAULT_CHARSET
|
||||||
|
Style.Font.Color = clWindowText
|
||||||
|
Style.Font.Height = -11
|
||||||
|
Style.Font.Name = 'Tahoma'
|
||||||
|
Style.Font.Style = []
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
Style.TextColor = clWindowText
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.TextColor = clWindowText
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 0
|
||||||
|
Height = 21
|
||||||
|
Width = 137
|
||||||
|
end
|
||||||
|
object cxCurrencyEdit3: TcxDBCurrencyEdit
|
||||||
|
Left = 562
|
||||||
|
Top = 21
|
||||||
|
AutoSize = False
|
||||||
|
DataBinding.DataField = 'IMPORTEDESCUENTO'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Enabled = False
|
||||||
|
ParentFont = False
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
|
Properties.ReadOnly = True
|
||||||
|
Properties.UseLeftAlignmentOnEditing = False
|
||||||
|
Properties.UseThousandSeparator = True
|
||||||
|
Style.Font.Charset = DEFAULT_CHARSET
|
||||||
|
Style.Font.Color = clWindowText
|
||||||
|
Style.Font.Height = -11
|
||||||
|
Style.Font.Name = 'Tahoma'
|
||||||
|
Style.Font.Style = []
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
Style.TextColor = clWindowText
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.TextColor = clWindowText
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 3
|
||||||
|
Height = 21
|
||||||
|
Width = 137
|
||||||
|
end
|
||||||
|
object cxCurrencyEdit4: TcxDBCurrencyEdit
|
||||||
|
Left = 562
|
||||||
|
Top = 45
|
||||||
|
AutoSize = False
|
||||||
|
DataBinding.DataField = 'IMPORTEIVA'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Enabled = False
|
||||||
|
ParentFont = False
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
|
Properties.ReadOnly = True
|
||||||
|
Properties.UseLeftAlignmentOnEditing = False
|
||||||
|
Properties.UseThousandSeparator = True
|
||||||
|
Style.Font.Charset = DEFAULT_CHARSET
|
||||||
|
Style.Font.Color = clWindowText
|
||||||
|
Style.Font.Height = -11
|
||||||
|
Style.Font.Name = 'Tahoma'
|
||||||
|
Style.Font.Style = []
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
Style.TextColor = clWindowText
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.TextColor = clWindowText
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 4
|
||||||
|
Height = 21
|
||||||
|
Width = 137
|
||||||
|
end
|
||||||
|
object cxCurrencyEdit5: TcxDBCurrencyEdit
|
||||||
|
Left = 562
|
||||||
|
Top = 69
|
||||||
|
AutoSize = False
|
||||||
|
DataBinding.DataField = 'IMPORTETOTAL'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
Enabled = False
|
||||||
|
ParentFont = False
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
|
Properties.ReadOnly = True
|
||||||
|
Properties.UseLeftAlignmentOnEditing = False
|
||||||
|
Properties.UseThousandSeparator = True
|
||||||
|
Style.Font.Charset = DEFAULT_CHARSET
|
||||||
|
Style.Font.Color = clWindowText
|
||||||
|
Style.Font.Height = -11
|
||||||
|
Style.Font.Name = 'Tahoma'
|
||||||
|
Style.Font.Style = []
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
Style.TextColor = clActiveCaption
|
||||||
|
Style.TextStyle = [fsBold]
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.TextColor = clWindowText
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 5
|
||||||
|
Height = 21
|
||||||
|
Width = 137
|
||||||
|
end
|
||||||
|
object cxCurrencyEdit1: TcxDBSpinEdit
|
||||||
|
Left = 328
|
||||||
|
Top = 21
|
||||||
|
AutoSize = False
|
||||||
|
DataBinding.DataField = 'DESCUENTO'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
ParentFont = False
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
|
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.MaxValue = 100.000000000000000000
|
||||||
|
Style.Font.Charset = DEFAULT_CHARSET
|
||||||
|
Style.Font.Color = clWindowText
|
||||||
|
Style.Font.Height = -11
|
||||||
|
Style.Font.Name = 'Tahoma'
|
||||||
|
Style.Font.Style = []
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
Style.TextColor = clWindowText
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 1
|
||||||
|
Height = 21
|
||||||
|
Width = 137
|
||||||
|
end
|
||||||
|
object cxCurrencyEdit2: TcxDBSpinEdit
|
||||||
|
Left = 328
|
||||||
|
Top = 45
|
||||||
|
AutoSize = False
|
||||||
|
DataBinding.DataField = 'IVA'
|
||||||
|
DataBinding.DataSource = DADataSource
|
||||||
|
ParentFont = False
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
|
Properties.AssignedValues.MinValue = True
|
||||||
|
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.MaxValue = 100.000000000000000000
|
||||||
|
Style.Font.Charset = DEFAULT_CHARSET
|
||||||
|
Style.Font.Color = clWindowText
|
||||||
|
Style.Font.Height = -11
|
||||||
|
Style.Font.Name = 'Tahoma'
|
||||||
|
Style.Font.Style = []
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
Style.TextColor = clWindowText
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 2
|
||||||
|
Height = 21
|
||||||
|
Width = 137
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object DADataSource: TDADataSource
|
||||||
|
Left = 80
|
||||||
|
end
|
||||||
|
end
|
||||||
40
Base/uViewTotales.pas
Normal file
40
Base/uViewTotales.pas
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
unit uViewTotales;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uViewBase, ExtCtrls, StdCtrls, DB, uDADataTable, cxGraphics,
|
||||||
|
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxDBEdit, cxControls,
|
||||||
|
cxContainer, cxEdit, cxLabel, cxDBLabel, cxCurrencyEdit, cxSpinEdit,
|
||||||
|
ComCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrViewTotales = class(TfrViewBase)
|
||||||
|
DADataSource: TDADataSource;
|
||||||
|
GroupBox1: TGroupBox;
|
||||||
|
Label1: TLabel;
|
||||||
|
Label2: TLabel;
|
||||||
|
Label3: TLabel;
|
||||||
|
Label4: TLabel;
|
||||||
|
Label5: TLabel;
|
||||||
|
Label7: TLabel;
|
||||||
|
lblBase: TcxDBCurrencyEdit;
|
||||||
|
cxCurrencyEdit3: TcxDBCurrencyEdit;
|
||||||
|
cxCurrencyEdit4: TcxDBCurrencyEdit;
|
||||||
|
cxCurrencyEdit5: TcxDBCurrencyEdit;
|
||||||
|
cxCurrencyEdit1: TcxDBSpinEdit;
|
||||||
|
cxCurrencyEdit2: TcxDBSpinEdit;
|
||||||
|
TabControl1: TTabControl;
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
end.
|
||||||
46
Cliente/FactuGES.cfg
Normal file
46
Cliente/FactuGES.cfg
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
-$A8
|
||||||
|
-$B-
|
||||||
|
-$C+
|
||||||
|
-$D+
|
||||||
|
-$E-
|
||||||
|
-$F-
|
||||||
|
-$G+
|
||||||
|
-$H+
|
||||||
|
-$I+
|
||||||
|
-$J-
|
||||||
|
-$K-
|
||||||
|
-$L+
|
||||||
|
-$M-
|
||||||
|
-$N+
|
||||||
|
-$O+
|
||||||
|
-$P+
|
||||||
|
-$Q-
|
||||||
|
-$R-
|
||||||
|
-$S-
|
||||||
|
-$T-
|
||||||
|
-$U-
|
||||||
|
-$V+
|
||||||
|
-$W-
|
||||||
|
-$X+
|
||||||
|
-$YD
|
||||||
|
-$Z1
|
||||||
|
-GD
|
||||||
|
-cg
|
||||||
|
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||||
|
-H+
|
||||||
|
-W+
|
||||||
|
-M
|
||||||
|
-$M16384,1048576
|
||||||
|
-K$00400000
|
||||||
|
-E"..\Output\Cliente"
|
||||||
|
-N".\"
|
||||||
|
-LE"c:\archivos de programa\borland\delphi7\Projects\Bpl"
|
||||||
|
-LN"c:\archivos de programa\borland\delphi7\Projects\Bpl"
|
||||||
|
-U"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas"
|
||||||
|
-O"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas"
|
||||||
|
-I"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas"
|
||||||
|
-R"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas"
|
||||||
|
-LUPluginSDK_D7R;GUISDK_D7;BaseD7;Configuracion;Usuarios
|
||||||
|
-w-UNSAFE_TYPE
|
||||||
|
-w-UNSAFE_CODE
|
||||||
|
-w-UNSAFE_CAST
|
||||||
202
Cliente/FactuGES.dof
Normal file
202
Cliente/FactuGES.dof
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
[FileVersion]
|
||||||
|
Version=7.0
|
||||||
|
[Compiler]
|
||||||
|
A=8
|
||||||
|
B=0
|
||||||
|
C=1
|
||||||
|
D=1
|
||||||
|
E=0
|
||||||
|
F=0
|
||||||
|
G=1
|
||||||
|
H=1
|
||||||
|
I=1
|
||||||
|
J=0
|
||||||
|
K=0
|
||||||
|
L=1
|
||||||
|
M=0
|
||||||
|
N=1
|
||||||
|
O=1
|
||||||
|
P=1
|
||||||
|
Q=0
|
||||||
|
R=0
|
||||||
|
S=0
|
||||||
|
T=0
|
||||||
|
U=0
|
||||||
|
V=1
|
||||||
|
W=0
|
||||||
|
X=1
|
||||||
|
Y=1
|
||||||
|
Z=1
|
||||||
|
ShowHints=1
|
||||||
|
ShowWarnings=1
|
||||||
|
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||||
|
NamespacePrefix=
|
||||||
|
SymbolDeprecated=1
|
||||||
|
SymbolLibrary=1
|
||||||
|
SymbolPlatform=1
|
||||||
|
UnitLibrary=1
|
||||||
|
UnitPlatform=1
|
||||||
|
UnitDeprecated=1
|
||||||
|
HResultCompat=1
|
||||||
|
HidingMember=1
|
||||||
|
HiddenVirtual=1
|
||||||
|
Garbage=1
|
||||||
|
BoundsError=1
|
||||||
|
ZeroNilCompat=1
|
||||||
|
StringConstTruncated=1
|
||||||
|
ForLoopVarVarPar=1
|
||||||
|
TypedConstVarPar=1
|
||||||
|
AsgToTypedConst=1
|
||||||
|
CaseLabelRange=1
|
||||||
|
ForVariable=1
|
||||||
|
ConstructingAbstract=1
|
||||||
|
ComparisonFalse=1
|
||||||
|
ComparisonTrue=1
|
||||||
|
ComparingSignedUnsigned=1
|
||||||
|
CombiningSignedUnsigned=1
|
||||||
|
UnsupportedConstruct=1
|
||||||
|
FileOpen=1
|
||||||
|
FileOpenUnitSrc=1
|
||||||
|
BadGlobalSymbol=1
|
||||||
|
DuplicateConstructorDestructor=1
|
||||||
|
InvalidDirective=1
|
||||||
|
PackageNoLink=1
|
||||||
|
PackageThreadVar=1
|
||||||
|
ImplicitImport=1
|
||||||
|
HPPEMITIgnored=1
|
||||||
|
NoRetVal=1
|
||||||
|
UseBeforeDef=1
|
||||||
|
ForLoopVarUndef=1
|
||||||
|
UnitNameMismatch=1
|
||||||
|
NoCFGFileFound=1
|
||||||
|
MessageDirective=1
|
||||||
|
ImplicitVariants=1
|
||||||
|
UnicodeToLocale=1
|
||||||
|
LocaleToUnicode=1
|
||||||
|
ImagebaseMultiple=1
|
||||||
|
SuspiciousTypecast=1
|
||||||
|
PrivatePropAccessor=1
|
||||||
|
UnsafeType=0
|
||||||
|
UnsafeCode=0
|
||||||
|
UnsafeCast=0
|
||||||
|
[Linker]
|
||||||
|
MapFile=3
|
||||||
|
OutputObjs=0
|
||||||
|
ConsoleApp=1
|
||||||
|
DebugInfo=0
|
||||||
|
RemoteSymbols=0
|
||||||
|
MinStackSize=16384
|
||||||
|
MaxStackSize=1048576
|
||||||
|
ImageBase=4194304
|
||||||
|
ExeDescription=
|
||||||
|
[Directories]
|
||||||
|
OutputDir=..\Output\Cliente
|
||||||
|
UnitOutputDir=.\
|
||||||
|
PackageDLLOutputDir=
|
||||||
|
PackageDCPOutputDir=
|
||||||
|
SearchPath=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas
|
||||||
|
Packages=PluginSDK_D7R;GUISDK_D7;BaseD7;Configuracion;Usuarios
|
||||||
|
Conditionals=
|
||||||
|
DebugSourceDirs=
|
||||||
|
UsePackages=1
|
||||||
|
[Parameters]
|
||||||
|
RunParams=
|
||||||
|
HostApplication=
|
||||||
|
Launcher=
|
||||||
|
UseLauncher=0
|
||||||
|
DebugCWD=
|
||||||
|
[Language]
|
||||||
|
ActiveLang=
|
||||||
|
ProjectLang=
|
||||||
|
RootDir=C:\Archivos de programa\Borland\Delphi7\Bin\
|
||||||
|
[Version Info]
|
||||||
|
IncludeVerInfo=1
|
||||||
|
AutoIncBuild=0
|
||||||
|
MajorVer=1
|
||||||
|
MinorVer=2
|
||||||
|
Release=0
|
||||||
|
Build=0
|
||||||
|
Debug=0
|
||||||
|
PreRelease=0
|
||||||
|
Special=0
|
||||||
|
Private=0
|
||||||
|
DLL=0
|
||||||
|
Locale=3082
|
||||||
|
CodePage=1252
|
||||||
|
[Version Info Keys]
|
||||||
|
CompanyName=Rodax Software S.L.
|
||||||
|
FileDescription=
|
||||||
|
FileVersion=1.2.0.0
|
||||||
|
InternalName=FactuGES
|
||||||
|
LegalCopyright=
|
||||||
|
LegalTrademarks=
|
||||||
|
OriginalFilename=
|
||||||
|
ProductName=FactuGES
|
||||||
|
ProductVersion=1.0.0.0
|
||||||
|
Comments=
|
||||||
|
[Excluded Packages]
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxTreeListVCLD7.bpl=ExpressQuantumTreeList 4 (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxThemeD7.bpl=Express XP Theme Manager by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxLibraryVCLD7.bpl=Express Cross Platform Library (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxExportVCLD7.bpl=Express Cross Platform Export Library (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxEditorsVCLD7.bpl=ExpressEditors Library 5 (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxDataD7.bpl=ExpressDataController by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxExtEditorsVCLD7.bpl=ExpressExtendedEditors Library 5 (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxGridVCLD7.bpl=ExpressQuantumGrid 5 (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxPageControlVCLD7.bpl=Express Cross Platform PageControl (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxSchedulerVCLD7.bpl=ExpressScheduler 2 (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxsbD7.bpl=ExpressSideBar by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxComnD7.bpl=ExpressCommonLibrary by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarD7.bpl=ExpressBars by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarDBNavD7.bpl=ExpressBars DBNavigator by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarExtDBItemsD7.bpl=ExpressBars extended DB items by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxBarExtItemsD7.bpl=ExpressBars extended items by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxDockingD7.bpl=ExpressDocking Library by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxLayoutControlD7.bpl=ExpressLayout Control by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxNavBarD7.bpl=ExpressNavBar by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxGDIPlusD7.bpl=ExpressGDI+ Library by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxVerticalGridVCLD7.bpl=ExpressVerticalGrid (VCL Edition) by Developer Express Inc.
|
||||||
|
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerD7.bpl=Database Comparer VCL
|
||||||
|
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerBdeD7.bpl=Database Comparer VCL BDE
|
||||||
|
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerDBXD7.bpl=Database Comparer VCL DBX
|
||||||
|
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerIbxD7.bpl=Database Comparer VCL IBX
|
||||||
|
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerAdoD7.bpl=Database Comparer VCL ADO
|
||||||
|
C:\Archivos de programa\EurekaLog 5\Delphi7\ExceptionExpert7.bpl=EurekaLog 5.1.9
|
||||||
|
C:\WINDOWS\system32\dclShX_Namespace_V3D7.bpl=(untitled)
|
||||||
|
C:\WINDOWS\system32\vclShX_Namespace_v3D7.bpl=(untitled)
|
||||||
|
[HistoryLists\hlDebugSourcePath]
|
||||||
|
Count=1
|
||||||
|
Item0=D:\Proyectos\Componentes\GUISDK\Sources\;D:\Proyectos\Componentes\PluginSDK\Source\;D:\Proyectos\FactuGES (Estudio)\Codigo\Modulos\Contactos\Cliente;D:\Proyectos\FactuGES (Estudio)\Codigo\Modulos\Contactos\Reglas
|
||||||
|
[HistoryLists\hlUnitAliases]
|
||||||
|
Count=1
|
||||||
|
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||||
|
[HistoryLists\hlSearchPath]
|
||||||
|
Count=12
|
||||||
|
Item0=..\Modulos\Presupuestos\Reglas;..\Modulos\Contactos\Reglas;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Albaranes de cliente\Reglas
|
||||||
|
Item1=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas
|
||||||
|
Item2=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados;..\..\Contactos\Cliente;..\..\Almacenes\Cliente
|
||||||
|
Item3=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados
|
||||||
|
Item4=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados;..\..\Contactos\Cliente
|
||||||
|
Item5=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados
|
||||||
|
Item6=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente
|
||||||
|
Item7=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados;..\..\Montajes\Cliente;..\..\Almacenes\Cliente
|
||||||
|
Item8=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados;..\..\Montajes\Cliente
|
||||||
|
Item9=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Servidor
|
||||||
|
Item10=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\base;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas
|
||||||
|
Item11=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\Base;..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios
|
||||||
|
[HistoryLists\hlUnitOutputDirectory]
|
||||||
|
Count=1
|
||||||
|
Item0=.\
|
||||||
|
[HistoryLists\hlOutputDirectorry]
|
||||||
|
Count=2
|
||||||
|
Item0=..\Output\Servidor
|
||||||
|
Item1=..\Output\Cliente
|
||||||
|
[HistoryLists\hlBPLOutput]
|
||||||
|
Count=3
|
||||||
|
Item0=..\..\..\Output\Cliente
|
||||||
|
Item1=..\Output\Cliente
|
||||||
|
Item2=..\..\Output\Cliente
|
||||||
|
[HistoryLists\hlDCPOutput]
|
||||||
|
Count=1
|
||||||
|
Item0=.\
|
||||||
22
Cliente/FactuGES.dpr
Normal file
22
Cliente/FactuGES.dpr
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
program FactuGES;
|
||||||
|
|
||||||
|
uses
|
||||||
|
Forms,
|
||||||
|
uLoginForm,
|
||||||
|
uPantallaPrincipal in 'uPantallaPrincipal.pas' {fPantallaPrincipal},
|
||||||
|
uMenuUtils in 'uMenuUtils.pas',
|
||||||
|
uSplash in 'uSplash.pas' {SplashScreen},
|
||||||
|
uAcercaDe in 'uAcercaDe.pas' {fAcercaDe};
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
|
||||||
|
begin
|
||||||
|
Application.Initialize;
|
||||||
|
|
||||||
|
Application.Title := 'FactuGES';
|
||||||
|
Application.CreateForm(TfPantallaPrincipal, fPantallaPrincipal);
|
||||||
|
Application.CreateForm(TfAcercaDe, fAcercaDe);
|
||||||
|
Application.Run;
|
||||||
|
Application.Terminate;
|
||||||
|
end.
|
||||||
|
|
||||||
14
Cliente/FactuGES.drc
Normal file
14
Cliente/FactuGES.drc
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
/* VER150
|
||||||
|
Generated by the Borland Delphi Pascal Compiler
|
||||||
|
because -GD or --drc was supplied to the compiler.
|
||||||
|
|
||||||
|
This file contains compiler-generated resources that
|
||||||
|
were bound to the executable.
|
||||||
|
If this file is empty, then no compiler-generated
|
||||||
|
resources were bound to the produced executable.
|
||||||
|
*/
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
END
|
||||||
|
|
||||||
BIN
Cliente/FactuGES.res
Normal file
BIN
Cliente/FactuGES.res
Normal file
Binary file not shown.
10
Cliente/PluginSDK_D7R.drc
Normal file
10
Cliente/PluginSDK_D7R.drc
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/* VER150
|
||||||
|
Generated by the Borland Delphi Pascal Compiler
|
||||||
|
because -GD or --drc was supplied to the compiler.
|
||||||
|
|
||||||
|
This file contains compiler-generated resources that
|
||||||
|
were bound to the executable.
|
||||||
|
If this file is empty, then no compiler-generated
|
||||||
|
resources were bound to the produced executable.
|
||||||
|
*/
|
||||||
|
|
||||||
1090
Cliente/uAcercaDe.dfm
Normal file
1090
Cliente/uAcercaDe.dfm
Normal file
File diff suppressed because it is too large
Load Diff
60
Cliente/uAcercaDe.pas
Normal file
60
Cliente/uAcercaDe.pas
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
unit uAcercaDe;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, JvGIF, ExtCtrls, JvExControls, JvComponent, JvGradient, StdCtrls,
|
||||||
|
uHostManager;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfAcercaDe = class(TForm)
|
||||||
|
JvGradient1: TJvGradient;
|
||||||
|
Panel1: TPanel;
|
||||||
|
Image1: TImage;
|
||||||
|
Bevel1: TBevel;
|
||||||
|
bAceptar: TButton;
|
||||||
|
memModulos: TMemo;
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
private
|
||||||
|
FHostManager: THostManager;
|
||||||
|
public
|
||||||
|
property HostManager : THostManager read FHostManager write FHostManager;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
fAcercaDe: TfAcercaDe;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
uses JclFileUtils;
|
||||||
|
|
||||||
|
procedure TfAcercaDe.FormShow(Sender: TObject);
|
||||||
|
var
|
||||||
|
i : integer;
|
||||||
|
begin
|
||||||
|
memModulos.Lines.Clear;
|
||||||
|
|
||||||
|
with TJclFileVersionInfo.Create(Application.ExeName) do
|
||||||
|
begin
|
||||||
|
memModulos.Lines.Add(ProductName + ' - Versión ' + ProductVersion);
|
||||||
|
memModulos.Lines.Add(CompanyName);
|
||||||
|
memModulos.Lines.Add('');
|
||||||
|
memModulos.Lines.Add('Se autoriza el uso de este programa a:');
|
||||||
|
memModulos.Lines.Add('');
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Assigned(FHostManager) then
|
||||||
|
begin
|
||||||
|
memModulos.Lines.Add('');
|
||||||
|
memModulos.Lines.Add('');
|
||||||
|
memModulos.Lines.Add('Módulos disponibles:');
|
||||||
|
for i := 0 to (HostManager.ModulesCount - 1) do
|
||||||
|
memModulos.Lines.Add(' - ' + FHostManager.Modules[i].Module.ModuleName +
|
||||||
|
' - v. ' + FHostManager.Modules[i].Module.Version);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
179
Cliente/uMenuUtils.pas
Normal file
179
Cliente/uMenuUtils.pas
Normal file
@ -0,0 +1,179 @@
|
|||||||
|
unit uMenuUtils;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Forms, ImgList, ActnList, JvPageList, JvNavigationPane, Menus;
|
||||||
|
|
||||||
|
|
||||||
|
procedure MergeMenus(Source, Dest: TMainMenu; ImageIndex : Integer = -1);
|
||||||
|
procedure SortMenuByTag(Menu : TMainMenu);
|
||||||
|
|
||||||
|
function CreatePageNavPane(const APageList : TJvCustomPageList;
|
||||||
|
ACaption : String; AAction : TAction; AImageIndex : Integer): Integer;
|
||||||
|
|
||||||
|
procedure PopulateNavPagePane(APanePage : TJvNavPanelPage;
|
||||||
|
AMenuItem: TMenuItem; AImageList : TCustomImageList;
|
||||||
|
AStyleManager : TJvNavPaneStyleManager);
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
Controls, ComCtrls, Classes, Math, TBXDkPanels, StrUtils, SysUtils,
|
||||||
|
ExtCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TAssignCallback = procedure(Source, Dest: TMenuItem);
|
||||||
|
|
||||||
|
|
||||||
|
procedure AssignMenus(Source, Dest: TMenuItem; AImageIndex : Integer;
|
||||||
|
AssignProc: TAssignCallback);
|
||||||
|
var
|
||||||
|
I: Integer;
|
||||||
|
Item: TMenuItem;
|
||||||
|
begin
|
||||||
|
for I := 0 to Source.Count - 1 do
|
||||||
|
begin
|
||||||
|
Item := Dest.Find(Source.Items[I].Caption);
|
||||||
|
if Item = NIL then
|
||||||
|
begin
|
||||||
|
Item := TMenuItem.Create(Dest);
|
||||||
|
Dest.Add(Item);
|
||||||
|
if Assigned(AssignProc) then
|
||||||
|
begin
|
||||||
|
AssignProc(Source.Items[I], Item);
|
||||||
|
if (Source.Items[I].ImageIndex >= 0) then
|
||||||
|
Item.ImageIndex := Source.Items[I].ImageIndex + AImageIndex;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
AssignMenus(Source.Items[I], Item, AImageIndex, AssignProc);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure AssignMenuItem(Source, Dest: TMenuItem);
|
||||||
|
begin
|
||||||
|
Dest.Caption := Source.Caption;
|
||||||
|
Dest.Hint := Source.Hint;
|
||||||
|
Dest.Checked := Source.Checked;
|
||||||
|
Dest.GroupIndex := Source.GroupIndex;
|
||||||
|
Dest.Tag := Source.Tag;
|
||||||
|
Dest.Action := Source.Action;
|
||||||
|
Dest.ImageIndex := Source.ImageIndex;
|
||||||
|
Dest.ShortCut := Source.ShortCut;
|
||||||
|
Dest.RadioItem := Source.RadioItem;
|
||||||
|
Dest.AutoCheck := Source.AutoCheck;
|
||||||
|
Dest.AutoHotkeys := Source.AutoHotkeys;
|
||||||
|
Dest.AutoLineReduction := Source.AutoLineReduction;
|
||||||
|
Dest.Break := Source.Break;
|
||||||
|
Dest.Default := Source.Default;
|
||||||
|
Dest.Enabled := Source.Enabled;
|
||||||
|
Dest.HelpContext := Source.HelpContext;
|
||||||
|
Dest.Visible := Source.Visible;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure SortMenuItems(MenuItems : TMenuItem);
|
||||||
|
|
||||||
|
function CompareTags(Item1, Item2: Pointer): Integer;
|
||||||
|
begin
|
||||||
|
Result := CompareValue(TMenuItem(Item1).Tag, TMenuItem(Item2).Tag);
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
I: Integer;
|
||||||
|
AList : TList;
|
||||||
|
begin
|
||||||
|
AList := TList.Create;
|
||||||
|
|
||||||
|
try
|
||||||
|
for I := 0 to MenuItems.Count - 1 do
|
||||||
|
begin
|
||||||
|
SortMenuItems(MenuItems.Items[i]);
|
||||||
|
AList.Add(Pointer(MenuItems.Items[i]));
|
||||||
|
end;
|
||||||
|
|
||||||
|
AList.Sort(@CompareTags);
|
||||||
|
|
||||||
|
for i := 0 to AList.Count - 1 do
|
||||||
|
TMenuItem(AList.Items[i]).MenuIndex := i;
|
||||||
|
|
||||||
|
finally
|
||||||
|
AList.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure MergeMenus(Source, Dest: TMainMenu; ImageIndex : Integer = -1);
|
||||||
|
begin
|
||||||
|
AssignMenus(Source.Items, Dest.Items, ImageIndex, AssignMenuItem);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure SortMenuByTag(Menu : TMainMenu);
|
||||||
|
begin
|
||||||
|
SortMenuItems(Menu.Items);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function CreatePageNavPane(const APageList : TJvCustomPageList;
|
||||||
|
ACaption : String; AAction : TAction; AImageIndex : Integer): Integer;
|
||||||
|
var
|
||||||
|
APanePage: TJvNavPanelPage;
|
||||||
|
begin
|
||||||
|
Result := 0;
|
||||||
|
APanePage := TJvNavPanelPage.Create(Application);
|
||||||
|
with APanePage do
|
||||||
|
begin
|
||||||
|
Caption := StringReplace(ACaption, '&', '', []);
|
||||||
|
Action := AAction;
|
||||||
|
PageList := APageList;
|
||||||
|
Iconic := False;
|
||||||
|
ImageIndex := AImageIndex;
|
||||||
|
Result := PageIndex;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure PopulateNavPagePane(APanePage : TJvNavPanelPage;
|
||||||
|
AMenuItem: TMenuItem; AImageList : TCustomImageList;
|
||||||
|
AStyleManager : TJvNavPaneStyleManager);
|
||||||
|
var
|
||||||
|
APanel : TScrollBox;
|
||||||
|
ItemIndex : Integer;
|
||||||
|
begin
|
||||||
|
with TJvNavPanelDivider.Create(Application) do
|
||||||
|
begin
|
||||||
|
Parent := APanePage;
|
||||||
|
Caption := 'Accesos directos';
|
||||||
|
ParentStyleManager := True;
|
||||||
|
Align := alTop;
|
||||||
|
end;
|
||||||
|
|
||||||
|
APanel := TScrollBox.Create(Application);
|
||||||
|
with APanel do
|
||||||
|
begin
|
||||||
|
BevelEdges := [];
|
||||||
|
BorderStyle := bsNone;
|
||||||
|
Parent := APanePage;
|
||||||
|
ParentColor := True;
|
||||||
|
ParentFont := True;
|
||||||
|
Align := alClient;
|
||||||
|
end;
|
||||||
|
|
||||||
|
for ItemIndex := 0 to (AMenuItem.Count - 1) do
|
||||||
|
begin
|
||||||
|
if AMenuItem[ItemIndex].Caption <> '-' then
|
||||||
|
with TJvNavPanelButton.Create(Application) do
|
||||||
|
begin
|
||||||
|
Parent := APanel;
|
||||||
|
Align := alTop;
|
||||||
|
Tag := AMenuItem[ItemIndex].Tag;
|
||||||
|
Caption := AMenuItem[ItemIndex].Caption;
|
||||||
|
Action := AMenuItem[ItemIndex].Action;
|
||||||
|
Images := AImageList;
|
||||||
|
ImageIndex := AMenuItem[ItemIndex].ImageIndex;
|
||||||
|
Height := 32;
|
||||||
|
StyleManager := AStyleManager;
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
BIN
Cliente/uPantallaPrincipal.ddp
Normal file
BIN
Cliente/uPantallaPrincipal.ddp
Normal file
Binary file not shown.
394
Cliente/uPantallaPrincipal.dfm
Normal file
394
Cliente/uPantallaPrincipal.dfm
Normal file
@ -0,0 +1,394 @@
|
|||||||
|
object fPantallaPrincipal: TfPantallaPrincipal
|
||||||
|
Left = 355
|
||||||
|
Top = 173
|
||||||
|
Width = 577
|
||||||
|
Height = 366
|
||||||
|
Caption = 'Pantalla principal'
|
||||||
|
Color = clWindow
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
Menu = HostMenu
|
||||||
|
OldCreateOrder = False
|
||||||
|
Position = poScreenCenter
|
||||||
|
WindowState = wsMaximized
|
||||||
|
OnCreate = FormCreate
|
||||||
|
OnDestroy = FormDestroy
|
||||||
|
OnShow = FormShow
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object pnlContenido: TTBXAlignmentPanel
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 569
|
||||||
|
Height = 293
|
||||||
|
ParentColor = True
|
||||||
|
Align = alClient
|
||||||
|
Margins.Left = 5
|
||||||
|
Margins.Top = 5
|
||||||
|
Margins.Right = 5
|
||||||
|
Margins.Bottom = 5
|
||||||
|
TabOrder = 0
|
||||||
|
object JvSyncSplitter1: TJvSyncSplitter
|
||||||
|
Left = 210
|
||||||
|
Top = 5
|
||||||
|
Width = 5
|
||||||
|
Height = 283
|
||||||
|
ResizeStyle = rsPattern
|
||||||
|
end
|
||||||
|
object JvNavigationPane: TJvNavigationPane
|
||||||
|
Left = 5
|
||||||
|
Top = 5
|
||||||
|
Width = 205
|
||||||
|
Height = 283
|
||||||
|
Align = alLeft
|
||||||
|
AutoHeaders = True
|
||||||
|
Background.Stretch = False
|
||||||
|
Background.Proportional = False
|
||||||
|
Background.Center = False
|
||||||
|
Background.Tile = False
|
||||||
|
Background.Transparent = False
|
||||||
|
ButtonHeight = 32
|
||||||
|
Colors.ButtonColorFrom = clWhite
|
||||||
|
Colors.ButtonColorTo = 12435133
|
||||||
|
Colors.ButtonHotColorFrom = 13009540
|
||||||
|
Colors.ButtonHotColorTo = 13009540
|
||||||
|
Colors.ButtonSelectedColorFrom = 14602190
|
||||||
|
Colors.ButtonSelectedColorTo = 14602190
|
||||||
|
Colors.SplitterColorFrom = 13026246
|
||||||
|
Colors.SplitterColorTo = 9211532
|
||||||
|
Colors.DividerColorFrom = 15725551
|
||||||
|
Colors.DividerColorTo = 13026246
|
||||||
|
Colors.HeaderColorFrom = 8684164
|
||||||
|
Colors.HeaderColorTo = 8684164
|
||||||
|
Colors.FrameColor = 8684676
|
||||||
|
Colors.ToolPanelHeaderColorFrom = clWhite
|
||||||
|
Colors.ToolPanelHeaderColorTo = 12435133
|
||||||
|
StyleManager = dmBase.StyleManager
|
||||||
|
ParentStyleManager = False
|
||||||
|
LargeImages = ModulesLargeImageList
|
||||||
|
MaximizedCount = 0
|
||||||
|
NavPanelFont.Charset = DEFAULT_CHARSET
|
||||||
|
NavPanelFont.Color = clWindowText
|
||||||
|
NavPanelFont.Height = -13
|
||||||
|
NavPanelFont.Name = 'Tahoma'
|
||||||
|
NavPanelFont.Style = []
|
||||||
|
NavPanelHotTrackFont.Charset = DEFAULT_CHARSET
|
||||||
|
NavPanelHotTrackFont.Color = clWindow
|
||||||
|
NavPanelHotTrackFont.Height = -13
|
||||||
|
NavPanelHotTrackFont.Name = 'Tahoma'
|
||||||
|
NavPanelHotTrackFont.Style = []
|
||||||
|
SmallImages = ModulesSmallImageList
|
||||||
|
end
|
||||||
|
object pnlBorde: TTBXAlignmentPanel
|
||||||
|
Left = 215
|
||||||
|
Top = 5
|
||||||
|
Width = 349
|
||||||
|
Height = 283
|
||||||
|
Align = alClient
|
||||||
|
Color = clActiveCaption
|
||||||
|
Margins.Left = 1
|
||||||
|
Margins.Top = 1
|
||||||
|
TabOrder = 1
|
||||||
|
object pnlMain: TTBXAlignmentPanel
|
||||||
|
Left = 1
|
||||||
|
Top = 1
|
||||||
|
Width = 348
|
||||||
|
Height = 282
|
||||||
|
Align = alClient
|
||||||
|
Color = clWindow
|
||||||
|
TabOrder = 0
|
||||||
|
object JvGradient1: TJvGradient
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 348
|
||||||
|
Height = 282
|
||||||
|
Style = grVertical
|
||||||
|
StartColor = clGradientInactiveCaption
|
||||||
|
EndColor = clInactiveCaption
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object StatusBar: TStatusBar
|
||||||
|
Left = 0
|
||||||
|
Top = 293
|
||||||
|
Width = 569
|
||||||
|
Height = 19
|
||||||
|
Panels = <>
|
||||||
|
end
|
||||||
|
object XPManifest1: TXPManifest
|
||||||
|
Left = 248
|
||||||
|
Top = 48
|
||||||
|
end
|
||||||
|
object GeneralActionList: TActionList
|
||||||
|
Left = 248
|
||||||
|
Top = 149
|
||||||
|
object actSalir: TAction
|
||||||
|
Category = 'Archivo'
|
||||||
|
Caption = '&Salir'
|
||||||
|
OnExecute = actSalirExecute
|
||||||
|
end
|
||||||
|
object actLogin: TAction
|
||||||
|
Category = 'Archivo'
|
||||||
|
Caption = 'Login'
|
||||||
|
OnExecute = actLoginExecute
|
||||||
|
end
|
||||||
|
object actAdministracion: TAction
|
||||||
|
Category = 'Archivo'
|
||||||
|
Caption = 'Panel de administraci'#243'n'
|
||||||
|
OnExecute = actAdministracionExecute
|
||||||
|
end
|
||||||
|
object actCambiarPass: TAction
|
||||||
|
Category = 'Archivo'
|
||||||
|
Caption = 'Cambiar mi contrase'#241'a'
|
||||||
|
OnExecute = actCambiarPassExecute
|
||||||
|
end
|
||||||
|
object actConexion: TAction
|
||||||
|
Category = 'Archivo'
|
||||||
|
Caption = 'Configurar conexi'#243'n'
|
||||||
|
end
|
||||||
|
object actAcerca: TAction
|
||||||
|
Caption = 'Acerca de...'
|
||||||
|
OnExecute = actAcercaExecute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object ModulesSmallImageList: TPngImageList
|
||||||
|
PngImages = <
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
61000000097048597300004E2000004E2001167D99DE000001504944415478DA
|
||||||
|
63FCFFFF3F0325801197C4840C067D207501CA352898C17071060303D8B60C24
|
||||||
|
7D8CF8343B381880F9070E80CD31E098C170E11990D184CF0064CD0776401CE0
|
||||||
|
E0610036E42AD009CF81FC2DB80C40D7AC9F70082C7E71851D03580C6808D02B
|
||||||
|
28FA18F16976B0B78578E1E061144360610237009F6610F8F9EB0FC3F1E3C7B1
|
||||||
|
1AC2488C6618BE7AF93C862120032009E107035ECD3F80F817106F3F7886E1EF
|
||||||
|
314FCC74E01391F57FF3F2A970898999A811E453F91A6CD0BEE31718A6F75533
|
||||||
|
5CBB708E11A701208533F25919321212C0FC190B1630B8163F07BBE2D8D92BF8
|
||||||
|
0D8039797E2927D880EFDF3F322C5CB99EC136F73158FCECE51BB80D58B37022
|
||||||
|
DC8065D5BC0C617ECE0C2B0FBC6660FC7489C12CFD3E58FCCACD3BB80D5838A3
|
||||||
|
9B61D92648E20105949F9B29C3B3E7D718CE5CFECAC06CB51D1E1E380DB877E3
|
||||||
|
0403B1006E00A5D919001742F4296979DC590000000049454E44AE426082}
|
||||||
|
Name = 'PngImage1'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000001DD4944415478DA
|
||||||
|
63FCFFFF3F032580916203C064C305B24CF95FAFCF0837A0C35205220834EAD7
|
||||||
|
EFFF0C9FBEFD67F8FAFD3FC3C7AF0C0C9F81ECF79F80625FFF33FCFC0DD17C4B
|
||||||
|
F811AA01E8A63771DC6278F9EC21982D2E25CF50F7430DB70B262FDAFE3F27D6
|
||||||
|
032E9193DFC3905C94C0F0879F9FE1E73F26863F9F3F33ACE99BC3505797CEF0
|
||||||
|
E7EF3F300E48AC6638B7631AAA018585850C4212560C5C867A0CF9AE6A0C1377
|
||||||
|
DF821B6A66A4C87060EE4686772F8E3138F9A730D4774CC53400667B5C431EC3
|
||||||
|
CF1F6C0C1F7F32300873323030333130BCFCC5C0B0B3AB87A100E8B2EBF75F62
|
||||||
|
3700E482DFFFA41914BD7D19A494D4199EDDBB097781B7853AC394DA1E0656A6
|
||||||
|
A7D85D901EE90AF65B69D94486D0A21486F78C020CB2DC0C0C826C0C0C124057
|
||||||
|
FC03C2FEDEB50CBE7E560C8F5F7EC0342029D489E1FD4267864B12C50C5BF7DD
|
||||||
|
6188ACCE663871E111D8F6201B1586DECA7EB0ED2080D50581DF5A19441C6218
|
||||||
|
2EED39CD7081C182E1E2AD0F70E783A2D1DBD792E1F79FBF0CBF7FFF6578FFF9
|
||||||
|
3BAA014F66D8FC07697EBA6D1DC39633EC0CE71F9F66086ADA833715C20D8069
|
||||||
|
7EB97723C386A32C60CD17B902894ACA60038A3352FEAB72BE65F8F9F20F58F3
|
||||||
|
82C32F1889CE0BC0740F560C32E4EDD52D2469861900008660FEE14240093000
|
||||||
|
00000049454E44AE426082}
|
||||||
|
Name = 'PngImage0'
|
||||||
|
Background = clWindow
|
||||||
|
end>
|
||||||
|
Left = 43
|
||||||
|
Top = 493
|
||||||
|
Bitmap = {}
|
||||||
|
end
|
||||||
|
object ModulesActionList: TActionList
|
||||||
|
Left = 11
|
||||||
|
Top = 492
|
||||||
|
end
|
||||||
|
object ModulesLargeImageList: TPngImageList
|
||||||
|
Height = 24
|
||||||
|
Width = 24
|
||||||
|
PngImages = <
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F8000000097048597300004E2000004E2001167D99DE000002D14944415478DA
|
||||||
|
B5965F4853511CC7BF238A120DD9437F1E621B0D7D547AE8C18712F1DF42D1C0
|
||||||
|
87081F7C08121FFA4744B190A0B70211A2B208315965A0CDE58386A5CBD61FC5
|
||||||
|
6C2B373633B76BC66C19AD6DEA74BBF776EECDDDEEDDBDFBF390077E9CB373EF
|
||||||
|
F97CCEF9FDCE85A95896C56636D5A60BB279A9BD1945A4B3274D179FE980831B
|
||||||
|
3C849E0D61969FFC49C228E2661424E0A5A5C59279ABD52E481202864C2C9168
|
||||||
|
CD5620867BBD7E84C32BFC7C5E5E0E74BABD82645787DE1E248265F2E307896B
|
||||||
|
D908C4709F6F910F71D36AF7F0C1497698B6221C896171E3045D990462F89CEF
|
||||||
|
17E67D140AEA86A056ABF9E7C160086E7339343A2D749A7C5EE2370154040890
|
||||||
|
E723E90492B4CC8741CD7DE1E186EA2AC97BC3CF47E1EA2B8376BF1EDA7DB9BC
|
||||||
|
C4DA0738498E3EA71248764E919D7B2914127875129C21579BA619BC181985C7
|
||||||
|
5C213949A705F8E8571028E5BCB0EE1981572AC2E3711A71D2DB6C36CCF45748
|
||||||
|
6A02D1155629DD168AFAAE989664381F710693136F3163A98446B35B72BB3889
|
||||||
|
4A69E79AAA27A8AF3F9A153C31FE303106EF609DEC249C8015E7BC80A4C59021
|
||||||
|
2DC9707AA3F738A730FBB44A52135E9000A52B6826384DFF7DEE763AB0306410
|
||||||
|
D60B45AE39D6C20E3CBA29812716769CDEA6F831D61A9764F2D793D3B8DD6684
|
||||||
|
CB3EA54A2B10EFEADEB9ED686E6AFA772A86C1DDEE6E1CB918909D6CDCEECA2C
|
||||||
|
10C3B9455D17720401CB32585B5B46574F1F2ACFFB65697BFFC99D5E900CE77A
|
||||||
|
D3A55C41108D86B1BA1AC263CB30CACE7E93D5C4E19A492D309B6EC8E05CF45C
|
||||||
|
DE89138DC7118B45115909612918C5CB57361C3AF55556F069CF6C6A41EFFD76
|
||||||
|
199C1BF75EC94763432DD97D0881DF71B40E14A13CFF164A5A28099C6B69053D
|
||||||
|
9D6D3238D7F75F55A3A1E6309F1E2ED663AB181B5FC0C1935E093CA3A0FBCE75
|
||||||
|
3CB08CC9AE23FDC6809AF203041EE14FB11E5BC18423842D25838AD737A560CE
|
||||||
|
FD0EFFAB0982CDFE57F107B61AA443A57B28CB0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage1'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD252000003E74944415478DA
|
||||||
|
D59559685C5518C77FB364EECCDCE9EC596996491BC618432A28246E041B4DEB
|
||||||
|
065553445AA122218D55093E0982425F7C9354903EA9141F24421FB4D4D6B6D4
|
||||||
|
A549C198496C163B314D4D3219C634D3244C3B6B26D773679AB4433241213E78
|
||||||
|
E0DCE570EEFFF76DE7BB1A4551F82F87E6FF0F587BFA70684B49CA070D9A7580
|
||||||
|
8F9A76AEDBB89C8678522196C8DEA37145DC212ADEA3B1EC7B340EB7E377ED1B
|
||||||
|
774DFF33407A458826EE8AC7EE80D4793B96155601AAF8BDEE8F3BF300D699BF
|
||||||
|
220869616E4A282D8BFB4A5A751EB47A2890C43482AE202BA3D1E47CBA0EF0C9
|
||||||
|
89EF942307F7AC6D48A552CC06E7189F986572FA16716539B39E5C4AD3505726
|
||||||
|
F422B88BEC58AD0E24A3118D56875A2F2BC2A87DAFBF8FEFCCA7F901AAF8E464
|
||||||
|
80A1DF4348F6424AAADD388A2C1408CB171723F80726882F452971E8902D5A01
|
||||||
|
2AC66CB608A886ABD76FF0DED1EEFC80AEAE2EE2F138EED28778F2B956763D50
|
||||||
|
CA673F4CE4B8BFFB112F17FAFC38E7FE62D8779648640E93C9844EA763CFCB1D
|
||||||
|
9B0392C924BF0E8C31BD20B3BBC543A141CF9248EA4F419813A9D06A411261AF
|
||||||
|
7289244F0519EBBD4C5585134FF50E0C46137F06173607747676A22DA8C6F3EC
|
||||||
|
F399F5B6262F5F5FF6E778B0C3EBE59A3FBBA64C8ED27FF1240E8705A3C8C5DE
|
||||||
|
B6C39B0382C1203D674678F1600B7F2C6A9909835EEC728AA2A9B18BA2128914
|
||||||
|
91E05A040CB2C29593E7D0256E50DF5087C3E922148EE607BC79A095F6F676EA
|
||||||
|
9ADA486FAFCCACBB2ABC84A7733DD8FFA8979EDEEC9A2E30C5A5D327B0DB8DC8
|
||||||
|
B2CC33FB3BF3033A5E7D9A5028C4573DBD3CDCFA047265315745EC4B65281753
|
||||||
|
2D5497887F914978229E87C31166468204FCFD548BB0399D6E1622C9FC80432F
|
||||||
|
35F3CEDB47588A2478EA85B78814DAA8ABF7323A9CEB41578B978FCFFBA991D2
|
||||||
|
4C8D8E3034F03D7ABD2E53497973D0FDF92965EFE3F7633EFF1AC77C0F5254DF
|
||||||
|
4C794D35B58DB5CCA7A54CDB2832804358AF881CCC4ECED17BFA9238E0612A3C
|
||||||
|
15949555A03748A26DA436061CEDFE5239241DC7DD7C80D8E059CE056AF02D96
|
||||||
|
73DFAE46E6ADDB723CF0C806C67FF1914ECD3332F823369B15499244096BF39F
|
||||||
|
83C0F1C714553CFDDBB78C5D49D1775D62D65285697B1546931BC9EC125563E0
|
||||||
|
6620245AC22D2C36232565A5B80B4B44AB9045ABD08A36A19048A5D70356C593
|
||||||
|
03DFE01F5BCE880FCEF4636D3C4CA567A70098C5E98E914A264489EA31CB16AC
|
||||||
|
363B168B95021116F50467C4EE34BC1CC04696ABE2176E7A916DC5184CDB328D
|
||||||
|
0C6585B59E2C84548B351B74D1D5B106E83BB64FA975A598184BAE897FF17368
|
||||||
|
E3AFFEC558FD156BDEED78437945FC81B6523C07A05E544878F4D49689DF0BF8
|
||||||
|
1B2694FBE012B66F2C0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage0'
|
||||||
|
Background = clWindow
|
||||||
|
end>
|
||||||
|
Left = 75
|
||||||
|
Top = 493
|
||||||
|
Bitmap = {}
|
||||||
|
end
|
||||||
|
object HostMenu: TMainMenu
|
||||||
|
Images = ModulesSmallImageList
|
||||||
|
Left = 243
|
||||||
|
Top = 76
|
||||||
|
object Archivo1: TMenuItem
|
||||||
|
Tag = -9000
|
||||||
|
Caption = 'Archivo'
|
||||||
|
object Cambiarmicontrasea1: TMenuItem
|
||||||
|
Tag = 1
|
||||||
|
Action = actCambiarPass
|
||||||
|
end
|
||||||
|
object N2: TMenuItem
|
||||||
|
Tag = 2
|
||||||
|
Caption = '-'
|
||||||
|
end
|
||||||
|
object Configurarconexin1: TMenuItem
|
||||||
|
Tag = 3
|
||||||
|
Action = actConexion
|
||||||
|
end
|
||||||
|
object Paneldeadministracin1: TMenuItem
|
||||||
|
Tag = 4
|
||||||
|
Action = actAdministracion
|
||||||
|
end
|
||||||
|
object N1: TMenuItem
|
||||||
|
Tag = 5
|
||||||
|
Caption = '-'
|
||||||
|
end
|
||||||
|
object Salir1: TMenuItem
|
||||||
|
Tag = 6
|
||||||
|
Action = actSalir
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object Ayuda1: TMenuItem
|
||||||
|
Tag = 9001
|
||||||
|
Caption = 'Ayuda'
|
||||||
|
object Acercade1: TMenuItem
|
||||||
|
Action = actAcerca
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object HostManager: THostManager
|
||||||
|
MainMenu = HostMenu
|
||||||
|
OnAfterLoad = HostManagerAfterLoad
|
||||||
|
Left = 276
|
||||||
|
Top = 47
|
||||||
|
end
|
||||||
|
object StyleManagerButtons: TJvNavPaneStyleManager
|
||||||
|
Colors.ButtonColorFrom = clWindow
|
||||||
|
Colors.ButtonColorTo = clWindow
|
||||||
|
Colors.ButtonHotColorFrom = 13009540
|
||||||
|
Colors.ButtonHotColorTo = 13009540
|
||||||
|
Colors.ButtonSelectedColorFrom = 14602190
|
||||||
|
Colors.ButtonSelectedColorTo = 14602190
|
||||||
|
Colors.ButtonSeparatorColor = clWindow
|
||||||
|
Colors.SplitterColorFrom = clWindow
|
||||||
|
Colors.SplitterColorTo = clWindow
|
||||||
|
Colors.DividerColorFrom = clWindow
|
||||||
|
Colors.DividerColorTo = clWindow
|
||||||
|
Colors.HeaderColorFrom = clWindow
|
||||||
|
Colors.HeaderColorTo = clWindow
|
||||||
|
Colors.FrameColor = clWindow
|
||||||
|
Colors.ToolPanelHeaderColorFrom = clWindow
|
||||||
|
Colors.ToolPanelHeaderColorTo = clWindow
|
||||||
|
Fonts.NavPanelFont.Charset = DEFAULT_CHARSET
|
||||||
|
Fonts.NavPanelFont.Color = clWindowText
|
||||||
|
Fonts.NavPanelFont.Height = -11
|
||||||
|
Fonts.NavPanelFont.Name = 'Tahoma'
|
||||||
|
Fonts.NavPanelFont.Style = []
|
||||||
|
Fonts.NavPanelHotTrackFont.Charset = DEFAULT_CHARSET
|
||||||
|
Fonts.NavPanelHotTrackFont.Color = clWindow
|
||||||
|
Fonts.NavPanelHotTrackFont.Height = -11
|
||||||
|
Fonts.NavPanelHotTrackFont.Name = 'Tahoma'
|
||||||
|
Fonts.NavPanelHotTrackFont.Style = []
|
||||||
|
Fonts.DividerFont.Charset = DEFAULT_CHARSET
|
||||||
|
Fonts.DividerFont.Color = clWindowText
|
||||||
|
Fonts.DividerFont.Height = -11
|
||||||
|
Fonts.DividerFont.Name = 'Tahoma'
|
||||||
|
Fonts.DividerFont.Style = []
|
||||||
|
Fonts.HeaderFont.Charset = DEFAULT_CHARSET
|
||||||
|
Fonts.HeaderFont.Color = clWindow
|
||||||
|
Fonts.HeaderFont.Height = -16
|
||||||
|
Fonts.HeaderFont.Name = 'Arial'
|
||||||
|
Fonts.HeaderFont.Style = []
|
||||||
|
Theme = nptCustom
|
||||||
|
Left = 176
|
||||||
|
Top = 504
|
||||||
|
end
|
||||||
|
object JvFormStorage: TJvFormStorage
|
||||||
|
AppStorage = JvAppRegistryStorage
|
||||||
|
AppStoragePath = 'fPantallaPrincipal\'
|
||||||
|
VersionCheck = fpvcNocheck
|
||||||
|
StoredValues = <>
|
||||||
|
Left = 472
|
||||||
|
Top = 120
|
||||||
|
end
|
||||||
|
object JvAppRegistryStorage: TJvAppRegistryStorage
|
||||||
|
StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y'
|
||||||
|
StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N'
|
||||||
|
Root = 'Software\%APPL_NAME%'
|
||||||
|
SubStorages = <>
|
||||||
|
Left = 504
|
||||||
|
Top = 128
|
||||||
|
end
|
||||||
|
object ApplicationEvents: TApplicationEvents
|
||||||
|
OnActionExecute = ApplicationEventsActionExecute
|
||||||
|
Left = 248
|
||||||
|
Top = 190
|
||||||
|
end
|
||||||
|
end
|
||||||
516
Cliente/uPantallaPrincipal.pas
Normal file
516
Cliente/uPantallaPrincipal.pas
Normal file
@ -0,0 +1,516 @@
|
|||||||
|
|
||||||
|
unit uPantallaPrincipal;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, StdCtrls, ExtCtrls, XPMan, uGUIBase, uCustomEditor,
|
||||||
|
JvNavigationPane, JvExExtCtrls, JvComponent, Menus, ImgList,
|
||||||
|
PngImageList, ActnList, uHostManager, JvExControls, JvPageList, JvPanel,
|
||||||
|
TBX, TB2Item, TB2Dock, TB2Toolbar, ComCtrls, TBXToolPals, TBXLists,
|
||||||
|
TBXExtItems, TB2ExtItems, TBXMDI, TBXDkPanels, JvSplitter, JvSyncSplitter,
|
||||||
|
JvXPBar, JvXPCore, JvXPContainer, JvLookOut, JvOutlookBar, Buttons,
|
||||||
|
JvExButtons, JvBitBtn, JvSpeedButton, JvExStdCtrls, JvButton, JvCtrls,
|
||||||
|
JvStartMenuButton, JvTransparentButton, JvExComCtrls, JvListView,
|
||||||
|
JvAppStorage, JvAppRegistryStorage, JvFormPlacement, JvBaseDlg,
|
||||||
|
JvJVCLAboutForm, AppEvnts, JvWaitingGradient, JvGradient,
|
||||||
|
cxControls, JvComponentBase;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfPantallaPrincipal = class(TForm, IHostForm)
|
||||||
|
GeneralActionList: TActionList;
|
||||||
|
ModulesSmallImageList: TPngImageList;
|
||||||
|
XPManifest1: TXPManifest;
|
||||||
|
actSalir: TAction;
|
||||||
|
ModulesActionList: TActionList;
|
||||||
|
ModulesLargeImageList: TPngImageList;
|
||||||
|
HostMenu: TMainMenu;
|
||||||
|
Archivo1: TMenuItem;
|
||||||
|
Ayuda1: TMenuItem;
|
||||||
|
pnlContenido: TTBXAlignmentPanel;
|
||||||
|
JvNavigationPane: TJvNavigationPane;
|
||||||
|
pnlBorde: TTBXAlignmentPanel;
|
||||||
|
pnlMain: TTBXAlignmentPanel;
|
||||||
|
JvSyncSplitter1: TJvSyncSplitter;
|
||||||
|
StatusBar: TStatusBar;
|
||||||
|
HostManager: THostManager;
|
||||||
|
Salir1: TMenuItem;
|
||||||
|
actLogin: TAction;
|
||||||
|
StyleManagerButtons: TJvNavPaneStyleManager;
|
||||||
|
JvFormStorage: TJvFormStorage;
|
||||||
|
JvAppRegistryStorage: TJvAppRegistryStorage;
|
||||||
|
actAdministracion: TAction;
|
||||||
|
ApplicationEvents: TApplicationEvents;
|
||||||
|
actCambiarPass: TAction;
|
||||||
|
Cambiarmicontrasea1: TMenuItem;
|
||||||
|
Paneldeadministracin1: TMenuItem;
|
||||||
|
N1: TMenuItem;
|
||||||
|
actConexion: TAction;
|
||||||
|
Configurarconexin1: TMenuItem;
|
||||||
|
N2: TMenuItem;
|
||||||
|
actAcerca: TAction;
|
||||||
|
Acercade1: TMenuItem;
|
||||||
|
JvGradient1: TJvGradient;
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure HostManagerAfterLoad(Sender: TObject; AModuleInfo: TModuleInfo);
|
||||||
|
procedure Salir1Click(Sender: TObject);
|
||||||
|
procedure actSalirExecute(Sender: TObject);
|
||||||
|
procedure actLoginExecute(Sender: TObject);
|
||||||
|
procedure ApplicationEventsActionExecute(Action: TBasicAction;
|
||||||
|
var Handled: Boolean);
|
||||||
|
procedure actCambiarPassExecute(Sender: TObject);
|
||||||
|
procedure actAcercaExecute(Sender: TObject);
|
||||||
|
procedure actAdministracionExecute(Sender: TObject);
|
||||||
|
procedure Button1Click(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
private
|
||||||
|
FContenido : TCustomEditor;
|
||||||
|
FStartDefaultAction : TBasicAction;
|
||||||
|
|
||||||
|
procedure ShowEmbedded(AEditor : ICustomEditor);
|
||||||
|
procedure AplicarPerfil;
|
||||||
|
function FindNavPanePage(ACaption : String) : Integer;
|
||||||
|
procedure InitializeUI;
|
||||||
|
procedure OnThemeChange(Sender: TObject);
|
||||||
|
procedure CopyImages(const SrcList: TPngImageList; var DstList: TPngImageList;
|
||||||
|
out Index, Count: Integer);
|
||||||
|
procedure RegisterModule(AModuleInfo : TModuleInfo);
|
||||||
|
procedure ExecuteActionMenu(Sender : TObject);
|
||||||
|
|
||||||
|
protected
|
||||||
|
function GetWorkPanel : TWinControl;
|
||||||
|
public
|
||||||
|
function IsShortcut(var Message: TWMKey): Boolean; override;
|
||||||
|
procedure OnWorkPanelChanged(AEditor : ICustomEditor);
|
||||||
|
property WorkPanel : TWinControl read GetWorkPanel;
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
fPantallaPrincipal: TfPantallaPrincipal;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
PNGImage, uModuleController, uDataModuleBase, Math, uMenuUtils,
|
||||||
|
uPanelControl, uDataModuleUsuarios, uSplash, uAcercaDe,
|
||||||
|
uViewBase,UxTheme, Themes;
|
||||||
|
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
function OpenThemeData(hwnd: HWND; pszClassList: LPCWSTR): THandle; stdcall;
|
||||||
|
external 'uxtheme.dll';
|
||||||
|
|
||||||
|
function CloseThemeData(hTheme: THandle): HRESULT; stdcall;
|
||||||
|
external 'uxtheme.dll';
|
||||||
|
|
||||||
|
function DrawThemeBackground(hTheme: THandle; hdc: HDC; iPartId, iStateId:
|
||||||
|
Integer; const pRect: TRect;
|
||||||
|
pClipRect: PRECT): HRESULT; stdcall;
|
||||||
|
external 'uxtheme.dll';
|
||||||
|
|
||||||
|
{
|
||||||
|
***************************** TfPantallaPrincipal ******************************
|
||||||
|
}
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.CopyImages(const SrcList: TPngImageList; var DstList:
|
||||||
|
TPngImageList; out Index, Count: Integer);
|
||||||
|
begin
|
||||||
|
Index := -1;
|
||||||
|
Count := 0;
|
||||||
|
|
||||||
|
if not Assigned(SrcList) or not Assigned(DstList) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
DstList.BeginUpdate;
|
||||||
|
try
|
||||||
|
Index := DstList.Count;
|
||||||
|
DstList.AddImages(SrcList);
|
||||||
|
Count := SrcList.Count;
|
||||||
|
finally
|
||||||
|
DstList.EndUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Caption := Application.Title + ' ' + dmBase.darVersion;
|
||||||
|
SplashScreen := TSplashScreen.Create(Application) ;
|
||||||
|
SplashScreen.Show;
|
||||||
|
|
||||||
|
JvNavigationPane.StyleManager := dmBase.StyleManager;
|
||||||
|
dmBase.OnThemeChange := Self.OnThemeChange;
|
||||||
|
Self.OnThemeChange(Self); // Forzar el refresco de los colores del tema activo
|
||||||
|
|
||||||
|
with HostManager do
|
||||||
|
begin
|
||||||
|
BPLPath := ExtractFilePath(Application.ExeName) + '\';
|
||||||
|
MainForm := Self;
|
||||||
|
end;
|
||||||
|
|
||||||
|
actLogin.Execute;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.FormDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
HostManager.UnloadModules;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.HostManagerAfterLoad(Sender: TObject;
|
||||||
|
AModuleInfo: TModuleInfo);
|
||||||
|
begin
|
||||||
|
RegisterModule(AModuleInfo);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.RegisterModule(AModuleInfo : TModuleInfo);
|
||||||
|
var
|
||||||
|
AModule: TModuleController;
|
||||||
|
AModuleMenu : TMainMenu;
|
||||||
|
AIndex: Integer;
|
||||||
|
ACount: Integer;
|
||||||
|
begin
|
||||||
|
AModule := AModuleInfo.Module;
|
||||||
|
SplashScreen.Texto := 'Cargando ''' + AModule.ModuleName + '''...';
|
||||||
|
SplashScreen.Update;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
|
||||||
|
CopyImages(TPngImageList(AModule.SmallImages), TPngImageList(ModulesSmallImageList), AIndex, ACount);
|
||||||
|
CopyImages(TPngImageList(AModule.LargeImages), TPngImageList(ModulesLargeImageList), AIndex, ACount);
|
||||||
|
|
||||||
|
if Assigned(AModule.ModuleMenu) then
|
||||||
|
begin
|
||||||
|
AModuleMenu := AModule.ModuleMenu;
|
||||||
|
MergeMenus(AModuleMenu, Self.Menu, AIndex);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.Salir1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.actSalirExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.OnThemeChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
LockWindowUpdate(Handle);
|
||||||
|
try
|
||||||
|
Color := dmBase.StyleManager.Colors.DividerColorTo;
|
||||||
|
pnlBorde.Color := dmBase.StyleManager.Colors.FrameColor;
|
||||||
|
with StyleManagerButtons do
|
||||||
|
begin
|
||||||
|
Colors.ButtonColorFrom := clWindow;
|
||||||
|
Colors.ButtonColorTo := clWindow;
|
||||||
|
Colors.ButtonSeparatorColor := clWindow;
|
||||||
|
Colors.SplitterColorFrom := clWindow;
|
||||||
|
Colors.SplitterColorTo := clWindow;
|
||||||
|
Colors.DividerColorFrom := clWindow;
|
||||||
|
Colors.DividerColorTo := clWindow;
|
||||||
|
Colors.HeaderColorFrom := clWindow;
|
||||||
|
Colors.HeaderColorTo := clWindow;
|
||||||
|
Colors.FrameColor := clWindow;
|
||||||
|
Colors.ToolPanelHeaderColorFrom := clWindow;
|
||||||
|
Colors.ToolPanelHeaderColorTo := clWindow;
|
||||||
|
|
||||||
|
Colors.ButtonHotColorFrom := dmBase.StyleManager.Colors.ButtonHotColorFrom;
|
||||||
|
Colors.ButtonHotColorTo := dmBase.StyleManager.Colors.ButtonHotColorTo;
|
||||||
|
|
||||||
|
Colors.ButtonSelectedColorFrom := dmBase.StyleManager.Colors.ButtonSelectedColorFrom;
|
||||||
|
Colors.ButtonSelectedColorTo := dmBase.StyleManager.Colors.ButtonSelectedColorTo;
|
||||||
|
end;
|
||||||
|
JvGradient1.StartColor := JvNavigationPane.Colors.ButtonColorFrom;
|
||||||
|
JvGradient1.EndColor := JvNavigationPane.Colors.ButtonColorTo;
|
||||||
|
finally
|
||||||
|
LockWindowUpdate(0);
|
||||||
|
Refresh;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfPantallaPrincipal.GetWorkPanel: TWinControl;
|
||||||
|
begin
|
||||||
|
Result := pnlMain;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.InitializeUI;
|
||||||
|
|
||||||
|
function EsUnModulo(AMenuItem : TMenuItem) : Boolean;
|
||||||
|
begin
|
||||||
|
Result := (AMenuItem.Tag >= 0) and (AMenuItem.Tag < 9000)
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
AMenuItem : TMenuItem;
|
||||||
|
APageIndex : Integer;
|
||||||
|
begin
|
||||||
|
SortMenuByTag(Menu);
|
||||||
|
|
||||||
|
for i := 0 to Menu.Items.Count - 1 do
|
||||||
|
begin
|
||||||
|
AMenuItem := Menu.Items[i];
|
||||||
|
if not EsUnModulo(AMenuItem) then
|
||||||
|
Continue;
|
||||||
|
|
||||||
|
APageIndex := FindNavPanePage(AMenuItem.Caption);
|
||||||
|
if APageIndex < 0 then
|
||||||
|
begin
|
||||||
|
APageIndex := CreatePageNavPane(JvNavigationPane, AMenuItem.Caption, NIL,
|
||||||
|
AMenuItem.ImageIndex);
|
||||||
|
JvNavigationPane.NavPages[APageIndex].Tag := AMenuItem.Tag;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//Establezco la primera acción por defecto
|
||||||
|
if not Assigned(FStartDefaultAction) then
|
||||||
|
FStartDefaultAction := AMenuItem[0].Action;
|
||||||
|
|
||||||
|
PopulateNavPagePane(JvNavigationPane.NavPages[APageIndex], AMenuItem,
|
||||||
|
ModulesSmallImageList, StyleManagerButtons);
|
||||||
|
|
||||||
|
// Elimino la imagen que tiene el menú porque queda feo.
|
||||||
|
AMenuItem.ImageIndex := -1;
|
||||||
|
end;
|
||||||
|
// JvNavigationPane.ActivePage := pagInicio;
|
||||||
|
ApplicationEvents.OnActionExecute := ApplicationEventsActionExecute;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.actLoginExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
ACursor : TCursor;
|
||||||
|
begin
|
||||||
|
HostManager.UnloadModules;
|
||||||
|
|
||||||
|
if dmUsuarios.Login then
|
||||||
|
begin
|
||||||
|
ACursor := Screen.Cursor;
|
||||||
|
Screen.Cursor := crHourGlass;
|
||||||
|
SplashScreen.Update;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
try
|
||||||
|
HostManager.LoadModule('Calendarios.bpl');
|
||||||
|
HostManager.LoadModule('Contactos.bpl');
|
||||||
|
HostManager.LoadModule('Almacenes.bpl');
|
||||||
|
HostManager.LoadModule('Cuentas.bpl');
|
||||||
|
HostManager.LoadModule('Presupuestos.bpl');
|
||||||
|
HostManager.LoadModule('Montajes_Impl.bpl');
|
||||||
|
HostManager.LoadModule('PedidosProveedor.bpl');
|
||||||
|
HostManager.LoadModule('Articulos.bpl');
|
||||||
|
HostManager.LoadModule('AlbaranesCliente.bpl');
|
||||||
|
HostManager.LoadModule('FacturasCliente.bpl');
|
||||||
|
HostManager.LoadModule('FacturasProveedor.bpl');
|
||||||
|
HostManager.LoadModule('Asientos.bpl');
|
||||||
|
HostManager.LoadModule('Pagos.bpl');
|
||||||
|
|
||||||
|
InitializeUI;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
Visible := True;
|
||||||
|
AplicarPerfil;
|
||||||
|
finally
|
||||||
|
SplashScreen.Update;
|
||||||
|
SplashScreen.Hide;
|
||||||
|
SplashScreen.Free;
|
||||||
|
Screen.Cursor := ACursor;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Application.Terminate;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfPantallaPrincipal.FindNavPanePage(ACaption: String): Integer;
|
||||||
|
var
|
||||||
|
i : integer;
|
||||||
|
begin
|
||||||
|
Result := -1;
|
||||||
|
for i := 0 to JvNavigationPane.PageCount - 1 do
|
||||||
|
if JvNavigationPane.NavPages[i].Caption = ACaption then
|
||||||
|
begin
|
||||||
|
Result := i;
|
||||||
|
break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.ExecuteActionMenu(Sender: TObject);
|
||||||
|
var
|
||||||
|
i : integer;
|
||||||
|
begin
|
||||||
|
for i := 0 to JvNavigationPane.PageCount - 1 do
|
||||||
|
begin
|
||||||
|
if JvNavigationPane.NavPages[i].Caption = (Sender as TAction).Caption then
|
||||||
|
begin
|
||||||
|
JvNavigationPane.ActivePageIndex := i;
|
||||||
|
Break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.AplicarPerfil;
|
||||||
|
begin
|
||||||
|
actAdministracion.Visible := dmUsuarios.EsAdmin;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.ApplicationEventsActionExecute(
|
||||||
|
Action: TBasicAction; var Handled: Boolean);
|
||||||
|
var
|
||||||
|
APageIndex : Integer;
|
||||||
|
begin
|
||||||
|
if (Action is TAction) then
|
||||||
|
begin
|
||||||
|
APageIndex := FindNavPanePage((Action as TAction).Category);
|
||||||
|
JvNavigationPane.ActivePageIndex := APageIndex;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.OnWorkPanelChanged(AEditor: ICustomEditor);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.ShowEmbedded(AEditor: ICustomEditor);
|
||||||
|
var
|
||||||
|
ACursor : TCursor;
|
||||||
|
begin
|
||||||
|
ACursor := Screen.Cursor;
|
||||||
|
Screen.Cursor := crHourGlass;
|
||||||
|
LockWindowUpdate(Handle);
|
||||||
|
try
|
||||||
|
if Assigned(FContenido) then
|
||||||
|
FContenido.Release;
|
||||||
|
|
||||||
|
FContenido := AEditor.GetInstance as TCustomEditor;
|
||||||
|
with (FContenido) do
|
||||||
|
begin
|
||||||
|
Visible := False;
|
||||||
|
BorderIcons := [];
|
||||||
|
BorderStyle := bsNone;
|
||||||
|
Parent := WorkPanel;
|
||||||
|
Align := alNone;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
FContenido.Show;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
Align := alClient;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
FContenido.SetFocus;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
Application.ProcessMessages;
|
||||||
|
LockWindowUpdate(0);
|
||||||
|
Screen.Cursor := ACursor;
|
||||||
|
end;
|
||||||
|
OnWorkPanelChanged(FContenido);
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TfPantallaPrincipal.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FContenido := NIL;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.actCambiarPassExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
dmUsuarios.CambiarPassword;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.actAcercaExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
with TfAcercaDe.Create(NIL) do
|
||||||
|
try
|
||||||
|
HostManager := Self.HostManager;
|
||||||
|
ShowModal;
|
||||||
|
finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfPantallaPrincipal.IsShortcut(var Message: TWMKey): Boolean;
|
||||||
|
Var
|
||||||
|
ctrl: TWinControl;
|
||||||
|
comp: TComponent;
|
||||||
|
i: Integer;
|
||||||
|
Begin
|
||||||
|
ctrl := ActiveControl;
|
||||||
|
If ctrl <> Nil Then Begin
|
||||||
|
Repeat
|
||||||
|
ctrl := ctrl.Parent
|
||||||
|
Until (ctrl = nil) or (ctrl Is TCustomForm);
|
||||||
|
// Note: replace TCustomFrame with TForm, check if the found form is
|
||||||
|
// self, if not, execute the following block of code.
|
||||||
|
If ctrl <> nil Then Begin
|
||||||
|
For i:= 0 To ctrl.componentcount-1 Do Begin
|
||||||
|
comp:= ctrl.Components[i];
|
||||||
|
If comp Is TCustomActionList Then Begin
|
||||||
|
result := TCustomActionList(comp).IsShortcut( message );
|
||||||
|
If result Then
|
||||||
|
Exit;
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
//Result := inherited IsShortCut(Message);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.actAdministracionExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.Button1Click(Sender: TObject);
|
||||||
|
var
|
||||||
|
i : integer;
|
||||||
|
AModule : TModuleInfo;
|
||||||
|
AVista : IViewInicio;
|
||||||
|
{ lCLG: TdxLayoutGroup;
|
||||||
|
lLI: TdxLayoutItem;}
|
||||||
|
begin
|
||||||
|
{
|
||||||
|
for i := 0 to HostManager.ModulesCount -1 do
|
||||||
|
begin
|
||||||
|
AModule := HostManager.Modules[i];
|
||||||
|
if Supports(AModule.Module, IViewInicio, AVista) then
|
||||||
|
begin
|
||||||
|
Exit;
|
||||||
|
lLI := dxLayoutControl1.CreateItemForControl(Button2);
|
||||||
|
lLI.Caption := 'Hello World';
|
||||||
|
lCLG := dxLayoutControl1.CreateGroup;
|
||||||
|
lCLG.Caption := 'Test this';
|
||||||
|
lCLG.Parent := dxLayoutControl1.Items;
|
||||||
|
lLI.Parent := lCLG;
|
||||||
|
dxLayoutControl1.Customization := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
|
||||||
|
{procedure TfPantallaPrincipal.JvPanel1Paint(Sender: TObject);
|
||||||
|
var
|
||||||
|
PS: PAINTSTRUCT;
|
||||||
|
begin
|
||||||
|
BeginPaint(JvPanel1.Canvas.Handle, PS);
|
||||||
|
ThemeServices.DrawElement(JvPanel1.Canvas.Handle, ThemeServices.GetElementDetails(tebExplorerBarDontCare), JvPanel1.BoundsRect);
|
||||||
|
// ThemeServices.DrawText(JvPanel1.Canvas.Handle, ThemeServices.GetElementDetails(tspUserPane), 'Hola', JvPanel1.Canvas.ClipRect, 0, 0);
|
||||||
|
EndPaint(JvPanel1.Canvas.Handle, PS);
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.JvPanel2Paint(Sender: TObject);
|
||||||
|
var
|
||||||
|
PS: PAINTSTRUCT;
|
||||||
|
begin
|
||||||
|
BeginPaint(JvPanel2.Canvas.Handle, PS);
|
||||||
|
ThemeServices.DrawElement(JvPanel2.Canvas.Handle, ThemeServices.GetElementDetails(tebExplorerBarDontCare), JvPanel2.BoundsRect);
|
||||||
|
EndPaint(JvPanel2.Canvas.Handle, PS);
|
||||||
|
end;}
|
||||||
|
|
||||||
|
procedure TfPantallaPrincipal.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if Assigned(FStartDefaultAction) then
|
||||||
|
FStartDefaultAction.Execute;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
Cliente/uSplash.ddp
Normal file
BIN
Cliente/uSplash.ddp
Normal file
Binary file not shown.
1067
Cliente/uSplash.dfm
Normal file
1067
Cliente/uSplash.dfm
Normal file
File diff suppressed because it is too large
Load Diff
56
Cliente/uSplash.pas
Normal file
56
Cliente/uSplash.pas
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
unit uSplash;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, ExtCtrls, JvGIF, StdCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TSplashScreen = class(TForm)
|
||||||
|
Image1: TImage;
|
||||||
|
Panel1: TPanel;
|
||||||
|
lblTexto: TLabel;
|
||||||
|
procedure Image1Click(Sender: TObject);
|
||||||
|
private
|
||||||
|
function GetTexto: String;
|
||||||
|
procedure SetTexto(const Value: String);
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
property Texto : String read GetTexto write SetTexto;
|
||||||
|
procedure ShowAsAbout;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
SplashScreen: TSplashScreen;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
{ TSplashScreen }
|
||||||
|
|
||||||
|
procedure TSplashScreen.ShowAsAbout;
|
||||||
|
begin
|
||||||
|
Image1.OnClick := Image1Click;
|
||||||
|
ShowModal;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSplashScreen.Image1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TSplashScreen.GetTexto: String;
|
||||||
|
begin
|
||||||
|
Result := lblTexto.Caption;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSplashScreen.SetTexto(const Value: String);
|
||||||
|
begin
|
||||||
|
lblTexto.Caption := Value;
|
||||||
|
Self.Update;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user