Mover o ponteiro de registro em um arquivos txt!!
Alguem sabe como mover o ponteiro de registro em um arquivos txt!!
Gostaria de ler as informações do arquivo txt do apartir do ultimo registro e voltando até o primeiro registro.
Gostaria de ler as informações do arquivo txt do apartir do ultimo registro e voltando até o primeiro registro.
Host
Curtidas 0
Respostas
Joilson_gouveia
01/10/2003
Salve o TXT em uma TStringList e leia a TStringList a partir da última linha, cfe abaixo:
procedure LeTxt;
var
Texto:TStringList;
i:Integer;
Linha:String;
begin
Texto := TStringList.Create;
Texto.LoadFromFile(´ARQUIVO.TXT´);
for i := Texto.Count-1 to 0 do
begin
Linha := Texto.Strings[i];
Memo1.Lines.Add(Linha);
end;
end;
procedure LeTxt;
var
Texto:TStringList;
i:Integer;
Linha:String;
begin
Texto := TStringList.Create;
Texto.LoadFromFile(´ARQUIVO.TXT´);
for i := Texto.Count-1 to 0 do
begin
Linha := Texto.Strings[i];
Memo1.Lines.Add(Linha);
end;
end;
GOSTEI 0
Host
01/10/2003
Mas eu estava procurando algo como se fazia em Pascal, sem a ultilização de componentes, alguem sabe como?Eu não lembro!!
GOSTEI 0
Wbb
01/10/2003
Eu fiz este exemplo há algum tempo, porém com TMemo. Não é bem o que você pediu, mas talvez ajude.
Coloque um TMemo e um TButton em seu form. No evento OnClick do botão, coloque o código abaixo.
Até mais.
wbb
Coloque um TMemo e um TButton em seu form. No evento OnClick do botão, coloque o código abaixo.
procedure TForm1.Button1Click(Sender: TObject); type Ponteiro = ^Integer; Var p: Ponteiro; //"p" é uma variável do tipo "Ponteiro", que por sua vez, é um ponteiro do tipo Integer i: Integer; begin memo1.clear; // Limpa conteúdo do componente Memo1 p:= nil; // Indicação de ponteiro nulo if p=nil then memo1.lines.add(´Ponteiro nulo !!!´); new(p); // Cria uma variável dinâmica Integer, com //endereço no ponteiro "p" p^:= 100; // Atribuir o valor 100 à variável Dinâmica criada memo1.lines.add(´Conteúdo de p:=´ + IntToStr(p^)); // Exibe 100 i:= 200; p^:= i; memo1.lines.add(´Conteúdo de p:=´ + IntToStr(p^)); // Exibe 200 i := 231; p:= addr(i); // Aponta "p" para o endereço da variável "i" memo1.lines.add(´Conteúdo de p:=´ + IntToStr(p^)); // Exibe o conteúdo do endereço //apontado por "p", que neste //caso é o endereço de "i". O //conteúdo de "i" é 231. p^:= 1000; // INDIRETAMENTE atribui o valor 1000 à variável "i", pois "p" //ainda está apontado para o endereço de "i". memo1.lines.add(´Conteúdo de p:=´ + IntToStr(i)); // Exibe 1000, que foi //atribuido à "p" e repassado //para "i". p:= nil; // Indicação de ponteiro nulo Dispose(p); // Destroi o ponteiro memo1.lines.add(´Ponteiro destruido !!!´); end;
Até mais.
wbb
GOSTEI 0