Makehtml source code
From
Nick Andre@618:500/24 to
All on Wed Jul 26 17:50:32 2023
Quick and dirty Freepascal program to make HTML files from FILES.BBS directories.
program makehtml;
uses sysutils,dos;
var p,w : string;
dirinfo : SearchRec;
ft : tdatetime;
h,t,t2 : text;
const df = 'mm"/"dd"/"yyyy';
procedure make_html(what : string ; ts,si : longint);
var sz,d,ds,b : string;
begin
d:='';
assign(t,p+'files.bbs');
(*$I-*) reset(t);
if ioresult=0 then
begin
while not eof(t) and (d='') do
begin
readln(t,w);
if (pos(uppercase(what),uppercase(w))>0) then d:=copy(w,length(what)+2,length(w));
end;
close(t);
end;
if (uppercase(paramstr(4))<>'N') and (uppercase(what)<>'FILES.BBS') then
begin
ft:=FileDateToDateTime(ts);ds:=FormatDateTime(df,ft);
if si>1024 then begin b:='k';si:=si div 1024; end else b:='b';
str(si:1,sz);
writeln(h,'<tr><td><a href='+paramstr(3)+what+'>'+what+'</a></td><td>'+ds+'</td><td>'+sz+b+'</td><td >'+d+'</td></tr>');
writeln('Added '+what+' '+ds+' '+sz+b+' '+d);
end;
end;
begin
writeln('MakeHTML 1.1/Win32 Copyright (c) by Nick J. Andre, Ltd.');
writeln;
if (paramstr(1)>'') and (paramstr(2)>'') and (paramstr(3)>'') then
begin
p:=paramstr(2);if p[length(p)]<>'\' then p:=p+'\';
assign(h,paramstr(1));
(*$I-*) rewrite(h);
writeln(h,'<th>File</th><th>Date</th><th>Size</th><th>Description</th>');
assign(t2,'makehtml.---');
(*$I-*) reset(t2);
if ioresult=0 then
begin
while not eof(t2) do
begin
readln(t2,w);
findfirst(p+w,archive,dirinfo);
if DOSerror=0 then make_html(dirinfo.name,dirinfo.time,dirinfo.size);
findclose(dirinfo);
end;
close(t2);
end
else
begin
findfirst(p+'*.*',archive,dirinfo);
if DOSerror=0 then make_html(dirinfo.name,dirinfo.time,dirinfo.size);
while (DOSerror=0) do
begin
findnext(dirinfo);
make_html(dirinfo.name,dirinfo.time,dirinfo.size);
end;
findclose(dirinfo);
end;
writeln(h,'</table>');close(h);
end
else
begin
writeln('Usage: MAKEHTML [Html table file] [Path] [Base] [BBS]');writeln;
writeln('MAKEHTML creates an HTML table from files in Path using Base.');
writeln('Optional BBS means include listing files.bbs, [Y]es or [N]o.');
end;
end.
Nick
--- Renegade vY2Ka2
* Origin: Joey, do you like movies about gladiators? (618:500/24)