Created
August 9, 2013 08:00
-
-
Save anonymous/6191905 to your computer and use it in GitHub Desktop.
Carta de portes 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 UCartaPortes; | |
interface | |
uses | |
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, | |
Dialogs, StdCtrls, ExtCtrls, Buttons, ComObj, DB, IBCustomDataSet, DBCtrls, | |
Grids, DBGrids, Mask, ComCtrls; | |
type | |
TFCP = class(TForm) | |
SpeedButton1: TSpeedButton; | |
SpeedButton2: TSpeedButton; | |
LabeledEdit1: TLabeledEdit; | |
LabeledEdit2: TLabeledEdit; | |
LabeledEdit3: TLabeledEdit; | |
LabeledEdit4: TLabeledEdit; | |
LabeledEdit5: TLabeledEdit; | |
LabeledEdit6: TLabeledEdit; | |
LabeledEdit7: TLabeledEdit; | |
LabeledEdit8: TLabeledEdit; | |
LabeledEdit9: TLabeledEdit; | |
LabeledEdit10: TLabeledEdit; | |
DataSource1: TDataSource; | |
PageControl1: TPageControl; | |
Productos: TTabSheet; | |
Panel1: TPanel; | |
Panel2: TPanel; | |
SpeedButton4: TSpeedButton; | |
SpeedButton6: TSpeedButton; | |
DBNavigator1: TDBNavigator; | |
Panel5: TPanel; | |
SpeedButton7: TSpeedButton; | |
SpeedButton8: TSpeedButton; | |
Panel3: TPanel; | |
Panel4: TPanel; | |
Label4: TLabel; | |
DBEdit1: TDBEdit; | |
DBEdit2: TDBEdit; | |
DBEdit3: TDBEdit; | |
DBEdit4: TDBEdit; | |
DBGrid1: TDBGrid; | |
Vehiculos: TTabSheet; | |
Panel6: TPanel; | |
Panel7: TPanel; | |
SpeedButton10: TSpeedButton; | |
SpeedButton12: TSpeedButton; | |
DBNavigator2: TDBNavigator; | |
Panel8: TPanel; | |
SpeedButton13: TSpeedButton; | |
SpeedButton14: TSpeedButton; | |
Panel9: TPanel; | |
Panel10: TPanel; | |
Label5: TLabel; | |
Label6: TLabel; | |
Label7: TLabel; | |
DBEdit5: TDBEdit; | |
DBEdit6: TDBEdit; | |
DBEdit7: TDBEdit; | |
DBGrid2: TDBGrid; | |
DataSource2: TDataSource; | |
SpeedButton15: TSpeedButton; | |
SpeedButton16: TSpeedButton; | |
SpeedButton17: TSpeedButton; | |
procedure FormActivate(Sender: TObject); | |
procedure SpeedButton1Click(Sender: TObject); | |
procedure SpeedButton2Click(Sender: TObject); | |
procedure SpeedButton4Click(Sender: TObject); | |
procedure SpeedButton6Click(Sender: TObject); | |
procedure SpeedButton7Click(Sender: TObject); | |
procedure SpeedButton8Click(Sender: TObject); | |
procedure FormKeyPress(Sender: TObject; var Key: Char); | |
procedure SpeedButton10Click(Sender: TObject); | |
procedure SpeedButton12Click(Sender: TObject); | |
procedure SpeedButton13Click(Sender: TObject); | |
procedure SpeedButton14Click(Sender: TObject); | |
procedure SpeedButton16Click(Sender: TObject); | |
procedure SpeedButton17Click(Sender: TObject); | |
procedure SpeedButton15Click(Sender: TObject); | |
procedure FormCreate(Sender: TObject); | |
procedure LabeledEdit7Exit(Sender: TObject); | |
private | |
{ Private declarations } | |
public | |
{ Public declarations } | |
end; | |
var | |
FCP: TFCP; | |
implementation | |
uses Umenu,Fun, UDM; | |
{$R *.dfm} | |
procedure TFCP.FormActivate(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//***********************************************[ AL ACTIVARSE EL FORM ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
LabeledEdit6.Text:=DateToStr(now); | |
end; | |
procedure TFCP.FormCreate(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*********************************************************[ Al crearse ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
PageControl1.ActivePage:=Productos; | |
end; | |
procedure TFCP.FormKeyPress(Sender: TObject; var Key: Char); | |
//------------------------------------------------------------------------------ | |
//************************************************[ Al pulsar una tecla ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
if (key = #13) then | |
begin | |
key:=#0; | |
perform(wm_nextdlgctl,0,0); | |
end; | |
end; | |
procedure TFCP.LabeledEdit7Exit(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//**************************************************[ Salir de Cantidad ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
if LabeledEdit7.Text='' then LabeledEdit7.Text:=LabeledEdit3.Text; | |
end; | |
procedure TFCP.SpeedButton10Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//***********************************************[ Modificar REGISTRO V.]******* | |
//------------------------------------------------------------------------------ | |
begin | |
Panel10.Enabled:=True; | |
Panel8.Visible:=True; | |
DBNavigator2.Enabled:=False; | |
DataSource2.DataSet.Insert; | |
DBEdit6.SetFocus; | |
end; | |
procedure TFCP.SpeedButton12Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*********************************[ Pasamnos los datos del producto V. ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
LabeledEdit9.Text:=DBEdit7.Text; | |
LabeledEdit10.Text:=DBEdit6.Text; | |
end; | |
procedure TFCP.SpeedButton13Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//**********************************************************[ GRABAR V. ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
try | |
Panel10.Enabled:=False; | |
Panel8.Visible:=False; | |
DBNavigator2.Enabled:=True; | |
if DataSource2.DataSet.State in [dsEdit, dsInsert] then DataSource2.DataSet.Post; | |
DM.IBTransaction1.CommitRetaining; | |
except | |
on E: Exception do | |
begin | |
ShowMessage('Se ha producido un error al grabar el actual registro: ' + 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) | |
+ 'Se anula la edición del actual registro'); | |
if DataSource2.DataSet.State in [dsEdit, dsInsert] then DataSource2.DataSet.Cancel; | |
DM.IBTransaction1.RollbackRetaining; | |
end; | |
end; | |
end; | |
procedure TFCP.SpeedButton14Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//********************************************************[ CANCELAR V. ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
Panel10.Enabled:=False; | |
Panel8.Visible:=False; | |
DBNavigator2.Enabled:=True; | |
if DataSource2.DataSet.State in [dsEdit, dsInsert] then DataSource2.DataSet.Cancel; | |
end; | |
procedure TFCP.SpeedButton15Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//******************************************************[ Nueva entrada ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
LabeledEdit1.Text:=''; | |
LabeledEdit2.Text:=''; | |
LabeledEdit3.Text:=''; | |
LabeledEdit4.Text:=''; | |
LabeledEdit5.Text:=''; | |
LabeledEdit6.Text:=DateToStr(now); | |
LabeledEdit7.Text:=''; | |
LabeledEdit8.Text:=''; | |
LabeledEdit9.Text:=''; | |
LabeledEdit10.Text:=''; | |
PageControl1.ActivePage:=Productos; | |
end; | |
procedure TFCP.SpeedButton16Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//**********************************************************[ Productos ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
PageControl1.ActivePage:=Productos; | |
end; | |
procedure TFCP.SpeedButton17Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//**********************************************************[ Vehículos ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
PageControl1.ActivePage:=Vehiculos; | |
end; | |
procedure TFCP.SpeedButton1Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//********************************************************[ BOTON SALIR ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
Close; | |
end; | |
procedure TFCP.SpeedButton2Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//************************************[ Preparar para documento en word ]******* | |
// Bajado del Club delphi aportado por Roman. | |
// Los Campos en el documento Word deben llevar el mismo nombre que en el add | |
// entre '' en word sería insertar campos tipo docvariable | |
//------------------------------------------------------------------------------ | |
var | |
Word: Variant; | |
Documento: Variant; | |
begin | |
(* Creas un objeto Word *) | |
Word := CreateOleObject('Word.Application'); | |
try | |
(* Añades un documento basado en la plantilla *) | |
Word.Documents.Add(ExtractFilePath(Application.ExeName) +'Carta de portes.dot'); | |
Documento := Word.Documents.Item(1); | |
(* Asignas valores a los campos *) | |
Documento.Variables.Add('producto',LabeledEdit1.Text); | |
Documento.Variables.Add('peso',LabeledEdit2.Text); | |
Documento.Variables.Add('bultos',LabeledEdit3.Text); | |
Documento.Variables.Add('tipo documento',LabeledEdit4.Text); | |
Documento.Variables.Add('n_doc',LabeledEdit5.Text); | |
Documento.Variables.Add('fecha',LabeledEdit6.Text); | |
Documento.Variables.Add('cantidad',LabeledEdit7.Text); | |
Documento.Variables.Add('categoria',LabeledEdit8.Text); | |
Documento.Variables.Add('empresa',LabeledEdit9.Text); | |
Documento.Variables.Add('matricula',LabeledEdit10.Text); | |
Documento.Fields.Update; | |
Word.ActiveWindow.View.ShowFieldCodes := false; | |
Word.Visible := true; | |
except | |
Word.Quit; | |
end; | |
end; | |
procedure TFCP.SpeedButton4Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*************************************************[ MODIFICAR REGISTRO ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
Panel4.Enabled:=True; | |
Panel5.Visible:=True; | |
DBNavigator1.Enabled:=False; | |
DataSource1.DataSet.Edit; | |
DBEdit1.SetFocus; | |
end; | |
procedure TFCP.SpeedButton6Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//************************************[ Pasamnos los datos del producto ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
LabeledEdit1.Text:=DBEdit1.Text; | |
LabeledEdit8.Text:=DBEdit2.Text+' - Limite: '+DBEdit3.Text; | |
end; | |
procedure TFCP.SpeedButton7Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//*************************************************************[ GRABAR ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
try | |
Panel4.Enabled:=False; | |
Panel5.Visible:=False; | |
DBNavigator1.Enabled:=True; | |
if DataSource1.DataSet.State in [dsEdit, dsInsert] then DataSource1.DataSet.Post; | |
DM.IBTransaction1.CommitRetaining; | |
except | |
on E: Exception do | |
begin | |
ShowMessage('Se ha producido un error al grabar el actual registro: ' + 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) | |
+ 'Se anula la edición del actual registro'); | |
if DataSource1.DataSet.State in [dsEdit, dsInsert] then DataSource1.DataSet.Cancel; | |
DM.IBTransaction1.RollbackRetaining; | |
end; | |
end; | |
end; | |
procedure TFCP.SpeedButton8Click(Sender: TObject); | |
//------------------------------------------------------------------------------ | |
//***********************************************************[ CANCELAR ]******* | |
//------------------------------------------------------------------------------ | |
begin | |
Panel4.Enabled:=False; | |
Panel5.Visible:=False; | |
DBNavigator1.Enabled:=True; | |
if DataSource1.DataSet.State in [dsEdit, dsInsert] then DataSource1.DataSet.Cancel; | |
end; | |
end. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment