yo he impreso en una star sp200 de 42 caracteres, lo que hago como dice el compañero eduardocol, es que te hagas una funcion para aumentar o recortar la cadena de caracteres de la descripcion.
Código:
function rellena(var S:string;n:byte):string;
var
long,i:byte;
begin
long:=length(s);
for i:=1 to n-long do
s:=s+' ';
rellena:=s;
end;
Código:
//una llamada de un detalle
writeln(F,'******************************************');
for i:=0 to lstVentas.Items.Count-1 do
begin
str1:=lstVentas.Items[i].SubItems.Strings[2];
rellena(str1,2);
str2:=lstVentas.Items[i].SubItems.Strings[0];
rellena(str2,25);
str3:=lstVentas.Items[i].SubItems.Strings[3];
writeln(F,str1+' '+str2,format('%8.2f',[strtofloat(str3)]));
end;
Esta funcion lo que hace es recibe una cadena de hasta 255 caracteres y un numero entero(n), este el que indicara la longitud que deba tener, en este caso la descripcion, yo utilizo 25 caracteres para la descipcion.
Espero te sirva