Subj : MPL
To : ALL
From : IGNATIUS
Date : Thu Jan 31 2019 07:20 pm
So, i'm trying to write an MPL. The following script compiles, but doesn't run.
It displays "Ia! Cthulhu!" about a dozen times, then locks up. If anyone out
there can tell me what's wrong with this script, please let me know. Thanks
for any and all help.
#### begin ##################################################################
uses
cfg,
user;
var Twriters : array[1..10] of string;
var Toneliner: array[1..10] of string;
var S : string;
var foneline : string;
var Ch : char;
var Ch2 : char;
var Count : byte;
var Count2 : byte;
var f : file;
// begin show procedure ######################################
// Foneline := cfgDataPath + 'oneliner.lst'
Procedure show()
Begin
clrscr
dispFile('oneh.ans');
For Count := 1 To 10 do
Begin
write('þ ');
write(padRT(Toneliner[count], 64, ' '));
write(' : ');
writeln(padRT(Twriters[count], 10, ' '));
End
End
// end bot_bar procedure ######################################
// begin top_bar procedure ####################################
Procedure top_bar();
Begin
dispfile('oney.ans');
Ch2 := ReadKey;
If Ch2 = #13 then
Begin
dispFile('oneline.asc');
Write(': ');
S := stripmci(Input(70, 70, 11, ''));
If S = '' then
WriteLn('aborted');
Halt
End
For Count := 1 To 9 do
Begin
Count2 := Count + 1;
Toneliner[count] := Toneliner[count2];
Twriters[count] := Twriters[count2];
End
tWriters[10] := userAlias;
tOneliner[10] := S;
fassign(f, foneline, 66);
freset(f);
For Count := 1 To 10 do
Begin
fWriteLn(f, tOneliner[count]);
fWriteLn(f, tWriters[count]);
End
fClose(f);
show();
End
// end top_bar procedure ######################################
// begin position procedure ###################################
Procedure position();
begin
Repeat
DispFile('onen.ans');
Ch := ReadKey;
If IsArrow and Ch = #80 then
Begin
dispfile('onen.ans');
top_bar();
End
Else if IsArrow and Ch = #72 then
top_bar();
Until Ch = #13;
End
Procedure bot_bar();
begin
dispFile('onen.ans');
Ch2 := ReadKey
If Ch2 = #13 then
MenuCmd('go', 'main');
Halt;
End
// end position procedure ##########################################
// This starts the main program here.
Begin
If Not fileExist(foneline) Then
Begin
fassign(f, foneline, 66);
fReWrite(f);
For count := 1 To 10 do
begin
fWriteLn(f, 'Ia! Cthulhu!');
fWriteLn(f, 'ignatius');
End
fClose(f);
End
Foneline := cfgDataPath + 'oneliner.lst'
fassign(f, foneline, 66);
freset(f);
For Count := 1 To 10 do;
Begin
fReadLn(f, Toneliner[count]);
fReadLn(f, Twriters[count]);
End
fClose(f);
show();
// end show procedure #########################################
// begin bot_bar procedure ####################################
End
Done
## end ######################################################################