ler arquivo txt cíclico

Delphi

26/04/2012

bom dia, estou com determinado problema, tenho um arquivo q preciso ler o mesmo de tempos em tempos, para monitorar determinada ação, ou seja, cíclico, exemplo a primeira leitura fui até a linha 100, a próxima deveria começar da 101, existe algum comando ou função q no momento da abertura do arquivo consigo posicionar em uma determinada linha?
Desde já agradeço!!!
Rodrigo Pereira

Rodrigo Pereira

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

26/04/2012

Primeiramente você precisará de uma variável pública para armazenar a última posição lida. Feito isso, você pode carregar o arquivo .txt em um TStringList e iniciar a leitura a partir da variável armazenada.
Permanecendo a dúvida, é só avisar.
GOSTEI 0
Rodrigo Pereira

Rodrigo Pereira

26/04/2012

Teria um fragmento de código para ilucidar?
Desde já agradeço!
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

26/04/2012

Primeiramente declare a variável na seção private ou public do seu form:
  private
    ultimo_lido : integer;


Ao abrir o form, no evento onCreate, defina um valor inicial 0 para essa variável
procedure TForm1.FormCreate(Sender: TObject);
begin
  ultimo_lido := 0;
end;


Agora, para ler a lista, use a seguinte rotina, adaptando à sua necessidade:
var
  lista : TStringList;
  i : integer;
begin
  lista := TStringList.Create();
  lista.LoadFromFile(d:\lista.txt);

  for i := 1 to 5 do
  begin
    Inc(ultimo_lido); 
    ListBox1.Items.Add(lista.Strings[ultimo_lido]);
  end;


Nesse caso, estou lendo de 5 em 5 itens. Cada vez que essa rotina for executada, eu leio 5 itens sequenciais do arquivo e ponho em um listbox. Vale lembrar que a variável ultimo_lido é zerada ao abrir o form, se você precisa mantê-la após fechar o programa, deverá gravá-la em algum local fixo (banco de dados, arquivo, registro do Windows, etc).

Qualquer dúvida, fique à vontade para questionar.
GOSTEI 0
POSTAR