Text Into --> Fehler

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Text Into --> Fehler

Beitrag von ramses »

Hallo

ich verwende die Möglichkeit Texte im Code unterzubringen mit der Anweisung:

Code: Alles auswählen

text into cJSt2 WRAP CRLF TRIMMED
....
endtext
Es kommt immer häufiger vor dass mir der Complier den Fehler "Unterminated String" oder "Newline character detected in string" oder andere zeigt und dabei auf eine Zeile zwischen TEXT und ENDTEXT verweist. Die Textbausteine enthalten nur US-ASCII-Zeichen alle unter chr(127) die max. Zeilenlänge ist unter 140 Zeichen und auch END TEXT usw. sind in den Texten nicht enthalten. Auch die Textlänge ist unterschiedlich. z.b. 100 Zeilen ohne Fehler an anderer Stelle muss ich 100 Zeilen auf 3 Teilabschnitte aufteilen um keinen Fehler zu erhalten.

Im Fehlerfall hilft es die Texte in 2 oder 3 Abschnitte aufzuteilen und dann zusammenzusetzten damit ist der Compiler Fehler beseitigt jedoch ist der Aufbau so mühsam.

Hat jemand eine Ahnung wieso der Compiler Textbausteine untersucht und solche irrtümlichen Fehlermeldungen generiert?

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von brandelh »

könnte einerseits eine Ersetzung mit defines sein oder Schlüsselwörter ... da gibt es einen Schalter der das Parsen abstellen soll ... ich schau mal ob ich das finde
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von brandelh »

wenn es nur Warnungen sind, die wegen der Compiler Einstellung als Fehler gemeldet werden kann man das so unterdrücken, siehe auch #pragma in der Hilfe.

#pragma Info( NODYN ) // No Warning
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von brandelh »

" oder ' oder [ ] gelten als String Begrenzer, ich bin mir nicht sicher ob diese im Text einfach vorkommen dürfen ... Ich arbeite nicht viel mit TEXT ENDTEXT.
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von Tom »

Ärgerlich auch, wenn man mit bestimmten Color-Tags in CSS-Segmenten arbeitet, das knallt auch, obwohl ja eigentlich ALLES zwischen TEXT INTO ... und ENDTEXT als reiner Text interpretiert werden soll. Das hier knallt:

Code: Alles auswählen

TEXT INTO cCss WRAP
...
colors: {
  'data1': tabler.colors["orange"],
  'data2': tabler.colors["blue"]
}
...
ENDTEXT
"Syntax error" und "Unterminated string". :cry:

Als Ressource geht es.
Herzlich,
Tom
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Text Into --> Fehler

Beitrag von ramses »

@Hubert

Danke für die Tips.

Die Zeichen " oder ' oder [ ] kommen natürlich vor. Die Texte sind HTML, CSS oder JavaScript Abschnitte. Damit sind die " ' [] auch immer anführend und abschliessend vorhanden.

Es sind leider keine Warnungen sondern Error's die immer zum Abbruch des Compilerlaufs führen.

Eigentlich dürfte doch der Compiler den Inhalt zwischen "text into" und "endtext" gar nicht bewerten. Oder irre ich mich da??

@Tom

ja genau, kennst du das Problem auch? Was machst du dagegen? Resource möchte ich dazu nicht verwendet. Ich möchte den Server und Clientcode eines Teils zur Vermeidung von Konflikten in der selben PRG Datei haben.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von Martin Altmann »

Aus den Gründen habe ich mich schon vor Urzeiten von dem Konstrukt verabschiedet!

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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von Martin Altmann »

Carlo,
mach es doch einfach so:

Code: Alles auswählen

cCSS := "colors: {" + CRLF
oCCS += "  'data1': tabler.colors[" + '"orange"],' + CRLF
oCCS += "  'data2': tabler.colors[" + '"blue"]' + CRLF
oCCS += "}"
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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von Tom »

Hallo, Carlo.

Wie ich oben schrieb - als Ressource. Ich hatte vorher meine eigenen Ersetzungssequenzen (HK wird durch " ersetzt), aber dann wurde es unlesbar und man konnte es nicht mehr direkt verwenden, außerdem waren Zufälle nicht auszuschließen. Jetzt stecken die Texte in ihren eigenen CSS/JS/HTML-Dateien und werden vom Ressourcencompiler eingebunden. Das funktioniert gut. Wenn ich das Projekt bearbeite, öffne ich die entsprechenden Dateien mit.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von Tom »

Das ist Käse, Martin. Mann will ja diesen Code (CSS/JS/HTML) auch verändern und dann wieder mit C&P ersetzen können.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von brandelh »

Ich sehe nur eine praktikable Methode und das sind eigene kleine TXT Dateien mit dem externen Inhalt die zur Laufzeit geladen werden ...
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von Martin Altmann »

Tom,
wieso sollte das Käse sein? Du kannst doch den Inhalt natürlich ändern und neu compilieren! Das müsstest Du bei der Variante von Carlo natürlich auch!
Wenn Du das nicht willst, dann mach es, wie von Hubert vorgeschlagen.

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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von Tom »

@Hubert: Externe TXT-Dateien sind megagefährlich.

@Martin: Wenn man mit CSS oder JS oder so arbeitet, probiert man den Code anderswo aus, etwa im HTML-Editor, mit Node.JS und/oder anderswo. Und da wäre es sehr hakelig, wenn man ihn immer wieder zerlegen und zusammenfügen müsste, wenn sich was ändert. Deshalb wäre TEXT INTO eigentlich gut, funktioniert aber leider nicht. Mit Ressourcen bin ich da auf der sicheren Seite - ich kann ganze Dokumente einbinden, aber der Benutzer kommt nicht an die Quellen.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von brandelh »

Deine Resourcen sind mit etwas Einarbeitung sicher sicherer, aber an meinen WEB Server komme nur ich ran ;-)
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von Tom »

@Hubert: Wir liefern unsere Server an Endkunden. Sonst wäre mir das auch egal, wo was steckt. Aber hier muss das abgesichert sein, zumal auch ein wenig Intelligenz drinsteckt (JS). Wir haben eine Konfigurationsschnittstelle integriert, über die dann fallweise z.B. CSS-Stile bearbeitet werden können.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von brandelh »

TOM,

klar du als Lieferant von (Standard)software, musst ganz andere Sachen berücksichtigen wie ich, der ich inhouse oder für mich auf meinem Spiel-Web-Server entwickle.
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Text Into --> Fehler

Beitrag von ramses »

Das Konstrukt von Martin habe ich auch schon versucht. Leider gibt es Fälle in denen es schlicht nicht funktioniert weil zuwenige String-Anführungszeichen zur Verfügung stehen bezw. diese alle auch im Inhalt verwendet werden. Zudem ist es wie Tom schreibt sehr umständlich.

Textdateien finde ich auch nicht optimal, wenn schon gleich reguläre CSS oder JS Dateien aber wohin dann mit den HTML Abschnitten.

Weiss Alaska eigentlich von dieser Fehlfunktion in "text into" ?

@Tom nimmst du dann eine Resourcen Datei für alles oder teils du den Inhalt auf verschiedene auf?


Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von Martin Altmann »

Carlo,
ramses hat geschrieben: Mo, 08. Okt 2018 16:37 Das Konstrukt von Martin habe ich auch schon versucht. Leider gibt es Fälle in denen es schlicht nicht funktioniert weil zuwenige String-Anführungszeichen zur Verfügung stehen bezw. diese alle auch im Inhalt verwendet werden.
sorry, aber das ist Unsinn! Es geht immer auf dem von mir skizzierten Weg. Allerdings mag es sehr umständlich sein (wie Du ja selber schon anmerkst).

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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Text Into --> Fehler

Beitrag von ramses »

Hallo Martin

vielleicht hattest du noch keine sochen Fälle: "Unsinn" ist es sicher nicht.

Angenommen du hast einen Ausdruck in welchem die Zeichen " ' [] vorkommen kannst du keines dieser Zeichen als Stringbegrenzer benutzen. Wie willst du dann den Ausdruck einem String zuweisen????? Die Stringbegrenzer sind ja bereits alle im Ausdruck enthalten.

z.B.

Code: Alles auswählen

$("a[href^='http://xxxx.xxx']").each(function(){  ..... 
Klar könnte man den Ausdruck einer Zeile noch in Teilstrings zerlegen und jeweils mit einem darin nicht benutzten AbgrenzungsZeichen abgrenzen. Ich habs auch versucht. Es wird unleserlich fehlerträchtig und ist Unsinnig.......




Gruss Carlo
Zuletzt geändert von ramses am Mo, 08. Okt 2018 17:08, insgesamt 1-mal geändert.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von Martin Altmann »

Carlo,
klar ist deine Aussage Unsinn - und Du skizzierst die Lösung sogar selber. Du musst es in einige Teilstrings zerlegen - alles schon selber gemacht.
Ja, es ist unleserlich und ja, es ist fehleranfällig - aber es ist machbar :!:

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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Text Into --> Fehler

Beitrag von ramses »

Hallo Martin

Meine Aufgezeigte Lösung ist Unsinn:
Angenommen du hast 100 Zeilen JS Code und du musst diese Zeilen alle mehrere Teilabschnitte zerlegen ....
(nur weil der Compiler fehlerhaft arbeitet)
Ich kann mich nur noch Toms Meinung weiter oben Anschliessen. Getestete Abschnitte müssen mit c+p einsetztbar sein.

Nur weil etwas machbar ist kann es auch Unsinnig sein!

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von brandelh »

Wenn die Zeichen im Text vorkommen, kann man doch die HTML codierte Form nutzen oder ?
bei den Feldbegrenzern in CSS / HTML nutze ich immer das gleiche ' oder " und den [] für xbase Strings, wie das mit JS kann ich nicht beurteilen, aber nochmal, ich würde das in die richtigen TXT Dateien (.JS. .CSS etc) auslagern und dann beim Complierlauf diese als Resourcen einbinden, wenn ich es nicht nur meinen eigenen Server betrifft.
Eine andere Möglichkeit wäre es diese Textdateien in eine DBF zu speichern und von dort zu laden. Zur Laufzeit ist das alles nur noch Text.
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Text Into --> Fehler

Beitrag von ramses »

Hallo Hubert

beim erwähnten Text handelt es sich ja um HTML CSS und JS Code an dem anderweitig gefeilt und getestet wurde. Ein Zeile könnte etwa so beginnen:

Code: Alles auswählen

$("a[href^='http://xxxx.xxx']").each(function(){  ..... 
nur schon das müsste in verschiedene Teilstrings aufgeteilt werden. Dies macht nicht nur sehr viel Arbeit es wird auch unleserlich und fehlerträchtig. Das ist im meinen Augen in diesem Fall (Entschuldige Martin) Unsinnig.
Der Text sollte mit C&P eingesetzt werden können ohne weiteres bearbeiten. ....

Ich habe mich mal an den Alaska-Support gewandt. Mal abwarten.

Das Ziel wäre den Client- und zugehörigen Server-Code ohne weitere Abhängigkeiten in der gleichen PRG-Datei unterzubringen. Damit wäre alles was z.B. eine bestimmte Maske benötigt in einer Datei.....

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text Into --> Fehler

Beitrag von brandelh »

Unsere Ratschläge zielen auf eine sofortige mögliche Umgehung des Problems, aber du hast natürlich eindeutig recht, der compliler dürfte die Zeilen zwischen TEXT und ENDTEXT überhaupt nicht untersuchen !

Wie lange das mit der baldigen Verbesserung des Problemes dauert ist eine andere Frage.
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Text Into --> Fehler

Beitrag von ramses »

Ja, Danke Hubert.

Ich wollte eine Lösung finden das Problem zu beseitigen so dass der Compiler, wie du schreibst den Inhalt zwischen Text und Endtext gar nicht bewertet.

Leider sind alle "Umgehungs-Möglichkeiten" mehr oder weniger aufwenig und der Konzept-Punkt alle Abhängigkeiten z.B. einer Maske in einer einzigen Datei zu halten nicht mehr machbar. Der Code muss einheitlich sein, wenn ich von der "text into" Variante abweiche muss ich dies über das ganze Projekt nachholen was einige Arbeit bedeutet dies versuche ich noch immer zu vermeiden.

Falls dies wirklich nicht geht (ich hoffe noch auf Alaska) werden wir irgendwie versuchen zu jeder PRG eine zusätzliche Datei verwenden in welchen wir die verschiedenen Codeabschnitte irgendwie speichern .....

Gruss Carlo
Valar Morghulis

Gruss Carlo
Antworten