dane (klasa) i zapis do pliku

0

Mam maly problem z zapisem do pliku, a mianowicie:

Mam kilka Teditow, kilka Tlistboxow, z listboxow robie sobie tablice i teraz zczynaja sie schody.
Jak to zlozyc do kupy zeby zapisalo sie na podobnej zasadzie jak rekord.
Chwilowo mam rozwiazane do txt ze znacznikami "|" i "^", ale prosciej bylo by uzywac czegos takiego jak zapis rekordow...

czy ma ktos jakis pomysl??

0

chyba <ort>NIE MA </ort>innej opcji jak zrobienie rekordu i powrzucanie tam zczytanych danych i dopiero zapisaie do pliku

0

jeszcze jakby było wiadomo co chcesz zrobić ...

0

powiedzmy mam 5x Tedita, i 2x Listboxa (kilka pozycji) - z ktorego robie tablice.

otrzymuje:
dane, dane....dane, tablica, tablica

i w takim formacie chce to wrzucic do pliku
a pozniej prosto to czytac i usuwac pozycje.

0

z tym rekordem to będzie lipa bo:
np będzie to rekord


const
  rozmiar_tablicy = 200;

type
  elementy_tablicy = string[40];    // tu ograniczasz dla uściślenia
                                                  // lub używasz Pchar, ale to trudniejsze
  typ_trablicy = array [0..rozmiar_tablicy] of elementy_tablicy; 

  twoj_rekord = record
    dane1, dane2, dane3: typ_danych;
    tablica, tablica, tablica : typ_tablicy;
  end;

teraz odczyt do pliku

function odczyt_rekordów(plik: string):boolean;
var
  twoj_plik  : file of twoj_rekord;
  licznik      : byte;
  Bufor       : twoj_rekord;
{...}
begin
{...}
// otwórz plik 
repeat 
  read(twoj_plik,Bufor);
// zrób co musisz z rekordem z pliku
// i wczytaj następny
until eof(twoj_plik);
// zamknij plik
{...}
odczyt_rekordów:=true;
end;

nie musisz ograniczać się do czytania tylko po jednym rekordzie, co tyczy się też zapisu.
Jednak podejrzewam, że twoje rekordy nie mają ściśle określonych rozmiarów, więc nie pójdzie tobie tak łatwo z tym. zamiast zapisu i odczytu procedurą read i write. będziesz musiał zająć się kontrolowanym wczytywaniem za pomocą TFileStream

0

najlepiej podeślij źródło tego co robisz i opisz dokładnie jak ma działać procedura którą chcesz stworzyć. dostaniesz konkretne odpowiedzi

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