Skip to content

Instantly share code, notes, and snippets.

Created March 1, 2015 12:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/cd3cf56b628d3e23f97b to your computer and use it in GitHub Desktop.
Save anonymous/cd3cf56b628d3e23f97b to your computer and use it in GitHub Desktop.
Demo video Club CARGOS
unit UCargos;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, DBCtrls, Grids, DBGrids, Mask, Buttons, ExtCtrls,
DB;
type
TFcargos = class(TForm)
Panelcontenedor: TPanel;
PanelDatos: TPanel;
Label10: TLabel;
PanelOculto: TPanel;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
DBGrid1: TDBGrid;
Botonera1: TPanel;
SBNuevo: TSpeedButton;
SBEditar: TSpeedButton;
SBBorrar: TSpeedButton;
SBSalir: TSpeedButton;
SBBuscar: TSpeedButton;
DBNavigator1: TDBNavigator;
Botonera2: TPanel;
Label9: TLabel;
SpeedButton16: TSpeedButton;
SBBuscarnormal: TSpeedButton;
Edit1: TEdit;
StatusBar1: TStatusBar;
DbeCodigo: TDBEdit;
Label1: TLabel;
Label2: TLabel;
dBEcARGO: TDBEdit;
DSPrincipal: TDataSource;
procedure SBNuevoClick(Sender: TObject);
procedure SBEditarClick(Sender: TObject);
procedure SBBorrarClick(Sender: TObject);
procedure SBBuscarClick(Sender: TObject);
procedure SBSalirClick(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SBBuscarnormalClick(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Fcargos: TFcargos;
implementation
{$R *.dfm}
uses UDM;
procedure TFcargos.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 TFcargos.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
DSPrincipal.DataSet.Delete;
DM.IBT.CommitRetaining;
ShowMessage('El registro ha sido eliminado');
end;
end;
procedure TFcargos.SBBuscarClick(Sender: TObject);
//------------------------------------------------------------------------------
//******************************************************[ Abrir Búsqueda ]******
//------------------------------------------------------------------------------
begin
Botonera2.Visible:=True;
Edit1.SetFocus;
end;
procedure TFcargos.SBBuscarnormalClick(Sender: TObject);
//------------------------------------------------------------------------------
//***********************************************[ ejecutamos la búsqueda ]*****
//------------------------------------------------------------------------------
begin
DSPrincipal.DataSet.Locate('CARGO',Edit1.Text,[loCaseInsensitive,loPartialKey]);
end;
procedure TFcargos.SBEditarClick(Sender: TObject);
//------------------------------------------------------------------------------
//*******************************************[ Editar el actual registro ]******
//------------------------------------------------------------------------------
begin
if DsPrincipal.DataSet.IsEmpty<>true then
begin
DSPrincipal.DataSet.Edit;
PanelDatos.Enabled:=True;
PanelOculto.Visible:=True;
Botonera1.Enabled:=false;
dBEcARGO.SetFocus;
end else ShowMessage('No hay tregistros disponibles para editar')
end;
procedure TFcargos.SBNuevoClick(Sender: TObject);
//------------------------------------------------------------------------------
//**************************************************************[ SBnuevo ]*****
//------------------------------------------------------------------------------
var VarIRegistro:Integer;
begin
DsPrincipal.DataSet.Insert;
VarIRegistro:=DM.IBDConfiguracionNUMERADOR_CARGOS.Value;
VarIRegistro:=VarIRegistro+1;
DBECodigo.Field.Value:=IntToStr(VarIRegistro);
PanelDatos.Enabled:=True;
PanelOculto.Visible:=True;
Botonera1.Enabled:=false;
VarIModoApertura:=0;
dBEcARGO.SetFocus;
end;
procedure TFcargos.SBSalirClick(Sender: TObject);
//------------------------------------------------------------------------------
//**************************************************************[ SBSalir ]*****
//------------------------------------------------------------------------------
begin
Close;
end;
procedure TFcargos.SpeedButton16Click(Sender: TObject);
//------------------------------------------------------------------------------
//****************************************************[ Salir de búsqueda ]*****
//------------------------------------------------------------------------------
begin
Edit1.Text:='';
Botonera2.Visible:=False;
end;
procedure TFcargos.SpeedButton8Click(Sender: TObject);
//------------------------------------------------------------------------------
//*****************************************************[ Cancelar Proceso]******
//------------------------------------------------------------------------------
begin
if DsPrincipal.DataSet.State in [dsEdit,dsInsert] then DSPrincipal.DataSet.Cancel;
DM.IBT.RollbackRetaining; //Donde IBT es el nombre de su Ibtrasaction, con ruta
PanelOculto.Visible:=False;
Botonera1.Enabled:=True;
PanelDatos.Enabled:=False;
end;
procedure TFcargos.SpeedButton9Click(Sender: TObject);
//------------------------------------------------------------------------------
//********************************************************[ Grabar datos ]******
//------------------------------------------------------------------------------
var VarIFase:Integer;
begin
try
VarIFase:=1;
if DsPrincipal.DataSet.State in [dsInsert] then VarBGrabarNumerador:=True else VarBGrabarNumerador:=False;
if DsPrincipal.DataSet.State in [dsEdit,dsInsert] then DSPrincipal.DataSet.Post;
if VarBGrabarNumerador=true then
begin
VarIFase:=2;
DM.IBDConfiguracion.Edit;
DM.IBDConfiguracionNUMERADOR_CARGOS.Value:=StrToInt(DBECodigo.Field.Value);
DM.IBDConfiguracion.Post;
VarBGrabarNumerador:=False;
end;
DM.IBT.CommitRetaining; //Donde IBT es el nombre de su Ibtrasaction, con ruta
except
on E: Exception do
begin
MessageBeep(1000);
ShowMessage('Se ha producido un error y el proceso no se ha podido terminar Unidad:[ UCargos ] Modulo:[ Grabar ]' + Chr(13) + Chr(13)
+ 'Fase del error [ '+IntToStr(VarIFase)+' ]'+ 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.IBT.RollbackRetaining; //Donde IBT es el nombre de su Ibtrasaction, con ruta
end;
end;
PanelOculto.Visible:=False;
PanelDatos.Enabled:=False;
Botonera1.Enabled:=True;
end;
en
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment