Forum: PC-Programmierung Formelzeichen im Memo darstellen


von Anja Eckert (Gast)


Lesenswert?

Hallo,

ich möchte gern Formelzeichen wie den Allquantor, Teilmenge, Element,
nicht Element ect, zum einen im TMemo darstellen und zum anderen auch
im TMemo während der Laufzeit eingeben können.

Hat jemand eine Ahnung, wie ich das anstellen kann? Ich möchte mir ein
Lernprogramm schreiben, das sehr viel Mathematische Definitionen
abfragt.

Es muß nicht das TMemo sein, wichtig ist, dass ich es im Fenster zur
Laufzeit sichtbar machen kann, und dass ich zur Laufzeit diese
Formelzeichen und natürlich anderen Text editieren kann. Hinterher muß
ich diesen Text noch mit einem vorhandenen vergleichen können. D.h. ich
muß auch wissen, wie ich diese Formelzeichen im String darstellen und
vergleichen kann.

Vielen Dank Anja

von Rufus T. Firefly (Gast)


Lesenswert?

Dein "TMemo" muss in der Lage sein, einen Unicode-Zeichensatz
darzustellen - und Du musst eine ausreichend vollständig belegte
*Unicode*-Schriftart verwenden.

Welche Schriftart sich eignet, kannst Du selbst mit dem mit WIndows
mitgelieferten Programm "charmap.exe" herausfinden.

Hilfreich ist es dann, ein Häkchen vor "Erweiterte Ansicht" zu setzen
und unter "Gruppieren nach" den Eintrag "Unicode-Unterbereich"
auswählen.
Im jetzt erscheinenden Fenster "Unicode-Unterbereich" kannst Du dann
beispielsweise "Mathematische Operatoren" aussuchen ...

Wichtig ist halt, daß Du Unicode (einen 16-Bit-Zeichensatz) anstelle
von ANSI verwendest.

von Anja Eckert (Gast)


Lesenswert?

Hallo Rufus,

wo finde ich denn diese "Erweiterte Ansicht" und "Gruppieren
nach"?
Das sind eigenschaften, von denen ich noch gar nichts weiß. Sie sind
mir auch noch nicht über den weg gelaufen.

Die Schriftart habe ich bereits ausgewählt.

Vielen Dank für Deine Hilfe.

Anja

von Anja Eckert (Gast)


Lesenswert?

Hallo Rufus,

ich habe diese Angaben gefunden. Ich hatte gedacht, ich müsse im
borland builder suchen, und nicht in der charmap.


Ich kann zwar im TMemo in Lines sichtbar diese Zeichen einfügen, aber
ausgegeben wird nur ein Fragezeichen. Was muß ich tun, um das richtige
Zeichen zu sehen?

Ich habe die Schriftart Arial Unicode MS ausgewählt, so wie in der
Charmap. Gibt es noch eine Einstellung, die ich vornehmen muß?

Vielen Dank

Anja

von Rufus T. Firefly (Gast)


Lesenswert?

Du musst Deinem TMemo beibringen, mit Unicode zu arbeiten; auch Dein
gesamtes Programm muss das tun.
Wie man das mit Borland-Werkzeugen macht, entzieht sich jedoch meiner
Kenntnis.
Da wirst Du wohl etwas Borland-Dokumentation wälzen müssen; viel
Erfolg.

Die Verwendung von Unicode impliziert, daß ein einzelnes Zeichen im
Speicher zwei Bytes (eben 16 Bit) belegt; daher sind auch Strings
doppelt so lang und Textdateien doppelt so groß.

Der windows-eigene Texteditor "notepad.exe" kann übrigens
Unicode-Textdateien erzeugen und anzeigen (dazu bei "Speichern unter"
mal die unterste im Speichern-Dialog angezeigte Option "Codierung"
näher betrachten).

von Andreas Mühling (Gast)


Lesenswert?

Ich tippe jetzt mal wild (Delphi ist schon ein Weilchen her...), dass
das mit einem TMemo nicht geht.

Vorschlag 1): Suche nach einer Ersatz Komponente (z.B. bei Torrys), die
Unicode darstellen kann.

Vorschlag 2): Vergiss Delphi und nimm Java, da ist Unicode
Unterstützung ein Kinderspiel.

Vorschlag 3): Gehe einen ganz anderen Weg. Du könntest z.B. ein RTFEdit
nehmen und die ganzen Symbole als kleine Bildchen einfügen, die du dann
natürlich noch malen müsstest.

Vorschlag 4): Versuche es mit einem normalen Windows Zeichensatz und
generiere selbst einen, der die passenden Zeichen enthält - keine
Ahnung wie kompliziert das ist, aber ich denke es müsste machbar sein.
Gibt bestimmt Programme dafür.

von Anja Eckert (Gast)


Lesenswert?

Hallo,

vielen Dank für Deine Hilfe.

Also, ich benutze nicht Delphi, sondern C++, aber das Problem mit den
Komponenten ist das gleiche. Ich habe im Internet Komponenten gefunden
die Unicode unterstützen und für beide, Borland Builder C++ und Borland
Delphi nutzbar ist.
Falls mal jemand diese Frage liest, hier die WebSite:

http://www.tntware.com/delphicontrols/unicode/downloads.htm

Hat eine Weile gedauert, bis ich diese gefunden habe, und nochmal recht
lange, bis ich sie installiert hatte.

Man kann auch in den Quellcode sehen. Diese Komponenten sind von den
Borland Komponenten abgeleitet und an ein paar Stellen geändert, aber
wie sie das gemacht haben, darauf wäre ich nie gekommen.

Ich habe mir jetzt lauter Buttons erstellt, die alle Zeichen als
Caption haben, und mit einem Klick auf diesen Button wird das Zeichen
in das gewünschte Memo übernommen. Das klappt jetzt super.

Übrigens, mir wurde es schon geraten, auf Java umzusteigen, nur war das
Programm bereits zu diesem Zeitpunkt zu umfangreich, so dass ich einfach
die Arbeit scheute.

Viele Grüße

Anja

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.