Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Duda sobre Abrir Cajon de Dinero (https://www.clubdelphi.com/foros/showthread.php?t=52946)

enecumene 05-02-2008 17:27:27

Duda sobre Abrir Cajon de Dinero
 
Hola compañeros del foro, tengo una duda que quisiera me ayudaran y es sobre abrir el cajon de dinero, tengo una impresora Epson TM-U220D y una caja Dynapos, y este es el codigo que utilizo:

Código Delphi [-]
procedure TFSaveFactura.PngSpeedButton1Click(Sender: TObject);
var f: TextFile;
begin
//Para Imprimir el Ticket
if RadioButton7.Checked = True then
begin
if (Efectivo.Text = '0.00') or
   (Efectivo.Text = '') then
   begin
    FAviso:=TFAviso.Create(self);
    FAviso.Label1.Caption := 'La Casilla Efectivo está Vacío!. Por Favor LLenelo.';
    FAviso.ShowModal;
    Abort;
   end;
FTicket:=TFTicket.Create(self);
FFacturar.ClientDataSet1.ApplyUpdates(-1);
FFacturar.ClientDataSet1.EmptyDataSet;
FTicket.AFactDetalle.SQL.Text := 'select * from FactDetalles where FactNo = :No';
FTicket.AFactDetalle.Parameters.ParamByName('No').Value := DBEdit5.Text;
FTicket.AFactDetalle.Open;
FTicket.QRLabel4.Caption := DBEdit5.Text;
FTicket.QRLabel6.Caption := FFacturar.DBLookupComboBox1.Text;
FTicket.QRLabel27.Caption := FFacturar.DBEdit6.Text;
FTicket.QRLabel23.Caption := FSaveFactura.Efectivo.Text+'.00';
FTicket.QRLabel25.Caption := FSaveFactura.Cambio.Text;
FTicket.QRLabel15.Caption := FMain.Panel4.Caption;
FTicket.QRLabel12.Caption := Label2.Text;
FTicket.QRLabel16.Caption := Label2.Text;
FTicket.QuickRep1.Print;
//Abrir cajon de dinero
AssignFile(f,'lpt1');
  Rewrite(f);
  Writeln(f,#27+'p'+#0+#25+#250);
  closeFile(f);
//fin abrir cajon
FFacturar.DsFactura.DataSet.Post;
FFacturar.DsFactura.DataSet.Insert;
FFacturar.ZConteo.SQL.Text := 'Select Max(FactNo) From facturas';
FFacturar.ZConteo.Open;
FFacturar.FactID.Text := IntToStr(FFacturar.ZConteo.Fields[0].AsInteger+1);
FFacturar.ZConteo.Close;
ShortDateFormat := 'dd/MM/yyyy';
DateSeparator := '/';
FFacturar.DsFactura.DataSet.FieldByName('FecFact').Value := DateToStr(Now);
FFacturar.DsFactura.DataSet.FieldByName('FecVence').Value := DateToStr(Now+30);
FFacturar.DsFactura.DataSet.FieldByName('Usuario').Value := FFacturar.Panel4.Caption;
FFacturar.DsFactura.DataSet.FieldByName('TipoFact').Value := 'Contado';
FFacturar.Edit1.Clear;
FFacturar.Total2.Text := '0.00';
FFacturar.Total.Text := '0.00';
Close;
end;

Ahora queria saber si el codigo de abrir la caja es correcto y la posición de la misma, quiero aclarar que no tengo la caja de dinero en mano, solo queria si era correcto o hay alguna manera de probarlo sin el cajon.

Saludos

enecumene 05-02-2008 19:49:34

Vamos, Chicos, donde estan metidos? :confused::confused::D

egostar 05-02-2008 19:58:45

Cita:

Empezado por enecumene (Mensaje 263600)
Vamos, Chicos, donde estan metidos? :confused::confused::D

en la taberna, :D:D:D

Bueno, yo creo que si estas haciendo bien, envias al puerto paralelo las secuencias de escape, lo único que necesitas es tener el cajón para que pruebes y ver si la secuencia es la correcta.

Solo una cosa, el abrir el cajón no deberias validar que la transacción fue exitosa?,

Digo, pensando un poco mas allá.

Salud OS

felipe88 05-02-2008 20:00:05

Yo te ayudaria con gusto, el unico detalle es que no conozco nada del tema :D...
Solo espero llegue alguien mas y te ayude, asi tambien aprendo yo...;)

enecumene 05-02-2008 20:08:29

Cita:

Empezado por egostar (Mensaje 263603)
en la taberna, :D:D:D

Ya me lo imaginaba...

Cita:

Empezado por egostar (Mensaje 263603)
Solo una cosa, el abrir el cajón no deberias validar que la transacción fue exitosa?

te refieres a enviar algun mensaje especificando que la transaccion se hizo bien o te refieres a otro metodo?

Saludos.

egostar 05-02-2008 20:14:16

Cita:

Empezado por enecumene (Mensaje 263611)
te refieres a enviar algun mensaje especificando que la transaccion se hizo bien o te refieres a otro metodo?

No mas bien me imagine algo como una ventana de autorización, algo asi pues

Salud OS

enecumene 05-02-2008 20:37:28

Cita:

Empezado por egostar (Mensaje 263614)
No mas bien me imagine algo como una ventana de autorización, algo asi pues

Salud OS

Ahh vale ya entendi, no es mala la idea, lo intentare implementarlo.

Saludos.

look 05-02-2008 23:52:12

Código Delphi [-]
VAR  
f : TextFile;

 AssignFile(f,'lpt1');
  Rewrite(f);
  Writeln(f,#27+'p0'+#100+#0);
  closeFile(f);
a mi me funciona Bien con un cajon Dynapos


La franja horaria es GMT +2. Ahora son las 11:22:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi