Retirar zero e espaços de arquivo texto...?

Delphi

13/04/2007

Olá pessoal, preciso da ajuda de vcs para resolver meu problema. Observem o trecho de um arquico de Texto (Dados). Q Usamos para consultar produtos... Os códigos formados por 13 digitos ex
7891234567891, sao lidos sem problemas. as coisa se complicam com codigos de barras formados desse jeito 78912151. Quando o programa retauarda exporta esses codigos gera assim 0000078912151, assim dessa maneiro o produto nao e localizado. Queria simplesmente retirar os zeros... para ficar assim 78912151.

Agradeço qualquer ajuda....

Trecho do arquivo Texto:

0000078912151|Produtos 1 |4.29|130|140|RED|130|160|BLUE|TRANSP|1||||||||||
0000078912274|Produtos 2 |1.79|130|140|RED|130|160|BLUE|TRANSP|1||||||||||
0000078912298|Produtos 3 |1.79|130|140|RED|130|160|BLUE|TRANSP|1||||||||||
7891051031425|Produtos 4 |4.70|130|140|RED|130|160|BLUE|TRANSP|1||||||||||
7891051036000|Produtos 5 |7.28|130|140|RED|130|160|BLUE|TRANSP|1||||||||||







[quote:ab63da3608][/quote:ab63da3608]


Alves

Alves

Curtidas 0

Respostas

Cpd_arim

Cpd_arim

13/04/2007

function RemoveChar(Const Texto:String):String;
//
// Remove caracteres de uma string deixando apenas numeros
//
var
I: integer;
S: string;
begin
S := ´´;
for I := 1 To Length(Texto) Do
begin
if (Texto[I] in [´0´..´9´]) then
begin
S := S + Copy(Texto, I, 1);
end;
end;
result := S;
end;


GOSTEI 0
Alves

Alves

13/04/2007

Vou testar depois volto pra dizer de c deu certo.......
eskeci de mencionar q so kero tirar os zeros o resto da linha tem q ficar como esta...





function RemoveChar(Const Texto:String):String; // // Remove caracteres de uma string deixando apenas numeros // var I: integer; S: string; begin S := ´´; for I := 1 To Length(Texto) Do begin if (Texto[I] in [´0´..´9´]) then begin S := S + Copy(Texto, I, 1); end; end; result := S; end;



GOSTEI 0
Rjun

Rjun

13/04/2007

Seu arquivo é muito grande? Talvez você possa fazer isso:
var
  Arquivo: TStringList;
begin
  Arquivo := TStringList.Create;
  try
    Arquivo.LoadFromFile(´Arquivo.txt´);
    StringReplace(Arquivo.Text, ´0´, ´´, rfReplaceAll);
    Arquivo.SaveToFile(´Arquivo.txt´);
  finally
    FreeAndNil(Arquivo);
  end;



GOSTEI 0
Dorivansousa

Dorivansousa

13/04/2007

StrToFloat(FloatToStr(codigo))...

vai tirar os zeros à esquerda.


GOSTEI 0
Alves

Alves

13/04/2007

Não, tem 1,10 mb com +/- 13 mil linhas....

vou mexer com isso logo mais a noite......


Seu arquivo é muito grande? Talvez você possa fazer isso:
var
  Arquivo: TStringList;
begin
  Arquivo := TStringList.Create;
  try
    Arquivo.LoadFromFile(´Arquivo.txt´);
    StringReplace(Arquivo.Text, ´0´, ´´, rfReplaceAll);
    Arquivo.SaveToFile(´Arquivo.txt´);
  finally
    FreeAndNil(Arquivo);
  end;



GOSTEI 0
POSTAR