AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte HTML-Editor
Thema durchsuchen
Ansicht
Themen-Optionen

HTML-Editor

Ein Thema von yankee · begonnen am 11. Mär 2004 · letzter Beitrag vom 12. Mär 2004
Antwort Antwort
Seite 2 von 2     12   
Nico1
(Gast)

n/a Beiträge
 
#1

Re: HTML-Editor

  Alt 11. Mär 2004, 19:11
<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!
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: HTML-Editor

  Alt 11. Mär 2004, 19:30
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
Frederic Kerber
  Mit Zitat antworten Zitat
Nico1
(Gast)

n/a Beiträge
 
#3

Re: HTML-Editor

  Alt 11. Mär 2004, 19:33
synedit versteh ich nich t . .. ist sehr kompliziert die Komponenten .... *NIXAUSKENN*
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: HTML-Editor

  Alt 11. Mär 2004, 19:38
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

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#5

Re: HTML-Editor

  Alt 11. Mär 2004, 19:39
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.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#6

Re: HTML-Editor

  Alt 11. Mär 2004, 19:55
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
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#7

Re: HTML-Editor

  Alt 11. Mär 2004, 21:06
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.
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
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

Re: HTML-Editor

  Alt 11. Mär 2004, 21:11
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
Frederic Kerber
  Mit Zitat antworten Zitat
Nico1
(Gast)

n/a Beiträge
 
#9

Re: HTML-Editor

  Alt 12. Mär 2004, 16:31
also ich danek erstmal SUPER CODE

Ich habs jetzt auch verändert(das man fontstyle einstellen kann)!



Danke und nochmals an yankee : Nettes Programm.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 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