TSynHTMLSyn/fr
From Lazarus wiki
Jump to navigationJump to search
│
English (en) │
suomi (fi) │
français (fr) │
polski (pl) │
русский (ru) │
TSynHTMLSyn est un composant qui prend en charge la vérification de la syntaxe du langage HTML dans l'édition avec coloration syntaxique. C'est une partie du paquet SynEdit. Le composant TSynHTMLSyn est disponible depuis l'onglet SynEdit de la palette de composants.
TSynHTMLSyn est utilisé en conjonction avec le composant d'affichage comme TSynEdit auquel il est relié à travers la propriété Highlighter du TSynEdit.
Exemple
In the example below is a TSynEdit used with a TSynHTMLSyn. The results are displayed as formatted HTML using a TIpHtmlPanel.
unit TipHtmlTest;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, IpHtml, SynHighlighterHTML, SynHighlighterAny,
SynEdit, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls;
const
htmfile = 'tiphtmltestdata.html';
type
TTipHtmlForm = class(TForm)
IpHtmlPanel1: TIpHtmlPanel;
Splitter1: TSplitter;
Memo1: TSynEdit;
SynHTMLSyn1: TSynHTMLSyn;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure MemoChange(Sender: TObject);
protected
public
procedure ShowText( const txt: string );
end;
var
TipHtmlForm: TTipHtmlForm;
implementation
{$R *.lfm}
procedure TTipHtmlForm.FormCreate(Sender: TObject);
begin
if FileExists( htmfile ) then
Memo1.Lines.LoadFromFile( htmfile )
else
Memo1.Lines.Text := '<html><head><title>tipmemo</title></head><body><h1>tipmemo</h1>See <b>' +htmfile + '</b></body></html>';
MemoChange( nil );
end;
procedure TTipHtmlForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
Memo1.Lines.SaveToFile( htmfile );
end;
procedure TTipHtmlForm.MemoChange(Sender: TObject);
begin
ShowText( Memo1.Lines.Text );
end;
procedure TTipHtmlForm.ShowText( const txt: string );
var
fs: TStringStream;
pHTML: TIpHtml;
begin
try
fs := TStringStream.Create( txt );
try
pHTML:=TIpHtml.Create; // Beware: Will be freed automatically by IpHtmlPanel1
pHTML.LoadFromStream(fs);
finally
fs.Free;
end;
IpHtmlPanel1.SetHtml( pHTML );
Caption := IpHtmlPanel1.Title;
except
on E: Exception do begin
MessageDlg( 'Error: '+E.Message, mtError, [mbCancel], 0 );
end;
end;
end;