Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Crear archivo .txt (https://www.clubdelphi.com/foros/showthread.php?t=37111)

rcor 03-11-2006 00:52:47

Crear archivo .txt
 
Hola a todos

Alguien que me pueda enviar un sample para generar un archivo .txt con coordenadas.

Ejemplo:

En la posicion 1 lleva una tremenda X en la posicion 5 un 2 en la posicion 10 a la 20 un mensaje y asi sucesivamente el archivo quedaria:

X 2 ESTA ES UNA


Saludos
rcor

dec 03-11-2006 00:59:39

Hola,

Código Delphi [-]
var
  ts: TStrings;
begin
  ts := TStringList.Create;
  try
    ts.Add('X 2 ESTA ES UNA');
    {...}
    ts.SaveToFile('C:\coordenadas.txt');
  finally
    ts.Free;
  end;
end;

seoane 03-11-2006 00:59:44

Hola rcor, antes de nada si vas a utilizar mas de un espacio en blanco en tus mensajes deberías de usar las etiquetas [code][/code] o de lo contrario desaparecerán, fíjate en la diferencia:

Código:

X  2    ESTA ES UNA
En cuanto a lo que tu pregunta, puedes decir en que parte tienes problemas. ¿No sabes crear archivos de texto?¿No sabes crear una cadena con esas características?¿como lo estas intentando hasta ahora?

rcor 03-11-2006 05:41:51

Crear archivo .txt
 
Gracias a los que respondieron

Si se crearlos pero no se acomodarlos en sus cordenadas de ahi mi pregunta sobre como crear un archivo con posiciones fijas.

Ya que la X va en la posicion 1 y el 2 va en la posicion 5 y la descripcion va en la posicion 10 hasta la 20

Yo vengo de clipper y desde un archivo .dbf se podia enviar el archivo directo a SDF y colorin colorado ya estaba tu formato en archivo texto.

El ejemplo que ponen arriba es lo que ya sabia hacer ahora solo que me digan como indicarle a delphi que el 2 me lo ponga en la posicion 5.

Gracias
rcor

seoane 03-11-2006 11:57:09

Siguiendo con el ejemplo de dec, solo tenemos que darle formato a la cadena:

Código Delphi [-]
var
  ts: TStrings;
  Str1, Str2, Str3: string;
begin
  ts := TStringList.Create;
  try
    Str1:= 'X';
    Str2:= '2';
    Str3:= 'ESTA ES UNA';
    ts.Add(Format('%-5.5s%-5.5s%s',[Str1,Str2,Str3]));
    ts.SaveToFile('d:\coordenadas.txt');
  finally
    ts.Free;
  end;
end;

La parte interesante del código anterior es la cadena '%-5.5s%-5.5s%s' que le indica a la función format como debe realizar el formato. Esta dividida en 3 partes cada parte empieza por '%' y termina por 's' indicando que la variable es una string. Entre ambos se indica como se debe formatear esa cadena, el símbolo '-' indica que el texto se debe justificar a la izquierda, el primer '5' indica el tamaño mínimo de la cadena (rellenando con espacios en blanco si es necesario) y el segundo el tamaño máximo (recortando si es necesario). Puedes modificar estos valores para obtener el resultado deseado. Y ya me dejo de tanto rollo que en la ayuda explican mejor que yo como va esta función :D

Espero que te sirva.

rcor 03-11-2006 15:04:16

Muchas gracias por las respuestas lo probare y despues pondre mas dudas o las gracias definitivas.

Saludos y lo mejor
rcor


La franja horaria es GMT +2. Ahora son las 05:17:36.

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