Być może trochę niefortunnie sformułowałem nazwę tematu, bo nie oddaje on tego o co chodzi, ale ciężko mi wymyślić jakiś inny sensowny.
Przechodząc do sedna, kwestie są dwie. Mam bardzo duże pliki i jest ich dosyć dużo. W jaki sposób lepiej jest z nich "korzystać"? Czy wczytać je raz i później ewentualnie przy każdej zmianie wczytywać ponownie czy za każdym razem w potrzebnym momencie otwierać odpowiedni plik? W pierwszym przypadku wydaje mi się, że program niepotrzebnie by wykorzystywał pamięć mając zawartość wszystkich plików w zmiennych. Natomiast w drugim... zapewne odwołanie do zmiennej jest szybsze niż otworzenie i przeszukanie długiego pliku tekstowego.
W tym momencie mam w programie dwa języki, polski i angielski. Wszystkie teksty są w w dwóch plikach tekstowych. Napisałem funkcję, w której jako parametr podaje się numer linijki. Funkcja otwiera odpowiedni plik w zależności od wybranego jeżyka i jako wynik podaje zawartość linijki podanej jako parametr. Wymaga to za każdym razem otworzenia pliku. Zastanawiam się czy nie lepiej będzie wczytać przy uruchamianiu programu obu plików do dwóch tablic?
Druga sprawa. W jaki sposób przechowywać dane? Niestety na bazach danych się zupełnie nie znam i co pewnie jest błędem wszystko przechowuje w plikach tekstowych. Mam kilka różnych struktur w kilku różnych plikach. Wygląda to w skrócie tak:
[osoba]
imie = ...
nazwisko = ...
data urodzenia = ...
id = ...
[grupa]
nazwa = ...
ilosc osob = ...
id n osoby = ...
id grupy = ...
[podusmowanie dnia]
data = ...
bilans laczny = ...
bilans n grupy = ...
Chciałbym aby to wszystko było zapakowane w jeden plik. Mogę to zapisać w zwykły plik tekstowy. Problemów z odróżnieniem nie będę miał. Tylko jeśli zrobi się np 50 grup, a w każdej po 30 osób to już daje 1500 osób. Zakładając że na każdą jest poświęcone 10 linijek do już daje ich 15000. A do tego mają być podsumowania każdego dnia, wiec praktycznie z każdym kolejny dniem ilość tych linijek wzrasta arytmetycznie. A więc problem poniekąd jest jak w pierwszej części. Odczytywanie takiego pliku będzie pewnie zbyt długie, aczkolwiek nie testowałem tego.