AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte CollectionTemplater - Wizard für TCollection-Klassen
Thema durchsuchen
Ansicht
Themen-Optionen

CollectionTemplater - Wizard für TCollection-Klassen

Ein Thema von CCRDude · begonnen am 25. Apr 2007 · letzter Beitrag vom 3. Jun 2007
 
CCRDude
(Gast)

n/a Beiträge
 
#1

CollectionTemplater - Wizard für TCollection-Klassen

  Alt 25. Apr 2007, 16:22
Irgendwie laufen mir ständig Projekte vor die Füsse, deren kleinere Mengen an Datensätzen über eine TCollection am komfortabelsten zu bearbeiten wären. Dummerweise bedeutet eine TCollection immer heftigen Tippaufwand, und einfach Copy'n'Paste bringts auch nicht. Oft ist's dann verlockend, sowas dann schnell hingepfuscht über ne TList etc. zu realisieren, aber irgendwann flucht man doch drüber, also hab ich mir über die Zeit mal auf die Schnelle, später etwas durchdachter, ein kleines Programm gebaut, daß mir das abnimmt - für ein TCollectionItem mit 5 Eigenschaften knapp 800 Zeilen zu tippen war mir einfach zu doof.

Bei Namen bin ich immer etwas wenig kreativ, daher heißt dieses kleine Tool einfach CollectionTemplater (vorher hieß es Collection Code Maker, noch einfallsloser ).

Eine kleine Auflistung, was der erzeugte Code denn nun (fast)(*) automatisch kann (alternativ hier ein Beispiel, 31 KB, passend zu diesen Eingaben, 14 KB Screenshot):
  • Sortieren nach jedem Feld
  • Filtern nach jedem Feld
  • Laden/Speichern aus/in .ini und .xml
  • ToListItem für TListView mit OwnerData
  • Direktiven, um einzelne Features auszuschalten
  • Kommentare nach JavaDoc-Art
  • Korrekte benutzergewünschte Einrückung (daß selbst die Delphi-IDE das bei der Vervollständigung nicht kann, treibt mich regelmässig auf diverse Palmen)
  • Code läuft sowohl mit FreePascal als auch Delphi
Zudem ist das alles flexibel - wem die Formatierung nicht gefällt oder wer Features hinzufügen möchte, kann dies einfach tun, indem er die Datei codetemplate.pas ändert.

(*) Für relativ unbekannte Datentypen muss man von Hand die Vergleichsfunktionen und die Lade/Speicher-Funktionen anpassen; sowie für ToListItem die gewünschte Reihenfolge festlegen, falls sie abweicht von der vorher definierten.

Download v0.2.3 (Binaries) (723 KB)
Download v0.2.3 (Sourcen) (145 KB)..
Meine Blogseite dazu

Ich hoff, es nimmt noch jemandem etwas Tipparbeit ab, ich werd dieses Post auf jeden Fall zum Verlinken gebrauchen können, um TCollections zu demonstrieren, wenn ich woanders mal wieder das übliche TList-Gebastle lese

Änderungen 0.2.3
  • SynEdit komplett dynamisch erzeugt, somit jetzt Turbo Delphi-kompatibel
  • Laden von XML-Daten per XMLLib möglich (Lizenz davon bitte beachten!)
Änderungen 0.2.2
  • LGPL hinzugefügt
  • Abhängigkeit von snlCollection wieder eingeführt
  • Neu: Speichern als XML (platformunabhängig Laden wollte ich per XMLLib, leider passt das wohl leider sowohl mit MPL als auch LGPL nicht... zur Not müsste ich das UI um eine Lizenzauswahl erweitern)
  • Template-Anzeige und -Bearbitung in GUI
  • Konfigurationen werden automatisch mitgespeichert (Lade-Möglicheit kommt dann in der nächsten Version, wollt's endlich als OS rausbekommen)
  • Noch ein paar Indent-Korrekturen
Änderungen 0.2.1
  • Entfernen-Button
  • Save As-Button
  • TVirtualStringTree -> TListView
  • Icons -> free GlyFX Vista icons
  • Für OS muss ich mir mal ne passende Lizenz überlegen, ich hasse das ewige durchgelese
  • Kurzdoku der Direktiven der Template-Datei steht jetzt auf Info-Seite
  • Template hat an zwei Stellen bessere Einrückung erhalten
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz