Ver Mensaje Individual
  #17  
Antiguo 27-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por JuanBCT
Mi pregunta es: como hago para expresar "de la posición 48 a la 73 es el campo descripción, haya espacios o no"?
Pero en tu caso no se trata de archivos donde los valores estén separados por un delimitador sino que se trata de campos de ancho fijo. En este caso puedes extraer cada campo con la función Copy.

Código Delphi [-]
var
  Linea: String;
  I: Integer;
 
begin
  for I := 0 to ArchivoCsv.Count - 1 do
  begin
    Linea := ArchivoCsv[i];
    ...
    Campo := Copy(Linea, 48, 73 - 48);
    ...
  end;

Es decir, lo que tú conoces es la posición en que inicia cada campo (offset) y su longitud. Copy(Linea, Offset, Longitud) devuelve la parte de Linea que comienza en el caracter Offset y tiene longitud Longitud.

// Saludos
Responder Con Cita