Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   HTML-Editor (https://www.delphipraxis.net/17913-html-editor.html)

Nico1 11. Mär 2004 19:11

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!

fkerber 11. Mär 2004 19:30

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

Nico1 11. Mär 2004 19:33

Re: HTML-Editor
 
synedit versteh ich nich t;) . .. ist sehr kompliziert die Komponenten .... *NIXAUSKENN*

fkerber 11. Mär 2004 19:38

Re: HTML-Editor
 
Hi!

Im Forum gibt es einige interessante Beiträge zu Hier im Forum suchenSynedit.
Klar, kann man damit viel machen, aber man muss ja nicht alles nutzen :wink:

Ciao fkerber

yankee 11. Mär 2004 19:39

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:
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;
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.

Dann könnte ich auch nach dem Erstellen einer neuen Datei diese procedure automatisch ausführen.

fkerber 11. Mär 2004 19:55

Re: HTML-Editor
 
Hi!

Dieser Code stammt ursprünglich von Swissdelphicenter.ch, wurde etwas optimiert von mir:

Delphi-Quellcode:
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;
Ich denke, dein Ansatz geht so auf dauer nicht.
Kannst dir ja mal den Codeschnipsel anschauen.

Ciao fkerber

yankee 11. Mär 2004 21:06

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

fkerber 11. Mär 2004 21:11

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

Nico1 12. Mär 2004 16:31

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.
Seite 2 von 2     12   

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