Friday, 25 September 2009

Syntax helper

En éste artículo os muestro una pequeña aplicación que hice para automatizar la conversión del código Delphi a HTML para utilizar la herramienta de Syntax Highlighter de Alex Gorbatchev. Con ésta herramienta podremos pasar el código que vamos a colgar en el blog al formato requerido para ésta fabulosa herramienta. Además he incrustado un visor para hacer la previsualización de cómo quedará el código una vez hagamos los cambios. Podéis descargaros aquí la última versión estable de mi aplicación ThundaxSyntaxHelper la cuál permite automatizar un poco más rápido la subida del código a nuestros blogs.

Luego si nos vamos a la pestaña de previsualización, nos aparece el resultado de formatear nuestro código:

Espero que os sirva de ayuda.

Aquí os dejo el código que se mostrará utilizando el Syntax Highlighter de Alex Gorbatchev:


procedure TForm3.GetText1Click(Sender: TObject);
var
i : integer;
text : string;
begin
memo2.Lines.Clear;
memo2.lines.add('<pre class="brush: delphi">');
for i := 0 to memo1.lines.count-1 do
begin
text := AnsiReplaceStr(memo1.lines[i],'<', '<');
text := AnsiReplaceStr(text,'>', '>');
memo2.lines.Add(text);
end;
memo2.lines.add('</pre>');
end;

procedure TForm3.AddFile(s: string);
var
LogFile: TextFile;
begin
AssignFile(LogFile, ExtractFilePath(ParamStr(0)) + 'test.html');
try
if FileExists(ExtractFilePath(ParamStr(0)) + 'test.html') then
Append(LogFile)
else
Rewrite(Logfile);
WRITELN(LogFile, s);
CloseFile(LogFile);
except
end;
end;

procedure TForm3.Preview1Click(Sender: TObject);
var
i : integer;
text : string;
begin
if fileExists(ExtractFilePath(ParamStr(0)) + 'test.html') then
DeleteFile(ExtractFilePath(ParamStr(0)) + 'test.html');

for i := 0 to memo3.Lines.count-1 do
begin
AddFile(Memo3.lines[i]);
end;
for i := 0 to memo2.Lines.count-1 do
begin
AddFile(Memo2.lines[i]);
end;
AddFile('</html>');
text := ExtractFilePath(ParamStr(0)) + 'test.html';
text := AnsiReplaceStr(text,'\','/');
WebBrowser1.Navigate('file:///' + text);
end;


  • Enlaces de interés:
Integrando un syntax Highlighter para el código del blog.

0 comments:

Post a Comment