Re: RichEdit VS SynEdit
Liste der Anhänge anzeigen (Anzahl: 1)
Kann man bei dem SynEdit eig auch vorne die Zeilennummer anzeigen lassen?
(s. Anhang) |
Re: RichEdit VS SynEdit
Schaust im OI unter Gutter, da ist das drin.
Für SynEdit würd ich Dir empfehlen einfach mal damit rumzuspielen, dadurch findet Du das meiste. |
Re: RichEdit VS SynEdit
Besten Dank! Habs gefunden.
Ja, iwie muss ich das vorhin übersehen haben.. Mal so als Frage, welche Erfahrungen habt Ihr zum Thema "Syntax Highlighting beim RichEdit"? |
Re: RichEdit VS SynEdit
Das ich lieber SynEdit nehme :mrgreen: Aber nun Spass beiseite. Beim SynEdit habe ich die Möglichkeit das Highlighting selber zu definieren über den Highlighter Manager oder die fertigen Highlighter mir so einzustellen, wie ich möchte. Bei einem TRichEdit müsstest Du das alles selber machen.
|
Re: RichEdit VS SynEdit
Und bei großen Mengen wird das im RichEdit auch nicht gerade performant sein.
Das SynEdit ist einfach dafür da. |
Re: RichEdit VS SynEdit
Liste der Anhänge anzeigen (Anzahl: 1)
Taugen die vorgefertigten Highlighter denn was? Ich mein, ich kenn jetzt nicht jede Programmiersprache bzw die Tags etc. Also von daher würde das schon einiges an Arbeit abnehmen.
EDIT: hm der PHP Highlighter taugt iwie so gut wie nichts. Noch weniger! Wie kann ich den manuell bearbeiten? Ich hab mal nen Demo Programm angehängt. Wobei es hier mehr um die Funktion als um die Optik etc geht. Mr Source:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, SynHighlighterPHP, SynHighlighterHtml, SynEditHighlighter, SynHighlighterCSS, SynEdit, SynHighlighterIni, SynHighlighterSQL, SynHighlighterUNIXShellScript, SynHighlighterPython, SynHighlighterPerl, SynHighlighterBat, SynHighlighterXML, SynHighlighterVBScript, SynHighlighterJScript, SynHighlighterCpp, SynHighlighterCS, SynHighlighterVB, SynHighlighterPas, SynHighlighterJava; type TForm1 = class(TForm) SynEdit1: TSynEdit; css: TSynCssSyn; html: TSynHTMLSyn; php: TSynPHPSyn; Button1: TButton; ComboBox1: TComboBox; OpenDialog1: TOpenDialog; Button2: TButton; Button3: TButton; SaveDialog1: TSaveDialog; java: TSynJavaSyn; pas: TSynPasSyn; vb: TSynVBSyn; c: TSynCSSyn; cpp: TSynCppSyn; js: TSynJScriptSyn; vbs: TSynVBScriptSyn; xml: TSynXMLSyn; bat: TSynBatSyn; perl: TSynPerlSyn; python: TSynPythonSyn; unix: TSynUNIXShellScriptSyn; sql: TSynSQLSyn; ini: TSynIniSyn; procedure ComboBox1Change(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ComboBox1Change(Sender: TObject); begin IF ComboBox1.ItemIndex = 0 THEN Synedit1.Highlighter := css; IF ComboBox1.ItemIndex = 1 THEN Synedit1.Highlighter := html; IF ComboBox1.ItemIndex = 2 THEN Synedit1.Highlighter := php; IF ComboBox1.ItemIndex = 3 THEN Synedit1.Highlighter := java; IF ComboBox1.ItemIndex = 4 THEN Synedit1.Highlighter := pas; IF ComboBox1.ItemIndex = 5 THEN Synedit1.Highlighter := vb; IF ComboBox1.ItemIndex = 6 THEN Synedit1.Highlighter := c; IF ComboBox1.ItemIndex = 7 THEN Synedit1.Highlighter := cpp; IF ComboBox1.ItemIndex = 8 THEN Synedit1.Highlighter := js; IF ComboBox1.ItemIndex = 9 THEN Synedit1.Highlighter := vbs; IF ComboBox1.ItemIndex = 10 THEN Synedit1.Highlighter := xml; IF ComboBox1.ItemIndex = 11 THEN Synedit1.Highlighter := bat; IF ComboBox1.ItemIndex = 12 THEN Synedit1.Highlighter := perl; IF ComboBox1.ItemIndex = 13 THEN Synedit1.Highlighter := python; IF ComboBox1.ItemIndex = 14 THEN Synedit1.Highlighter := unix; IF ComboBox1.ItemIndex = 15 THEN Synedit1.Highlighter := sql; IF ComboBox1.ItemIndex = 16 THEN Synedit1.Highlighter := ini; end; procedure TForm1.Button1Click(Sender: TObject); begin IF OpenDialog1.Execute THEN SynEdit1.Lines.LoadFromFile(OpenDialog1.FileName); end; procedure TForm1.Button3Click(Sender: TObject); begin SynEdit1.Lines.SaveToFile(SaveDialog1.FileName); end; procedure TForm1.Button2Click(Sender: TObject); begin close; end; end. |
Re: RichEdit VS SynEdit
Die Highlighter sind alle nicht mehr auf dem Stand der Zeit.
Bearbeiten kannst Du ihn: Entweder komplett neu mit den SynGen machen oder die vorhandene Unit ändern. |
Re: RichEdit VS SynEdit
Zitat:
|
Re: RichEdit VS SynEdit
Zitat:
Delphi-Quellcode:
Erst wähle ich Ini1 aus, das wird auch, wie gewollt, gecheckt/ markiert/ abgehackt, wie auch immer. Dann wähle ich Java1 aus. Wird auch gecheckt/ markiert/ abgehackt allerdings beleibt INI1 dann auch gecheckt. !?
function sprache(sprache: TSynCustomHighlighter; name : TMenuItem) : String;
BEGIN frmEdit.mText.Highlighter := sprache; if not (frmEdit.mText.Highlighter = sprache) then begin name.Checked := false; end else begin name.Checked := true; end; frmEdit.sbStatus.Panels[1].Text := name.Caption; END; procedure TfrmEdit.INI1Click(Sender: TObject); begin sprache(ini, ini1); end; procedure TfrmEdit.Java1Click(Sender: TObject); begin sprache(java, Java1); end; Zitat:
Ist aber auch nur ne "quick % dirty" Demo. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:36 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