Retirar zero e espaços de arquivo texto...?
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]
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
Curtidas 0
Respostas
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;
//
// 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
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...
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
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
13/04/2007
StrToFloat(FloatToStr(codigo))...
vai tirar os zeros à esquerda.
vai tirar os zeros à esquerda.
GOSTEI 0
Alves
13/04/2007
Não, tem 1,10 mb com +/- 13 mil linhas....
vou mexer com isso logo mais a noite......
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