![]() |
Re: HighlightParser - PasToHtml
to Chewie:
<span> ist allgemeiner und damit nicht falsch, und auch gebräuchlicher. aber danke für den hinweis, dass <pre> nicht mehr aktuell ist, werd ich dann ändern. to Khabarakh: okay, ich mach die Welt bunt. |
Re: HighlightParser - PasToHtml
Zitat:
|
Re: HighlightParser - PasToHtml
<code> ist normalerweise dafür da, um kompletten Code einzukasteln (vgl. [code]-Tags). ;)
@Chewie: Unlogisch ist es, wenn kleine Abschnitte von <code> eigefasst sind und andere nicht, auch wenn diese zum Code gehören. |
Re: HighlightParser - PasToHtml
Zitat:
Aber ich muss zugeben, ich hab mir die Ausgabe des Programms nicht angesehen, das war nur allgemein bezogen. Ich finde halt, wenn es schon semantische Tags gibt, dass man diese auch benutzen sollte, und nicht nur <span> und dann alles mit CSS formatieren. Bis auf Bilder und Formular-Elemente bekommt damit nämlich so gut wie alles hin ;) |
Re: HighlightParser - PasToHtml
Neue Version:
Ich hab mal in SelfHTML geguckt, was da zu <pre> steht und da stand eigentlich nichts zu 'Bloß nicht mehr verwenden'. Welche Alternative gibt es denn zu <pre>? Ist <pre> schon vom Aussterben bedroht? |
Re: HighlightParser - PasToHtml
Zitat:
hab ich bei nem code bekommen :( aber preview vom startcode ging =) hübsch schauts so aus ;) |
Re: HighlightParser - PasToHtml
kannst du mir vielleicht den code geben, damit ich gucken kann wo der fehler ist?
|
Re: HighlightParser - PasToHtml
mir ist nochwas aufgefallen
ich hab ein projekt wo am anfang viele geschweife kommentare sind halt und dann ist der restliche queslltext grün also kommentiert .. ? den kann ich dir leidern icht schicken weils n riesen projekt ist :( - aber glaube dass du vl nochmal das mit den klammern überschaun solltest? und bei diesem code wird sogar garn ichts codiert - (eben oben alles rausgeschmissen zum testen)
Delphi-Quellcode:
unit EHTML;
interface uses Windows, Messages, SysUtils, Graphics, Controls, Forms, ComCtrls, Menus, ShellAPI,IdGlobal, Registry, Classes, AppEvnts, StdCtrls, ExtCtrls, Dialogs; const IC_CLICK = WM_APP + 201; // Für die Taskleiste procedure TForm1.Timer3Timer(Sender: TObject); begin // Wenn highliten eingestellt ist // wird dieser timemr kurz aktiv // um alles ohne veränderung der Cursorposition // einzufärben HTMLSyntax(Text, Color1, Color2, Color3, Style); Text.CaretPos := Point(0, 5); Timer3.enabled := false; end; procedure TForm1.Button1Click(Sender: TObject); var text1: string; i, e: Integer; begin // Caption errechnen text1 := ''; for i := 1 to Text.Lines.Count do if Pos('<title>', lowercase(Text.Lines.Strings[i])) > 0 then begin for e := 8 to Pos('</title>', lowercase(Text.Lines.Strings[i])) - 1 do text1 := text1 + Text.Lines.Strings[i][e]; break; // Verlassen der Schleife end; Form5.Caption := text1; // Vorschaugenerierung Inc(VWert); if FileExists(ExtractFilePath(ParamStr(0)) + 'Vorschau\') then begin Memo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) + 'Vorschau\' + 'Vorschau' + IntToStr(VWert) + '.html'); Form5.Look.Navigate(ExtractFilePath(ParamStr(0)) + 'Vorschau\' + 'Vorschau' + IntToStr(VWert) + '.html'); Form5.Visible := false; Form5.Visible := true; end else begin ForceDirectories(ExtractFilePath(ParamStr(0)) + 'Vorschau\'); Memo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) + 'Vorschau\' + 'Vorschau' + IntToStr(VWert) + '.html'); Form5.Look.Navigate(ExtractFilePath(ParamStr(0)) + 'Vorschau\' + 'Vorschau' + IntToStr(VWert) + '.html'); Form5.Visible := false; Form5.Visible := true; end; end; procedure TForm1.Help2Click(Sender: TObject); begin // Hilfedatei wird geöffnet ShellExecute(Handle, nil, pChar(ExtractFilePath(ParamStr(0)) + '\Help\Help.htm'), nil, nil, SW_SHOW); end; procedure TForm1.Colorsettings1Click(Sender: TObject); begin // EH-Eigenschaften Fenster erhält den Fokus und // der Timer von Form6 wird aktiviert // um das vorschaufenster sofort zu aktualisieren Form6.visible := false; Form6.visible := true; Form6.Timer1.Enabled := true; end; procedure TForm1.ApplicationEvents1Minimize(Sender: TObject); begin //Vorgang: Minimieren der Anwendung, Entfernung des Taskleisteneintrags //und Hinzufügen des Programmicons neben der Uhr Form1.Visible := false; Form1.FormStyle := fsstayonTop; //Hide; with NIM do begin cbSize := SizeOf(nIM); Wnd := Handle; uID := 0; uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; uCallbackMessage := IC_CLICK; hIcon := Application.Icon.Handle; szTip := 'EASY HTML'; end; Shell_NotifyIcon(NIM_ADD, @NIM); end; procedure TForm1.Systray(var sMsg: TMessage); begin // Vorgang: Klick auf das Icon neben der Uhr und Anzeige der Anwendung inherited; if (sMsg.LParam = WM_LBUTTONDOWN) then begin Show; Shell_NotifyIcon(NIM_DELETE, @NIM); Application.Restore; //zeigt die Anwendung wieder an Form1.Visible := true; Form2.FormStyle := fsstayonTop; Form3.FormStyle := fsstayonTop; Form4.FormStyle := fsstayonTop; Form1.Visible := true; Form1.FormStyle := fsstayontop; end; end; function TForm1.InstallExt(Extension, ExtDescription, FileDescription, OpenWith, ParamString: string; IconIndex: Integer): Boolean; var Reg: TRegistry; begin Reg := TRegistry.Create; try with Reg do begin RootKey := HKEY_CLASSES_ROOT; OpenKey(Extension, True); WriteString('', ExtDescription); OpenKey('\' + ExtDescription, True); WriteString('', FileDescription); OpenKey('DefaultIcon', True); WriteString('', OpenWith + ',' + IntToStr(IconIndex)); OpenKey('\' + ExtDescription + '\Shell\Open\Command', True); WriteString('', '"' + OpenWith + '" "' + ParamString + '"'); end; Result := True; except Result := False; end; Reg.Free; end; function TForm1.UnInstallExt(Extension, ExtDescription: string): Boolean; var Reg: TRegistry; begin // Keys wieder weggeben Reg := TRegistry.Create; try with Reg do begin RootKey := HKEY_CLASSES_ROOT; DeleteKey(Extension); DeleteKey('\' + ExtDescription); end; Result := True; except Result := False; end; // Reg freimachen Reg.Free; end; procedure TForm1.MAIL1Click(Sender: TObject); begin // Supportanfrage kann gesendet werden ShellExecute(Application.Handle, 'open', PChar('mailto:s.mueller@inode.at?subject=EASY HTML&body=Hier bitte ihre Fragen/Anregungen schreiben Please write here your Questions and ideas'), nil, nil, sw_ShowNormal); end; procedure TForm1.Projectsetting1Click(Sender: TObject); begin // Projekt optionen werden aufgerufen Form2.Visible := false; Form2.Visible := true; end; procedure TForm1.Deutsch1Click(Sender: TObject); begin // Sprachenumstellung (jetzt eigentlich unnötig!) if Wert = true then ChangeSpeak('Deutsch') else ChangeSpeak('Englisch'); end; procedure TForm1.Save; begin // Normale Speicherung // Wie sie funktioniert wird in Save & Compile beschrieben Memo1.Lines := Text.Lines; Number := 1; if FileExists(ExtractFilePath(ParamStr(0)) + '\Projects\' + Panel1.caption + '\Number.txt') then begin Memo1.lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + '\Projects\' + Panel1.caption + '\Number.txt'); Number := StrToInt(Memo1.Text); memo1.lines.Clear; end; Memo1.lines := Text.Lines; if (Panel1.caption <> 'NO NAME Please change the name of the Site') and (Panel1.caption <> 'KEIN NAME Bitte ändern Sie die Projekteinstellungen') then begin if Unregistred then begin Memo1.Lines.Add(' </p>'); Memo1.Lines.Add('[b] <font Color = "Maroon"> made with EASY HTML by Nico Müller, TSA 2004 </font> [/b]'); end; ForceDirectories(ExtractFilePath(ParamStr(0)) + '\Projects\' + Panel1.caption); Memo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) + '\Projects\' + Panel1.caption + '\Site' + IntToStr(Number) + '.html'); if Pos('.EHt', Savedialog1.FileName) > 0 then Memo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) + '\Projects\' + Panel1.caption + '\Data.EHt') else Memo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) + '\Projects\' + Panel1.caption + '\Data.EHt'); memo1.lines.Clear; Inc(Number); memo1.text := IntToStr(Number); Memo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) + '\Projects\' + Panel1.caption + '\Number.txt'); end else if Form2.Caption = 'Project settings' then Showmessage('PLEASE CHANGE THE PROJECT SETTINGS(press F2)') else Showmessage('BITTE ÄNDERN SIE DIE PROJEKTEINSTELLUNGEN(F2 drücken)'); end; procedure TForm1.TextMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin VorschauOk := true; end; procedure TForm1.TextKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (ssCtrl in shift) and ((key = 90) or (key = 122)) then begin PostMessage(GetFocus,WM_UNDO,0,0); end; end; end. //---------TODO-----------------------| // --> FARBMIXER | // Französische Buttons mit & Zeichen!| // Messages auf allen Sprachen! | // rechtsklick neue EHT datei! | // Minimieren | //------------------------------------| //------------------------ // Gesamt:~>2000 Codezeilen // ZEILE 342!!!!!!!!! // 249!!!! |
Re: HighlightParser - PasToHtml
@threadsteller:
dein projekt hört sich ganz interessant an, allerdings vermisse ich einen screenshot und eine beispiel-html datei. falls du das (oder jemand anderes) online stellen könnte, wäre ich beinahe geneigt einen blick auf das programm zu werfen. vielen dank! |
Re: HighlightParser - PasToHtml
so, ne beispieldatei hab ich grad hochgeladen. den fehler den nicodius hatte ist schon ausgemerzt, die kommentare guck ich mir morgen dann an.
ich halte mich beim coden sehr an den style guide von dsdt.info und es scheint, dass das programm schwierigkeiten kriegt, wenn der code nicht so formatiert ist. Ein anderes problem ist, wenn mehrere male hintereinander code formatiert wird, dann gibt es fehler, muss ich mir noch mal angucken. To Nicodius: hab den code den du da gepostet hast durch das programm gejagt und er hat es formatiert. guck mal ob es nach einem neustart funktioniert. wird dann in der nächsten version verbessert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:26 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