Transformatortool Xbase -> Express

Wenn Ihr selbstentwickelte Tools und sonstige eigene Software anzubieten habt ...
Nicht vergessen, ggf. Links zu legen.

Moderator: Moderatoren

olaf870
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 128
Registriert: Mi, 26. Okt 2005 18:41
Wohnort: Berlin
Kontaktdaten:

Transformatortool Xbase -> Express

Beitrag von olaf870 » Fr, 28. Apr 2006 16:29

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

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 14332
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Martin Altmann » Fr, 28. Apr 2006 18:50

Hallo Olaf,
ich habe das mal hierher verschoben - passt hier ja besser rein.

Nicht böse sein,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2392
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Kontaktdaten:

Beitrag von Wolfgang Ciriack » Fr, 28. Apr 2006 20:25

Hallo Olaf,
das vom Formdesigner nach eXPress könnte bestimmt in manchen Situationen hilfreich sein. Würde ich mal ausprobieren wollen.
Viele Grüße
Wolfgang

Josef
UDF-Programmierer
UDF-Programmierer
Beiträge: 86
Registriert: Di, 20. Dez 2005 18:33
Kontaktdaten:

Re: Transformatortool Xbase -> Express

Beitrag von Josef » So, 30. Apr 2006 21:35

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 ?
Ciao und Servus
Sepp

Benutzeravatar
Bertram Hansen
1000 working lines a day
1000 working lines a day
Beiträge: 685
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 53902 Bad Münstereifel
Kontaktdaten:

Beitrag von Bertram Hansen » Di, 02. Mai 2006 11:57

Hallo Olaf,

auch ich habe Interesse an diesem Tool.
:wave:
Gruß Bertram
http://www.tobax.de

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!

Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1386
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf » Di, 09. Mai 2006 11:01

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

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2049
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Beitrag von Koverhage » Mi, 10. Mai 2006 21:01

Hallo Olaf,

auch ich habe Interesse an diesem Tool.

Klaus

olaf870
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 128
Registriert: Mi, 26. Okt 2005 18:41
Wohnort: Berlin
Kontaktdaten:

Beitrag von olaf870 » Mi, 10. Mai 2006 21:09

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

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14372
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Beitrag von brandelh » Mi, 10. Mai 2006 22:59

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:
Gruß
Hubert

Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1386
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf » Do, 11. Mai 2006 7:21

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

olaf870
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 128
Registriert: Mi, 26. Okt 2005 18:41
Wohnort: Berlin
Kontaktdaten:

Beitrag von olaf870 » Do, 11. Mai 2006 14:33

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)

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7131
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Beitrag von Tom » Do, 11. Mai 2006 14:56

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.
Herzlich,
Tom

Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1386
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf » Fr, 12. Mai 2006 8:36

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

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14372
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Beitrag von brandelh » Fr, 12. Mai 2006 12:06

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:
Zuletzt geändert von brandelh am Fr, 12. Mai 2006 12:46, insgesamt 1-mal geändert.
Gruß
Hubert

Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1386
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf » Fr, 12. Mai 2006 12:20

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

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7131
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Beitrag von Tom » Fr, 12. Mai 2006 13:08

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.
Herzlich,
Tom

olaf870
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 128
Registriert: Mi, 26. Okt 2005 18:41
Wohnort: Berlin
Kontaktdaten:

Beitrag von olaf870 » Fr, 12. Mai 2006 14:05

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

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7131
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Beitrag von Tom » Fr, 12. Mai 2006 14:14

Xbase mit Express ist einfach noch besser.
Unterschreib =D>
Herzlich,
Tom

Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1386
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf » Fr, 12. Mai 2006 15:15

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

Miromane

Beitrag von Miromane » Fr, 12. Mai 2006 16:34

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

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2049
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Beitrag von Koverhage » Sa, 13. Mai 2006 12:58

Rudolf,

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

Klaus

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 14332
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Martin Altmann » Sa, 13. Mai 2006 13:24

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
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2049
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Beitrag von Koverhage » Sa, 13. Mai 2006 13:31

Hallo Martin,

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

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 14332
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Martin Altmann » Sa, 13. Mai 2006 13:39

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
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1386
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf » Sa, 13. Mai 2006 20:25

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

Antworten