TStringList soma de valores
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...
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
Curtidas 0
Respostas
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
12/04/2012
Funcionou perfeito... Obrigado, como fecho esse post?
GOSTEI 0
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