TreeStructInfo go to top

format preview

TreeStructInfo to projekt uniwersalnego formatu tekstowych i binarnych plików konfiguracyjnych, przeznaczonych do przechowywania ustawień aplikacji i gier w formie czytelnych drzew danych, możliwych do dzielenia na mniejsze fragmenty.

Format ten zaprojektowany został tak, aby był przyjazny dla człowieka, ale także jak najbardziej funkcjonalny i prosty do przetwarzania. Forma tekstowa daje możliwość tworzenia i edytowania plików w dowolnych edytorach, forma binarna zaś sprzyjać ma szybkości przetwarzania plików.

Sprawdź możliwości formatu, zapoznając się z jego specyfikacją.

Format ten nie jest zależny od platformy programowej, więc z powodzeniem możesz go wykorzystać w aplikacjach i grach uruchamianych na takich platformach jak Windows, Linux i OS X. Źródła bibliotek dostępne są w dziale pobierania.

TreeStructInfo jest także niezależny od języków programowania. Posiada oficjalną bibliotekę do obsługi plików konfiguracyjnych, napisaną w języku Free Pascal. Z biegiem czasu mogą powstać nowe API, przeznaczone także dla innych języków. Lista dostępnych nieoficjalnych API znajduje się także w dziale pobierania.

pięć najświeższych nowości go to top

05.07.2016 wersja RC biblioteki opublikowana

Koniec testowych wersji API - dziś przygotowana i wydana została oficjalna biblioteka w wersji 2.0 jako pierwszy release candidate.

Nowa wersja paczki TreeStructInfo oraz same jej pliki źródłowe możliwe są do pobrania z działu pobierania, a także z repozytorium w serwisie GitHub. Materiały edukacyjne, takie jak dokumentacja API oraz tutoriale zostały przystosowane do nowej wersji biblioteki.

29.06.2016 wydana finalna wersja beta oficjalnej biblioteki

W dniu dzisiejszym została wydana finalna (testowa) wersja oficjalnej biblioteki, oznaczona numerem 2.0 beta 5.

Nowością w tej wersji jest nowa klasa w module TSInfoUtils o nazwie TTSInfoDataConverter, do której przeniesione zostały wszystkie procedury i funkcje, umożliwiające konwersję natywnych danych na ciągi znaków i odwrotnie. Wszystkie metody zawarte w tej klasie są statyczne, możliwe do wykorzystania bez konieczności tworzenia instancji klasy.

W poprzedniej wersji API, aby rozszerzyć funkcjonalność biblioteki o obsługę własnego typu danych, możliwe było utworzenie klasy typu helper dla bazowej klasy TSimpleTSInfoTree, dodając metody służące do zapisu i odczytu danych własnego typu. Przemiana wymienionych wyżej procedur i funkcji na statyczne metody, umożliwi stworzenie drugiej klasy typu helper dla klasy TTSInfoDataConverter, rozszerzając ją o kolejne metody konwersji danych.

Nową wersję oficjalnej biblioteki można pobrać zarówno z działu pobierania, jak i z repozytorium w serwisie GitHub.

Uzupełniona została także dokumentacja oraz dział zawierający tutoriale. Nowością jest także artykuł obsługa danych własnego typu, w którym to bardzo szczegółowo opisany jest sposób na dodanie obsługi własnego typu danych.

24.06.2016 wydana kolejna wersja oficjalnej biblioteki

Dziś wydana została kolejna już wersja oficjalnej biblioteki, z oznaczeniem 2.0 beta 4 (w dalszym ciągu jest to wersja testowa).

Wersja ta nie przynosi wielu zmian. Do bazowej klasy TSimpleTSInfoTree dodane zostały dwie metody - SwitchTreeForm oraz SwitchTreeAccess, umożliwiające zmianę formy drzewa z tekstowej na binarną (i odwrotnie), a także zmianę trybu użytkowania drzewa, z trybu tylko do odczytu na tryb do odczytu i zapisu (oraz odwrotnie).

Drugą i ostatnią nowością w bibliotece, dotyczącą również klasy bazowej, jest modyfikacja widoczności pól FModified i FReadOnly - zostały one przeniesione z sekcji private do protected. Taki sam zabieg został przeprowadzony na prywatnych metodach FindElement, FindAttribute oraz FindNode. Zmiana widoczności wymienionych elementów bazowej klasy pozwoli na dostęp do nich wewnątrz własnych klas dziedziczących, umieszczonych we własnych modułach. Dzięki temu możliwe będzie łatwe rozszerzenie funkcjonalności bazowej klasy, np. o obsługę zapisu i odczytu danych nieobsługiwanych standardowo typów danych (za pomocą tzw. class helpers).

Nowa wersja oficjalnej biblioteki dostępna jest do pobrania w dziale pobierania, a także w repozytorium serwisu GitHub. Wraz z opublikowaniem źródeł biblioteki, zaktualizowana została także pozostałe materiały, czyli dokumentacja oraz tutorial API.

07.05.2016 zmiany w funkcjonalności formatu oraz nowa wersja oficjalnej biblioteki

Kilka dni temu została podjęta decyzja o radykalnej zmianie dotyczącej specyfikacji bieżącej wersji formatu TreeStructInfo. Z racji tej, że tworzenie wieloplikowych systemów konfiguracyjnych jest pojęciem dość zagmatwanym, a twórcy API do obsługi plików konfiguracyjnych mogą mieć sporą zagwozdkę, linkowanie drzew z osobnych plików dyskowych zostaje usunięte z funkcjonalności formatu. Od tej pory systemy konfiguracyjne składające się z wielu plików nie będą dłużej wspierane.

Nie zmienia to jednak faktu, iż w dalszym ciągu istnieje możliwość podziału drzewa konfiguracji na mniejsze fragmenty, za pomocą referencjonowania elementów. Pozostałe możliwość formatu pozostają niezmienione, więc nadal wszelkie ustawienia mogą być przechowywane w plikach zarówno tekstowych, jak i binarnych.

Z racji nowej, nieco uboższej funkcjonalności formatu, została poprawiona specyfikacja formatu w wersji 2.0. Dokument ten został także odświeżony, aby prezentowana w nim treść była bardziej czytelna i zrozumiała.

Wraz z modyfikacją specyfikacji formatu, wydana została także kolejna wersja oficjalnej biblioteki, oznaczona numerem 2.0 beta 3. Biblioteka ta została przystosowana do nowej wersji kompilatora FPC - wersji 3.0.0. Dostępna jest do pobrania w dziale pobierania, a także w repozytorium serwisu GitHub. Strony dokumentacji oraz kursu obsługi API także zostały poprawione i odświeżone.

10.12.2015 druga wersja biblioteki wydana

W dniu dzisiejszym ukończone zostały prace związane z kolejną wersją oficjalnej biblioteki do obsługi plików i systemów konfiguracyjnych TreeStructInfo. Nowa wersja biblioteki oznaczona jest numerem 2.0 beta 2 (wersja testowa). Jej źródła w postaci pojedynczych modułów dla kompilatora FPC oraz w postaci paczki dla Lazarusa, dostępne są do pobrania zarówno w dziale pobierania, jak i w repozytorium serwisu GitHub.

Oprócz źródeł oficjalnej biblioteki, przygotowana została także szczegółowa dokumentacja, zawierająca opisy modułów oraz każdego zawartego w nich elementu (stałych, typów, uniwersalnych procedur i funkcji, a także klas i ich składowych). Dostępne są także dokumenty zawierające tutorial, wyjaśniający sposoby wykorzystania dwóch głównych klas do obsługi plików TreeStructInfo.

go to top
logo small