Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Syntaxhighlighting mit SynEdit für Python nicht komplett (https://www.delphipraxis.net/184636-syntaxhighlighting-mit-synedit-fuer-python-nicht-komplett.html)

hedie 11. Apr 2015 01:48


Syntaxhighlighting mit SynEdit für Python nicht komplett
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen

Ich möchte in meiner Anwendung dem Benutzer eine möglichkeit geben, Code, in meinem Fall Python einzugeben.
Dazu habe ich mit SynEdit installiert (Delphi XE6)

Nun habe ich mir ein SynEdit auf das Formular gezogen, den PythonHighlighter und die beiden verknüpft.
Ich musste noch etwas an den Farben schrauben...


Als Beispiel, habe ich mir diesen Code genommen:
http://code.activestate.com/recipes/...-highlighting/

Ich bin mir nicht sicher, wie "richtig" gehighlighteter Python code aussihet.
Aber in etwa so wie im Link sollte es passen.

Bei mir sieht es wie im Anhang aus.
Es Fehler Wörter wie z.b. "Try" oder "return" etc...

#### EDIT #####

Ich habe nun im Package die Datei SynHighlighterPython.pas geöffnet.
Dort gibt es folgenden Bereich:

Delphi-Quellcode:
  // List of keywords
  KEYWORDCOUNT = 29;
  KEYWORDS: array [1..KEYWORDCOUNT] of UnicodeString =
    (
    'and',
    'assert',
    'break',
    'class',
    'continue',
    'def',
    'del',
    'elif',
    'else',
    'except',
    'exec',
    'finally',
    'for',
    'from',
    'global',
    'if',
    'import',
    'in',
    'is',
    'lambda',
    'not',
    'or',
    'pass',
    'print',
    'raise',
    'return',
    'try',
    'while',
    'yield'
    );
Offensichtlich existieren meine Wörter "try" "return" etc.. bereits.
Ich habe mal das wort "def" welches ja erkannt wird, in der Liste auf "defi" geändert und neu compiliert.
Siehe da, SynEdit markiert mir wie gewünscht "def" nicht mehr dafür aber "defi".
Nun stellt sich mir die frage, weshalb "try" und all die anderen wörter NICHT markiert werden
obschon diese in der Liste sind.

Hat jemand eine Idee?

Bis und mit "exec" gehts noch. "finally" und all die nachfolgenden gehen nicht mehr!

Danke schonmal!


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 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