Pas2JS: TWListBox.Items sind nicht richtig formatiert

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 596
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von Niesi »

Wie ich es auch drehe und wende (ich habe einiges versucht), die Strings in der TWListBox werden nicht korrekt dargestellt. Oder habe ich etwas übersehen?

Code: Alles auswählen

                txt_Z := Format(fmt1, [my_zZ]);
                txt_P := Format(fmt1, [my_zP]);
                txt_H := Format(fmt2, [my_zH]);
                txt_i := Format(fmt3, [1 - my_zH / my_zZ]);
                MyMemo.Lines.Add(txt_z + txt_P + txt_H + txt_i);
                MyListBox.Items.Add(txt_z + txt_P + txt_H + txt_i);  
Links ist TWListBox, rechts ein TWMemo, in welchem es korrekt dargestellt wird.

Bildschirmfoto vom 2024-01-09 10-24-30.png
Bildschirmfoto vom 2024-01-09 10-24-30.png (54.18 KiB) 4946 mal betrachtet
Ich denke, es ist ein Bug, oder :?:
Zuletzt geändert von Niesi am Di 9. Jan 2024, 11:30, insgesamt 1-mal geändert.
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
theo
Beiträge: 10920
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von theo »

Habe keine Ahnung von Pas2js, aber das sieht für mich nach HTML aus, welches nur ein normales Leerzeichen umsetzt.
Du kannst mal mit   ausprobieren, ob das stimmt.
https://www.html-seminar.de/html-leerzeichen.htm

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 596
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von Niesi »

theo hat geschrieben: Di 9. Jan 2024, 11:05 Habe keine Ahnung von Pas2js, aber das sieht für mich nach HTML aus, welches nur ein normales Leerzeichen umsetzt.
Du kannst mal mit   ausprobieren, ob das stimmt.
https://www.html-seminar.de/html-leerzeichen.htm
Danke für Deine Antwort, Theo.

Ich sehe das auch so, dass in der WListBox die Leerzeichen weggelassen werden - aber wie? Letztendlich ist die function TWMemo.Lines.Add dieselbe wie TWListBox.Items.Add, da Lines und Items beide TStrings sind. Dann ist doch auch die function Add identisch, denke ich.

Wie könnte ich das &nbsp da "reinschmuggeln"? Da habe ich gerade keine Idee ... :oops:
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

icho2099
Beiträge: 48
Registriert: Fr 21. Feb 2020, 19:17
OS, Lazarus, FPC: Win10/64
CPU-Target: 64 Bit
Wohnort: Osterholz-Scharmbeck

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von icho2099 »

mit StringReplace((txt_z + txt_P + txt_H + txt_i), ' ', '&nbsp', rfReplaceAll)

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 596
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von Niesi »

icho2099 hat geschrieben: Di 9. Jan 2024, 11:37 mit StringReplace((txt_z + txt_P + txt_H + txt_i), ' ', '&nbsp', rfReplaceAll)
Nee, so einfach ist das leider nicht. Etwas ähnliches hatte ich versucht, Deine Lösung macht dann das da:

Bildschirmfoto vom 2024-01-09 11-43-58.png
Bildschirmfoto vom 2024-01-09 11-43-58.png (55.66 KiB) 4917 mal betrachtet

Code: Alles auswählen

                txt_Z := Format(fmt1, [my_zZ]);
                txt_P := Format(fmt1, [my_zP]);
                txt_H := Format(fmt2, [my_zH]);
                txt_i := Format(fmt3, [1 - my_zH / my_zZ]);
                txt_all := StringReplace((txt_Z + txt_P + txt_H + txt_i), ' ', '&nbsp', [rfReplaceAll]);
                MyMemo.Lines.Add(txt_all);
                MyListBox.Items.Add(txt_all);     

Das ist meiner Meinung nach auch das korrekte Verhalten von Pascal - da melde nachher ich mal einen Bug ...

P.S.: Interessant ist auch, dass sich TWListbox im Browser einfach breiter macht und TWMemo nicht ...

Noch mal Edit: Ist falsch, beide sind gleich breit ... :mrgreen:
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
theo
Beiträge: 10920
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von theo »

Das Semikolon am Ende gehört zum Code (Entität) dazu, wie ich oben geschrieben hatte.

 

Ohne dieses geht es sicher nicht - Mit vielleicht auch nicht. :wink:

Sprechen wir eigentlich davon: https://github.com/pascaldragon/Pas2JS_Widget ?
Schreibt doch bitte jeweils hin, wovon ihr sprecht. Das kennen ja nicht alle.
Ist wohl im Alpha Stadium.
Vielleicht kann PascalDragon etwas dazu sagen.

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 596
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von Niesi »

theo hat geschrieben: Di 9. Jan 2024, 11:56 Das Semikolon am Ende gehört zum Code (Entität) dazu, wie ich oben geschrieben hatte.

 

Ohne dieses geht es sicher nicht - Mit vielleicht auch nicht. :wink:

Sprechen wir eigentlich davon: https://github.com/pascaldragon/Pas2JS_Widget ?
Schreibt doch bitte jeweils hin, wovon ihr sprecht. Das kennen ja nicht alle.
Ist wohl im Alpha Stadium.
Vielleicht kann PascalDragon etwas dazu sagen.


Da kommt der Text dann mit ';' in die ListBox und ins Memo.

Die Pas2JS habe ich mit FpcUpDeLuxe installiert. Und wenn ich so in die Units schaue, dann werden da die Namen Mattias Gaertner, Hélio S. Ribeiro und Anderson J. Gado da Silva genannt.

Ich habe mitbekommen, dass es wohl zwei gleichnamige (irre Idee) Projekte gibt. Aber wer was gemacht hat, das weiß ich nicht ...
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
theo
Beiträge: 10920
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von theo »

Niesi hat geschrieben: Di 9. Jan 2024, 12:38 Die Pas2JS habe ich mit FpcUpDeLuxe installiert. Und wenn ich so in die Units schaue, dann werden da die Namen Mattias Gaertner, Hélio S. Ribeiro und Anderson J. Gado da Silva genannt.

Ich habe mitbekommen, dass es wohl zwei gleichnamige (irre Idee) Projekte gibt. Aber wer was gemacht hat, das weiß ich nicht ...
Das nennt man "Fork".
Am "Original" wurde seit 6 Jahren nichts mehr gemacht und am Fork seit 3 Jahren.

Als reiner "Dummie" Anwender würde ich darauf nicht bauen, aber wenn du es weiterentwickeln möchtest, könntest du es wiederum "forken" :wink: oder dich bei pascaldragon als Mitarbeiter empfehlen.

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 596
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von Niesi »

theo hat geschrieben: Di 9. Jan 2024, 12:52
Niesi hat geschrieben: Di 9. Jan 2024, 12:38 Die Pas2JS habe ich mit FpcUpDeLuxe installiert. Und wenn ich so in die Units schaue, dann werden da die Namen Mattias Gaertner, Hélio S. Ribeiro und Anderson J. Gado da Silva genannt.

Ich habe mitbekommen, dass es wohl zwei gleichnamige (irre Idee) Projekte gibt. Aber wer was gemacht hat, das weiß ich nicht ...
Das nennt man "Fork".
Am "Original" wurde seit 6 Jahren nichts mehr gemacht und am Fork seit 3 Jahren.

Als reiner "Dummie" Anwender würde ich darauf nicht bauen, aber wenn du es weiterentwickeln möchtest, könntest du es wiederum "forken" :wink: oder dich bei pascaldragon als Mitarbeiter empfehlen.
Wenn ich die Zeit hätte, dann würde ich glatt mit entwickeln - habe ich aber (noch) nicht.

Du meinst, es ist besser, Web Apps mit Delphi zu entwickeln?
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
theo
Beiträge: 10920
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von theo »

Niesi hat geschrieben: Di 9. Jan 2024, 12:59 Du meinst, es ist besser, Web Apps mit Delphi zu entwickeln?
Ich habe keine Ahnung vom aktuellen Delphi.
Persönlich sehe ich einfach keinen Grund, warum ich überhaupt eine andere Sprache als JavaScript dazwischen schalten und mich einschränken sollte (Vllt. noch TypeScript).
Am Ende kommt ja doch JS/HTML/CSS für den Browser raus und die ganze LCL/VCL Logik darauf abzubilden, ist ohnehin schwierig und einengend.
Es gibt JS-Frameworks etc. Eines davon ist z.B. Vue.js
Hier kannst du z.B gleich online in den Editor reintippen und schauen, was daraus wird z.B.: https://vuejs.org/examples/#grid

Es gibt aber zig andere Tools und noch viel mehr Meinungen dazu. Kannst ja mal googlen, ich bin da auch nicht auf dem Laufenden.

Mathias
Beiträge: 6955
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von Mathias »

Als reiner "Dummie" Anwender würde ich darauf nicht bauen, aber wenn du es weiterentwickeln möchtest, könntest du es wiederum "forken" :wink: oder dich bei pascaldragon als Mitarbeiter empfehlen.
Von so veralteten Komponenten würde ich auch die Finger lassen.

So wie es mir bekannt ist, wird schon von HTML recht viele Komponenten zur Verfügung gestellt.
Den Klassiker wie den Button habe ich auch schon verwendet. Das Klick-Ereignis hat man da schnell ausgewertet.

Auch ein Image habe ich sichtbar gemacht.

Klar wäre mit WCL schnell ein Fenster zusammengeklickt.
Aber einen WebGL-Context habe ich nicht hingekriegt.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 10920
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von theo »

Mathias hat geschrieben: Di 9. Jan 2024, 14:15 Von so veralteten Komponenten würde ich auch die Finger lassen.
Du benutzt den Begriff "veraltet" zwar häufig, aber falsch.
Veraltet ist, wenn eine Technologie hoffnungslos überholt ist (z.B. Glühbirne).
Pas2JS_Widget ist nicht veraltet, aber sieht etwas verlassen aus, wobei 3 Jahre nicht die Ewigkeit sind. Es wurde jedenfalls nicht mehr weiter entwickelt.

Ich mag das Wort "veraltet" sowieso nicht. Was soll das sein?
Pascal hat gut 50 Jahre auf dem Buckel. Ist es "veraltet?".
Das ist so Wort von "Trendsettern", die etwas Neues vermarkten wollen.

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 596
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von Niesi »

theo hat geschrieben: Di 9. Jan 2024, 13:25
Niesi hat geschrieben: Di 9. Jan 2024, 12:59 Du meinst, es ist besser, Web Apps mit Delphi zu entwickeln?
Ich habe keine Ahnung vom aktuellen Delphi.
Persönlich sehe ich einfach keinen Grund, warum ich überhaupt eine andere Sprache als JavaScript dazwischen schalten und mich einschränken sollte (Vllt. noch TypeScript).
Am Ende kommt ja doch JS/HTML/CSS für den Browser raus und die ganze LCL/VCL Logik darauf abzubilden, ist ohnehin schwierig und einengend.
Es gibt JS-Frameworks etc. Eines davon ist z.B. Vue.js
Hier kannst du z.B gleich online in den Editor reintippen und schauen, was daraus wird z.B.: https://vuejs.org/examples/#grid

Es gibt aber zig andere Tools und noch viel mehr Meinungen dazu. Kannst ja mal googlen, ich bin da auch nicht auf dem Laufenden.

Das ist ganz einfach: die bisher entwickelten Units möchte ich nach Möglichkeit auch im Web verwenden. Ich habe über mehrere Jahre sehr viel zur Berechnung von Getrieberadsätzen entwickelt und möchte das auch weiter verfolgen. Und ich möchte einige einfache Anwendungen im Web zur Verfügung stellen. Das jetzt in Java noch einmal zu machen - nee, da habe ich keine große Lust zu.

Insgesamt bin ich mit dem Kram schon einigermaßen zufrieden, aber es mangelt tatsächlich an Informationen ...
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
theo
Beiträge: 10920
Registriert: Mo 11. Sep 2006, 19:01

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von theo »

Niesi hat geschrieben: Di 9. Jan 2024, 15:32 Das ist ganz einfach: die bisher entwickelten Units möchte ich nach Möglichkeit auch im Web verwenden. Ich habe über mehrere Jahre sehr viel zur Berechnung von Getrieberadsätzen entwickelt und möchte das auch weiter verfolgen. Und ich möchte einige einfache Anwendungen im Web zur Verfügung stellen. Das jetzt in Java noch einmal zu machen - nee, da habe ich keine große Lust zu.

Insgesamt bin ich mit dem Kram schon einigermaßen zufrieden, aber es mangelt tatsächlich an Informationen ...
Ich würde zwischen UI und "Berechnungscode" unterscheiden.
Ich nehme an, dass du mit Pas2JS deinen "Berechnungscode" nach JS übersetzen kannst.
Den kannst du wahrscheinlich auch in einer anderen JS-Umgebung gebrauchen, mit welcher du das UI erstellst.

Ich will dir übrigens Pas2JS_Widget nicht ausreden, ich denke nur, dass du da selber aktiv werden musst um die Probleme zu beheben.

P.S. Java <> JavaScript.

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 596
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: Pas2JS: TWListBox.Items sind nicht richtig formatiert

Beitrag von Niesi »

theo hat geschrieben: Di 9. Jan 2024, 15:47
Niesi hat geschrieben: Di 9. Jan 2024, 15:32 Das ist ganz einfach: die bisher entwickelten Units möchte ich nach Möglichkeit auch im Web verwenden. Ich habe über mehrere Jahre sehr viel zur Berechnung von Getrieberadsätzen entwickelt und möchte das auch weiter verfolgen. Und ich möchte einige einfache Anwendungen im Web zur Verfügung stellen. Das jetzt in Java noch einmal zu machen - nee, da habe ich keine große Lust zu.

Insgesamt bin ich mit dem Kram schon einigermaßen zufrieden, aber es mangelt tatsächlich an Informationen ...
Ich würde zwischen UI und "Berechnungscode" unterscheiden.
Ich nehme an, dass du mit Pas2JS deinen "Berechnungscode" nach JS übersetzen kannst.
Den kannst du wahrscheinlich auch in einer anderen JS-Umgebung gebrauchen, mit welcher du das UI erstellst.

Ich will dir übrigens Pas2JS_Widget nicht ausreden, ich denke nur, dass du da selber aktiv werden musst um die Probleme zu beheben.

P.S. Java <> JavaScript.

Das mit dem Java <> JavaScript wusste ich, ich habe mich auch mal in Java versucht. :mrgreen:
Und dass ich evtl. selbst aktiv werden muss habe ich schon in der Befürchtung. Aber dazu brauche ich noch etwas Einarbeitung und einige Infos. Und ich hoffe, dass ich hier im Forum auch welche bekommen kann. Mal sehen ... :?
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Antworten