Zapis tablicy do pliku

0

Witam. Jak zapisać tablicę do pliku w Delphi?
Jeśli zapisując dane do tablicy używam zmiennej i, która po każdym zapisie zwiększa się o 1 (numer w tablicy), to co zrobić żeby po ponownym uruchomieniu dane te się nie nadpisywały?

Dziękuję!

1

Ad1. Użyć TFileStream dla zapisu
Ad2. Użyć TFileStream dla odczytu, ustawić odpowiednią wartość zmiennej i.

0

Zapisuję to w taki sposób:

Plik := TFileStream.Create('notatki.txt', fmCreate);
Plik.WriteBuffer(Tablica, SizeOf(Tablica));
Plik.Free; 

Jak to teraz odczytać ?
I co zrobić żeby zmienna i przyjmowała wartość wielkości tablicy po uruchomieniu?

0

Masz zapisać tyle ile masz danych a nie tyle ile się zmieści w tablice.
Dopóki nie pokażesz przynajmniej deklaracji swojej tablicy to nie ma możliwości powiedzieć coś konkretniejszego.

0
TNotatka = record
    Dzien: Integer;
    Miesiac: Integer;
    Tresc: String; 
Tablica : array[0..100] of TNotatka; 
1

Zapis:

Plik:=TFileStream.Create('notatki.txt', fmCreate);
Plik.Write(Tablica[0],i*SizeOf(TNotatka)); // Zamień nazwę zmiennej `i` na coś przyzwoitego
Plik.Free;

Odczyt:

Plik:=TFileStream.Create('notatki.txt',fmOpenRead);
i:=Plik.Read(Tablica[0],SizeOf(Tablica)) div SizeOf(TNotatka); // Zamień nazwę zmiennej `i` na coś przyzwoitego
Plik.Free;
0

Działa bardzo ci dziękuję.
Mam tylko Runtime error 216 at 00404FB2 co jakiś czas jak włączę program.

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