Initial import
This commit is contained in:
parent
63dcd6359a
commit
fabc938d20
|
@ -0,0 +1,139 @@
|
|||
Program PCB2MBBS;
|
||||
|
||||
{$I M_OPS.PAS}
|
||||
|
||||
Uses
|
||||
CRT,
|
||||
DOS,
|
||||
m_Strings,
|
||||
m_DateTime;
|
||||
|
||||
{$I RECORDS.PAS}
|
||||
|
||||
Var
|
||||
inFile : Text;
|
||||
desFile : File;
|
||||
FDirFile : File of FDirRec;
|
||||
FDir : FDirRec;
|
||||
Desc : Array[1..99] of String[50];
|
||||
Str : String = '';
|
||||
A : Byte;
|
||||
Total : Integer;
|
||||
NoSave : Boolean;
|
||||
DupeCheck : Boolean;
|
||||
|
||||
D: DirStr;
|
||||
N: NameStr;
|
||||
E: ExtStr;
|
||||
|
||||
Function IsDupeFile (FN : String) : Boolean;
|
||||
Begin
|
||||
IsDupeFile := False;
|
||||
|
||||
If Not DupeCheck Then Exit;
|
||||
|
||||
Reset (FDirFile);
|
||||
|
||||
While Not Eof(FDirFile) Do Begin
|
||||
Read (FDirFile, FDir);
|
||||
|
||||
If FDir.Flags and FDirDeleted <> 0 Then Continue;
|
||||
|
||||
{$IFDEF FS_SENSITIVE}
|
||||
If FDir.FileName = FN Then Begin
|
||||
{$ELSE}
|
||||
If strUpper(FDir.FileName) = strUpper(FN) Then Begin
|
||||
{$ENDIF}
|
||||
IsDupeFile := True;
|
||||
Exit;
|
||||
End;
|
||||
End;
|
||||
End;
|
||||
|
||||
Begin
|
||||
WriteLn;
|
||||
WriteLn ('PCB2MBBS : PCBoard to Mystic BBS File Base Converter');
|
||||
WriteLn ('Copyright (C) 1998-2012 By James Coyle. All Rights Reserved');
|
||||
WriteLn;
|
||||
WriteLn ('Compiled for Mystic BBS v' + mysVersion);
|
||||
WriteLn;
|
||||
|
||||
If ParamCount < 2 Then Begin
|
||||
WriteLn ('Usage: [PCBoard File] [Mystic BBS File] -DUPE');
|
||||
Halt(1);
|
||||
End;
|
||||
|
||||
DupeCheck := strUpper(ParamStr(3)) = '-DUPE';
|
||||
|
||||
Assign (inFile, ParamStr(1));
|
||||
{$I-} Reset(inFile); {$I+}
|
||||
If IoResult <> 0 Then Begin
|
||||
WriteLn ('ERROR: PCBoard file listing (', ParamStr(1), ') not found.');
|
||||
Halt(1);
|
||||
End;
|
||||
|
||||
FSplit (ParamStr(2), D, N, E);
|
||||
|
||||
Assign (FDirFile, D + N + '.dir');
|
||||
{$I-} Reset (FDirFile); {$I+}
|
||||
If IoResult <> 0 Then ReWrite (FDirFile);
|
||||
|
||||
Assign (desFile, D + N + '.des');
|
||||
{$I-} Reset (desFile, 1); {$I+}
|
||||
If IoResult <> 0 Then ReWrite (desFile, 1);
|
||||
|
||||
Total := 0;
|
||||
|
||||
Write ('Processing: ');
|
||||
|
||||
While Not Eof(inFile) Do Begin
|
||||
If (Str[26] = '-') and (Str[29] = '-') Then Begin
|
||||
|
||||
If IsDupeFile(Copy(Str, 1, Pos(' ', Str) - 1)) Then
|
||||
NoSave := True
|
||||
Else Begin
|
||||
NoSave := False;
|
||||
|
||||
Inc (Total);
|
||||
GotoXY (13, WhereY);
|
||||
Write (Total, ' files ... ');
|
||||
End;
|
||||
|
||||
FDir.FileName := Copy(Str, 1, Pos(' ', Str) - 1);
|
||||
FDir.Size := strS2I(Copy(Str, 13, 9));
|
||||
FDir.DateTime := DateStr2Dos(Copy(Str, 24, 8));
|
||||
FDir.Uploader := 'PCB2MBBS';
|
||||
FDir.Flags := 0;
|
||||
FDir.DLs := 0;
|
||||
FDir.Lines := 1;
|
||||
FDir.Pointer := FileSize(desFile);
|
||||
|
||||
Desc[1] := Copy(Str, 34, Length(Str));
|
||||
|
||||
Repeat
|
||||
ReadLn (inFile, Str);
|
||||
If Str[32] = '|' Then Begin
|
||||
Inc (FDir.Lines);
|
||||
Desc[FDir.Lines] := Copy(Str, 34, Length(Str));
|
||||
End;
|
||||
Until (Str[32] <> '|') or Eof(inFile);
|
||||
|
||||
If Not NoSave Then Begin
|
||||
Write (FDirFile, FDir);
|
||||
Seek (desFile, FDir.Pointer);
|
||||
|
||||
For A := 1 to FDir.Lines Do Begin
|
||||
BlockWrite (desFile, Desc[A][0], 1);
|
||||
BlockWrite (desFile, Desc[A][1], Ord(Desc[A][0]));
|
||||
End;
|
||||
End;
|
||||
End Else
|
||||
If Not Eof(InFile) Then ReadLn (inFile, Str);
|
||||
End;
|
||||
|
||||
Close (inFile);
|
||||
Close (FDirFile);
|
||||
Close (desFile);
|
||||
|
||||
WriteLn ('DONE.');
|
||||
End.
|
|
@ -0,0 +1,81 @@
|
|||
.------------------------.
|
||||
| PCB2MBBS Documentation |-------------------------------------------
|
||||
`------------------------'
|
||||
|
||||
What is PCB2MBBS?
|
||||
-----------------
|
||||
|
||||
PCB2MBBS is a program which will convert PCBoard style file
|
||||
listings to Mystic BBS. This is useful for importing CD-ROMs
|
||||
into Mystic BBS, since most CD-ROMs that are BBS ready include
|
||||
at least PCBoard file listings. It may also be useful for
|
||||
automatically importing files on a file network if your software
|
||||
can maintain a PCBoard-type file listing.
|
||||
|
||||
Using PCB2MBBS
|
||||
--------------
|
||||
|
||||
Usage PCB2MBBS is fairly easy, but sometimes time consuming if you
|
||||
are importing an entire CD-ROM with many directories. The command
|
||||
line parameters are as follows:
|
||||
|
||||
PCB2MBBS: <PCBoard Name> <Mystic BBS Name> <-DUPE>
|
||||
|
||||
<-DUPE> is the command line option to turn on duplicate file
|
||||
searching. This is needed if you have a 3rd party program keeping
|
||||
a list of files in PCBoard format, and you only need to import
|
||||
files which aren't yet added into Mystic. PCB2MBBS will search
|
||||
each file in the file listing to see if it already exists in your
|
||||
Mystic file base.
|
||||
|
||||
<PCBoard Name> is the full path and filename of the PCBoard file
|
||||
listing to convert to Mystic BBS format.
|
||||
|
||||
<Mystic BBS Name> is the full path and filename of the Mystic BBS
|
||||
file which will be created. The file extention does not need to
|
||||
be supplied, since PCB2MBBS will just strip it. Two files are
|
||||
outputted for each file directory converted:
|
||||
|
||||
<FileName>.DIR : Holds the file information for this base.
|
||||
<FileName>.DES : Holds the file descriptions for this base.
|
||||
|
||||
These files either need to be created in the DATA directory, or
|
||||
copied to the data directory after created.
|
||||
|
||||
An example of running PCB2MBBS.EXE if the PCBoard files list was
|
||||
"D:\BBSDESC\DIR1.LST" and the path to the Mystic BBS data directory
|
||||
was "C:\MYSTIC\DATA\" :
|
||||
|
||||
PCB2MBBS.EXE D:\BBSDESC\DIR1.LST C:\MYSTIC\DATA\DIR1
|
||||
|
||||
The above command line parameter will convert the PCBoard file list
|
||||
located in "D:\BBSDESC\DIR1.LST" into the Mystic BBS data directory
|
||||
under the filename "DIR1".
|
||||
|
||||
After a file base has been converted, you need to go into the
|
||||
Mystic BBS file base editor and add the file base to go along with
|
||||
the data files that you've just converted. The "FileName" field
|
||||
of this added file base should be "DIR1" since that was the filename
|
||||
that you told PCB2MBBS to use. The following is a screen capture
|
||||
of the File Base Editor. Option [B] should now be changed to "DIR1"
|
||||
Option [H] should be changed to the path on the CD-ROM which stores
|
||||
the files which you've just imported.
|
||||
|
||||
File Base 1 of 1
|
||||
|
||||
A. Name : Directory 1 of CD-ROM
|
||||
B. Filename : DIR1
|
||||
C. Display File :
|
||||
D. ACS : s20
|
||||
E. List ACS : s20
|
||||
F. Upload ACS : s255
|
||||
G. Download ACS : s20
|
||||
H. Storage Path : D:\DIR1\
|
||||
I. Password :
|
||||
J. Show Uploader : Yes
|
||||
K. Default NewScan: Yes
|
||||
|
||||
Command (Q/Quit):
|
||||
|
||||
--------------------------------------------------------------------
|
||||
Any suggestions/bug reports? E-mail: mysticbbs@geocities.com
|
Loading…
Reference in New Issue