Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Synedit und Proposal => Wie machen das andere??? (https://www.delphipraxis.net/33454-synedit-und-proposal-%3D-wie-machen-das-andere.html)

torud 7. Nov 2004 14:02


Synedit und Proposal => Wie machen das andere???
 
Hallo Leute!

Ich versuche seit längerem in meinem CSS-Editor eine Funktionalität zu implementieren, die dem User es ermöglicht nach Strg+Space aus einer List mit Syntaxvorschlägen auszuwählen. Dies ist bei Synedit mit der Proposal-Komponente z.Teil möglich.

Nun ist das aber irgendwie nicht so ganz das, wie ich es gern hätte.

Nehmen wir folgenden ZielCode an, den der User erreichen will:

Code:
body {background-color:aqua;}
Body muss er selbst eingeben. Auch die Klammern. Aber wenn der dann zwischen den Klammern ist und die besagt Tastaturkombi ausführt sollte im als erstes in der Liste BackGround-Color vorgeschlgen werden. Wenn er es gewähl hat, sollte der Doppelpunkt automatisch gesetzt werden. Bis hierhin bin ich schon gekommen.

Wenn nun aber der Shortcut nach dem Doppelpunkt ausgeführt wird, und da fängt für mich schon die Problematik an, da ich nicht wiess, wie ich rausbekommen kann, was "links" oder "oberhalb" des Cursors los ist, gedrückt wird, sollten sich in der Liste alle gültigen Farbeigenschaften befinden. Diese Liste zu erstellen ist kein Problem. Ich weiss nur nicht, wir ich sie erstens zuweise und zweitens wie ich rausbekommen, "wo" ich mich im Code befinde.

Jemand eine Idee???

lorenz 9. Nov 2004 12:50

Re: Synedit und Proposal => Wie machen das andere???
 
Hallo Tom!

Probier' doch folgendes:

Von der aktuellen Cursorposition immer erst das vorstehende, dann das zweite vorstehende ... Zeichen auslesen.

Wenn das Zeichen '{' oder ' ' oder ';' ist, hörst du auf, sonst schreibst du es in einen String (natürlich vorne, nicht hinten).

Wenn dieser String jetzt 'background-color:' ist, dann löscht du die Zeilen der Proposal-Komponente und schreibst Deine Farben hinein (mit abschließendem ';') usw.

Wenn der Benutzer gewählt hat, schreibst Du wieder die Formatierungen in die Zeilen der Proposal-Komponente.

Ich hoffe, das hilft.

Man liest sich,

Lorenz


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