• Makehtml source code

    From Nick Andre@618:500/24 to All on Wednesday, July 26, 2023 17:50:32
    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)