EINLEITUNG
Ich habe angeküngigt, ein von mir verwendetes Format zu veröffentlichen.
Sein name ist EHTF und es sollte mir in erster linie dazu dienen Variablen zwischen 2 Computer über einen String auszutauschen. Allerdings kann man damit mitlerweile bequem Einstellungen Laden/Speichern oder ähnliches machen.
EHTF ist wie ein Tree aufgebaut, es gibt also ein haufen Nodes. Der Hauptnode selber ist von der gleichen Klasse als die Subnodes.
Da ich ein Format brauchte und keine lust hatte mich mit irgendwas anderem auseinander zu setzen hab ich mir einfach ein eigenes gebaut.
Ein Großer Vorteil An EHTF ist, das man damit mit einer einfachen Case abfrage einen Interpreter bauen kann um z.B verschiedene Eintellungen zu laden/speichen
GROBER AUFBAU
Jeder Node besitzt 4 Eigenschaften
- 1. Einen Array aus Werten. (Values)
Ein Wert ist in einem Record gespeichert, welcher string / integer / float / boolean /pointer unterstützt und ein byte besitzt in welchem der Casetyp gespeichert ist.
Auf die Werte kann man entweder Direkt (Values) oder indirekt mit einigen Überprüfungen (SValues) zugreifen.
- 2. Ein About teil für Metainformationen, der Name unter den man diese Eigenschaften findet.
- 3. Weitere Nodes, (Childs)
- 4. Einen Parent - eigentlich brauch man diesen nicht, ich hab ihn vorsorglich aber schonmal hinzugeführt.
So ist ein Node aufgebaut
Code: Alles auswählen
Hello<World>
Hier ist "Möglichkeiten bei Geldscheinen" der about teil, wie man sieht darf dieser alle zeichen enthalten.
Seit Version 0.9.2 ist es nun auch möglich mehrere Werte in einem Node zu schreiben und die schreibweise zu vereinfachen:
Code: Alles auswählen
Möglichkeiten bei Geldscheinen<5|10|20|50|100|200|500>
- Suche nach Speicherlecks ( in ehtf an sich schau es gut aus, aber im Editor noch nicht
- Anpassung an den DOM - standart
- integrierte MultiThreading - Funktion zum laden meherer Strings gleichzeitig , bzw performanceverbesserung !! // Bei tausenden von nodes kann es schon mal ne sekunde dauern...
um das ganze zu bearbeiten, hab ich mir auch einen kleinen Editor gebastelt, dieser liegt mit Source bei.
Er hilft einen eigentlich nur die übersicht zu behalten und beinhaltet die funktionen aus String oder File zu laden/Speichern.
Außerdem kann man direkt einen ganzen node mit subnodes kopieren...
CHANGELOG
- 0.9.7: Projekt nun auf LazForge! Neue Version mit vielen Verbesserungen, besonders bei der Performance, ehtf größsten Teils Stabil (ich hab noch keinen Fatal Error in der ehtf.pas gefunden). EHTF-Edit Testversion, nicht Stabil .
- 0.9.4: Export zu XML möglich (experimentel, es werden noch nicht alle Features unterstützt...). Bug beim Speichern/Laden behoben bei dem Leere Values hinzugefügt wurden
- 0.9.3: System-Tag ist eingebaut, Jetzt ist es möglich jede Nachricht zu speichern/wieder zu konvertieren... ">" wird in "~<60>" umgewandelt, da 60 der ascii code von ">" ist...
- 0.9.2: Diverse Bugfixes - Jetzt ist es möglich mehrere Texte pro Node zu speichern, Diese werden jetzt Values genannt !
DOWNLOAD
Der Download befindet sich nun auf LazForge: http://forge.lazarusforum.de/projects/ehtf-edit" onclick="window.open(this.href);return false;
Ich weis das es keinen Hydro Thalamus gibt, aber ich fand die anspielung so toll, dass ich mein ICP programm so genannt habe
