home *** CD-ROM | disk | FTP | other *** search
/ Programmer Power Tools / Programmer Power Tools.iso / microcrn / issue_33.arc / ROS-PCB.ARC / CONUSR.PAS next >
Encoding:
Pascal/Delphi Source File  |  1986-11-05  |  3.6 KB  |  90 lines

  1. PROGRAM ConUsr;  { convert ROS v3.4 user file to PCBoard v10.0 }
  2.  
  3. {$I ROSDEF.INC}                   { Definitions }
  4.  
  5. CONST
  6.   Zero      : char = '0';
  7.   Dash      : char = '-';
  8.   Colon     : char = ':';
  9.   N         : char = 'N';
  10.   One       : char = '1';
  11.   Two       : char = '2';
  12.   Space     : char = ' ';
  13.  
  14. VAR
  15.   J         : Integer;
  16.   UserFile  : File of user_list;
  17.   NewFile   : Text;
  18.  
  19.  
  20.  
  21.   PROCEDURE ConvertStr (OldStr: StrStd; L: Integer);
  22.   { writes string to file one character at a time and pads with blanks }
  23.  
  24.   VAR
  25.     I: Integer;
  26.  
  27.   BEGIN
  28.     FOR I := 1 TO L DO
  29.       IF (I  <= (Length (OldStr)))
  30.         THEN Write (NewFile, OldStr [I])
  31.         ELSE Write (NewFile, ' ');
  32.     Writeln (OldF);
  33.   END;  { ConvertStr }
  34.  
  35.  
  36.  
  37.   BEGIN  { MAIN }
  38.     Writeln ('File Conversion Utility / ROS to PCBoard - user file');
  39.     Assign (NewFile, 'USERS');              { this is PCBoard's new user file }
  40.     Rewrite (NewFile);
  41.     Assign (UserFile, user_data + '.BB#');                  { ROS's user file }
  42.     {$I-} Reset (UserFile) {$I+};
  43.     IF IOresult = 0
  44.       THEN
  45.         BEGIN
  46.           Write ('Converting user file...');
  47.           Rewrite (NewFile);
  48.           WHILE NOT EOF (UserFile) DO
  49.             BEGIN
  50.               Read (UserFile, user_rec);
  51.               WITH user_rec DO
  52.                 BEGIN
  53.                   IF (used = 0)               { convert record if it's active }
  54.                     THEN
  55.                       BEGIN
  56.                         ConvertStr (fn+space+ln, 25);  { first and last names }
  57.                         ConvertStr (cy+st, 24);              { city and state }
  58.                         ConvertStr (pw, 12);                       { password }
  59.                         ConvertStr (ph, 26);                        { phone # }
  60.                               { last date on system - new system, so 00-00-00 }
  61.                         Write (NewFile,Zero,Zero,Dash,Zero,Zero,Dash,Zero,Zero);
  62.                                                     { last logon time - 00:00 }
  63.                         Write (NewFile, Zero, Zero, Colon, Zero, Zero);
  64.                          { Ns are for expert mode off and no default protocol }
  65.                                      { 1 and 2 put user in conference 1 and 2 }
  66.                         Write (NewFile, N, N, One, Two);
  67.                         FOR J := 1 TO 7 DO    { pad rest of conference string }
  68.                           Write (NewFile, Zero);
  69.                         Write (NewFile, One, N);   { last conference left = 1 }
  70.                                                            { auto rejoin = no }
  71.                         FOR J := 1 TO 6 DO  { last date looked at a directory }
  72.                           Write (NewFile, Zero);
  73.                         Write (NewFile, Chr (10), Chr (0));   { security = 10 }
  74.                         Write (NewFile, Chr (0), Chr (0));     { times on = 0 }
  75.                         Write (NewFile, Chr (23), Chr (0));   { 23 lines/page }
  76.                                     { zeros for last message read in each area,
  77.                                # uploads, # downloads, elapsed time last call }
  78.                         FOR J := 1 TO 26 DO
  79.                           Write (NewFile, Chr (0));
  80.                         Write (NewFile, Space);     { delete flag for packing }
  81.                       END;  { IF }
  82.                 END;  { WITH user_rec }
  83.             END;  { WHILE }
  84.           Close (NewFile);
  85.           Close (UserFile);
  86.         END  { IF IO/result  }
  87.       ELSE writeln ('ROS User file not found.');
  88.     Writeln ('Conversion complete.')
  89.   END.
  90.