unit HTMLStringList ;
interface
uses
Classes;
type
THTMLStringList =
class (TStringList)
procedure SaveToFile (
const Filename :
string) ;
override ;
procedure LoadFromFile (
const Filename :
string) ;
override ;
end ;
implementation
uses
SysUtils;
{ THTMLStringList }
procedure THTMLStringList.LoadFromFile(
const Filename:
string);
begin
inherited;
// Zeilenumbrüche erst entfernen, da die für HTML nicht relevant sind
Text := StringReplace (Text,#10,'
',[rfReplaceAll,rfIgnoreCase]) ;
Text := StringReplace (Text,#13,'
',[rfReplaceAll,rfIgnoreCase]) ;
// Tags durch Zeilenumbrüche ersetzen
Text := StringReplace (Text,'
',#13,[rfReplaceAll,rfIgnoreCase]) ;
// und restlichen html Tags entfernen, die mit der Liste zu haben
Text := StringReplace (Text,'
[*]','
',[rfReplaceAll,rfIgnoreCase]) ;
Text := StringReplace (Text,'
<ul>','
',[rfReplaceAll,rfIgnoreCase]) ;
Text := StringReplace (Text,'
[/list]','
',[rfReplaceAll,rfIgnoreCase]) ;
end;
procedure THTMLStringList.SaveToFile(
const Filename:
string);
var
FS : TFileStream ;
i, L: Integer;
S :
string ;
begin
if count > 0
then begin
FS := TFileStream.Create (Filename,fmCreate) ;
FS.
Write ('
<ul>',4) ;
for i := 0
to Count - 1
do begin
S := strings[i] ;
S := '
[*]' + S + '
' ;
L := length (S) ;
FS.
Write(S[1],L) ;
end;
FS.
Write ('
[/list]',5) ;
FS.free ;
end else
inherited SaveToFile (Filename) ;
end;
end.