PDA

Ver la Versión Completa : Formato a una Cadena


Ricsato
14-05-2005, 19:25:15
Hola a todos!, intento hacer una impresion a una impresora generica de texto (imprimo tickets), pero debo indicarle a la linea de impresion que use todas las columnas de ese renglon por que de lo contrario la impresion del siguiente renglon inicia en donde termina el anterior, mi pregunta es, si necesito consumir 21 columnas y dentro de ellas imprimir una cadena aunque sea mucho menor a 21 caracteres y que el resto sean espacios en blanco para que no me pase lo anterior, como puedo hacerlo?

Intente de la siguiente manera:

TextOut(0,70,'Folio Nota de Venta: ' + Format('%s',[21,eCodigo.Text]));

pero me indica un error de incompatibilidad!

Saludos!!

marcoszorrilla
14-05-2005, 22:24:59
No tienes porque consumir la línea entera lo que tienes que hacer es incrementar x Puntos para que la próxima línea esté a la distanica correcta de la anterior:


nLin:=10;
nSaltLin:=20;

While Not Loquesea.Eof
TextOut(nCol, nLin, cTexto);
nLin:=nLin + nSaltLin;
Loquesea.Next;
end;



Un Saludo.

Ricsato
16-05-2005, 20:57:06
Gracias por tu respuesta, eso es lo que estaba haciendo, definir el renglon y columna donde estoy, mi pregunta mas bien era como hacerle para consumir el total de espacios en el renglon, por que como es una impresion hacia una conexion remota, la impresora no me respetaba los renglones que definia y la unica solucion era ocupar el total de columnas en el renglon, lo cual lo pude hacer de la siguiente forma:

TextOut(0,10, Format('%-42s',[qDetalleDet_Descripcion.AsString]));

definiendo en la funcion format, con el "-", le indico que es alineacion a la izquierda, "42", le indico el numero de columnas a consumir y "s" significa que es de tipo String.

Gracias de todas manera.

Saludos desde Mexicali, B.C., Mexico