Pliki typowane...

0

Mam pytanie na które najprawdopodobniej nie będzie zadowalającej mnie odpowiedzi a mianowicie:
Mam sobie typ typu wyliczeniowego:

type TProba=record 
         Liczba:Byte; 
         Stringi:array of String 
       end; 

I teraz chcę sobie zrobić taki myk:

(...) 
var MojPlik: file of Tproba 

No i tu jest błąd bo muszę określić długość tablicy ze Stringami, i mam pytanko czy da sie jakoś to zrobić żeby było z tą tablicą dynamiczną bez określonej długości???
P.S. wiem w jakis sposó są zbudowane pliki typowane (każdemu polu jest zostawiona odpowiednia ilość miejsca). No i wiem że tego najprawdopodobniej sie nie da zrobić no bo zniby skąd kompilator ma wiedzieć jak dużo miejsce przygotawać .
Czekam na pomoc bądź jakieś inne rozwiązanie.
Pozdr

0

(każdemu polu jest zostawiona odpowiednia ilość miejsca)

w sumie to (chyba) sam sobie odpowiedziales ;)

0

(każdemu polu jest zostawiona odpowiednia ilość miejsca)

w sumie to (chyba) sam sobie odpowiedziales ;)

Na siłę można wprowadzić stałą ilość miejsca, jakąś dużą :) np:

type
  TLongString = array[0..1023] of Char; // 1 kB :)

  TRekord = record
    // ...
    LongStr: array[0..1023] of TLongString; // 1 kilobajtowa tablica 1kB łańcuchów :)
  end;

Przypominam, że tablice znaków z dolnym indeksem ustawionym na zero są kompatybilne z łańcuchami (przy włączonej dyrektywie {$X+}, co jest ustawieniem domyślnym).

0

Na siłę można wprowadzić stałą ilość miejsca, jakąś dużą np:

type
TLongString = array[0..1023] of Char; // 1 kB :)

TRekord = record
// ...
LongStr: array[0..1023] of TLongString; // 1 kilobajtowa tablica 1kB łańcuchów :)
end;

No tak, ale jeśli ktoś będzie chciał więcej niż 1 kb .. - najlepiej do takich machinacji nie stosować plików typowanych tylko XML...

0

Na siłę można wprowadzić stałą ilość miejsca, jakąś dużą np:

type
TLongString = array[0..1023] of Char; // 1 kB :)

TRekord = record
// ...
LongStr: array[0..1023] of TLongString; // 1 kilobajtowa tablica 1kB łańcuchów :)
end;

No tak, ale jeśli ktoś będzie chciał więcej niż 1 kb .. - najlepiej do takich machinacji nie stosować plików typowanych tylko XML...

To mówi się trudno :) Jak mu się nie podoba to unistall i po kłopocie :) Możliwe, że XML lepiej się nadaje (przy okazji: dobrze że napisałeś tego arta :) ). Ale pliki typowane mają tą przewagę, że nie jest łatwo przy pomocy notepada edytować plik, co dla niektórych może być wadą, a dla innych zaletą. Nie dotyczy oczywiście łańcuchów, które są zapisywane "normalnie" w tym pliku. I nie podglądałem nigdy plików typowanych żadnym hex viewerem, więc nie wiem jak tam wygląda edycja.

0

Kilka tematow dalej byla dyskusja o zapisywaniu i oczytywaniu dynamicznej tablicy do pliku (a raczej kilku dynamicznych tablic), wystarczy troche kombinowania i nie jest to az takie arcytrudne.

0

Dobra dzięki wszystkim. Zrobiłem to na wychodzących z mody plikach Ini ;-)

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