Seite 1 von 2

Transformatortool Xbase -> Express

Verfasst: Fr, 28. Apr 2006 16:29
von olaf870
Hallo,

ich habe ein Tool, das aus beliebigen Dialogen sauberen Express-Code erzeugt.

Das Tool wird eingelinkt in die App und analysiert Bildschirmmasken. Das Resultat ist - wenn mann Express hat - fehlerfrei compilierbarer Express-Quellcode, der sich einfach in die App einfügen lässt.

Die vom Express-Code erzeugte Maske gleich nicht nur zu 100% der alten ursprünglichen Maske, sondern es bleiben auch alle im analysierten Dialog verwendeten Klassen erhalten. Dito die Datalinks, etc. Obwohl nun also gut lesbarer Express-Code vorliegt, kann trotzdem auch der alte Code einschließlich aller callback-Slots, Methoden, IVars, etc zum Handling von Variablen, Xbaseparts usw. weiterverwendet werden.

Der Änderungsaufwand am alten Code ist so fast Null um das Programm so wie vorher - nur eben mit Express-Code- auf Anhieb und nahtlos zum Laufen zu bringen. Sukessive können dann einzelne Teile angepasst werden, der Umstellungsschock bleibt aus.

Mir hat das Tool bei der Umstellung auf Express gute Dienste geleistet.

Mit diesem Tool kann man auch Dialoge mit Hilfe des Xbase-Formdesigners gestalten und diese anschließend nach Express übersetzen. Dafür scheint es sogar besonders geeignet.

Ist das interessant für jemanden?

Gruß
Olaf870

Verfasst: Fr, 28. Apr 2006 18:50
von Martin Altmann
Hallo Olaf,
ich habe das mal hierher verschoben - passt hier ja besser rein.

Nicht böse sein,
Martin

Verfasst: Fr, 28. Apr 2006 20:25
von Wolfgang Ciriack
Hallo Olaf,
das vom Formdesigner nach eXPress könnte bestimmt in manchen Situationen hilfreich sein. Würde ich mal ausprobieren wollen.

Re: Transformatortool Xbase -> Express

Verfasst: So, 30. Apr 2006 21:35
von Josef
olaf870 hat geschrieben:Hallo,

ich habe ein Tool, das aus beliebigen Dialogen sauberen Express-Code erzeugt.
......................
Ist das interessant für jemanden?

Gruß
Olaf870
Das ist höchst interessant. Wo gibts das ?

Verfasst: Di, 02. Mai 2006 11:57
von Bertram Hansen
Hallo Olaf,

auch ich habe Interesse an diesem Tool.

Verfasst: Di, 09. Mai 2006 11:01
von Rudolf
Hallo Olaf,
würde mich auch sehr interessieren, da speziell komplexe Dialoge sehr zeitaufwendig sind im eXPress++. Wäre Super wenn man das Ding direkt in den Formdesigner einbauen könnte.
Ich habe mir einen Code Generator gebaut, der aus DBASE oder SQL Tabellenstrukturen komplette Bearbeitungsdialoge mit Browser, Bearbeitungsmasken, Suchfunktionen etc. automatisch erstellt. Dazu wäre es die ideale Ergänzung.
Grüsse
Rudolf

Verfasst: Mi, 10. Mai 2006 21:01
von Koverhage
Hallo Olaf,

auch ich habe Interesse an diesem Tool.

Klaus

Verfasst: Mi, 10. Mai 2006 21:09
von olaf870
Hallo,

das Tool ist im Quellcode lieferbar. Lizenzbedingungen: Nur zum eigenen Gebrauch auf einem Rechner.

Wenn sich jemand überzeugen will, ob das Ding denn auch gut arbeitet, so schicke er mir eine schöne komplexe mit Xbase-Pur erstellte (compilierfähige) Maske (einschl. aller callback-blocks). Die in den blocks enthaltenen Funktionen müssen nur soweit aufgelöst sein, wie sie zum Aufbau der Maske ohne Error notwendig sind (Ich linke mit Schalter /FORCE:UNRESOLVED).

Wenn die in Blocks enthaltenen Inhalte aus symbolischen Konstanten erzeugt wurden, sollte auf jeden Fall das entsprechende .ch-file mitgeschickt werden, damit eine Decompilierung bzw. "Rückwärts-Auflösung" erfolgen kann und im Quellcode wieder symbolische Konstanten zu finden sind.

Den vom Tool erstellten Express-Code veröffentliche ich dann hier im Forum und den können wir dann durchdiskutieren.

Wenn das Ding unbesehen gekauft wird, auch gut. Preis VS.

Gruß
Olaf870

Verfasst: Mi, 10. Mai 2006 22:59
von brandelh
olaf870 hat geschrieben:Hallo,

... so schicke er mir eine schöne komplexe mit Xbase-Pur erstellte (compilierfähige) Maske ...
Hallo Olaf,

ich nutze zwar kein eXpress, aber ohne eine eMail Adresse wird dir niemand einen Quellcode senden können. :wink:

Verfasst: Do, 11. Mai 2006 7:21
von Rudolf
Hallo Olaf,
leider arbeite ich ausschliesslich mit eXPress++ und nicht mit dem Form Designer von XBase++, würde ihn erst verwenden, wenn das mit Deinem Tool funtioniert (was ich nicht bezweifle). Warte daher bis jemand anderer das ganze ausprobiert.
Grüsse
Rudolf

Verfasst: Do, 11. Mai 2006 14:33
von olaf870
Ich nutze zwar kein eXpress, ...
Sehr gut, aber wohl nicht mehr lange!
Also her mit dem Xbase-Code, ich zeige, wie übersichtlich Code bei gleicher Funktionalität und ohne weitere Implementierungsarbeiten in Zukunft aussehen könnte.

Gruß
Olaf870

(Mail: olaf870 bei yahoo .de)

Verfasst: Do, 11. Mai 2006 14:56
von Tom
BTW: Ich meine, Roger hat irgendwann mal eine Fassung des Xbase-FormDesigners hergestellt, die eXPress-Code erzeugte. Ich müßte man in seinem WebBoard stöbern.

Verfasst: Fr, 12. Mai 2006 8:36
von Rudolf
so wie es aussieht ist Roger nicht mehr sehr aktiv. Ich befürchte er hat das Interesse an eXPress++ ein wenig verloren. Im Gegensatz zu früher kommen kaum mehr Antworten von ihm in seinem Forum. Da würde ich mich lieber an ein anderes Produkt binden, obwohl die Idee sehr gut ist eXPress++ in den Formdesigner einzubinden, vor allem wenn VX kommt.
Grüsse
Rudolf

Verfasst: Fr, 12. Mai 2006 12:06
von brandelh
olaf870 hat geschrieben:
Ich nutze zwar kein eXpress, ...
Sehr gut, aber wohl nicht mehr lange!
Sorry,

aber ich bleibe bei Xbase++ PUR und komme damit ganz gut zurecht.
Wenn ich überhaupt mal an was anderes denken würde, dann die automatische Generierung eines Fensters aus XML Infos ...

ob das aber jemals geschieht :wink:

Verfasst: Fr, 12. Mai 2006 12:20
von Rudolf
Hallo,
wer einmal mit eXPress++ gearbeitet hat, wird wohl nicht mehr umsteigen wollen (oder auch können). Wenn man sich durch die Unmenge an Möglichkeiten mal durchgearbeitet hat, kann man unheimlich schnell damit zum Ziel kommen. Leider sind Roger's Demos und Samples alles andere als übersichtlich und aussagekräftig. Man muss sich durch viele Codefragmente durcharbeiten und die Hilfe genau durchlesen. Ich kann mir derzeit nicht vorstellen jemals direkt mit XBase++ Dialoge zu erstellen, das ist im Vergleich zu eXPress++ exterm aufwendig und umständlich. Da würde ich eher zu einem anderen Compiler wechseln (z.B. XAILER )
Rudolf

Verfasst: Fr, 12. Mai 2006 13:08
von Tom
Hallo, Rudolf.
Ich befürchte er hat das Interesse an eXPress++ ein wenig verloren.
Das glaube ich nicht. Er ist sehr viel unterwegs zur Zeit, vielleicht macht er im Board den Eindruck, nicht mehr omnipräsent zu sein, weil er sich inzwischen - übrigens auf Anraten vieler Nutzer - nicht mehr auf jede Anfrage stürzt, um eine Codebeispiel vorzubereiten, sondern auch mal abwartet, was die alten eXPress++-Hasen antworten. Für die 1.9er hat er sehr viel Arbeit investiert, und wenn er in letzter Zeit ein bißchen genervt wirkte, dann m.E. vor allem deshalb, weil Alaska die Zeitpläne so verhunzt hat. Natürlich darf man nicht vergessen, daß Roger über sechzig ist. Er hat vor, irgendwann in den nächsten Jahren zu "retiren".

eXPress++ ist ja nicht nur ein Tool, um wesentlich schneller und einfacher Dialoge zu bauen und Clipper-Code zu migrieren. Das ganze ist eine extrem umfassende Bibliothek mit Tonnen an Zusatzfunktionen, einer visuellen DBU, dem kongenialen Dot-Prompt-Interpreter, den man herrlich aus der Applikation heraus zum Debuggen (aber auch, zum Beispiel, zum Ausprobieren ganzer PRGs) nutzen kann - und vielem mehr, zum Beispiel einer Clipper-Style-Drucksteuerung (die ich allerdings nicht mehr nutze). Ohne eXPress++ hätte ich damals meine Versuche aufgegeben, die Applikation nach Xbase++ zu portieren. Der Form-Designer wirkte auf mich immer schon ... lieblos (und kaum nutzbar), von IDE war keine Rede und für objektorientierte Neuprogrammierung war keine Zeit. Mit eXPress++ hat es ganze drei Wochen gedauert, eine erste Windows-Version unserer Applikation zu gestalten.

Ich suche immer noch nach dem eXPress++-FormDesigner und gebe Laut, wenn ich ihn gefunden habe.

Verfasst: Fr, 12. Mai 2006 14:05
von olaf870
Hallo allerseits,

es hat seinen Reiz, im eigenen Garten nach Erdöl zu graben und daraus Super zu destillieren, statt es an der Tankstelle zu holen. Ich verstehe das gut.

Spass beiseite: Wenn die Aktionen, die beim Editieren einer Maske geschehen bzw durch die Slots setinputfocus, killinputfocus ausgelöst werden nicht sehr komplex sind, dann ist Xbase-Pur bzw XppFD schon OK.

So habe auch ich lange gearbeitet und gute Sachen vollbracht: Setzte ich z.B. bei mir den Cursor in ein Datumsfeld, erscheint am rechten Rand des SLEs eine Scrollbar, mit der man im Datum blättern kann, die aber sofort wieder verschwindet, wenn der Cursor das Feld verlässt.

Das fand ich schon recht geil.

Das Gute nach Umstellung auf Express war dann, daß z.B. die Scrollbar weiter erschien aber zusätzlich noch ein Knopf für ein PopUp neben dem Datumseingabefeld mit einer Programmzeile konfigurierbar war, der einen Kalender aufruft und das ausgewählte Datum dann in das SLE ubernimmt.

Und das war dann noch geiler.

Auch andere Sachen funktionierten weiterhin: Das SLE wandelt sich bei getinputfocus() in eine Combobox und nach Verlassen der Combobox steht wieder das SLE mit dem Wert der Comboboxauswahl da.

Dazu kommt: Der Formdesigner produziert nur "normale" SLE´s, die keinerlei Formatierung aufweisen können (z.B PICTURE "@EZ" oder "!!!!"). das nervigste von allem war für mich , diese erzeugten XbpSle´s nach Erzeugung vom XppFD mit eigenen Klassen zu ersetzen (und das nach jeder Änderung mit XppFD neu).

Zudem hat (zumindest hatte, Till hat letztes Jahr mir versprochen, das mal zu ändern) das XbpSle dann auch noch einen Fehler (die IVar :changed bleibt nach :setvar() auf .F. ), so daß nicht einmal die Xbase-Klasse datadlg richtig mit XbpSle zusammenarbeitete.

Express funktioniert perfekt und genauso wie man es von Clipper her kannte. Ideal.

Ich sage nichts Böses über Xbase-Pur: Was würde der (mittlerweile verstorbene) Assemlberprogrammierer von damals sagen, der 600 Befehlszeilen und drei Tagen Arbeit dafür brauchte um einen Buchstaben auf dem Bildschirm blinken zu lassen, wenn dieser sieht, wie einfach das heute mit Xbase-Pur geht. Der käme aus dem Staunen nicht mehr heraus.

Dennoch: Xbase mit Express ist einfach noch besser.

Gruß
Olaf870

Verfasst: Fr, 12. Mai 2006 14:14
von Tom
Xbase mit Express ist einfach noch besser.
Unterschreib =D>

Verfasst: Fr, 12. Mai 2006 15:15
von Rudolf
Hallo,
eXPress++ bietet die optimalen Bedingungen um einen eigenen Fordesigner zu basteln. Das Prinzip mit den Getlists ermöglicht es, zur Laufzeit neue Elemente dazuzugeben sowie bestehende umzukonfigurieren (Position, Grösse etc.) und sofort anzuzeigen. Damit könn man sehr einfach eine Desingern bauen, bzw. den integrierten zu erweitern. Man kann ja jetzt schon eXPress++ Sourcecode zur Laufzeit laden und ausführen. Wäre vielleicht eine Idee für ein gemeinsames Projekt so ein Ding zu bauen. Vor allem könnte man dann sämtliche Features von eXPreess++ reinpacken.
Grüsse
Rudolf

Verfasst: Fr, 12. Mai 2006 16:34
von Miromane
Hallo Olaf,

es wäre sehr hilfreich eine Demoversion Deines Tool rauszugeben um einige Tests damit durchführen zu können. Ich gehe davon aus, dass mir Dein Toll sehr nützlich sein könnte. Ich würde die Demoversion auch gegen eine kleine Gebühr bei Dir bestellen!

Viele Grüße

Miro

Verfasst: Sa, 13. Mai 2006 12:58
von Koverhage
Rudolf,

super Idee, optimal wäre es wenn man das Teil auch nutzen könnte
um auch eine Druckausgabe zu generieren.

Klaus

Verfasst: Sa, 13. Mai 2006 13:24
von Martin Altmann
Hallo Rudolf und Klaus,
bevor Ihr hier jetzt weiter ins Detail geht, wäre es vielleicht passender, dafür einen eigenen Thread zu eröffnen, oder :?:
Dieses Forum ist der Marktplatz - dort sollen eigentlich Nutzer Ihre Produkte (kostenlos oder auch nicht) anbieten können.
Wenn Ihr jetzt selber ein Projekt aus dem Boden stampfen wollt, so ist das sicherlich gut und auch interessant, aber vielleicht hier in dem Thread von Olaf ein wenig deplaziert, oder :?:
Nicht böse sein, aber ich würde einen neuen Thread zu dem Thema in einem anderen Forum (vielleicht erstmal Xbase++) sinnvoller finden und Euch dementsprechend bitten, (z.B.) dort einen solchen Thread zu eröffnen und Eure beiden letzten Postings hier wieder zu löschen - einverstanden?

Vielen Dank und viele Grüße,
Martin

Verfasst: Sa, 13. Mai 2006 13:31
von Koverhage
Hallo Martin,

klar einverstand, Du bist der Chef vom janzen ;-)

Verfasst: Sa, 13. Mai 2006 13:39
von Martin Altmann
Hallo Klaus,
nein, nein, der Chef ist Tom :D
Und es war auch nur meine bescheidene Meinung. Es kann auch gut sein, dass sich Olaf daran gar nicht stört.

Aber vielen Dank für Dein Verständnis :wink:
Martin

Verfasst: Sa, 13. Mai 2006 20:25
von Rudolf
Hallo Martin,
sorry wenn ich gegen irgendwelche Regeln verstossen habe, aber das Thema hat sich in diesem Thread einfach so ergeben. Es sollte auch eine Aufforderung für alle interessierten sein, sich an einem Projekt zu beteiligen. Und das nicht kommerziell, sondern als Open Source Gemeinschaftsprojekt.
Grüsse
Rudolf