Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Imprimir datos de un DBlistbox (https://www.clubdelphi.com/foros/showthread.php?t=64901)

rufo 09-11-2009 18:40:51

Imprimir datos de un DBlistbox
 
Hola amigos, primero que bueno que la comunidad esta devuelta en red ya que hacia mucha falta, bueno les comento lo siguiente espero que me ayuden, tengo un DBlistbox en el cual tengo datos los cuales quiero imprimir pero la verdad nose como hacerle para que mande imprimir esos datos que contien el DBlistbox espero que me ayuden.

Amigos complemento la ayuda solicitada, resulta que ya me salio en imprimir pero ahora salen los datos desordenados les comento que estoy haciendo un programa de un Supermercado en el cual quiero imprimir los DBlistbox como si fueran tikets ya que el resultado que quisiera que me imprimiera seria el siguiente un ejemplo:

Papas 5.80
Coca cola 6.00
Galletas 4.00

Total 15.80
Efectivo 20.00
Cambio 4.20

Los productos estan en Dblistbox y los precios en otro DBlistbox el total lo tengo Label que se va sumando cada vez que se va agregando las cantidades el efectivo lo digito en un edit y el cambio doy un clic en un boto que me hace el calculo del total - el efectivo que digite y me muestra el cambio a dar en un otro label, entonces yo quisiera ver la manera en el cual se puedan imprimir estos datos, les anexo el codigo que me imprime los DBlistbox pero en forma desordenada.

Código:

var
Impresona: TextFile;
n: integer;
begin
AssignPrn(Impresona);
Rewrite(Impresona);
for n:=0 to dbListBox2.Items.Count -1 do
  WriteLn(Impresona, dbListBox2.Items[n]);
for n:=0 to dblistbox1.Items.Count -1 do
  WriteLn(impresona, dblistbox1.Items[n]); 
CloseFile(Impresona); //Cierra el archivo

Gracias de antemano.Uso delphi 5 y access 2003

Neftali [Germán.Estévez] 10-11-2009 11:38:09

Una cosa sencilla que puedes hacer es utilizar un componente TRichEdit (similar a un TMemo) para rellenar el texto tal como quieres que aparezca.
Una vez que lo tengas basta con que llames al método Print (que posee el Richedit); De esta forma te olvidas de pelear con la impresora.

Algo así:

Código Delphi [-]
// Lineas y precios
for n:=0 to dbListBox2.Items.Count -1 do begin
  richedit.Lines.Add(dbListBox2.Items[n] + '   ' + dblistbox1.Items[n]);  
end;
// Total
richedit.Lines.Add('Total: ' + lblTotal.Caption);
// Efectivo
richedit.Lines.Add('Efectivo: ' + edtEfectivo.Text);
//...

// Imprimir
richedit.Print;

rufo 10-11-2009 16:44:47

Gracias por responder Neftali pero perdon mi ignorancia pero como llamo este metodo Print ya que me marca error espero me auxilies y gracias de nuevo.

Neftali [Germán.Estévez] 10-11-2009 17:30:00

Lo escribí de memoria, pero si revisas la ayuda verás que basta con pasarle un Título (string) del listado.

Código Delphi [-]
  richedit.Print('Título para el listado');

rufo 10-11-2009 17:38:08

Gracias amigo ya quedo listo.


La franja horaria es GMT +2. Ahora son las 22:24:03.

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