FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Solo texto + w2000 no imprime bien.¿Porque?
Estoy desesperado.
Tengo un monton de maquinas con W98 o W95 con un programa que imprime en impresoras Generica/Solo texto con figuradas en lo basico como IB. Cambio de tamaños de letra, saltos de pagina y demás sin ningun problema. Sin embargo si instalo la generica Solo/texto y la configuro igual en maquinas w2000/XP, es decir genero la impresion en estos S.O., imprime todo en la misma linea, sin salto de linea. He cambiado el tipo de cola, he reconfigurado todo.....LLevo varias semanas luchando con esto.... No se.... Por cierto uso el objeto Tprinter en las rutinas y D5 Alguien me ilumina? Gracias de antemano. |
#2
|
|||
|
|||
Proba imprimiendo directamente al puerto a mi me ha funcionado muy bien
Código:
var F : TextFile; begin AssignFile(F,'LPT1') Reset(F) Writeln(F,'Texto a imprimir') CloseFile(F); |
#3
|
|||
|
|||
Otra manera que funciona bien con 2k (sacado de mi web de la demo del TListView y probado )
Código:
procedure TForm1.ImprimirCanvasClick(Sender: TObject); var y, i, j : integer; temp : string; begin Printer.BeginDoc; With Printer.canvas do Begin Printer.Title := 'El titulo del documento que quiero'; Font.Name := 'MS Sans Serif'; Font.Color := ClBlack; Pen.Color := ClBlack; Font.Size := 12; Font.Name := 'Times New Roman'; Font.Size := 12; // imprimimos ListView temp := 'Titulo que sale escrito en el papel'; y := 100; TextOut(10, y, temp); for i := 0 to ListView1.Items.Count - 1 do begin inc(y, 20); temp := ListView1.Items[i].Caption; for j := 0 to ListView1.Items[i].SubItems.Count - 1 do temp := temp + ' ' + ListView1.Items[i].SubItems[j]; TextOut(10, y, temp); end; end; Printer.EndDoc; end; |
#4
|
|||
|
|||
Gracias a todos.
He estado trabajando en las rutinas alternativas, usando TextFile, y ya las tengo casi listas. Funcionan perfectamente. De todas maneras me sigo preguntando por qué un simple: Printer.Canvas.TextOut(0,1,'Hola Mundo'); Printer.Canvas.TextOut(0,2,'Adios Mundo'); En las mismas condiciones, en W95/W98 se imprime bien, y en W2000/Wxp se imprime en la misma linea. ????????????????? Lo almacenaré en la zona de Expedientes X. La verdad está ahí fuera. Saludos. |
#5
|
||||
|
||||
Hola mira no se si esto te resolverá el problema pero hay va, a mi me funciona.
Vamos a ver W2K y XP son SO en los que hay usuarios hasta hay todo correcto la historia esta en que cada usuario tiene unos temporales diferentes lo que tienes que hacer, es unificar los temporales de cada máquina y eso se hace creando una nueva carpeta que se llame Temp en C:\ luego vas al escritorio boton derecho del raton propiedades de miPC entras en la pestaña opciones avanzadas en xp o en su defecto avanzado en w2k y veras que aparece un botón que es variables de entorno, bueno pues hay le cambias las rutas a las dos carpetas, por la de C:\Temp y listo.
__________________
.:|Merlin|:. |
|
|
|