Cita:
Empezado por AzidRain
Por lo que veo no estás usando nada grafico por lo que tu solución es la siguiente:
1.- En lugar de mandar todos los writelns a la impresora, utiliza un TMemo y le añades las cadenas que vas imprmiendo.
En lugar de ...
Código Delphi [-] Writeln(Ticket,#27#64); Writeln(Ticket,'Ministerio Bendicion Inc.'); Writeln(Ticket,'C/Ambar No.109 Ens. Papagayo'); Writeln(Ticket,'La Romana RD. 22000');
Código Delphi [-] //MiPreview es un TMemo MiPreview.Lines.Add(#27#64); MiPreview.Lines.Add('Ministerio Bendicion Inc.'); MiPreview.Lines.Add('C/Ambar No.109 Ens. Papagayo'); MiPreview.Lines.Add('La Romana RD. 22000');
Y en automático lo tendrás mostrado en pantalla, ahora para imprimirlo:
Código Delphi [-]//recorremos todas las lineas del memo y las mandamos a la impresora for i:=0 to MiPreview.Lines.Count - 1 Do Writeln(Ticket,Mipreview.Lines.Strings[i]);
Limpias Mipreview con MiPreview.Lines.clear y estas listo para otra impresión.
|
Gracias pero me sale un error de que el campo Ticket no esta en la tabla pero verdaderamente esta este es el codigo a ver si me puedes seguir ayudando
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var Fecha : String;
Ticket: TextFile;
Total, Efectivo, Cambio : Double;
xdes, xval, xtot, xpag, xcam: ShortString;
xsum: Double;
i: integer;
begin
Fecha := DateToStr(Now);
TIngresosFecha.AsString := Fecha;
Total := TIngresosAporte.Value;
Efectivo := TIngresosEfectivo.Value;
Cambio := Total - Efectivo;
TIngresosCambio.Value := Cambio;
TIngresos.Post;
try
Memo1.Lines.Add(#27#64);
Memo1.Lines.Add('Ministerio Bendición Inc.');
Memo1.Lines.Add('C/Ambar No.109 Ens. Papagayo');
Memo1.Lines.Add('La Romana RD. 22000');
Memo1.Lines.Add('Tel: 809-556-4914');
Memo1.Lines.Add('Tel: 809-550-8266');
Memo1.Lines.Add('RNC: #4-12-02047-1');
Memo1.Lines.Add('E-Mail: bendicionfm@hotmail.com');
Memo1.Lines.Add('Website: www.bendicionfm.com');
Memo1.Lines.Add('');
Memo1.Lines.Add('Fecha: '+DateToStr(Now));
Memo1.Lines.Add('Recibo: '+ qConsulta.FieldByName('Ticket').AsString);
Memo1.Lines.Add('');
qConsulta.Close;
qConsulta.SQL.Clear;
qConsulta.SQL.Add('Select Max(Ticket)from Bonos');
qConsulta.Open;
Memo1.Lines.add('-------------------------------');
memo1.Lines.add('Descripción Valor ');
memo1.lines.add('-------------------------------');
xsum := 0;
QConsulta.Close;
QConsulta.SQL.Clear;
QConsulta.SQL.Add('Select Max(Ticket)from Bonos ');
QConsulta.Open;
QConsulta.First;
while not QConsulta.Eof do
begin
xdes := copy(QConsulta.fieldbyname('descripcion').AsString,1,20);
xval := format('%8.2f',[QConsulta.fieldbyname('aporte').asFloat]);
xsum := xsum + QConsulta.fieldbyname('aporte').AsFloat;
memo1.Lines.Add(xdes+' '+xval);
QConsulta.Next;
end;
Memo1.Lines.Add('-------------------------------');
xtot := FloatToSTR(xsum);
xpag := FloatToSTR(Efectivo);
xcam := FloatToSTR(Cambio);
Memo1.Lines.Add('Total: RD$'+xtot);
Memo1.Lines.Add('Efectivo: RD$'+xpag);
memo1.Lines.Add('Cambio: RD$'+xcam);
memo1.Lines.Add('-------------------------------');
memo1.Lines.Add('Dios les Bendiga');
memo1.Lines.Add('');
memo1.Lines.Add('');
memo1.Lines.Add('');
memo1.Lines.Add('');
memo1.Lines.Add('');
memo1.Lines.Add('');
memo1.Lines.Add('');
memo1.Lines.Add('');
memo1.Lines.Add('');
memo1.Lines.Add(#27#105);
for i := 0 to Memo1.Lines.Count - 1 do
Writeln(Ticket,Memo1.Lines.Strings[i]);
finally
Memo1.Lines.Clear;
end;
end;
otra duda es esto lo muestra antes de imprimir y si es asi como lo manda a imprimir el usuario.
Gracias.