Fórum Txt + memo + clientdataset que não funciona #518220

29/04/2015

0

Saudações amigos, tudo bem?

Já faz 7 anos que deixei de programar e agora surgiu a demanda de fazer umas ferramentas específicas para a equipe de vendas aqui da empresa. Como era de se esperar, estou pior do que antes de ter começado a aprender.

A questão é a seguinte:
- Tenho um arquivo .txt com dados dos produtos comercializados e preços. Formato abaixo (CATEGORIA|DESCRIÇÃO|PREÇO_A|PREÇO_B|PREÇO_C|PREÇO_D):

FERRAGEM|KIT01 - PORTA SIMPLES PIVOTANTE (ABRIR)|R$ 75,00|R$ 71,00|R$ 90,00|R$ 85,00
KIT BOX|KIT01 - PORTA SIMPLES PIVOTANTE (ABRIR)|R$ 75,00|R$ 71,00|R$ 90,00|R$ 85,00
ALUMÍNIO|KIT01 - PORTA SIMPLES PIVOTANTE (ABRIR)|R$ 75,00|R$ 71,00|R$ 90,00|R$ 85,00

Preciso das informações deste .txt desmembradas por linhas e pelos campos que estão separados pelas barras. Estou usando um DBGrid, DataSource, ClientDataSet e um Memo.

Os componentes já estão todos conectados, fields criados, e memo carregado. Até aí tudo ok.

A questão é fazer o loop para ler o .txt, desmembrar os campos e inserí-los no Clientdataset. Copiando e colando de vários lugares, cheguei no seguinte bloco, que parece estar com muita coisa sem sentido:

memoProdutos.Lines.LoadFromFile('base_dados.txt');
dados := memoProdutos.Lines.Text;

Lista := TStringList.Create;
try
iRetorno := ExtractStrings(['|'],[' '],PChar(Dados),Lista);
for I := 0 to Pred(memoProdutos.Lines.Count) do
begin
cdsProdutos.Append;
cdsProdutos.FieldByName('CATEGORIA').AsString := lista.Strings[0];
cdsProdutos.FieldByName('DESCRICAO').AsString := lista.Strings[1];
cdsProdutos.FieldByName('VAL_TOTAL_VIDR').AsString := lista.Strings[2];
cdsProdutos.FieldByName('VAL_DESC_VIDR').AsString := lista.Strings[3];
cdsProdutos.FieldByName('VAL_TOTAL_COFI').AsString := lista.Strings[4];
cdsProdutos.FieldByName('VAL_DESC_COFI').AsString := lista.Strings[5];
cdsProdutos.Post;
end;
finally
Lista.Free;
end;

Alguém faria a bondade de me ajudar?
Bruce

Bruce

Responder

Posts

29/04/2015

Thiago Santana

Albert, qual problema você está tendo?
Sua rotina está precisando de qual ajuste?
Responder

Gostei + 0

29/04/2015

Bruce

Thiago, muito obrigado pela disposição em me ajudar.

Está acontecendo que o .txt tem as seguintes informações:

FERRAGEM|KIT01 - PORTA SIMPLES PIVOTANTE (ABRIR)|R$ 75,00|R$ 71,00|R$ 90,00|R$ 85,00
KIT BOX|KIT03 - JANELA DE CORRER 4 FOLHAS|R$ 55,00|R$ 51,00|R$ 70,00|R$ 65,00
ALUMÍNIO|AL65 - TRILHO SUPERIOR PARA JANELA|R$ 65,00|R$ 61,00|R$ 80,00|R$ 75,00

Mas ele só está pegando as duas primeiras informações e as replicando, além de estar colocando vários caracteres estranhos. Dá uma conferida no print da tela:

http://i.imgur.com/6rbVzq9.jpg

Não faço nem ideia de como arrumar isto.

Muito obrigado.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar