Criar arquivo txt colunado...
Boa tarde a todos,
Sou novato em Delphi e necessito da seguinte ajuda:
Tenho um arquivo txt com diversos campos separados por ;
Com base nesse arquivo, gostaria de criar um novo arquivo txt com os campos colunados num tamanho que posso definir
Exemplo:
[b:902b629545]Arquivo original: [/b:902b629545]
Nome;Endereço;Bairro;Cidade;Estado
Victor Reis;R Tal nº 888;Ipiranga;São Paulo;SP
Maria José;R X nº 555;Jaçana;São Paulo;SP
[b:902b629545]Arquivo a ser criado:[/b:902b629545]
Nome Endereco Bairro Cidade Estado
Victor Reis Rua Tal nº 888 Ipiranga São Paulo SP
Maria José Rua X nº 555 Jaçana São Paulo SP
Desde já agradeço.
Abraxs... :D [/b]
Sou novato em Delphi e necessito da seguinte ajuda:
Tenho um arquivo txt com diversos campos separados por ;
Com base nesse arquivo, gostaria de criar um novo arquivo txt com os campos colunados num tamanho que posso definir
Exemplo:
[b:902b629545]Arquivo original: [/b:902b629545]
Nome;Endereço;Bairro;Cidade;Estado
Victor Reis;R Tal nº 888;Ipiranga;São Paulo;SP
Maria José;R X nº 555;Jaçana;São Paulo;SP
[b:902b629545]Arquivo a ser criado:[/b:902b629545]
Nome Endereco Bairro Cidade Estado
Victor Reis Rua Tal nº 888 Ipiranga São Paulo SP
Maria José Rua X nº 555 Jaçana São Paulo SP
Desde já agradeço.
Abraxs... :D [/b]
Victor Morgani
Curtidas 0
Respostas
Massuda
14/03/2005
Use a função [url=http://www.delphibasics.co.uk/RTL.asp?Name=Format]Format[/url] da unit SysUtils para gerar uma string formatada e salve essa string no arquivo. Por exemplo:gera strings desse tipo:Se qualquer uma das strings for maior que o espaço reservado para ela, ela será truncada.
Os tamanhos podem ser também parametrizados:
var S: string; ... S := Format(´¬20.20s¬20.20s¬10.10s¬10.10s¬2.2s´, [Nome, Endereço, Bairro, Cidade, Estado]); // strings com os dados
Victor Reis Rua Tal nº 888 Ipiranga São Paulo SP Maria José Rua X nº 555 Jaçana São Paulo SP
Os tamanhos podem ser também parametrizados:
var S: string; Tamanho: Integer; ... Tamanho := 20; S := Format(´¬*.*s´, [Tamanho, Tamanho, Nome]); // equivale a // S := Format(´¬20.20s´, [Nome]);
GOSTEI 0
Victor Morgani
14/03/2005
Obrigadão pela ajuda Massuda...
Vou testar...
Abraxs 8)
Vou testar...
Abraxs 8)
GOSTEI 0
Victor Morgani
14/03/2005
Valew pela ajuda ajuda Massuda, porém o procedimento q vc me passou tenho q especificar o tamanho exato dos campos separados por ;
Andei pesquisando... será q teria como eu fazer utilizando [b:aefe554100]Record?[/b:aefe554100]
Estrutura = Record
ws_nome : string[080];
ws_endereco : string[100];
ws_bairro : string[040];
ws_cidade : string[040];
ws_estado : string[002];
ws_cep : string[008];
end;
Grato
:!: :wink: :?: [/b]
Andei pesquisando... será q teria como eu fazer utilizando [b:aefe554100]Record?[/b:aefe554100]
Estrutura = Record
ws_nome : string[080];
ws_endereco : string[100];
ws_bairro : string[040];
ws_cidade : string[040];
ws_estado : string[002];
ws_cep : string[008];
end;
Grato
:!: :wink: :?: [/b]
GOSTEI 0
Massuda
14/03/2005
Eu costumo fazer assim:Assim, se algum dia alguém resolver mudar o tamanho de algum dos campos, eu só mudo o const. Mas talvez exista alguma outra forma de fazer isso.
const TAM_NOME = 80; TAM_ENDERECO = 100; ... type TXyz= record ws_nome: string[TAM_NOME]; ws_endereco: string[TAM_ENDERECO]; ... end; .... var S: string; X: TXyz; ... S := Format(´¬*.*s´, [TAM_NOME, TAM_NOME, X.ws_nome]);
GOSTEI 0
Victor Morgani
14/03/2005
Valew novamente Massuda...
Acho q agora o bonde anda...rs
Abraço :)
Acho q agora o bonde anda...rs
Abraço :)
GOSTEI 0
Saraujo
14/03/2005
Olá Pessoal
Preciso alinhar os campos nome,endereço,etc à esquerda, do jeito que fiz abaixo ele está a direita o que devo fazer???? Qual parâmetro que devo usar??? Aproveitando o ensejo existe alguma apostila ou tutorial dos parâmetros do Format, onde encontrar???? :?:
var
S: string;
...
S := Format(´¬20.20s¬20.20s¬10.10s¬10.10s¬2.2s´,
[Nome, Endereço, Bairro, Cidade, Estado]); // strings com os dados
Preciso alinhar os campos nome,endereço,etc à esquerda, do jeito que fiz abaixo ele está a direita o que devo fazer???? Qual parâmetro que devo usar??? Aproveitando o ensejo existe alguma apostila ou tutorial dos parâmetros do Format, onde encontrar???? :?:
var
S: string;
...
S := Format(´¬20.20s¬20.20s¬10.10s¬10.10s¬2.2s´,
[Nome, Endereço, Bairro, Cidade, Estado]); // strings com os dados
GOSTEI 0