eof ladowanie z pliku

0

Jak za pomocą "while not eof(np. plik)" wczytać losową (random) linię tekst z pliku?

0

Chodzi Ci aby odczytać losową linię z pliku ??
Jeżeli tak to ja mam taki sposób:

  1. Załaduj cały plik do tablicy np. Linie
  2. I dopiero z tablicy wylosuj tą linie.

Czyli tak:
var
F:TextFile;
Linie:array[0..2000] of String;
Rand,I:Integer;
begin
AssignFile(F,'linie.txt');
Reset(F);
While not Eof(F) do
begin
Readln(F,Linie[I]);
Inc(I);
end;
Closefile(F);
Rand:=Random(I);
ShowMessage('Linia nr:'+IntToStr(Rand)+' '+Linie[Rand]);
end.

0

Chodzi Ci aby odczytać losową linię z pliku ??

Taaaaak. Załaduj plik 50 MB do tablicy :-)

var
NrLinii, L: Cardinal;
Linia: string;
Plik: TextFile;
begin
//Tu otwieramy pliczek
NrLinii := Random(FileSize div 255); //strzlam, że dłuższych linijek nie będzie. Jak nie to jeżeli będziemy mieli pecha przylosowaniu to odczytamy ostatnią linię
L := 0;
while (not Eof(Plik)) and (L

1 użytkowników online, w tym zalogowanych: 0, gości: 1