Fórum Importar TXT com ponto e virgula #254953
18/10/2004
0
0001 ;Antônio Carlos da Silva ;02/12/1974 ;895623124-54 ;
0002 ;Maria José Pereira ;05/11/1954 ;789456123-00 ;
.
.
.
Com os campos concatenados seria mais fácil, mas com o ponto e virgula está meio complicado, gostaria que alguem me ajudasse, pois preciso disso urgente.
Atenciosamente,
Andre Luis - Leitbom
Andre Silveira
Curtir tópico
+ 0Posts
18/10/2004
Osocram
no ex:
aux := 0001 ;Antônio Carlos da Silva ;02/12/1974 ;895623124-54 ;
vc faria um proc ou function q pega a primeira SubString
por ex
if pos(aux,´;´)>0 then
resultado := copy(aux,1,pos(aux,´;´) //aqui vc copia sua string (non lembro a sintaxe.... pois estou sem o delphi agora p testar)
resto := copy(aux,pos(aux,´;´)+1,Lenght(aux) //aqui vc o q restou da string... dae eh so mandar dnovo na func ateh acabar ela.... pod fazer um func recursiva e talz...
acho q isso...
Gostei + 0
18/10/2004
Aroldo Zanela
0001 ;Antônio Carlos da Silva ;02/12/1974 ;895623124-54 ;
0002 ;Maria José Pereira ;05/11/1954 ;789456123-00 ;
.
.
.
Com os campos concatenados seria mais fácil, mas com o ponto e virgula está meio complicado, gostaria que alguem me ajudasse, pois preciso disso urgente.
Atenciosamente,
Andre Luis - Leitbom[/quote:01a41e4f9c]
Colega,
A partir da versão Delphi 6 é mais fácil ainda, mesmo assim, veja o detalhamento nesta thread. http://delphiforum.icft.com.br/forum/viewtopic.php?t=43243&highlight=explode
Gostei + 0
18/10/2004
Rjun
Gostei + 0
19/10/2004
Ilanocf
Espero ter ajudado.
Gostei + 0
27/05/2005
Vagner.oliveira
[b:b640a9abb2]Acces Violation at adress 004AB571 in module ´project1.exe´ read of adress FFFFFFFF [/b:b640a9abb2]
o erro ocorre na seguinte linha:
[b:b640a9abb2]while Texto[I] <> ´*´ do[/b:b640a9abb2]
a dica é boa, não consegui identificar o erro
Gostei + 0
27/05/2005
Marco Salles
[code]procedure TForm1.Button1Click(Sender: TObject); var TXT : TextFile; Entrada: String; I : Integer; j:Integer; Tamanho:Integer; Begin AssignFile(TXT,´C:\TEXTO\Texto\Texto.TXT´); // Diretorio onde se encontra o arquivo .TXT Reset(TXT); While not Eof(TXT) do Begin ReadLn(TXT,Entrada); //Variável que vai receber linha a linha as informações do arquivo TXT Table1.Insert; tamanho:=Length(entrada); j:=1; i:=Pos(´;´,entrada); Table1Numero.Value:=Copy(Entrada,j,i-j);//Codigo; J:=J+i; i:=Pos(´;´,copy(entrada,j,Tamanho)); Table1Nome.Value:=Copy(Entrada,j,i-1);//nome; j:=j+i; i:=Pos(´;´,copy(entrada,j,Tamanho)); Table1DataNasc.Value:=StrToDate(Copy(Entrada,j,i-1));//Data; j:=j+i; Table1UF.Value:= Copy(Entrada,j,tamanho-1);//cpf; Table1.Post; End; CloseFile(TXT); end;[/code]
Gostei + 0
27/05/2005
Vagner.oliveira
undeclared identifier: ´Value´ na linha
Table1.Value:=Copy(Entrada,j,i-1);//nome; e todas que possui o item Value
Gostei + 0
27/05/2005
Marco Salles
Aqui eu te dei uma idéia de como usar , utilizando um componente Table Eu não sei direito o que voce quer fazer com cada campo que voce esta lendo.. Voce deve armazenalo em algum lugar??? usei o table , foi como exemplo
Gostei + 0
27/05/2005
Vagner.oliveira
nome ; endereço ; telefone ; telcel ; nome ; endereço ; telefone ; telcel ; nome ; endereço ; telefone ; telcel ;
e quero importá-lo para dentro de uma tabela, o comando para exportar informado acima funciona beleza, só da erro ao tentar importar.
Gostei + 0
27/05/2005
Marco Salles
:arrow: Amigo rode o exemplo e informe o que ira ocorrer
procedure TForm1.Button1Click(Sender: TObject); var TXT : TextFile; Entrada: String; I : Integer; j:Integer; Tamanho:Integer; Begin AssignFile(TXT,´C:\TEXTO\Texto\Texto.TXT´); // Diretorio onde se encontra o arquivo .TXT Reset(TXT); While not Eof(TXT) do Begin ReadLn(TXT,Entrada); //Variável que vai receber linha a linha as informações do arquivo TXT //Table1.Insert; tamanho:=Length(entrada); j:=1; i:=Pos(´;´,entrada); // Table1Numero.Value:=Copy(Entrada,j,i-j);//Codigo; Showmessage(´Codigo : ´+Copy(Entrada,j,i-j));//Codigo; J:=J+i; i:=Pos(´;´,copy(entrada,j,Tamanho)); // Table1Nome.Value:=Copy(Entrada,j,i-1);//nome; Showmessage(´Nome : ´+Copy(Entrada,j,i-j));// nome; j:=j+i; i:=Pos(´;´,copy(entrada,j,Tamanho)); // Table1DataNasc.Value:=StrToDate(Copy(Entrada,j,i-1));//Data; Showmessage(´Telefone : ´+Copy(Entrada,j,i-j);//Telefone; j:=j+i; // Table1UF.Value:= Copy(Entrada,j,tamanho-1);//Telcel; showmessage(´ Tel celular ´+Copy(Entrada,j,tamanho-1));// tel celular // Table1.Post; End; CloseFile(TXT); end;
alem disso amigo , se o codigo leu direitinho o seu arquivo txt , separado por virgula, importa-lo para um tabela de um banco é um outro passo.
Voce deve informar qual o banco que voce usa , se a Estrutura dessa tabela nesse banco ja foi criada e é a mesma ta estrutrura do arquivo Txt e qual o componente de acesso que voce pretende usar
entendeu :?: :?: :?:
Gostei + 0
30/05/2005
Vagner.oliveira
Gostei + 0
30/05/2005
Vagner.oliveira
Table1.Value:=Copy(Entrada,j,i-j);
minha tabela é em Paradox:
[b:f9b4e62f56]
Indice: Autoincremento
Nome: Alpha
Endereço: Alpha
Telefone: Alpha
TelCel: Alpha
Orçamento: Memo
Histórico: Memo
[/b:f9b4e62f56]
Gostei + 0
31/05/2005
Marco Salles
Voce deve inseriri um componente Table no seu aplicativo e usar a Sintaxi abaixo
Ao inves disso , voce deve substituir pela seguinte instrução:
Table1.FieldByName(´NomeDoCampoConformeEstaEscritoNaTabela´).AsSTring:=Copy(Entrada,j,i-j);
Entendeu Beleza :?: :?: :?:
Gostei + 0
31/05/2005
Vagner.oliveira
eu não consigo entender nessa linha os itens:
[b:d73c3652fd]
Entrada:String;
I:Integer;
j:Integer;
Tamanho:Integer;
[/b:d73c3652fd]
. . . tamanho:=Length(entrada); j:=1; i:=Pos(´;´,entrada); // Table1.FieldByName(´Nome´).Value:=Copy(Entrada,j,i-1); Showmessage(´Nome : ´+Copy(Entrada,j,i-j)); j:=j+i; i:=Pos(´;´,copy(entrada,j,Tamanho)); . . .
o que que faz os itens [b:d73c3652fd]entrada, tamanho, j, i [/b:d73c3652fd] :shock: :shock:
Gostei + 0
31/05/2005
Vagner.oliveira
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)