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   
Benutzerbild von yankee
yankee
Registriert seit: 10. Mär 2004
Ich habe einen HTML-Editor geschrieben. Download der Binarys:

HTML-Editor Binarys

Und der Sources:

HTML-Editor (Sources) (rar-Archiv)

Das Programm hebt HTML-Tags hervor und erstellt das Grundgerüst. Ich möchte damit keinen WYSIWYG Editor erstellen, sondern das Gegenteil: Ein Editor, der einfach den Quelltext übersichtlicher darstellt.
Das Grundgerüst wird aus der Datei htmlvorlage.txt erstellt und %css; und %title; werden erkannt und durch einen richtigen Tag eingefügt. Siehe auch Quelltext, der an der Stelle allerdings etwas unübersichtlich ist, da die Formatierung durch zwischenspeichern in einer Textdatei irgendwie verolren gegengen ist.

Kritik erwünscht, ich bin ja schließlich noch am entwickeln.

geplante features:
- einfaches (nicht fett) hervoheben in grün von Werten

Wer Vorschläge hat, am besten direkt auch schreiben wie man es macht.
(Bin noch Newbie)

yankee
 
Nico1
 
#11
  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

 
Delphi XE Professional
 
#12
  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
 
#13
  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

 
Delphi XE Professional
 
#14
  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

 
Lazarus
 
#15
  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

 
Delphi XE Professional
 
#16
  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

 
Lazarus
 
#17
  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

 
Delphi XE Professional
 
#18
  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
 
#19
  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 02:05 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