|
|
|
|
Code Maker |
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
|
|
Code Maker |
|
Mein neuestes Werk
Seit einem Jahr arbeite ich jetzt an dem Projekt, einen
Code Generator zu bauen, der mir ermöglicht Klassen und
Templates zu planen, und ohne großen Aufwand in ein paar Dialoge
zu zimmern. Im November letzten Jahres hatte ich auch dann
ein kleines Framework dafür gebastelt, welches ich noch
mal im Frühjahr überarbeitete, das Ergebnis davon war Class Maker,
der schon mal das Erstellen einzelner Klassen testete.
Da Code Maker aber ein ganz anderes GUI Framework benutzt (SDI statt Dialoge),
war es immer mal wieder ein wenig Kniffelei bis alles funktionierte.
Nun ist es soweit, das ich es auf die Menschheit loslassen kann
Momentan kann man nur C++ Dateien damit generieren, welches
sich aber ändern wird, da ich bis Herbst auch PHP und Java supporten möchte.
Evtl. kommen später noch PHP5, DELPHI und C# hinzu.
Code Maker
Zum Schluss noch ein Screenshot:
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
06.09.2004 21:18 |
|
|
[DS]-=Pencil=-
Senior Member
Dabei seit: 20.09.2002
Beiträge: 446
Herkunft: Berlin
|
|
Eine Beispielprojekt wäre schön (so als HTML), das man sehen kann wie man was bedient
Hope You Help
__________________ [DS]-=Pencil=-
---------------------------
Eleminate the Enemy | Staatsfeind
Destroy Facism
www.rtcw-prison.net - www.darksoldiers.de
----------------------------
|
|
06.09.2004 22:16 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
Zitat: |
Original von [DS]-=Pencil=-
Eine Beispielprojekt wäre schön (so als HTML), das man sehen kann wie man was bedient
Hope You Help
|
Werd aufjedenfall noch ne Hilfe schreiben, und evtl. auch n kleines Tut.
Devil
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
06.09.2004 22:19 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
So hab jetzt mal ne Readme Datei geschrieben.
Und mal ne Kurzanleitung:
Per Rechtsklick kannst man neue Klassen oder Templates
einfügen, welche dann auch in dem jeweiligen Zweig
erscheinen. Wenn man auf den Klassennamen doppeltklickt,
kann man einstellungen zur Klasse vornehmen, ob sie
abgeleitet ist, und von welcher Parentklasse sie abgeleitet
werden soll. Auch kann man hier Headerdateien spezifizieren,
die eingebunden werden sollen. Gleichzeitig besteht die Möglichkeit,
die Klasse zu kommentieren.
In der Funktionsansicht (doppelklick Funktionen), ist es möglich neue Funktionen
hinzu zufügen, und wenn man diese in der ListBox auswählt, kann man
Quellcode für den Body eingeben, oder an den Übergabe Parametern
rumspielen.
Bei der Ansicht zu den Variablen ist es dann fast genauso, anklicken, dadurch
kann man dann den Namen direkt eingeben, oder Haken setzen.
Kurze Überblick über die Möglichkeiten:
static - Variable ist static.
const - Variable ist const.
friend - Variable ist ein friend der klasse.
get - es wird eine Get-Methode für die Variable generiert
set - es wird eine Set-Methode für die Variable generiert.
Bei den Funktionen gibts dann noch:
virtual - Funktion ist virtual.
()const - die Funktion kann von einer const MyKlass variable aufgerufen werden.
inline - Funktion wird als inline Deklariert.
Devil
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
09.09.2004 20:47 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
So, gibt ne neue Version, hab leider nur wenig Zeit zum Coden...
Ich hab jetzt primär mich um die PHP Unterstützung gekümmert,
und das Tool kann jetzt auch Klassen nach PHP parsen, wobei
das nicht ganz einfach war, da PHP ja einwenig laxer mit den
Typen umgeht, so das einiges jetzt natürlich in PHP keinen
sinn macht, aber extra noch mal ne komplette GUI dafür zu schreiben,
das wäre Oversize...
Geplant ist für die nächste Zeit aufjedenfall noch die Unterstützung
von Java, evtl. auch der 1.5 Version, da diese auch Templates kann
Code Maker
mfg.
Devil
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
20.10.2004 20:55 |
|
|
HeaD
Hoffnungsloser Sozialfall in Behandlung bei Styx
Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama
|
|
Klingt interessant für mich, ich werds mir mal saugen und zu Gemüte führen
__________________
|
|
21.10.2004 00:40 |
|
|
Misel
Hüter des Kitkat
Dabei seit: 02.11.2002
Beiträge: 1.203
Herkunft: live://home.berlin.d
e
|
|
sieht interessant aus devil, gerade, wo ich dieses Semester C++ habe. ABER: Das sieht so Windowsig aus. Hast Du das auch für Linux?
__________________ LAUFT! Ich spiele KILLERSPIELE!
|
|
21.10.2004 19:54 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
Zitat: |
Original von Misel
sieht interessant aus devil, gerade, wo ich dieses Semester C++ habe. ABER: Das sieht so Windowsig aus. Hast Du das auch für Linux?
|
Äh, versuchs mal mit Wine
Leider hab ich es nicht für linux, fehlt mir die Zeit zu :/
Devil
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
21.10.2004 20:02 |
|
|
HeaD
Hoffnungsloser Sozialfall in Behandlung bei Styx
Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama
|
|
Ich hab mal reingeschaut und funktionieren tut alles, nur hab ich im Moment noch keine verwendung dafür, denn, grade in PHP, schreibt ich mir von Hand doch sehr viel schneller eine Funktion
Mal abwarten wie sich das Tool noch entwickelt
__________________
|
|
21.10.2004 20:28 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
So, weil Weihnachten ist gibts ein Update
War viel arbeit, hab den ganzen Parser umschreiben müssen, und
das war, naja, net so schön, viel arbeit. Jetzt
unterstützt das Programm auch Java (C++ und PHP unterstützt es weiterhin).
Da das Programm aber ursprünglich für C++ gedacht war, ist da auch
die Unterstützung am besten...
mfg.
Devil
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
25.12.2004 20:14 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
So gibt ein neues Update.
Hab einige Bugs gefixt, und u.a.
es ermöglicht, das man die Kommentare
für Funktionen direkt editieren kann,
des weiteren kann man nun Operatoren
oder andere Vorgefertigte Funktionen
in eine Klasse einfügen.
Dies wird die Letzte Version dieses Tools
sein, ich werde danach an einem Nachfolger
arbeiten, der dann als Fernziel hat, UML
zu unterstützen...
Devil
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
21.07.2005 19:57 |
|
|
Misel
Hüter des Kitkat
Dabei seit: 02.11.2002
Beiträge: 1.203
Herkunft: live://home.berlin.d
e
|
|
kleiner Vorschlag zur Güte (dann kommt auch nicht noch so ein Kommentar von mir wie oben
) :
QT 4. Gibt es jetzt auch für Windows in der GPL. Wenn Dein Projekt jedoch nicht unter der GPL stehen soll, kannst Du es nicht verwenden. Aber dafür vielleicht GTK oder wxWidgets?
__________________ LAUFT! Ich spiele KILLERSPIELE!
|
|
02.08.2005 13:18 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
Zitat: |
Original von Misel
kleiner Vorschlag zur Güte (dann kommt auch nicht noch so ein Kommentar von mir wie oben
) :
QT 4. Gibt es jetzt auch für Windows in der GPL. Wenn Dein Projekt jedoch nicht unter der GPL stehen soll, kannst Du es nicht verwenden. Aber dafür vielleicht GTK oder wxWidgets? |
Hm, ja.
Also, es ist so, ich plane gerade den Nachfolger, der wird wohl wxWidgets
als GUI nehmen. Wird allerdings noch was dauern, da ich mal wieder
etwas mehr will. Und erstmal das Backend völlig neu erstelle.
Features die dann neu sein werden:
Man wird Variablen Start Values zu weisen können.
Es wird ein Konstruktor generiert, der die Variablen enthält (optional).
Setter und Getter Methoden werden nicht mehr generiert,
sondern im Programm erzeugt, und man kann sie so zur Laufzeit
schon bearbeiten. Des weiteren wird wohl ein UML Klassendiagramm
noch dazu kommen, aber das ist alles noch weit weg...
Schätze in einem Jahr gibts den ersten Prototypen.
phlox
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
02.08.2005 17:26 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
So, mit den Arbeiten am Nachfolger wurde begonnen,
und damit ergeben sich auch wieder Verbesserungen
des Alten Tools, kurz. Bugfix 1.0 ist da
Ich schreib einfach mal was ich so jetzt noch hinzugefügt bzw.
Korrigiert habe:
Der Templatebereich unterstützt nun friend Funktionen, d.h.
diese werden nun korrekt ausgegeben, mit forward Dekleration.
Einige nicht nennenswerte Fehler wurden behoben, und ein Paar
Hacks eingefügt:
Die Klassen-kommentare stehen jetzt _vor_ der Klasse im Header.
Ermöglicht diesen netten Hack:[cpp]*/ class myclass; /*[/cpp]
Schon kann man Forward Deklerationen einfügen ...
C++ bietet ja auch die Möglichkeit in der *.cpp bei Konstruktoren
Initialisierungslisten anzulegen, welches mein Tool erst in der
Nächsten Generation (die gerade entsteht) generieren können, aber
es gibt da einen kleinen Hack:
Beim letzten Konstruktorargument im namen )
ARENTNAME(copy z.b.
im Copykonstruktor angeben, schon passt dies.
Im Header wird danach gefiltert, so das es nur in die CPP wandert.
Wie gesagt ist ein dirty Hack
Auch kann man nun im namen mit myname=myvalue stanard werte für
Variablen in Funktionsköpfen geben, diese wandern dann nur in den header.
Der Projektname hat nun auch einen Sinn bekommen:
Wenn er nicht "project1" (Standardwert) ist, wird er als Namespace name
erkannt, und jede Klasse wandert dann in den entsprechenden Namespace.
Hier noch mal der Link:
Codemaker
phlox
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
26.08.2005 19:05 |
|
|
|
|
|
|