Created
August 9, 2013 07:52
-
-
Save anonymous/6191865 to your computer and use it in GitHub Desktop.
GEstión de vehículos de programa de Gestión desde 0
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
unit UVehiculos; | |
interface | |
uses | |
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, | |
Dialogs, ComCtrls, ExtCtrls, Grids, DBGrids, StdCtrls, Spin, Buttons, DB, | |
NewPanelDB, DBCtrls, MyDbIbMemo, Mask, rpcompobase, rpvclreport; | |
type | |
TFVehiculos = class(TForm) | |
PanelBotonera: TNewPanelDB; | |
SBBarraStatus: TStatusBar; | |
Panel1: TPanel; | |
Panel2: TPanel; | |
PanelConfirmar: TNewPanelDB; | |
DsPrincipal: TDataSource; | |
SBPrimero: TSpeedButton; | |
SBMenosx: TSpeedButton; | |
SBMenos1: TSpeedButton; | |
SBMas1: TSpeedButton; | |
SBMasX: TSpeedButton; | |
SBUltimo: TSpeedButton; | |
SbNuevo: TSpeedButton; | |
SbModificar: TSpeedButton; | |
SbBorrar: TSpeedButton; | |
SEMobeByX: TSpinEdit; | |
Label14: TLabel; | |
SB_Salir: TSpeedButton; | |
SBBuscar: TSpeedButton; | |
GBBuscar: TGroupBox; | |
Ebusqueda: TEdit; | |
BLimpiar: TButton; | |
BBuscar: TButton; | |
BCerrar: TButton; | |
SBImprimir: TSpeedButton; | |
SBConfirmar: TSpeedButton; | |
SBCancelar: TSpeedButton; | |
Timer1: TTimer; | |
NewPanelDB1: TNewPanelDB; | |
Label1: TLabel; | |
Label2: TLabel; | |
Label3: TLabel; | |
DBEdit1: TDBEdit; | |
DBEdit2: TDBEdit; | |
DBEdit3: TDBEdit; | |
GroupBox1: TGroupBox; | |
Label4: TLabel; | |
Label5: TLabel; | |
Label6: TLabel; | |
DBEdit4: TDBEdit; | |
DBEdit5: TDBEdit; | |
DBEdit6: TDBEdit; | |
GBImprimir: TGroupBox; | |
CBVistaPrevia: TCheckBox; | |
BCerrarIMP: TButton; | |
SpeedButton12: TSpeedButton; | |
DBGrid1: TDBGrid; | |
DBEdit7: TDBEdit; | |
Label7: TLabel; | |
procedure FormKeyPress(Sender: TObject; var Key: Char); | |
procedure Click(Sender: TObject); | |
procedure SBMenosxClick(Sender: TObject); | |
procedure SBMenos1Click(Sender: TObject); | |
procedure SBMas1Click(Sender: TObject); | |
procedure SBMasXClick(Sender: TObject); | |
procedure SBUltimoClick(Sender: TObject); | |
procedure SbNuevoClick(Sender: TObject); | |
procedure SbModificarClick(Sender: TObject); | |
procedure SbBorrarClick(Sender: TObject); | |
procedure SBBuscarClick(Sender: TObject); | |
procedure BLimpiarClick(Sender: TObject); | |
procedure BBuscarClick(Sender: TObject); | |
procedure BCerrarClick(Sender: TObject); | |
procedure EbusquedaChange(Sender: TObject); | |
procedure SBImprimirClick(Sender: TObject); | |
procedure BCerrarIMPClick(Sender: TObject); | |
procedure SB_SalirClick(Sender: TObject); | |
procedure FormCreate(Sender: TObject); | |
procedure Timer1Timer(Sender: TObject); | |
procedure FormActivate(Sender: TObject); | |
procedure SBCancelarClick(Sender: TObject); | |
procedure SBConfirmarClick(Sender: TObject); | |
procedure FormClose(Sender: TObject; var Action: TCloseAction); | |
procedure DBEdit8Enter(Sender: TObject); | |
procedure DBEdit8KeyDown(Sender: TObject; var Key: Word; | |
Shift: TShiftState); | |
private | |
{ Private declarations } | |
public | |
{ Public declarations } | |
end; | |
var | |
FVehiculos: TFVehiculos; | |
implementation | |
{$R *.dfm} | |
uses UDM, Fun, FUN_DBGRID; | |
procedure TFVehiculos.BBuscarClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//**************************************************************[ Buscar ]****** | |
//------------------------------------------------------------------------------ | |
var Campo:string; | |
begin | |
Campo:='MATRICULA'; {Dato a rellenar por el progrmador con el nombre del campo en la busqueda} | |
DSPrincipal.DataSet.Locate(Campo,Ebusqueda.Text,[loCaseInsensitive,loPartialKey]); | |
end; | |
procedure TFVehiculos.BCerrarClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*****************************************************[ Cerrar Busqueda ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
BLimpiarClick(Sender); | |
GBBuscar.Visible:=False; | |
end; | |
procedure TFVehiculos.BCerrarIMPClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//****************************************************[ Cerrar Imrprimir ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
GBImprimir.Visible:=False; | |
end; | |
procedure TFVehiculos.BLimpiarClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//**************************************************[ Limpia la busqueda ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
Ebusqueda.Text:=''; | |
BBuscarClick(Sender); | |
Ebusqueda.SetFocus; | |
end; | |
procedure TFVehiculos.EbusquedaChange(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*************************************[ Mientras se escribe en busqueda ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
BBuscarClick(sender); | |
end; | |
procedure TFVehiculos.FormActivate(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//********************************************[ Cuando se activa El form ]****** | |
// Lo que queremos que haga nuestro Form Cuando se Actiba | |
//------------------------------------------------------------------------------ | |
begin | |
if Timer1.Enabled=false then Timer1.Enabled:=True; | |
end; | |
procedure TFVehiculos.FormClose(Sender: TObject; var Action: TCloseAction); | |
//------------------------------------------------------------------------------ | |
//*************************************************[ Al Cerrarse El Form ]****** | |
// Cerramos todos los procesos para que no consuman memoria y posibles errores | |
//------------------------------------------------------------------------------ | |
begin | |
if Timer1.Enabled=true then Timer1.Enabled:=False; | |
end; | |
procedure TFVehiculos.FormCreate(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//***************************************************[ Al Crearse el Fom ]****** | |
// Cosas que queremos que haga según se inicie el Form | |
//------------------------------------------------------------------------------ | |
begin | |
{Cosas que queremos que haga según se inicie el Form} | |
end; | |
procedure TFVehiculos.FormKeyPress(Sender: TObject; var Key: Char); | |
//------------------------------------------------------------------------------ | |
//************************************************[ Al pulsar una tecla ]****** | |
// Al pulsar la tecla salta al foco del siguiente componente, si esta admitido | |
//------------------------------------------------------------------------------ | |
begin | |
if (Key = #13) then {Si se ha pulsado enter } | |
if (ActiveControl is TEdit) | |
or (ActiveControl is TDBEdit) | |
or (ActiveControl is TDBComboBox) then | |
begin | |
Key := #0; { anula la puulsación } | |
Perform(WM_NEXTDLGCTL, 0, 0); { mueve al próximo control } | |
end | |
end; | |
procedure TFVehiculos.SbBorrarClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*******************************************[ Borrar el Actual Registro ]****** | |
//------------------------------------------------------------------------------ | |
begin //Cambiar por el mensaje elegido | |
if (MessageBox(0, '¿Esta seguro de eliminar el registro actual?', //Aqui no se porque me manda la última comilla simple y la coma a la linea de abajo, por favor subir al final de la linea anterior | |
'Eliminar Registro', MB_ICONSTOP or MB_YESNO or MB_DEFBUTTON2) = ID_No) then abort | |
else begin | |
if not DsPrincipal.DataSet.IsEmpty then | |
begin | |
DSPrincipal.DataSet.Delete; | |
ShowMessage('El registro ha sido marcado para eliminar'+#13+#10+ | |
'El proceso de eliminación se hara aútomaticamente'); | |
DM.IBTransaction1.CommitRetaining; | |
end else ShowMessage('No existen registros para eliminar'); | |
end; | |
end; | |
procedure TFVehiculos.SBBuscarClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//******************************************************[ Abrir Busqueda ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
GBBuscar.Visible:=True; | |
Ebusqueda.SetFocus; | |
end; | |
procedure TFVehiculos.SBCancelarClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//****************************************************[ Cancelar Proceso ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
if DsPrincipal.DataSet.State in [dsEdit, dsInsert] then DsPrincipal.DataSet.Cancel; | |
DM.IBTransaction1.RollbackRetaining; | |
end; | |
procedure TFVehiculos.SBConfirmarClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*******************************************************[ Grabar datos ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
try | |
if DsPrincipal.DataSet.State in [dsEdit, dsInsert] then DsPrincipal.DataSet.Post; | |
DM.IBTransaction1.CommitRetaining; | |
except | |
on E: Exception do | |
begin | |
MessageBeep(1000); | |
ShowMessage('Se ha producido un error y el proceso no se ha podido terminar Unidad:[ UVehiculos ] Modulo:[ Grabar ]' + Chr(13) + Chr(13) | |
+ 'Clase de error: ' + E.ClassName + Chr(13) + Chr(13) | |
+ 'Mensaje del error:' + E.Message+Chr(13) + Chr(13) | |
+ ' '+Chr(13) + Chr(13) | |
+ 'El proceso ha quedado interrumpido'); | |
if DsPrincipal.DataSet.State in [dsEdit, dsInsert] then DsPrincipal.DataSet.Cancel; | |
DM.IBTransaction1.RollbackRetaining; | |
end; | |
end; | |
end; | |
procedure TFVehiculos.SBImprimirClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//******************************************************[ Abrir Imprimir ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
GBImprimir.Visible:=True; | |
end; | |
procedure TFVehiculos.SBMas1Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*************************************************[ Avanzar un registro ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
DSPrincipal.DataSet.Next; | |
end; | |
procedure TFVehiculos.SBMasXClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*************************************************[ Avanzar x Registros ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
DSPrincipal.DataSet.MoveBy(SEMobeByX.Value); | |
end; | |
procedure TFVehiculos.SBMenos1Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//***********************************************[ Retroceder 1 registro ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
DSPrincipal.DataSet.Prior; | |
end; | |
procedure TFVehiculos.SBMenosxClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//**********************************************[ Retroceder x Registros ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
DSPrincipal.DataSet.MoveBy(-SEMobeByX.Value); | |
end; | |
procedure TFVehiculos.SbModificarClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*******************************************[ Editar el actual registro ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
if not DsPrincipal.DataSet.IsEmpty then | |
begin | |
DsPrincipal.DataSet.Edit; | |
Dbedit1.setfocus; | |
end else ShowMessage('No existen registros para editar'); | |
end; | |
procedure TFVehiculos.SbNuevoClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*******************************************[ Creamos un nuevo registro ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
DSPrincipal.DataSet.Insert; | |
DBEdit1.setfocus; | |
end; | |
procedure TFVehiculos.Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//***********************************************[ Ir al Primer Registro ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
DSPrincipal.DataSet.First; | |
end; | |
procedure TFVehiculos.DBEdit8Enter(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//******************************************************[ Fecha entrada ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
FECHA_DBEDIT_ENTER(TDBEdit(Sender)); | |
end; | |
procedure TFVehiculos.DBEdit8KeyDown(Sender: TObject; var Key: Word; | |
Shift: TShiftState); | |
//------------------------------------------------------------------------------ | |
//*****************************************************[ cambiar fecha ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
FECHA_DBEDIT(TDBEdit(Sender),Key); | |
end; | |
procedure TFVehiculos.SBUltimoClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//***********************************************[ Ir al último registro ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
DSPrincipal.DataSet.Last; | |
end; | |
procedure TFVehiculos.SB_SalirClick(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//******************************************************[ Salir Del Form ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
FVehiculos.Close; | |
end; | |
procedure TFVehiculos.Timer1Timer(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*************************************************[ El evento del Timer ]****** | |
//------------------------------------------------------------------------------ | |
begin | |
SBBarraStatus.Panels[2].Text:=TimeToStr(now); | |
if SBBarraStatus.Panels[1].Text<>DateToStr(Now) then SBBarraStatus.Panels[1].Text:=DateToStr(Now); | |
end; | |
end. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment