Importar dados .txt
Bom dia a todos,
Preciso importar alguns dados de um arquivo .txt, (Ex: Código, Nome, Endereço....), estes campos estão separados por ponto e vírgula [;]
Preciso saber uma função que abra este arquivo, e copie para o 1º campo, do primeiro [;] até o outro [;]...Ex:
Cod;Nome;Ende...
251;Edinei;Rua K;
Sei que existe este tipo de função...!!!!
Se alguém entender o meu problema e puder me ajudar
OBS.: Uso banco de dados FireBird.....
Desde já meus agradecimentos..
Edinei
Preciso importar alguns dados de um arquivo .txt, (Ex: Código, Nome, Endereço....), estes campos estão separados por ponto e vírgula [;]
Preciso saber uma função que abra este arquivo, e copie para o 1º campo, do primeiro [;] até o outro [;]...Ex:
Cod;Nome;Ende...
251;Edinei;Rua K;
Sei que existe este tipo de função...!!!!
Se alguém entender o meu problema e puder me ajudar
OBS.: Uso banco de dados FireBird.....
Desde já meus agradecimentos..
Edinei
Edineidaniel
Curtidas 0
Respostas
Codewriter
09/07/2003
A função gettoken serve para pegar o ´campo´ n (Tokennum) de uma string (astring) usando um separador (Sepchar):
function tform1.GetToken(aString, SepChar: String; TokenNum: Byte):String;
var
Token : String;
StrLen : Byte;
Num : Byte;
EndofToken : Byte;
begin
StrLen := Length(aString);
Num := 1;
EndofToken := StrLen;
while ((Num <= TokenNum) and (EndofToken <> 0)) do
begin
EndofToken := Pos(SepChar,aString);
if EndofToken <> 0 then
begin
Token := Copy(aString,1,EndofToken-1);
Delete(aString,1,EndofToken);
Inc(Num);
end
else
Token := aString;
end;
if Num >= TokenNum then
result := Token
else
result := ´´;
end;
O módulo abaixo abre um arquivo e carrega o conteudo para a variável str do tipo string. Supondo um arquivo.txt com o seguinte conteudo:
251;Edinei;Rua K;
if FileExists(´c:\arquivo.txt´) then
begin
AssignFile(F, ´c:\arquivo.txt´);
Reset(F);
Readln(F,str);
Closefile(F);
codigo.text:=GetToken(str,´;´,1);
nome.text:=GetToken(str,´;´,2) ;
endereco.text:=GetToken(str,´;´,3) ;
end;
Bom, acho que era isso, espero ter ajudado. :wink:
Att,
CodeWriter
function tform1.GetToken(aString, SepChar: String; TokenNum: Byte):String;
var
Token : String;
StrLen : Byte;
Num : Byte;
EndofToken : Byte;
begin
StrLen := Length(aString);
Num := 1;
EndofToken := StrLen;
while ((Num <= TokenNum) and (EndofToken <> 0)) do
begin
EndofToken := Pos(SepChar,aString);
if EndofToken <> 0 then
begin
Token := Copy(aString,1,EndofToken-1);
Delete(aString,1,EndofToken);
Inc(Num);
end
else
Token := aString;
end;
if Num >= TokenNum then
result := Token
else
result := ´´;
end;
O módulo abaixo abre um arquivo e carrega o conteudo para a variável str do tipo string. Supondo um arquivo.txt com o seguinte conteudo:
251;Edinei;Rua K;
if FileExists(´c:\arquivo.txt´) then
begin
AssignFile(F, ´c:\arquivo.txt´);
Reset(F);
Readln(F,str);
Closefile(F);
codigo.text:=GetToken(str,´;´,1);
nome.text:=GetToken(str,´;´,2) ;
endereco.text:=GetToken(str,´;´,3) ;
end;
Bom, acho que era isso, espero ter ajudado. :wink:
Att,
CodeWriter
GOSTEI 0