Fórum ler txt e gravar txt #339127
22/03/2007
0
o arquivo esta gerado assim
7896048202000 AZEITONA C/CAROCO CASTELO 200GR 9290 3,98
7896048280084 COGUMELOS CASTELO 100GR 9244 3,2
7891700032759 MAIONESE TARTARO ARISCO 250GR 8464 1,55
7891700032384 MAIONESE LIGHT ARISCO 500GR 8696 2,29
devo colocalo assim
Campo
Tamanho
Descrição
Tipo do registro
N(01)
Valor fixo = 2
Número do lote
N(07)
Preencher com zeros (função não implementada)
Código da operação
A(01)
Código da operação
I – Inclusão
A – Alteração
E – Exclusão
Código do produto
N(13)
Código de barras do produto, Para códigos com tamanho menor que 13 caracteres preencher com zeros no inicio do código.
Descrição
A(80)
Descrição do produto que será exibida no momento da consulta, lembrando que o display do QuickWay Checker tem quatro linhas com 20 caracteres cada linha, caso tenha alguma mensagem no local configurado para exibir o preço o sistema da prioridade para o preço omitindo a descrição neste local.
Preço
N(10)
Preço do produto com duas casas decimais alinhado a direita da linha configurada para preço (recomendado quarta linha).
CRLF (Enter)
X(02)
Valor fixo: 0D0A – Indica fim de registro.
desde ja agradeço
Emerson1
Curtir tópico
+ 0Posts
22/03/2007
Ffabiop
7896048202000;AZEITONA C/CAROCO CASTELO 200GR;9290;3,98
7896048280084;COGUMELOS CASTELO 100GR;9244;3,2
7891700032759;MAIONESE TARTARO ARISCO 250GR;8464;1,55
7891700032384;MAIONESE LIGHT ARISCO 500GR;8696;2,29
ou
7896048202000AZEITONA C/CAROCO CASTELO 200GR92900003,98
7896048280084COGUMELOS CASTELO 100GR 92440003,20
7891700032759MAIONESE TARTARO ARISCO 250GR 84640001,55
7891700032384MAIONESE LIGHT ARISCO 500GR 86960002,29
Gostei + 0
22/03/2007
Ffabiop
7896048202000;AZEITONA C/CAROCO CASTELO 200GR;9290;3,98
7896048280084;COGUMELOS CASTELO 100GR;9244;3,2
7891700032759;MAIONESE TARTARO ARISCO 250GR;8464;1,55
7891700032384;MAIONESE LIGHT ARISCO 500GR;8696;2,29
ou
7896048202000AZEITONA C/CAROCO CASTELO 200GR 92900003,98
7896048280084COGUMELOS CASTELO 100GR 92440003,20
7891700032759MAIONESE TARTARO ARISCO 250GR 84640001,55
7891700032384MAIONESE LIGHT ARISCO 500GR 86960002,29
Gostei + 0
22/03/2007
Ffabiop
7896048202000;AZEITONA C/CAROCO CASTELO 200GR;9290;3,98
7896048280084;COGUMELOS CASTELO 100GR;9244;3,2
7891700032759;MAIONESE TARTARO ARISCO 250GR;8464;1,55
7891700032384;MAIONESE LIGHT ARISCO 500GR;8696;2,29
ou
7896048202000AZEITONA C/CAROCO CASTELO 200GR 92900003,98
7896048280084COGUMELOS CASTELO 100GR 92440003,20
7891700032759MAIONESE TARTARO ARISCO 250GR 84640001,55
7891700032384MAIONESE LIGHT ARISCO 500GR 86960002,29
Gostei + 0
22/03/2007
Emerson1
desculpa mas foi na hora de grava, mas o arquivo fica assim tudo na sua coluna
codbarra descrição preço
7896048280084 COGUMELOS CASTELO 100GR 9244 3,2
7891700032759 MAIONESE TARTARO ARISCO 250GR 8464 1,55
7891700032384 MAIONESE LIGHT ARISCO 500GR 8696 2,29
Gostei + 0
22/03/2007
Emerson1
789 teste 3,5
Gostei + 0
22/03/2007
Ffabiop
Origem, destino: TextFile;
aux, Linha, texto:String;
begin
AssignFile(Origem,c:\produtos.txt);
Reset(Origem);
AssignFile(Destino,c:\produtos1.txt);
Reset(Origem);
// leitura arquivo txt até o fim
while not eof(Origem) do
begin
Readln(Origem,Texto);
//Para pegar o campo desejado
Aux := trim(Copy(texto,14,50));// copia da posição 14, 50 caracteres(tamanho do campo);
// Preenche com tamanho 80
while Length(Aux) < 80 do
Aux := Aux + ´ ´;
Linha := Aux;
// grava a linha
writeln(Destino,Linha);
end;
CloseFile(Origem);
CloseFile(Destino);
end;
bom é maio ou menos isso, é pra você ter uma idéia de como funciona leitura e gravação de txts
Gostei + 0
23/03/2007
Emerson1
fiço assim, mas deu erro
var
Origem, Destino: TextFile;
aux,aux1,aux2, Linha, texto:String;
begin
AssignFile(Origem,´c:\teste.txt´);
Reset(Origem);
AssignFile(Destino,´c:\testea.txt´);
Reset(Destino);
// leitura arquivo txt até o fim
while not eof(Origem) do
begin
Readln(Origem,Texto);
//Para pegar o campo desejado
Aux := trim(Copy(texto,1,13));// copia da posição 14, 50 caracteres(tamanho do campo);
aux1:= trim (Copy(texto,32,72));
aux2:= trim(copy (texto,74,84));
// Preenche com tamanho 80
while Length(Aux) < 13 do
Aux := Aux + ´ ´;
while Length(Aux1) < 80 do
Aux1 := Aux1 + ´ ´;
while Length(Aux2) < 11 do
Aux2 := Aux2 + ´ ´;
Linha := Aux + aux1 + aux2;
// grava a linha
writeln(Destino,Linha);///////// o erro da aqui e eu não sei o que e
end;
CloseFile(Origem);
CloseFile(Destino);
end;
Gostei + 0
23/03/2007
Ffabiop
AssignFile(Origem,´c:\teste.txt´);
Reset(Origem);
AssignFile(Destino,´c:\testea.txt´);
//Reset(Destino);//Reset é para ler somente
Rewrite(destino);
Se der errado manda o que o delphi tá te dizendo.
Gostei + 0
23/03/2007
Emerson1
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)