Selecao DevMedia QUERO SER PRIME

Fórum Pesquisa em Arquivo Texto #332914

09/11/2006

0

Olá

Tenho um arquivo texto separado por colunas, como uma tabela. Preciso saber como fazer uma pesquisa neste arquivo. Como se fosse um FindKey. Não queria fazer com loop porque o processo fica lento. Acho que eu poderia fazer com função recursiva mas ainda não sei como eu faria essa função.

Se alguém puder me ajudar eu agradeço

Daniel


Dpbraz

Dpbraz

Responder

Posts

09/11/2006

Tnaires

Olá
Você pode simplesmente carregar o arquivo texto para um StringList (usando o método LoadFromFile) e usar o método Find para localizar a string, ou mesmo usar a função Pos na propriedade Text do StringList.
Abraços


Responder

Gostei + 0

10/11/2006

Dpbraz

Olá amigo

Tentei usar o método loadfromfile e dá erro na execução.

Cannot open file ´c:\arquivo.txt´

Segue abaixo o fragmento do código:

var
Arquivo : TStringList;
begin
Arquivo := TStringList.Create;
Arquivo.LoadFromFile(´c:\arquivo.txt´);


Responder

Gostei + 0

10/11/2006

Dpbraz

Olá

Descobri que o erro está no arquivo texto. Agora não sei qual é o problema do arquivo.

Para gerar este arquivo texto eu fiz da seguinte forma:

var
f:textfile;
x,y:integer;
s, sLinha : string;
begin
if not SelectDirectory(´Selecione uma pasta´, ´´, s) then exit;

screen.cursor := crHourGlass;
assignfile (f,s+´\Arquivo.txt´);
rewrite (f);
tbEstoque.DisableControls;
while not tbEstoque.EOF do
begin
sLinha := MyReplicate(´ ´, 100);
Insert(tbEstoque.FieldByName(´cd_barra´).AsString, sLinha, 1);
Insert(tbEstoque.FieldByName(´cd_produto´).AsString, sLinha, 19);
Insert(tbEstoque.FieldByName(´calc_produto´).AsString, sLinha, 38);
sLinha := copy(sLinha, 1, 100);

writeln (f, sLinha);
tbEstoque.next;
Application.ProcessMessages;
end;
tbEstoque.EnableControls;

closefile (f);
screen.cursor := crDefault;

MessageDlg(´Operação Concluída!´, mtInformation, [mbOk], 0);


Responder

Gostei + 0

10/11/2006

Rjun

Qual o tamanho do seu arquivo? Tente gerar o arquivo texto através de TStringList também.


Responder

Gostei + 0

10/11/2006

Dpbraz

Ops. O problema do arquivo texto foi besteira minha.

Consegui fazer minha procura usando o LoadFromFile e o Pos.

Obrigado a todos

Daniel


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar