misc/MENUCONV.PAS

5.7 KB f8b95bf2135fabfc…
Program MenuConverter;
        uses crt,dos,skashit,gentypes,configrt,Little,gensubs;
{:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
type
{:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
     OldMenuRec       = Record
       HelpMenu       : string[12];
       Acs            : mstr;
       Title          : string[20];
       Password       : sStr;
       File_Name      : string[8];
       FallBack       : string[8];
       ForceHelpLevel : integer;
       ClrScrBefore   : boolean;
       UsePrompt      : boolean;
       Prompt1        : lstr;
       Prompt2        : lstr;
       Mes_Conf       : byte;
       File_Conf      : byte;
       Force_HotKey   : boolean;
       UsePullBar     : boolean;
       UpKey          : byte;
       DownKey        : byte;
       RightKey       : byte;
       LeftKey        : byte;
     End;
{:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
     OldCommandRec    = Record
       Descrip        : mstr;
       Keys           : sstr;
       Command        : lstr;
       Acs            : mstr;
       Hidden         : boolean;
       BarLit         : string[50];
       BarUnLit       : string[50];
       BarX           : byte;
       BarY           : byte;
     End;
{:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
var
 cOldMenuData    : oldMenuRec;
 cOldCommandData : oldCommandRec;
 cMenuData       : menuRec;
 cCommandData    : commandRec;
 cTotalMenus     : byte;
 cMenuName       : array[1..50] of string[12];
{:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Procedure cGetList;
var dosList : SearchRec;
begin
findfirst(cfg.menudir+'*.MNU',archive,doslist);
while (doserror = 0) AND (cTotalMenus <= 50) do
      begin
      inc(cTotalMenus);
      cMenuName[cTotalmenus] := doslist.name;
      findnext(doslist);
      end;
end;
{:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Procedure cConvertMenu(cMenu : string);
var mFileHandle : array[1..2] of file;
    mFileCount  : longInt;
begin
skawrite('|08■ |07converting '+cMenu+' |08...');
assign(mFileHandle[1],cfg.menuDir+cMenu);
assign(mFileHandle[2],cfg.menuDir+copy(cMenu,1,length(cMenu)-3)+'MEN');
reset(mFileHandle[1],1);
reWrite(mFileHandle[2],1);
mFileCount := 0;
 {--[read in data here]--}
  blockRead(mFileHandle[1],cOldMenuData,sizeOf(oldMenuRec));
   {--[do menudata conversion here]--}
   begin
       cMenuData.HelpMenu       := cOldMenuData.HelpMenu;
       cMenuData.Acs            := cOldMenuData.Acs;
       cMenuData.Title          := cOldMenuData.Title;
       cMenuData.Password       := cOldMenuData.Password;
       cMenuData.File_Name      := cOldMenuData.File_Name;
       cMenuData.FallBack       := cOldMenuData.FallBack;
       cMenuData.ForceHelpLevel := cOldMenuData.ForceHelpLevel;
       cMenuData.ClrScrBefore   := cOldMenuData.ClrScrBefore;
       cMenuData.UsePrompt      := cOldMenuData.UsePrompt;
       cMenuData.Prompt1        := cOldMenuData.Prompt1;
       cMenuData.Prompt2        := cOldMenuData.Prompt2;
       cMenuData.Mes_Conf       := cOldMenuData.Mes_Conf;
       cMenuData.File_Conf      := cOldMenuData.File_Conf;
       cMenuData.Force_HotKey   := cOldMenuData.Force_HotKey;
       cMenuData.UsePullBar     := cOldMenuData.UsePullBar;
       cMenuData.upKey          := cOldMenuData.UpKey;
       cMenuData.downKey        := cOldMenuData.DownKey;
       cMenuData.rightKey       := cOldMenuData.RightKey;
       cMenuData.leftKey        := cOldMenuData.LeftKey;
   end;
       blockWrite(mFileHandle[2],cMenuData,sizeOf(MenuRec));
       seek(mFileHandle[2],sizeOf(cMenuData));
       seek(mFileHandle[1],sizeOf(cOldMenuData));
     repeat
     blockRead(mFileHandle[1],cOldCommandData,sizeOf(OldCommandRec));
      begin
       inc(mFileCount);
       cCommandData.Descrip  := cOldCommandData.Descrip;
       cCommandData.Keys     := cOldCommandData.Keys;
       cCommandData.Command  := cOldCommandData.Command;
       cCommandData.Acs      := cOldCommandData.Acs;
       cCommandData.Hidden   := cOldCommandData.Hidden;
       cCommandData.BarLit   := cOldCommandData.BarLit;
       cCommandData.BarUnLit := cOldCommandData.BarUnLit;
       cCommandData.BarX     := cOldCommandData.BarX;
       cCommandData.barY     := cOldCommandData.BarY;
       cCommandData.IDNumber := mFileCount;
      skawrite('|08/-----------|07(conversion info)|08-------------\|CR');
      skawrite('|08~|07 Description =   '+cCommandData.Descrip+'|CR');
      skawrite('|08~|07 Keys        =   '+cCommandData.Keys+'|CR');
      skawrite('|08~|07 Command     =   '+cCommandData.Command+'|CR');
      end;
      blockWrite(mFileHandle[2],cCommandData,sizeOf(CommandRec));
     until (eof(mFileHandle[1]));
close(mFileHandle[1]);close(mFileHandle[2]);
skawrite('|08............................ |15100%|CR');
end;
{:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Procedure cInitProc;
var cDummy : byte;
begin
fillChar(cCommandData,sizeOf(cCommandData),0);
fillChar(cMenuData,sizeOf(cMenuData),0);
fillChar(cOldCommandData,sizeOF(cOldCommandData),0);
fillChar(cOldMenuData,sizeOf(cOldMenuData),0);
readCfg(false);
clrscr;
skawrite('|15MENUCONV |08- |15Infusion BBS External Menu Conversion Utility, version 1.01|CR');
skawrite('|07(c)Copyright Grant Passmore / Infusion Development 1998.  All rites preserved|CR');
for cDummy := 1 to 80 do skawrite('|08─');
cGetList;
window(1,4,80,25);
for cDummy := 1 to cTotalMenus do cConvertMenu(cMenuName[cDummy]);
end;
{:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
begin cInitProc end.