TStringList soma de valores

Delphi

12/04/2012

Boa tarde pessoal,
Tenho uma StringList que recebe um arquivo de texto com o codigo do produto e a quantidade separada por ,
a duvida é... preciso varrer a lista e identificar os valores iguais (no caso os codigos dos produtos repetidos)
nos que forem repetidos eu preciso eliminar a linha e calcular a quantidade.
Ex:
ListaOrigem:
00587,10
00587,5
00256,1

ListaCalculada:
00587,15
00256,1

Grato pela atenção...
Jeferson Cruz

Jeferson Cruz

Curtidas 0

Respostas

Marco Salles

Marco Salles

12/04/2012

var
Lista_Arquivo:Tstrings;
Lista_Correta:TStrings;
I, index: Integer;
begin
    lista_Arquivo:=TStringList.Create;
    Lista_Correta:=TStringList.Create;

    try
      Lista_Correta.NameValueSeparator:=,;
      Lista_Arquivo.NameValueSeparator:=,;

    lista_Arquivo.Add(00587,10);
    lista_Arquivo.Add(00587,5);
    lista_Arquivo.Add(00256,1);


    for I := 0 to pred(Lista_Arquivo.Count) do
    begin
     Index:=  Lista_Correta.IndexOfName(Lista_Arquivo.Names[i]);
     if index < 0 then

        Lista_Correta.Add(Lista_Arquivo.Strings[i])
     else
       Lista_Correta.ValueFromIndex[Index]:= floattostr(
       (strtofloat(Lista_Correta.ValueFromIndex[Index])+
       strtofloat(Lista_Arquivo.ValueFromIndex[i])));
    end;


    for I := 0 to pred(Lista_Correta.Count) do
      Showmessage(Lista_Correta.Strings[i]);

    finally
      Lista_Arquivo.Free;
      Lista_Correta.Free;
    end;

GOSTEI 0
Jeferson Cruz

Jeferson Cruz

12/04/2012

Funcionou perfeito... Obrigado, como fecho esse post?
GOSTEI 0
Marco Salles

Marco Salles

12/04/2012

Funcionou perfeito... Obrigado, como fecho esse post?


Boa pergunta..

Entre em contato com os responsáveis tecnicos..

seria muito importante por questões de visibilidade do forum que pudesse alterar o ststus para resolvido

Afinal quando se procura no google e se acha algo como Resolvido é o primeiro que nos clicamos

não é mesmo ???
GOSTEI 0
POSTAR