Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   UNIT-HEADER-EXPERTE (https://www.delphipraxis.net/93978-unit-header-experte.html)

Ghostwalker 14. Jun 2007 07:32


UNIT-HEADER-EXPERTE
 
Liste der Anhänge anzeigen (Anzahl: 2)
Eine sehr leidige Angelegenheit für Entwickler (insbesondere im Open-Source-Bereich) sind die Unit-Headers. Das Editieren und Erstellen im Sourceeditor ist nicht wirklich komfortabel, und
früher oder später sind sie veraltet.

Nach langen Überlegungen und einigem tüffteln hab ich mich entschieden, den Vorschlag mit den Templates aufzugreifen.

Ich habe das Projekt in 3 Teile gegliedert:

Teil 1: Ein einfacher Template-Editor
Teil 2: Einstellungen
Teil 3: Der Experte an und für sich.

Der Editor für die Templates ist soweit gediegen, das ich ihn hier in einer ersten Version mal
Vorstellen kann. Eine Hilfedatei ist ebenfalls im Archiv vorhanden. Damit läßt sich schon mal
absehen wie so ein Template aussieht und welche Möglichkeiten sich damit bieten. Der Editor selbst wird
zusätzlich noch in den Experten mit integriert, so das schnell Änderungen an einem Template innerhalb der IDE möglich sind.

Ghostwalker 15. Jun 2007 04:17

Re: UNIT-HEADER-EXPERTE
 
Kein Interresse ? :gruebel: :gruebel:

RavenIV 15. Jun 2007 07:47

Re: UNIT-HEADER-EXPERTE
 
Zitat:

Zitat von Ghostwalker
Kein Interresse ? :gruebel: :gruebel:

Interesse hätte ich schon, aber

a) gib den Leuten doch ein bisschen Zeit, um den Beitrag auch zu finden / lesen.
b) mach die Integration in die IDE fertig und dann werd ich mir das anschauen.

Luckie 15. Jun 2007 08:44

Re: UNIT-HEADER-EXPERTE
 
Ist sowas nicht schon bei den GExperts dabei?

SirThornberry 15. Jun 2007 08:53

Re: UNIT-HEADER-EXPERTE
 
was mir auffällt:
- die Dateidialog (speichern/öffnen habe keine extension)
- bei "Bearbeiten->Generate by load" und auswählen einer Datei erscheint "ungültiger Eigenschaftswert".
- Ich weiß überhaupt nicht wie das ganze funktioniert, ich sehe ein Feld wo ich Text eingeben kann aber wie irgendwas funktioniert weiß ich nicht. Eine Hilfe/Anleitung wäre da sehr hilfreich, oder du gestaltest das ganze so das man sofort weiß was da passiert/passieren soll.
- wenn ich auf "Edit and Generate" klicke und anschließend mit "Abbrechen" den Dialog schließe wird trotzdem was im Textbereich geändert. Wenn ich abbrechen klicke gehe ich eigentlich davon aus das nichts gemacht wird.

So wie es im Moment ist stellt es für mich einfach nur ein Eingabefeld dar wo ich was tippen kann, mehr nicht. Somit hat es überhaupt keinen nutzen.

CCRDude 15. Jun 2007 09:22

Re: UNIT-HEADER-EXPERTE
 
Ich benutze eigentlich auch ein GExperts-Template, hatte mir das hier aber einfach mal runtergeladen. Nur: kein Screenshot hier für nen ersten Eindruck, außer einer exe nichts im Archiv...

Ich fänd allerdings auch die IDE-Integration das wichtigste. Außerhalb kann sich sowas doch jeder in 7 3/4 Minuten zusammenschustern ;)

Ghostwalker 15. Jun 2007 17:35

Re: UNIT-HEADER-EXPERTE
 
:duck:

Ok, das Testprogramm ist in der Tat etwas roh :)

Es kann sein, das das durchaus in de Gexperts mit drinn ist (zumindest in ähnlicher Form), allerdings sind da einige Erweiterungen die ich persönlich nie brauche (und auch in absehbarer Zeit nicht brauchen werde), weshalb ich sie auch nicht nutze :)

Was die Integration in die IDE betrifft:

Da ist nich viel drann. Ein Menüpunkt (mit 2-3 Unterpunkten) + Hotkey für den Editor.

Ich will erstmal die "Core"-Funktionen fertigstellen, und dazu brauch ich erstmal die IDE nicht, was die Entwicklung sehr vereinfacht. Ich denke auch für euch ist es einfacher die Exe auszuführen, als bei jedem neuen Stand das Plugin zu installieren :)

Ein neuer Stand (mit besserer Beschreibung :) ) wird morgen folgen.

Ghostwalker 16. Jun 2007 04:42

Re: UNIT-HEADER-EXPERTE
 
Wie angedroht..eine etwas verbesserte Version :) (siehe 1. Post)

Ghostwalker 16. Jun 2007 10:18

Re: UNIT-HEADER-EXPERTE
 
und noch mehr
Jetzt können auch Delphi-Sourcen geladen werden (UNITS) und der Header
entsprechend erzeugt werden.

Außerdem hab ich eine Autoinc-Option für eigene Versionen eingebaut.

CCRDude 16. Jun 2007 10:27

Re: UNIT-HEADER-EXPERTE
 
Also ich sag's mal vorsichtig so: wirklich intuitiv ist das noch nicht ;)
Vor allem das Bearbeiten-Menü: dort sind "irgendwie" jeweils zwei Aktionen zusammengefasst. Als nachdenklicher Mensch überlege ich zuerst, wie ich denn einen neuen Header anlegen kann - die dritte Option bietet kein Speichern, die erste kein Bearbeiten. Erst nachdem ich auf dumm hingegangen bin und die erste Option mit einem Fantasynamen verwendet habe, ging es vorwärts (warum speichern hinten in der Aufzählung steht, dann aber zuerst passiert, weiß ich auch nicht).

Desweiteren hatte ich zuerst eine Datei mit bestehenden "Fremd-"Header geöffnet, da ist scheinbar - ohne jede Rückmeldung - überhaupt nichts passiert.

Zum Header selber, das Du da ein festes Format, das nur in Kleinigkeiten anpassbar ist, vorschreibst, würde das für mich ebenfalls sofort unbrauchbar machen. Ich würde stattdessen etwa eine HeaderTemplate.txt empfehlen, in der Du Templates wie <$AUTHOR> einfach ersetzt. So könnte jeder Benutzer den Header auf das Zeichen genau so kreiren, wie er es sonst auch tut (Sachen wie füllende * lassen sich auch über Steuerwörter regeln).

Ghostwalker 16. Jun 2007 10:41

Re: UNIT-HEADER-EXPERTE
 
Was die Bedienung betrifft:

Es ist lediglich ein "Test und Entwicklungsframework". Will heißen, sobald alle Optionen/Daten drinn sind und das generieren/laden/speichern funktioniert, wird das alles in die IDE integriert :)


Template-Idee:

Jo, das ist sicher ne gute Idee. Allerdings ist damit keine Zeichengenau formatierung möglich, da
die Breite und Höhe des Headers ja wesentlich von den Daten abhängig ist, die erst eingebaut werden. Um
das in einem Template zu realisieren müssten dann zusätzlich auch noch Formatierungs-Befehle eingebaut
werden. Trotzdem werd ich die Idee mal im Hinterkopf behalten :)

[Edit vom zweitenmal durchlesen]

Zitat:

Zum Header selber, das Du da ein festes Format, das nur in Kleinigkeiten anpassbar ist, vorschreibst, würde das für mich ebenfalls sofort unbrauchbar machen.
Öhm...Hä ? Das einzige, das wirklich fix ist, sind die 1. und die letzte Zeile ('(*&','&*)'). Alles
andere kannst du einstellen wie du lustig bist. Das "nur" die Datenfelder (Datum, Autor usw.) vorhanden sind, ist klar. Ich kann nur etwas einbringen was ich kenne (wär bei der Templatevariante nicht anders).

Ghostwalker 26. Jun 2007 09:38

Re: UNIT-HEADER-EXPERTE
 
Ich hab im Text des 1. Postings noch ein paar ergänzende Worte eingefügt, die hoffentlich den Sinn etwas näher erklären :)

Derzeitiger Stand:

Derzeit arbeite ich an der Integration in die IDE.

CCRDude 26. Jun 2007 09:54

Re: UNIT-HEADER-EXPERTE
 
Sorry, ich seh das zweite Edit erst jetzt ;)

Schau mal in meine pkWinINet.pas, als Beispiel für einen Header, wie ich den verwende. Der Autorenname etwa kommt zweimal vor! Einmal im JavaDoc-kompatiblen Header, einmal in meinem Hausinternen. Da kommt der Autor zweimal vor, und ich habe unterschiedliche Rahmen- und Trennzeichen. Alles etwa in den JavaDoc-Teil zu packen, ist nicht wirklich praktisch, da nicht alle Informationen auch in der Dokumentation erscheinen müssen/sollen. Lässt sich das Format der einleitenden und abschließenden JavaDoc-Zeile überhaupt mit Deinem Mechanismus generieren?

Hier ein Beispiel (allerdings nicht global, sondern nur für eine bestimmte Art von Unit, die ich automatisch erzeuge, halt), wie ich sowas selber mal in ein Template verpackt habe.

Ghostwalker 26. Jun 2007 12:41

Re: UNIT-HEADER-EXPERTE
 
So in der Art noch nicht. Ehrlich gesagt hab ich so einen Header auch noch nie gesehen (also..doppelter Header quasi).

Die Sache mit den Dok-Headern ist aber eine interresante Erweiterung. Mal sehen was ich da tun kann. :)

Ghostwalker 27. Jun 2007 09:51

Re: UNIT-HEADER-EXPERTE
 
Nach langem Hin und Her, zahlreichen Überlegungen, hab ich mich entschieden, den Vorschlag von CCRude aufzugreifen, und das ganze über Templates zu lösen. :oops:

Die ausschlaggebenden Argumente waren dabei die größere Flexibilität und die einfachere Internationalisierung der Header sowie die einfachere Erweiterbarkeit des Systems. :zwinker:

Ghostwalker 30. Jun 2007 12:53

Re: UNIT-HEADER-EXPERTE
 
So, Teil 1 läuft soweit. :) (siehe 1. Posting).


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz