Wpis z mikrobloga

Mirki z #programowanie, potrzebuję Waszej pomocy w projekcie na #studbaza. Mam napisać bazę danych używając list jednokierunkowych. Mam mieć główną listę, w której są zapisani autorzy i każdy autor ma swoją podlistę książek. W programie mają być opcje dodawania, usuwania, wyszukiwania i edycji autorów i książek i z tym wszystkim sobie poradziłem. Mój problem polega na tym, że dodatkowo program ma mieć opcję zapisywania i wczytywania bazy danych z pliku.
Tutaj mój kod: http://wklej.org/id/1610350/ (Pascal)
Program się wysypuje przy wczytywaniu, wydaje mi się, że zapisywanie działa tak jak powinno, bo podczas debugowania i najeżdżania myszką na zmienne pokazują się wartości tych zmiennych, a nie adresy, czyli wydaje mi się, że nie zapisuję do pliku wskaźników i to nie jest problem, nie mam żadnego innego pomysłu, może Wy coś poradzicie? :)
Procedura zapisywania jest w 370-389, a wczytywania w 393-424. W programie się uruchamiają odpowiednio w 590 i 601.
  • 9
@arcio1: tylko widzisz, string w zależności co przechowuje różnie waży - nie tak jak int który ma stałe 4 bajty. gdy ma krotki napis to malo alokuje pamieci - nie wiem czy przed zapisem nie musiałbyś zrobić serializacji do tablicy charów o ustalonej dlugosci np ustalonej 20 elementowej, i wtedy tez wczytywac po 21bajtow jako tego stringa, bo za kazdym razem ten string ma inną wagę i nie wiadomo jak go
@anonimowy_anonim: No ok, dzięki za pomoc, zobaczę jak to będzie.
Co do tych zmiennych, no to rzeczywiście prowadzący mówił, żeby nie używać zmiennych globalnych, zresztą za każdą leci po punkcie, ale jak są przekazywane przez parametry, to mówi że spoko, ja już nie wiem ;_;
No może i Pascal jest #!$%@?, ale co ja poradzę, że uczą go na pierwszym semestrze #polsl :P
@arcio1: najlepiej w ogole nie stosować globalnych - taki dobry nawyk w programowaniu. przekazywanie globalnych (widocznych wszedzie) przez parametr mija się troche z celem - bo rownie dobrze mozesz przekazywac lokalne. powodzenia.
@anonimowy_anonim: Problem rozwiązany, rzeczywiście był problem w tych stringach, ale wystarczyło je wszystkie zmienić na shortstringi i działa :P +Trochę jeszcze wcześniej pomieszałem w procedurach, ale to już nie wiem ile zmieniło.

@Analityk: Bo nie umiem i póki co nie mam czasu na naukę.