AT2k Design BBS Message Area
Casually read the BBS message area using an easy to use interface. Messages are categorized exactly like they are on the BBS. You may post new messages or reply to existing messages!

You are not logged in. Login here for full access privileges.

Previous Message | Next Message | Back to Computer Support/Help/Discussion...  <--  <--- Return to Home Page
   Networked Database  Computer Support/Help/Discussion...   [643 / 1624] RSS
 From   To   Subject   Date/Time 
Message   Nick Andre    All   MakeHTML   February 20, 2022
 4:44 PM *  

I had a need to do a quick-n-dirty export of a directory of files into a raw 
HTML table output.

The idea is that you have a header file and a footer. You run this to create 
the body, then bring it all together via COPY HEADER.HTM + MAKEHTML.HTM + 
FOOTER.HTM SOMESITE.HTM

If Files.bbs exists in the directory, it will read it for one-liner 
descriptions.

If the file MAKEHTML.--- exists, it will instead read the contents of this 
file for generating the table. This is so you can sort the results, ie. DIR 
/B /O:-D DB\FILEECHO\NODEDIFF > MAKEHTML.---

The results can be seen at https://fido-z1.darkrealms.ca

Enjoy...

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 : longint);
var d,ds : 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),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);
   writeln(h,'<tr><td><a 
href='+paramstr(3)+what+'>'+what+'</a></td><td>'+ds+'</td><td>'+d+'</td></tr>'
);
   writeln('Adding '+what+' '+ds+' '+d);
  end;
end;

begin
  writeln('MakeHTML 1.0/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>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);
        findclose(dirinfo);
       end;
      close(t2);
     end
     else
     begin
      findfirst(p+'*.*',archive,dirinfo);
      if DOSerror=0 then make_html(dirinfo.name,dirinfo.time);
      while (DOSerror=0) do
       begin
        findnext(dirinfo);
        make_html(dirinfo.name,dirinfo.time);
       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)
  Show ANSI Codes | Hide BBCodes | Show Color Codes | Hide Encoding | Hide HTML Tags | Show Routing
Previous Message | Next Message | Back to Computer Support/Help/Discussion...  <--  <--- Return to Home Page

VADV-PHP
Execution Time: 0.0164 seconds

If you experience any problems with this website or need help, contact the webmaster.
VADV-PHP Copyright © 2002-2024 Steve Winn, Aspect Technologies. All Rights Reserved.
Virtual Advanced Copyright © 1995-1997 Roland De Graaf.
v2.1.241108