## Kategorien

Was ist eine Kategorie?

> Eine Kategorie faßt mehrere Einheiten zu einer Gruppe zusammen. Kategorien sind z. B. Länge, Fläche, Volumen, usw. Um Kategorien hinzufügen, auszublenden, zu löschen oder deren Reihenfolge zu beeinflussen, editieren Sie die folgende Datei in einem Editor:
> `Installationsverzeichnis/data/lists/categories.list`

> Alternativ dazu können Sie auch einen Filter für Kategorien definieren.

Beschreibung der Datei für die Kategorien

> Die Datei "`categories.list`" im Verzeichnis "`data/lists/`" dient dazu, Kategorien zu spezifizieren. Jede Zeile enthält eine solche Spezifikation. Kategorien werden gelöscht oder hinzugefügt, indem Zeilen gelöscht oder hinzugefügt werden. Leerzeilen und Zeilen mit einem führenden Gartenzaun (#) werden vom Programm als Kommentar erkannt und ignoriert. Somit lassen sich auch Kategorien ausblenden. Die Kategorien erscheinen in der Reihenfolge auf der graphischen Programmoberfläche wie sie in der Datei "`categories.list`" definiert wurden. Ein Filter für Kategorien setzt sich über diese Festlegung der Reihenfolge hinweg..

Format einer Zeile

> Eine Zeile enthält mehrere Tokens. Die Token sind durch einen Doppelpunkt voneinander getrennt. Jede Zeile muß mindestens das Token "`ID`" besitzen. Hier das komplette Format einer Zeile:
> `ID:Signifikante Stellen:Logik:Kommentar`

Beschreibung der Token

`ID`

> Die ID entspricht einem Dateinamen (ohne Dateiendung) und wird verwendet, ein entsprechendes Bildchen für die Kategorie festzulegen und eine Einheitentabelle bzw. eine Spezialkonvertierung zu spezifizieren.

> Das Bildchen
> Das Bildchen wird als "`data/images/sections/ID.png`" im Installationsverzeichnis gesucht. Wegen der verlustbehafteten und nicht-animationsfähigen Speicherung bei jpg und der begrenzten Farbtiefe von 8 Bit bei gif wird ausschließlich png unterstützt, da dieses die Vorteile von jpg und gif vereint und die Nachteile minimiert. Wenn Sie kein Bildchen für die Kategorie zur Verfügung stellen, wird nur Text angezeigt.

> Die Einheitentabelle
> Sie wird als "`data/units/ID.list"` im Installationsverzeichnis gesucht. Klicken Sie hier , um mehr über das Format von Einheitentabellen zu erfahren.

> Die Bezeichnungen der Einheiten
> Sie werden im Verzeichnis "`data/lang/categories_*.properties`" abhängig von der Sprachwahl ausgewählt.

> Die Spezialkonvertierungen
> Zur Zeit werden 12 nicht-änderbare Konvertierungen unterstützt. Sie sind programm-intern festgelegt und lassen sich ohne Programmierkenntnisse nicht ändern. Klicken Sie hier, um mehr über die programminternen Module zu erfahren.

`Signifikante Stellen`

> Dieser optional zu bestimmende Wert wird als Voreinstellung für die signifikanten Stellen verwendet. Default ist 12. Gültige Werte sind: "0, 1, 2, ..., 1000, -". Der Bindestrich "-" bedeutet, daß Nachkommastellen nicht verarbeitet werden können.

`Logik`

> "true" und "false" sind gültige Werte und beschreiben die Art der Logik, wie sie in "`data/units/ID.list`" gespeichert sind. Dabei handelt es sich nicht um eine "richtige" oder "falsche" Logik, sondern nur um ein flag wie die Logik zu interpretieren ist.

> true
> Wenn z. B. für die Kategorie "Länge" die Grundheinheit "Meter" gewählt wird, ist es üblich zu sagen, daß ein Kilometer 1000 Meter entspricht. Natürlich ist es auch möglich auszudrücken, daß ein Meter 0,001 Kilometer besitzt. Dies ist jedoch eher unüblich. Für die meisten Tabellen ist deshalb die Logik "true" besser geeignet.

> Hier ein Beispiel mit Logik "true" und "Byte" als Grundheinheit der Kategorie Datenmenge:
> - 1 Byte entspricht 1 Byte
> - 1 Bit entspricht 0.125 Byte
> - 1 Kilobyte entspricht 1024 Byte

> false
> Der Wert "false" ist vor allem bei Wechselkursen und der Kategorie "Euroland" geeignet. Es ist definiert, daß eine Deutsche Mark genau 1.955830 Euro entspricht. In diesem Fall ist der Wert "false" besser geeignet, als zu sagen, als daß ein Euro 0,51129188... DM entspricht.

> Hier ein Beispiel mit Logik "true" und "Byte" als Grundheinheit der Kategorie Datenmenge:
> - 1 Byte entspricht 1 Byte
> - 1 Byte entspricht 8 Bit
> - 1 Byte entspricht 1/1024 Kilobyte