mikrocontroller.net

Forum: PC-Programmierung Formelzeichen im Memo darstellen


Autor: Anja Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anja Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Anja Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Andreas Mühling (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anja Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.