Vier D HomeArchivSeminareNachrichten - Twitter4D Expertise
Antworten auf Ihre Fragen •
Datenbank-Pflege •
4D Coaching •
OpenDDDD •
Termine •
4D Expert
V11/V12-Service • Konzepte •
Alternativen •
Meine Apps
Gebrauchtes Mac + iPhone: zu verkaufenFinden Geo-Themen + Projekte GoogleMap-Integration • GeoDDDD • Database Publishing • Database PhotographyVerschiedenes |
9. Mai 2009 Dieser Tage in der NUG:
Ginge es nur um HTML, würde ich mir in der Art behelfen, wie in der Anfrage angekündigt und hier dargestellt: Kombinieren der 4D Sprache mit anderen Sprachenzu drücken. Beispiele: das Terminal läßt sich über LAUNCH EXTERNAL PROCESS einbinden. Das sieht in der einfachen Anfrage "Wo ist das Dock" so aus: Danach, wenn $err_T nichts anderes nahelegt, wird $out_T analysiert. Oder ein AppleScript-Beispiel: Auch hier liefert das Ergebnis Text, der zu analysieren ist. Die V11 bringt SQL mit. Das ist reiner Text. SQL-Syntax codiert im Methoden-Editor ist ein Alptraum: keine Syntax-Einfärbung, keine Syntax-Vervollständigung, keine Fehlermarkierung. Das einzige Plus: Befehle können sich über mehr als eine Zeile erstrecken und enden mit einem Semikolon. Hier als Beispiel die Colorierung von BBEdit und Smultron. Beide erkennen die von 4D gewünschte Int32 nicht. Soweit zum S in SQL, das noch nie Standard bedeutete. Und der SQL92-Standard läßt noch viele Eigenheiten zu. Wie komme ich aus diesem Dilemma heraus? Dreaming of rich text in 4DDer aktuelle 4D Methoden-Editor ist der beste, den wir je hatten. Auf meiner Wunschliste sind nur wenige Punkte:
Es werden immer mehr Sprachen, die in 4D Verwendung finden. Das sind schon lange AppleScript und HTML und seit V11 ist SQL-Code hinzugekommen. Selber habe ich weitere Sprachen vor allem für den Export verwendet, im Besonderen solche die Karten beschreiben wie GEM, CGDef und KML und andere aus der Gruppe Tagged Text wie MIF für FrameMaker und besonders die für Quark Xpress oder Adobe InDesign. Es macht keinen Sinn, diese Art von Textcode im Methoden-Editor von 4D zu schreiben. Stattdessen habe ich zwei Strategien untersucht
Eine Funktion für jede Art Textobject
Ein Beispiel: $result := MG_DrawRect (ID;Xmin;Ymin;Xmax;Ymax). Die Funktion lieferte diesen Textblock:
Ein weiteres Beispiel: $result := HTML_header (3;"Das ist meine Überschrift"). Die Funktion lieferte diesen Textblock: Das funktioniert. Ich hatte bald so viele Methoden, wie es Textobjekte geben könnte. Für jede Methode mußte ich mir einen anderen Satz an Parametern merken. Und die Attributierung von HTML-Statemente wie class, title, id, align, width, … macht diese Arbeitsweise noch mühevoller. Eine Funktion für alle Textobjekte einer Sprache
Inzwischen benutze ich meist eine große Methode, statt vieler einzelner. Gemeinsam ist ihnen die Verwendung dieser 3 Parameter: $1 ist die Nachricht Weder je Textblock eine Methode noch eine Methode für alle Textblöcke sind ein gutes Verfahren, um HTML oder SQL zu erzeugen. Es muß was besseres her. Vor einigen Jahren, mit der Version 6, veröffentlichte David Adams Bücher über 4D and HTML. Eine seiner Empfehlungen war, vorbereitete Texte zu verwenden anstatt HTML im 4D Methoden-Editor einzubauen. Da hat er recht. 4D unterstützt dieses Konzept seit V2004 noch besser. Seit 2004 kann der PROCESS HTML TAGS jederzeit aufgerufen werden – nicht wie vorher nur im Webserver-Kontext – und jede Art von tagged text, die 4D HTML tags enthalten, wird umsetzt. So sollten wir das machen: Textcode in Textfeldern ablegen. Dazu braucht es einen leistungsfähigeren Texteditor als den für 4D Textfelder. Der ist nur zum Aufheben brauchbar, aber zum Code-Schreiben ungeeignet. Wie wäre es mit 4D Write?Ich habe lange versucht 4D Write als HTML-frontend einzusetzen, investierte viel Zeit und entwickelte manche Idee, um 4D Write als einen Rich Text-Editor zu verwenden. Aber das war wenig zufriedenstellend. Die größte Stolperstufe ist 4D Writes Modell der Stilformate. Inzwischen gehe ich davon aus, das 4D Write Stilformate als Macros ansieht, die eine Stilbeschreibung auf den gerade ausgewählten Text anwenden. Danach weiß es nichts mehr vom Stilformat. Das ist wahrscheinlich einer der Gründe für die schwache Leistung im HTML-Export. 4D Write ist also keine Lösung. TräumenBleibt mir nur, vom einem Rich-Text-Editor in 4D zu träumen. Irgendwas in der Art von:
Textmate gehört ebenfalls in diese Liste, besitze ich aber nicht. In der Liste der unterstützen Sprachen listet Smultron sogar Active4D auf! 4D muß das Rad nicht neu erfinden. Alternativ und ähnlich effizient stellte ich mir diese Verfahren vor:
|