///***************** para hacer lineas
Printer.Canvas.MoveTo(0,0); // punto 1
Printer.Canvas.LineTo(9900,14000); // punto 2
//******************
{
a la hora de imprimir q solo haya trabajado una vez ese dia !!!!!!!!!!
}
unit Unit15;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, DBCtrls, Db, DBTables, ComCtrls, Printers;
type
TForm15 = class(TForm)
Button1: TButton;
Database1: TDatabase;
DataSource1: TDataSource;
Table1: TTable;
DataSource2: TDataSource;
Table2: TTable;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
ComboBox1: TComboBox;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label4: TLabel;
Label5: TLabel;
Button2: TButton;
DBNavigator1: TDBNavigator;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form15: TForm15;
function GetFecha: String;
implementation
uses Unit1;
{$R *.DFM}
//*******************************************************************
procedure TForm15.FormCreate(Sender: TObject);
var
i: integer;
a,b,c,d: integer;
begin
i:=2;
a:=screen.Width;
b:=screen.Height;
form15.left:= (a div i) - form15.width div i;
form15.top:= (b div i) - form15.Height div i;
end;
//**************************************************************
procedure TForm15.Button1Click(Sender: TObject);
begin
form15.hide;
form1.enabled:=true;
form1.show;
end;
//********************************************************
procedure TForm15.FormActivate(Sender: TObject);
var
i: integer;
begin
combobox1.clear;
table1.close;
table1.open;
table1.first;
for i:=0 to Table1.RecordCount-1 do
begin
if table1.Fieldvalues['borrado'] = false then
begin
combobox1.items.add(table1.Fieldvalues['id']);
end; // if
table1.next;
end;
table1.first;
datetimepicker1.date:= strtodate(GetFecha());
datetimepicker2.date:= strtodate(GetFecha());
end;
//*****************************************************************************
procedure TForm15.ComboBox1Change(Sender: TObject);
var
i: integer;
begin
table1.open;
table1.first;
for i:=0 to Table1.RecordCount-1 do
begin
if table1.Fieldvalues['id'] = combobox1.text then
begin
exit;
end; // if
table1.next;
end;
end;
//*************************************************************** fecha
function GetFecha: String;
var
stSystemTime : TSystemTime;
aux,fecha: string;
begin
Windows.GetLocalTime( stSystemTime );
aux:=DateTimeToStr( SystemTimeToDateTime( stSystemTime ));
fecha:= aux[1]+aux[2]+aux[3]+aux[4]+aux[5]+aux[6]+aux[7]+aux[8]+aux[9]+aux[10];
Result:= fecha;
end;
//*************************
//****************************************************************
procedure TForm15.Button2Click(Sender: TObject);
var
aux: string;
veces,x,y,salto,i: integer;
aux2,turno,fechaS,horaE,horaS,llamadas, entrantes, salientes, minutos: string;
begin
veces:=0;
table2.close;
table2.open;
table2.first;
for i:=0 to Table2.RecordCount-1 do
begin
if table2.Fieldvalues['trabajador'] = dbtext1.Field.AsString then
begin
aux2:= datetostr(datetimepicker2.date);
if strtodate(aux2) = table2.Fieldvalues['fechaS'] then
begin
horaE:=table2.Fieldvalues['horaE'];
horaS:=table2.Fieldvalues['horaS'];
fechaS:=table2.Fieldvalues['fechaS'];
llamadas:=table2.Fieldvalues['llamadas'];
entrantes:=table2.Fieldvalues['entrantes'];
salientes:=table2.Fieldvalues['salientes'];
minutos:=table2.Fieldvalues['minutos'];
turno:=table2.Fieldvalues['turno'];
veces:=veces+1;
end;
end;
table2.next;
end;
if (veces=0) then
begin
showmessage('Este empleado no ha trabajado ese día.');
exit;
end;
//showmessage('Imprimiendo ...');
Printer.BeginDoc; // INICIO UN NUEVO DOCUMENTO
With Printer.canvas do //CON EL OBJETO PRINTER.CANVAS HAGO LO SIGUIENTE
Begin
//TITULO QUE APARECE EN LA COLA DE IMPRESION
Printer.Title := 'Impresión de Dia de Trabajo';
Font.Color := ClBlack; //LE ASIGNO UN COLOR A LA LETRA
Pen.Color := ClBlack; //COLOR DE LA LINE DE LOS RECUADROS
Font.Size := 12; //TAMAÑO DE LA LETRA
Font.Name := 'Times New Roman';
aux:= 'Alicante ' + datetostr(datetimepicker1.date);
Printer.Canvas.TextOut(1000,1000,aux);
x:=1500;
y:=2000;
aux:= 'Resumen de Día de Trabajo:';
Printer.Canvas.TextOut(x,y,aux);
x:=1500;
y:=y+800;
aux:= '- ID: ' + dbtext1.Field.AsString;
Printer.Canvas.TextOut(x,y,aux);
y:=y+300;
aux:= '- NOMBRE: ' + dbtext2.Field.AsString;
Printer.Canvas.TextOut(x,y,aux);
y:=y+300;
aux:= '- APELLIDOS: ' + dbtext3.Field.AsString + ' ' + dbtext4.Field.AsString;
Printer.Canvas.TextOut(x,y,aux);
y:=y+300;
aux:= '- DIA: ' + datetostr(datetimepicker2.date);
Printer.Canvas.TextOut(x,y,aux);
y:=y+800;
aux:= '- TURNO: ' + turno;
Printer.Canvas.TextOut(x,y,aux);
y:=y+300;
aux:= '- HORA ENTRADA: ' + horaE;
Printer.Canvas.TextOut(x,y,aux);
y:=y+300;
aux:= '- HORA SALIDA: ' + horaS;
Printer.Canvas.TextOut(x,y,aux);
y:=y+300;
aux:= '- NUM. LLAMADAS: ' + llamadas;
Printer.Canvas.TextOut(x,y,aux);
y:=y+300;
aux:= '- NUM. LLAMADAS ENTRANTES: ' + entrantes;
Printer.Canvas.TextOut(x,y,aux);
y:=y+300;
aux:= '- NUM. LLAMADAS SALIENTES: ' + salientes;
Printer.Canvas.TextOut(x,y,aux);
y:=y+300;
aux:= '- NUM. MINUTOS: ' + minutos;
Printer.Canvas.TextOut(x,y,aux);
y:=y+5000;
aux:= 'FIRMA CONFORME:';
Printer.Canvas.TextOut(x,y,aux);
end;
Printer.EndDoc;
end; // fin procedure
end.
sábado, 12 de mayo de 2007
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario