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
Antwort Antwort
Seite 1 von 2  1 2      
CCRDude
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
 
Benutzerbild von CK_CK
CK_CK

 
Delphi 2006 Enterprise
 
#2
  Alt 25. Apr 2007, 18:08
Das ganze hört sich SEHR interessant an.

Nur leider meldet sich mein Antivirenprogramm (und das ist normalerweise sehr zuverlässig). Die Meldung siehst du im Anhang.
Hast du vielleicht einen Virus auf deinem PC, der sich irgendwie mitkomprimiert hat?

Ansonsten könntest du das Programm ja Open-Source machen und die Icons weglassen. Ich würde z.B. selbst welche finden...

Viele Grüße,
Chris
Miniaturansicht angehängter Grafiken
warning_200.png  
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

 
Delphi 2009 Professional
 
#3
  Alt 25. Apr 2007, 18:18
CK_CK: Keine Bestätigung von AntiVir.
Manuel
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

 
Delphi 2006 Enterprise
 
#4
  Alt 25. Apr 2007, 18:19
Ich warte einfach mal ab, was mir VirusTotal.com meldet.

Dauert noch ca 13 Minuten...
EDIT: Noch 8 Minuten...
EDIT2:
Code:
Antivirus      Version      Update      Result
AhnLab-V3      2007.4.26.0   04.25.2007   no virus found
AntiVir         7.4.0.15   04.25.2007   no virus found
Authentium      4.93.8      04.24.2007   could be a corrupted executable file
Avast         4.7.981.0   04.25.2007   no virus found
AVG         7.5.0.464   04.25.2007   no virus found
BitDefender      7.2      04.25.2007   no virus found
CAT-QuickHeal      9.00      04.25.2007   no virus found
ClamAV         devel-20070416   04.25.2007   no virus found
DrWeb         4.33      04.25.2007   no virus found
eSafe         7.0.15.0   04.25.2007   no virus found
eTrust-Vet      30.7.3594   04.25.2007   no virus found
Ewido         4.0      04.25.2007   no virus found
FileAdvisor      1      04.25.2007   no virus found
Fortinet      2.85.0.0   04.25.2007   suspicious
F-Prot         4.3.2.48   04.24.2007   no virus found
F-Secure      6.70.13030.0   04.25.2007   no virus found
Ikarus         T3.1.1.5   04.25.2007   no virus found
Kaspersky      4.0.2.24   04.25.2007   no virus found
McAfee         5017      04.25.2007   no virus found
Microsoft      1.2405      04.25.2007   no virus found
NOD32v2         2218      04.25.2007   probably unknown NewHeur_PE virus
Norman         5.80.02      04.25.2007   no virus found
Panda         9.0.0.4      04.25.2007   no virus found
Prevx1         V2      04.25.2007   no virus found
Sophos         4.16.0      04.23.2007   no virus found
Sunbelt         2.2.907.0   04.19.2007   no virus found
Symantec      10      04.25.2007   no virus found
TheHacker      6.1.6.088   04.09.2007   no virus found
VBA32         3.11.4      04.25.2007   no virus found
VirusBuster      4.3.7:9      04.25.2007   no virus found
Webwasher-Gateway   6.0.1      04.25.2007   Virus.Win32.FileInfector.gen!90 (suspicious)
Chris
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#5
  Alt 25. Apr 2007, 19:05
Kann man hinzugefügte Eigenschaften auch wieder löschen?

Sonst siehts gut aus

Zu den Icons: die on GlyFx sind glaube ich umsonst, vll. geht das ja mit denen ... Lizenz kenn ich jetzt grad nit ..
  Mit Zitat antworten Zitat
CCRDude
 
#6
  Alt 25. Apr 2007, 19:30
Wow... NOD32 und NewHeur_PE... das ist der ACHTE False Positive (von NOD32) innerhalb der letzten vier Monate über Code aus meiner Feder... ich hab kein NOD32 mehr drauf, deswegen kann ich das jetzt nicht prüfen, aber das passiert denen ständig.

Beispiele gefällig?
Code:
ca. 2006-12-21    SDUpdate.exe
ca. 2007-01-24    inet100.bpl (na gut, Borlands, nicht unser ;) )
ca. 2007-01-13    RunAlyzer.exe
ca. 2007-03-14    internal tool 1
ca. 2007-03-14    internal tool 2
ca. 2007-03-14    internal tool 3
ca. 2007-03-31    UpdateIUSSettings.exe
ca. 2007-04-25    CollectionTemplater.zip
Ich war echt lange ein NOD32-Fan, aber wenn es mir fast wöchentlich bei der Arbeit nen F/P um die Ohren haut, irgendwann wurds einfach nervig Ich werd das aber meinen Kontakten bei Eset mal mitteilen, die nennen mich schon nen ständigen Jammerer.
Dummerweise haben die Projekte nichtmal wirklich viel miteinander zu tun - gerade die internen Tools könnten unterschiedlicher nicht sein.

Re Icons: naja, GlyFX hat keine hoch/runter/plus-Pfeilchen leider. Die haben zwar einige "freie" hier aufgelistet, aber nichts, was ich im entferntesten mit Hoch/Runter/Plus/Compiler in Verbindung bringen würde.
Hab hier im Forum auch irgendwo ne Liste mit anderen Seiten für kostenlose Icons gesehen gehabt, nur brauch ich da etwas Ruhe, um durchzublättern.

Re Entfernen: wer Fehler macht verliert Quatsch, das fehlt tatsächlich, kommt dann morgen nach oder so
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

 
Delphi 2006 Enterprise
 
#7
  Alt 26. Apr 2007, 12:43
Ich bin eigentlich auch Nod32-Fan. Naja, ein Fehlalarm bringt mich nicht zur Deinstallation...

Zu den Icons: [HIER] gibt es richtig schöne, die man auch (wenn nicht kommerziell verwendet) weitergeben darf. Vor allem die "iCandy"-Icons sind der Knaller

Viele Grüße,
Chris

Edit: Wenn du so viele "false positives" hast - Vielleicht hast du bei allen einen bestimmten WinAPI-Aufruf drinnen? Oder haben die Programme nichts miteinander gemeinsam?
Vielleicht kompiliert sich da ja ein bislang unbekannter Virus immer automatisch mit *verschwörungstheorie*

Naja, ich bin das Risiko mal eingegangen und hab's trotzdem getestet. Es gefällt mir sehr gut. Nur das Entfernen von Variablen fehlt noch
  Mit Zitat antworten Zitat
CCRDude
 
#8
  Alt 26. Apr 2007, 12:56
Wenns nicht monatelang täglich bei der Benutzung wichtiger interner Tools Warnungen gegeben hätte, wär ich vielleicht auch dabei geblieben Das 0.2.1er Archiv scheint übrigens keine Probleme mehr zu haben mit NOD32, wieso auch immer.
Und Gemeinsamkeiten hab ich echt schon ohne Ende gesucht, TVirtualStringTree kommt häufig vor, aber das ist ja nun wirklich kein Malware-Kriterium (wobei das jetzt in der 0.2.1er ausschlaggebend gewesen sein könnte ). Indy nicht ganz so häufig, das hätte ich eher in Verdacht, aber auch ein testweises Umstellen auf Synapse brachte mal nichts. Ich benutze eine gepatchte Delphi-RTL, damit meine Delphi-Anwendungen Win95-kompatibel sind, aber da die Patches von mir selber stammen, weiß ich daß der Rechner sauber ist. Und da Malware-Jagd mein Beruf ist, bin ich mir eigentlich auch sehr sicher, daß die Verschwörungstheorie erst ab dem 23ten F/P greifen würde...

Die Icons sehen allerdings recht gut aus

Etwas spät für sofort: siehe neuer Link oben... hab erstmal freie GlyFX-Icons untergebracht und der Simplifizierung halber die Abhängigkeit von TVirtualStringTree gelöst (war für Features, die jetzt eh geschickter gelöst sind).

Hab damit in etwa alles soweit, muss mir nur noch überlegen, obs nun die GPL-, LGPL-, MPL-, FreeBSD- oder Tralala-Lizenz sein soll, ich verdränge die Unterschiede immer sehr schnell nachdem ich da mal wieder durchlesen musste

Ach ja, hab hier im Forum auch mal kurz nach dem Stichwort Delphi Wizard gesucht, scheint ja nicht so komplex zu sein, allerdings ist meine Delphi-IDE selbst jungfräulich auf frischen Systemen schon immer so unstabil, daß ich mir das gerade nicht antun wollte

edit: arg! Da hab ich das Kontextmenü mit dem TVirtualStringTree verknüpft gehabt, jenes dann rausgeworfen, und es nicht wieder an das TListView gehängt

edit #2: bei deinem Icon-Link steht leider auf der Hilfe-Seite:
Zitat:
(Icon licensing is only available for commercial use (for payment). Please don't send emails asking to use the icons on web sites, in software etc. for free).
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

 
Delphi 7 Enterprise
 
#9
  Alt 26. Apr 2007, 13:02
schaltet bei NOD32 die advanced Heuristik ab und schon habt ihr keine Meldung.
André
  Mit Zitat antworten Zitat
CCRDude
 
#10
  Alt 26. Apr 2007, 13:05
Als jemand der täglich mit meist "nagelneuer" Malware arbeitet, werde ich garantiert nicht hingehen und eine ja eigentlich - wenn ordentlich funktionierend - sehr wichtige Funktion einer AV-Soft deaktivieren

Und den teilweise etlichen Millionen Kunden, die dadurch verschreckt werden könnten, bringt das auch nicht wirklich was, wer da einen Virus angezeigt bekommt, fragt doch nur selten noch beim Hersteller nach, sondern löscht das erstmal schnell und traut dem nicht mehr.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:01 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