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ę!
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ę!
Ad1. Użyć TFileStream dla zapisu
Ad2. Użyć TFileStream dla odczytu, ustawić odpowiednią wartość zmiennej i.
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?
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.
TNotatka = record
Dzien: Integer;
Miesiac: Integer;
Tresc: String;
Tablica : array[0..100] of TNotatka;
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;
Działa bardzo ci dziękuję.
Mam tylko Runtime error 216 at 00404FB2 co jakiś czas jak włączę program.