Delphi-PRAXiS

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)

yankee 11. Mär 2004 14:11


HTML-Editor
 
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

fkerber 11. Mär 2004 14:15

Re: HTML-Editor
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi!

Bitte noch die Dateigröße angeben ...

Was das Programm angeht: siehe Anhang.
Konnte deshalb leider nich testen.

Was mir noch auffiel, wenn ich in dem "Menü" auf Beenden klicke, geht der Editor auf, finde ich seltsam.


Ciao fkerber

KingofWerlte 11. Mär 2004 14:18

Re: HTML-Editor
 
Helas erstmal! :hi:
Hmm..sieht ganz jut aus das Programm.
Da du noch relativ neu bist: Programme die du mit deinem Sourcecode hier hochlädst sind Open-Source. Die logische Schlussfolgerung: Programme ohne Sourcecode gehören in die Freeware sparte.



Also bis denne und Viva la Raza :-D

---Bernhard--- 11. Mär 2004 14:25

Re: HTML-Editor
 
Zitat:

Zitat von KingofWerlte
Da du noch relativ neu bist: Programme die du mit deinem Sourcecode hier hochlädst sind Open-Source. Die logische Schlussfolgerung: Programme ohne Sourcecode gehören in die Freeware sparte.

Muss dir leider wiedersprechen. Schau doch mal in die Beschreibung der Freeware-Sparte:

Auf der DP-Portalseite steht:

Freeware
Freeware-Programme (mit oder ohne Sourcecode) zum Testen und Diskutieren


MfG

PS: Werde das Programm testen.

fkerber 11. Mär 2004 14:29

Re: HTML-Editor
 
Hi!

Hmm, habe grad gemerkt, dass man auch ohne die vorlage weitermachen kann.
Also folgendes fiel mir auf

:arrow: Während dem Tippen werden <aaa> fett gemacht, der Rest nicht, also :thuimb:
:arrow: wenn ich dann aber im Menü auf die Hervorhebungsfunktion klicke, macht er einfach alles fett :?
:arrow: Klicke ich auf das Hervorheben bei leerem Memo, stürzt er ab.

Ciao fkerber

yankee 11. Mär 2004 14:53

Re: HTML-Editor
 
K, vielen Dank für die schnellen Antworten!

Die Dateigröße von den Binarys ist 195kb
von den Sources 20kb

fkerber, dann hast du dir die Binarys heruntegeladen. Da habe ich wohl vergessen die Datei htmlvorlage.txt hinein zu kopieren. Den Fehler habe ich behoben.

Was das mit dem Fettdruck angeht, hast du recht. Wenn man die Hervorhebung manuell über das Menü ausführt, muss der Cursor ganz am Anfang der richedit sein. Wie kann ich den Cursor mit einem Befehl an den Anfang des Textes setzen?

Den Fehler, dass das Programm abstürtzt, wenn die richedit leer ist und man die HTML-Hervorhebung manuell ausführt, habe ich behoben.

fkerber 11. Mär 2004 14:54

Re: HTML-Editor
 
Hi!

Delphi-Quellcode:
Memo1.Selstart:=0;

Ciao fkerber

KingofWerlte 11. Mär 2004 14:58

Re: HTML-Editor
 
Oh sorry hab ich wohl überlesen...im eifer des gefechts :-D nichts für ungut

Bis denne :hi:

yankee 11. Mär 2004 15:02

Re: HTML-Editor
 
Habe ich ausprobiert, aber das scheint es nicht zu sein.
Ich wollte ja auch nicht die Markierung dort anfangen lassen, sondern wollte den Corsur dahin haben

fkerber 11. Mär 2004 19:08

Re: HTML-Editor
 
Hi.

wie ist denn dein "Parser" aufgebaut?

Machst du das nicht mit selstart, sellength, seltext?


Ciao fkerber

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:21 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