Ver Mensaje Individual
  #4  
Antiguo 18-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-04-2011 a las 19:07:55.
Responder Con Cita