Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: C# und .NET ::  Syntax Highlighting nach eigener Definition     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Chiller
Mitglied

Benutzerprofil
Anmeldungsdatum: 04.09.2011
Beiträge: 65
Beitrag Chiller Mitglied 13:23:01 28.01.2012   Titel:   Syntax Highlighting nach eigener Definition            Zitieren

Moin moin
Ich schreibe gerade an einem Programm, welches Wellenformen als Hex-File exportieren kann.
Da man je nach Anwendung ein anderes Format (Header, Zeilenaufbau, etc.) braucht, möchte ich dem Benutzer die Möglichkeit geben, seine eigene Definition zu machen.

Damit der Benutzer sieht ob er Fehler macht, möchte ich einen Syntax Highlighting machen, welches drei verschiedene Datensorten akzeptiert:
  • Text "Das ist ein Text"
  • Zahlen 22, 0x16
  • Keywords : Irgendwelche Zeichenfolgen (Nur Buchstaben und Zahlen)
Jeder Wert muss mit einem + von den anderen Werten getrennt sein, es dürfen nicht zwei Werte zwischen einem + geschrieben werden.

Beispiel:
"Text" + Keyword + 22 + 0xF4 + Fehler + "Text" 22

Hier würde Fehler und "Text" 22 Rot unterstrichen, da es Fehler sind. Die anderen Textteilen würden dann in den entsprechenden Farben geschrieben.

Ich habe bereits vorhandene Syntax Highlightings angeschaut, aber diese sind leider alle nur für Code...
Ich wäre sehr froh wenn mir da jemand helfen könnte.

Grüsse
Chiller
Firefighter
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.03.2007
Beiträge: 2820
Beitrag Firefighter Mitglied 13:28:46 28.01.2012   Titel:              Zitieren

Moeglicher Weise hilft dir das hier weiter:
http://www.dreamincode.net/forums/topic/57072-syntax-highlight-in-c%23/

_________________
Mein Blog
Clean-Code-Developer
Wie man richtig Fragen stellt
Chiller
Mitglied

Benutzerprofil
Anmeldungsdatum: 04.09.2011
Beiträge: 65
Beitrag Chiller Mitglied 13:43:38 28.01.2012   Titel:              Zitieren

Danke.
Mit dem kann ich schon mal nach Schlüsselwörter suchen, aber...
Wie kann ich dann die korrekte Formatierung prüfen? Das wird ja das eigentlich schwierige am Ganzen.

Z.B. sollen Pluszeichen welche in einem Textteil sind nicht als Trennzeichen verwendet werden.

Weisst du wie das z.B. im Visual Studio gelöst wurde, dass die Formatierung sauber läuft?
Gibt es da einen Algorythmus?

Grüsse
Chiller
dot
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.05.2004
Beiträge: 3858
Beitrag dot Mitglied 13:50:33 28.01.2012   Titel:              Zitieren

http://msdn.microsoft.com/en-us/library/bb166441.aspx
hf ;)

_________________
one point of view will never reveal the entire scene.
Firefighter
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.03.2007
Beiträge: 2820
Beitrag Firefighter Mitglied 13:51:18 28.01.2012   Titel:              Zitieren

Naja das was in Visual Studio passiert sind ja zwei unterschiedliche Dinge. Einmal hast du einen Syntaxhighlighter welcher dir Stumpf deine Keywords markiert und du brauchst einen On-The-Fly Parser der den Text ueberprueft. So solltest du das auch in deinem Programm trennen.
Algorithmen gibt es dafuer keine vorgefertigten, das musst du dir leider selbst schreiben.

_________________
Mein Blog
Clean-Code-Developer
Wie man richtig Fragen stellt
Chiller
Mitglied

Benutzerprofil
Anmeldungsdatum: 04.09.2011
Beiträge: 65
Beitrag Chiller Mitglied 14:12:45 28.01.2012   Titel:              Zitieren

@dot:
So weit ich das verstanden habe ist die SDK eigentlich dazu gedacht, macros für VS zu schreiben. Ich will aber ein Programm schreiben, welches das VS nicht voraussetzt. Wenn ich mich irre, dann korrigiere mich bitte.

@Firefighter:
Stimmt, ist eigentlich logisch, dass das zwei Abläufe sind.

Ich habe mir überlegt, ob es nicht sinnvoll wäre den ganzen Text in Objekte zu unterteilen und alles was zu einem Objekt gemacht wurde, aus dem Text zu entfernen. Diese Objekte würden dann ein paar Infos haben wie: Den Text oder Wert, Startpunkt im Text, Länge im Text,
Durch die Unterteilung in Objekten könnte ich gleich sehen ob es Fehler gibt, da auch Pluszeichen in solche Objekte umgewandelt würden. Falls dann noch etwas im Text übrig bleibt ist es ein Fehler.
Das einfärben würde ich dann anhand der Objekte machen.

Ich weiss noch nicht ob das Funktionieren wird, aber bis jetzt sehe ich noch kein Problem. :rolleyes:

Grüsse
Chiller
dot
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.05.2004
Beiträge: 3858
Beitrag dot Mitglied 15:04:05 28.01.2012   Titel:              Zitieren

Oh sry, ich dachte du wolltest Syntaxhighlighting für eine eigene Sprache in VS einbauen...

_________________
one point of view will never reveal the entire scene.
C/C++ Forum :: C# und .NET ::  Syntax Highlighting nach eigener Definition   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.