AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie geht man an einen Formeleditor heran?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie geht man an einen Formeleditor heran?

Ein Thema von Jakob Ullmann · begonnen am 30. Nov 2008 · letzter Beitrag vom 30. Nov 2008
Antwort Antwort
Benutzerbild von Jakob Ullmann
Jakob Ullmann

Registriert seit: 17. Feb 2007
218 Beiträge
 
Lazarus
 
#1

Wie geht man an einen Formeleditor heran?

  Alt 30. Nov 2008, 10:51
Ich mache mir rein aus Interesse momentan Gedanken darüber, wie man einen Formeleditor programmieren könnte. Ich denke mir das so, dass man eine Eingabe macht (und da schien mir eine Eingabe so ähnlich wie LaTeX gut zu parsen):

/{1#2}+root{3#/{1#2}}

zum Beispiel für LaTeX:

\frac{1}{2}+\sqrt[3]{\frac{1}{2}}

Also hab ich mir gedacht, das muss rekursiv gemacht werden. Ich denke da an einen record Term, aber wie sieht das mit den Typen aus? Ich brauche ja size (oder auch nicht, MetaFiles kann ich ja beliebig stretchen), fix (Höhe von Gleichheitszeichen, Bruchstrich, ...), height, width, ... und vor allem ein geparstes Image, Content: TMetaFile. Da bin ich aber auf folgendes Problem gestoßen: Wann soll ich wo dieses MetaFile erstellen und wieder freigeben? Hat jemand sowas schon einmal gemacht? Ich hatte mir mal eine Lösung in C# angesehen, allerdings gibt es die Website anscheinend nicht mehr und die Formeln sahen hinterher grässlich aus, weil on-the-fly gezeichnet wurde, also ein völlig unbrauchbares Konzept.
Jakob
  Mit Zitat antworten Zitat
SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#2

Re: Wie geht man an einen Formeleditor heran?

  Alt 30. Nov 2008, 14:44
Guten Morgen,

Zitat von Jakob Ullmann:
Ich mache mir rein aus Interesse momentan Gedanken darüber, wie man einen Formeleditor programmieren könnte.
Was genau brauchst Du denn da? Willst Du eine graphische Aufbereitung der Formel machen? Oder einfach nur den Inhalt einer solchen \LaTeX-Formel erfassen, um ihn dann ausrechnen zu können.

Für eine graphische Aufbereitung der Formel gehst Du am einfachsten so vor, wie \TeX es auch macht: Du brauchst einen Container, der entweder ein graphisches Element oder mehrere andere Container enthält. Jeder Container hat eine feste Höhe und Breite, wobei sich die Höhe und Breite der übergeordneten Container aus denen der enthaltenen Container ergibt, ggfs zusätzlich zu dem eigenen graphischem Element.

Beispiel: Ein Container für einen Bruch enthält zwei Sub-Container, nämlich oben und unten, und ein graphisches Element, den Querstrich.

Wenn Du jedem Container eine virtuelle Methode Paint() gibts, kannst Du deine Formel relativ einfach auf ein Canvas zeichnen lassen.

Gruß,
SirTwist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz