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.