Hola ASAPLTDA.
Supongamos que el tamaño de la columna
código es de 4 caracteres y el tamaño máximo que puede alcanzar la columna
cantidad es de 6 caracteres.
Si se respeta el formato que pusiste en el primer post, sólamente tendrías que copiar los campos de aquellas líneas que empiezan con un dígito,
ya que las cabeceras empiezan por los caracteres 'c' y '-'.
Todo esto basándome en que los campos tienen una longitud fíja, que es el dato que no me especificas.
Te pongo un ejemplo que incluye un Memo (donde está el texto recibido) y dos ListBox donde se almacenan
código y
cantidad respectivamente:
Código Delphi
[-]
uses StrUtils;
const
NCODIGO = 4;
NCANTIDAD = 6;
procedure GetCodCant(Lineas,Cod,Cant: TStrings);
var
i: Integer;
begin
for i:= 0 to Lineas.Count -1 do
begin
if Lineas[i][1] in ['0'..'9'] then
begin
Cod.Add(Copy(Lineas[i],1,NCODIGO));
Cant.Add(RightStr(Lineas[i],NCANTIDAD));
end;
end;
end;
Llamada:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
GetCodCant(Memo1.Lines, ListBox1.Items, ListBox2.Items);
end;
Un saludo.