Auf einer anderen Seite habe ich bereits den Tipp mit Verweis auf 'http://www.dsdt.info/tipps/?id=134' bekommen.
Mit dieser rekursiven Suche möchte ich zunächst alle HTM-Dateien im Ordner bestimmen. Für jede dieser Dateien soll dann ein Code geschrieben werden.
Ich habe bisher so weit umgeschrieben:
Delphi-Quellcode:
procedure ScanDir(const Directory: String);
var
SR: TSearchRec;
begin
if FindFirst(Directory + Mask, faAnyFile and not faDirectory, SR) = 0 then try
repeat
if NOT (SR.Name = 'overview.htm') then List.Add(SR.Name);
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
if WithSubDirs then begin
if FindFirst(Directory + '*.*', faAnyFile, SR) = 0 then try
repeat
if ((SR.attr and faDirectory) = faDirectory) and
(SR.Name <> '.') and (SR.Name <> '..') then
ScanDir(Directory + SR.Name + '\');
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
end;
begin
List.BeginUpdate;
try
if ClearList then
List.Clear;
if Directory = '' then Exit;
if Directory[Length(Directory)] <> '\' then
Directory := Directory + '\';
ScanDir(Directory);
finally
List.EndUpdate;
end;
end;
Abruf über Button:
Delphi-Quellcode:
procedure TForm1.BtWriteOverviewClick(Sender: TObject);
var path,s,anfang,ende,hcode:
String;
Datei: TextFile;
count: Integer;
begin
path:=ExtractFilePath(ParamStr(0))+'
.\splaene';
GetFilesInDirectory(path, '
*.htm*', LbOverview.Items, False, True);
LbOverview.Visible:=True;
FOR count := 0
TO LbOverview.Items.Count-1
DO
hcode:='
<td align="center">'+sLineBreak+'
<p align="center">[url="'+LbOverview.Items[count]+'
"]'+LbOverview.Items[count]+'
[/url]</td>';
AssignFile(Datei, (ExtractFilePath(ParamStr(0))+'
.\splaene\overview.htm'));
Rewrite(Datei);
// Datei neu schreiben
anfang:='
<table border="1" width="23%" style="border-collapse: collapse" bordercolorlight="#000000" bordercolordark="#000000">'+SLineBreak+'
<tr>';
ende:='
</tr>'+SLineBreak+'
</table>';
s:=anfang+
String(hcode)+ende;
Write(Datei,s);
// Datei schreiben
CloseFile(Datei);
// Datei schließen
end;
Nun soll zu den Einträgen in der Listbox jeweils ein
HTML-Code in der Form
Code:
<td align="center"><p align="center">[
url="klasse.htm"]Klasse[/
url]</td>
geschrieben werden.
In meinem Code wird leider immer nur einer ausgegeben, nämlich das letzte Element der Liste.