![]() |
Delphi-Version: 5
Synedit editieren
Hi zusammen
Folgender Code soll mir daGrundgerüst für eine HTML-Seite liefern:
Delphi-Quellcode:
Das klappt einwandfrei. Schwieriger wirds seltsamerweise(?), wenn ich dann Code schreiben will, der mir zusätzlichen Text aus der Zwischenablage einfügen soll. meine Absicht: Ich klicke auf das Synedit dahin, wo ich den Text aus der Zwischenablage haben will, füge da allerdings erst HTML-Absatztags ein, zwischen denen dann der eigentliche Text eingefügt werden soll.
procedure TMainPage.BtnNewHtmlPageClick(Sender: TObject);
begin Self.SynEdiHTML.Text := '<!DOCTYPE HTML>'+ sLineBreak + ' '+ sLineBreak + '<html>'+ sLineBreak + ' <head>'+ sLineBreak + ' <title></title>'+ sLineBreak + ' </head>'+ sLineBreak + ' '+ sLineBreak + '<body>'+ sLineBreak + '</body>'+ sLineBreak + '</html>'; end; Da ich verschiedentlich Sachen ausprobieren musste, entspricht der folgende Code nicht wirklich dem, was ich haben will, doch er scheint schonmal syntaktisch richtig - mit einem kleinen Wermutstropfen: er gibt nichts aus.
Delphi-Quellcode:
Mangels Dokumentation zum Synedit hab ich Onkel Google befragt, und der gab mir dann irgendwann auch
procedure TMainPage.BtnAbsatzClick(Sender: TObject);
var X :String; begin X := IntToStr(SynEdiHTML.CaretX); SynEdiHTML.Lines[SynEdiHTML.CaretX].Insert(SynEdiHTML.CaretX, ' <p>' + '</p>'); // sLinebreak + // X + // sLinebreak + end; ![]()
Delphi-Quellcode:
1: SynEdit.SelText:='Test';
Klar, das wird funktionieren. Aber ich denke nicht, dass das die feine englische Art ist. Es sei denn, Text aus der Zwischenablage soll gleich auch markiert werden. An die Verwendung von "add" anstelle von "Insert" hab ich gar nicht gedacht, da damit normalerweise Text angehängt und nicht eingefügt wird. Wieso funktionert hier "insert" nicht wirklich? Gruss Delbor |
AW: Synedit editieren
Zitat:
Um Text an der momentanen Position des Carets einzufügen ist eine Zuweisung an SelText wirklich die beste Methode, soweit SelCount (oder war das SelLength?) = 0 ist. |
AW: Synedit editieren
Hi peterbelow
Vielen Dank für die Antwort! Ich habs dann doch mal getestet, und ja... Es ist lange her, seit ich mal mit dem Memo oder dem Richedit gearbeitet habe. Ansonsten verwende ich eigentlich nur die Methoden von TStrings - daher auch mein Versuch mit Insert.
Delphi-Quellcode:
Gruss
procedure TMainPage.BtnAbsatzClick(Sender: TObject);
var X :Integer; begin SynEdiHTML.SelText := ' <p>' + sLinebreak + // X + sLinebreak + '</p>'; end; Delbor |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz