![]() |
Re: HTML-Editor
<okay>
ich hab zuerst okay eingegeben dann vorne "<" und dann hinten ">" das "<" war bold der rest normal! okay... dann sollte es vielleicht noch beim Vortext(body head etc..) sorfort bolden((C) by Nico Müller) ..... ... ... weil es bleibt beim automatsich generierten Text das Bold weg ;) hoffe du hagst mich verstanden ansonsten super Porgramm!!! danke für den Code... ein Teil davon ist höchstinterressant! |
Re: HTML-Editor
Hi!
Ich glaube der Parser ist so aufgebaut, dass er bold auf true setzt, wenn das eingegebene Zeichen = < und bold wieder auf false wenn Zeichen = >. Also geht deine Methode der Eingabe dann nicht. Müsste man dann wohl überarbeiten (--> Synedit verwenden?) Ciao fkerber |
Re: HTML-Editor
synedit versteh ich nich t;) . .. ist sehr kompliziert die Komponenten .... *NIXAUSKENN*
|
Re: HTML-Editor
Hi!
Im Forum gibt es einige interessante Beiträge zu ![]() Klar, kann man damit viel machen, aber man muss ja nicht alles nutzen :wink: Ciao fkerber |
Re: HTML-Editor
Für den Fall, dass du meinst, wie ich den Text manuell Fett drucke, also indem man auf Sonstiges -> HTML-Hevorhebung ausführen drückt, dann, dann mache ich das so:
Delphi-Quellcode:
Mein Problem ist aber, dass dies nur funzt, wenn der Blinker (ähh, also keine Ahnung wie das genau heißt, jedenfalls, das Teil, was immer an der Stelle ist, wo man gerade schreibt) ganz am Anfang der richbox ist. Und jetzt frage ich mich, wie man den "Blinker" automatisch an den Anfang setzen kann.
procedure TForm1.HTMLHervorhebungausfhren1Click(Sender: TObject);
var start,zeichen:integer; begin if richedit1.Lines.Strings[1] <>'' then begin start :=0; Zeichen:=RichEdit1.GetTextLen; repeat richedit1.SelStart :=richedit1.FindText('<',start,1000,[stMatchCase]); richedit1.SelLength :=richedit1.FindText('>',start,1000,[stMatchCase]) -richedit1.SelStart; richedit1.SelAttributes.Style :=[fsbold]; richedit1.SelAttributes.Color :=clblack; inc(start); until start=zeichen end; end; Dann könnte ich auch nach dem Erstellen einer neuen Datei diese procedure automatisch ausführen. |
Re: HTML-Editor
Hi!
Dieser Code stammt ursprünglich von Swissdelphicenter.ch, wurde etwas optimiert von mir:
Delphi-Quellcode:
Ich denke, dein Ansatz geht so auf dauer nicht.
procedure HTMLSyntax(RichEdit: TRichEdit; TextCol, TagCol, DopCol: TColor);
var i, iDop: Integer; s: string; Col: TColor; isTag, isDop: Boolean; begin iDop := 0; isDop := False; isTag := False; Col := TextCol; RichEdit.SetFocus; for i := 0 to Length(RichEdit.Text) do begin RichEdit.SelStart := i; RichEdit.SelLength := 1; s := RichEdit.SelText; if (s = '<')then isTag := True; if isTag then if s = '"' then if not isDop then begin iDop := 1; isDop := True; end else isDop := False; if isTag then if isDop then begin if iDop <> 1 then Col := DopCol; end else Col := TagCol else Col := TextCol; RichEdit.SelAttributes.Color := Col; iDop := 0; if (s = '>') then isTag := False; end; RichEdit.SelLength := 0; end; Kannst dir ja mal den Codeschnipsel anschauen. Ciao fkerber |
Re: HTML-Editor
Ich habe versucht den Quelltext zu verstehen und ihn so umzuschreiben, dass er in mein Programm passt. Nur leider habe ich soviel verändert, dass kaum noch etwas ist wie vorher und ich mich allmählich Frage mie man mit arrays ein Zeichen addressieren kann, wenn man nur die Zeile und die position in der Zeile kennt. :roll:
Also ich schmeiß mich jetzt mal ins Bett, vielleicht peil ich morgen ja mehr... Wer schön, wenn mir noch einer posten könnte, wie man dieses einezlen Zeichen Adressierungsprobelm lösen kann... cu tomorrow yankee |
Re: HTML-Editor
Hi!
Zur Erklärung des Codes: Es wird zeichenweise durch den Code gegangen und geguckt, ob das Zeichen ein Schlüsselzeichen ist. Wenn das erfüllt ist, wird die entsprechende Farbe der Variable Col zugewiesen und zum Schluss wird das Zeichen mit der Farbe eingefärbt. Das mit dem dop steht für doppelt und soll verhindern, dass in Strings die < und > erneut geparst werden. Ciao fkerber |
Re: HTML-Editor
also ich danek erstmal SUPER CODE ;)
Ich habs jetzt auch verändert(das man fontstyle einstellen kann)! Danke und nochmals an yankee : Nettes Programm. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 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