Fórum Mover o ponteiro de registro em um arquivos txt!! #185567

01/10/2003

0

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.


Host

Host

Responder

Posts

01/10/2003

Joilson_gouveia

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;


Responder

Gostei + 0

01/10/2003

Host

Mas eu estava procurando algo como se fazia em Pascal, sem a ultilização de componentes, alguem sabe como?Eu não lembro!!


Responder

Gostei + 0

01/10/2003

Wbb

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.

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


Responder

Gostei + 0

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

Aceitar