[Back to MENU SWAG index] [Back to Main SWAG index] [Original]
{Menu pour le Multi-jeux # }
Program Game_Menu;
{$M $4000,0,0 } { 16K stack, no heap }
Uses crt, dos, Printer;
const FormFeed = #12;
PathLength = 79;
{----------------------------------------------------------------------------}
Name1 =''; Megs1 =0; Path1 ='';
Txt_file1 =''; Run_file1 ='';
Destination_drive1 = #0 ; Destination_directory1 ='';
OSystem1 ='Dos, Windows, Windows 95'; Modification_file1 ='';
{----------------------------------------------------------------------------}
Name2 =''; Megs2 =0; Path2 ='';
Txt_file2 =''; Run_file2 ='';
Destination_drive2 = #0; Destination_directory2 = '';
OSystem2 ='Dos, Windows, Windows 95'; Modification_file2 ='';
{----------------------------------------------------------------------------}
Name3 =''; Megs3 =0; Path3 ='';
Txt_file3 =''; Run_file3 ='';
Destination_drive3 = #0 ; Destination_directory3 = '';
OSystem3 ='Dos, Windows, Windows 95'; Modification_file3 ='';
{----------------------------------------------------------------------------}
Name4 =''; Megs4 =0; Path4 ='';
Txt_file4 =''; Run_file4 ='';
Destination_drive4 = #0; Destination_directory4 = '';
OSystem4 ='Dos, Windows, Windows 95'; Modification_file4 ='';
{----------------------------------------------------------------------------}
Name5 =''; Megs5 =0; Path5 ='';
Txt_file5 =''; Run_file5 ='';
Destination_drive5 = #0; Destination_directory5 = '';
OSystem5 ='Dos, Windows, Windows 95'; Modification_file5 ='';
{----------------------------------------------------------------------------}
Name6 =''; Megs6 =0; Path6 ='';
Txt_file6 =''; Run_file6 ='';
Destination_drive6 = #0; Destination_directory6 = '';
OSystem6 ='Dos, Windows, Windows 95'; Modification_file6 ='';
{----------------------------------------------------------------------------}
Name7 =''; Megs7 =0; Path7 ='';
Txt_file7 =''; Run_file7 ='';
Destination_drive7 = #0; Destination_directory7 = '';
OSystem7 ='Dos, Windows, Windows 95'; Modification_file7 ='';
{----------------------------------------------------------------------------}
Name8 =''; Megs8 =0; Path8 ='';
Txt_file8 =''; Run_file8 ='';
Destination_drive8 = #0; Destination_directory8 = '';
OSystem8 ='Dos, Windows, Windows 95'; Modification_file8 ='';
{----------------------------------------------------------------------------}
Name9 =''; Megs9 =0; Path9 ='';
Txt_file9 =''; Run_file9 ='';
Destination_drive9 = #0; Destination_directory9 = '';
OSystem9 ='Dos, Windows, Windows 95'; Modification_file9 ='';
{----------------------------------------------------------------------------}
Name10=''; Megs10=0; Path10='';
Txt_file10=''; Run_file10='';
Destination_drive10= #0; Destination_directory10= '';
OSystem10='Dos, Windows, Windows 95'; Modification_file10='';
{----------------------------------------------------------------------------}
Name11=''; Megs11=0; Path11='';
Txt_file11=''; Run_file11='';
Destination_drive11= #0; Destination_directory11= '';
OSystem11='Dos, Windows, Windows 95'; Modification_file11='';
{----------------------------------------------------------------------------}
Name12=''; Megs12=0; Path12='';
Txt_file12=''; Run_file12='';
Destination_drive12= #0; Destination_directory12= '';
OSystem12='Dos, Windows, Windows 95'; Modification_file12='';
{----------------------------------------------------------------------------}
Name13=''; Megs13=0; Path13='';
Txt_file13=''; Run_file13='';
Destination_drive13= #0; Destination_directory13= '';
OSystem13='Dos, Windows, Windows 95'; Modification_file13='';
{----------------------------------------------------------------------------}
Name14=''; Megs14=0; Path14='';
Txt_file14=''; Run_file14='';
Destination_drive14= #0; Destination_directory14= '';
OSystem14='Dos, Windows, Windows 95'; Modification_file14='';
{----------------------------------------------------------------------------}
Name15=''; Megs15=0; Path15='';
Txt_file15=''; Run_file15='';
Destination_drive15= #0; Destination_directory15= '';
OSystem15='Dos, Windows, Windows 95'; Modification_file15='';
{----------------------------------------------------------------------------}
Name16=''; Megs16=0; Path16='';
Txt_file16=''; Run_file16='';
Destination_drive16= #0; Destination_directory16= '';
OSystem16='Dos, Windows, Windows 95'; Modification_file16='';
{----------------------------------------------------------------------------}
Name17=''; Megs17=0; Path17='';
Txt_file17=''; Run_file17='';
Destination_drive17= #0; Destination_directory17='';
OSystem17='Dos, Windows, Windows 95'; Modification_file17='';
{----------------------------------------------------------------------------}
Name18=''; Megs18=0; Path18='';
Txt_file18=''; Run_file18='';
Destination_drive18= #0; Destination_directory18='';
OSystem18='Dos, Windows, Windows 95'; Modification_file18='';
{----------------------------------------------------------------------------}
Name19=''; Megs19=0; Path19='';
Txt_file19=''; Run_file19='';
Destination_drive19= #0; Destination_directory19='';
OSystem19='Dos, Windows, Windows 95'; Modification_file19='';
{----------------------------------------------------------------------------}
Name20=''; Megs20=0; Path20='';
Txt_file20=''; Run_file20='';
Destination_drive20= #0; Destination_directory20= '';
OSystem20='Dos, Windows, Windows 95'; Modification_file20='';
{----------------------------------------------------------------------------}
Name21=''; Megs21=0; Path21='';
Txt_file21=''; Run_file21='';
Destination_drive21= #0; Destination_directory21= '';
OSystem21='Dos, Windows, Windows 95'; Modification_file21='';
{----------------------------------------------------------------------------}
Name22=''; Megs22=0; Path22='';
Txt_file22=''; Run_file22='';
Destination_drive22= #0; Destination_directory22= '';
OSystem22='Dos, Windows, Windows 95'; Modification_file22='';
{----------------------------------------------------------------------------}
Name23=''; Megs23=0; Path23='';
Txt_file23=''; Run_file23='';
Destination_drive23= #0; Destination_directory23= '';
OSystem23='Dos, Windows, Windows 95'; Modification_file23='';
{----------------------------------------------------------------------------}
Name24=''; Megs24=0; Path24='';
Txt_file24=''; Run_file24='';
Destination_drive24= #0; Destination_directory24= '';
OSystem24='Dos, Windows, Windows 95'; Modification_file24='';
{----------------------------------------------------------------------------}
Name25=''; Megs25=0; Path25='';
Txt_file25=''; Run_file25='';
Destination_drive25= #0; Destination_directory25= '';
OSystem25='Dos, Windows, Windows 95'; Modification_file25='';
{----------------------------------------------------------------------------}
Name26=''; Megs26=0; Path26='';
Txt_file26=''; Run_file26='';
Destination_drive26= #0; Destination_directory26= '';
OSystem26='Dos, Windows, Windows 95'; Modification_file26='';
{----------------------------------------------------------------------------}
Name27=''; Megs27=0; Path27='';
Txt_file27=''; Run_file27='';
Destination_drive27= #0; Destination_directory27= '';
OSystem27='Dos, Windows, Windows 95'; Modification_file27='';
{----------------------------------------------------------------------------}
Name28=''; Megs28=0; Path28='';
Txt_file28=''; Run_file28='';
Destination_drive28= #0; Destination_directory28= '';
OSystem28='Dos, Windows, Windows 95'; Modification_file28='';
{----------------------------------------------------------------------------}
Name29=''; Megs29=0; Path29='';
Txt_file29=''; Run_file29='';
Destination_drive29= #0; Destination_directory29= '';
OSystem29='Dos, Windows, Windows 95'; Modification_file29='';
{----------------------------------------------------------------------------}
Name30=''; Megs30=0; Path30='';
Txt_file30=''; Run_file30='';
Destination_drive30= #0; Destination_directory30= '';
OSystem30='Dos, Windows, Windows 95'; Modification_file30='';
{----------------------------------------------------------------------------}
Name31=''; Megs31=0; Path31='';
Txt_file31=''; Run_file31='';
Destination_drive31= #0; Destination_directory31= '';
OSystem31='Dos, Windows, Windows 95'; Modification_file31='';
{----------------------------------------------------------------------------}
Name32=''; Megs32=0; Path32='';
Txt_file32=''; Run_file32='';
Destination_drive32= #0; Destination_directory32= '';
OSystem32='Dos, Windows, Windows 95'; Modification_file32='';
{----------------------------------------------------------------------------}
Name33=''; Megs33=0; Path33='';
Txt_file33=''; Run_file33='';
Destination_drive33= #0; Destination_directory33= '';
OSystem33='Dos, Windows, Windows 95'; Modification_file33='';
{----------------------------------------------------------------------------}
Name34=''; Megs34=0; Path34='';
Txt_file34=''; Run_file34='';
Destination_drive34= #0; Destination_directory34= '';
OSystem34='Dos, Windows, Windows 95'; Modification_file34='';
{----------------------------------------------------------------------------}
Name35=''; Megs35=0; Path35='';
Txt_file35=''; Run_file35='';
Destination_drive35= #0; Destination_directory35= '';
OSystem35='Dos, Windows, Windows 95'; Modification_file35='';
{----------------------------------------------------------------------------}
Name36=''; Megs36=0; Path36='';
Txt_file36=''; Run_file36='';
Destination_drive36= #0; Destination_directory36= '';
OSystem36='Dos, Windows, Windows 95'; Modification_file36='' ;
{----------------------------------------------------------------------------}
Name37=''; Megs37=0; Path37='';
Txt_file37=''; Run_file37='';
Destination_drive37= #0; Destination_directory37= '';
OSystem37='Dos, Windows, Windows 95'; Modification_file37='';
{----------------------------------------------------------------------------}
Name38=''; Megs38=0; Path38='';
Txt_file38=''; Run_file38='';
Destination_drive38= #0; Destination_directory38= '';
OSystem38='Dos, Windows, Windows 95'; Modification_file38='';
{----------------------------------------------------------------------------}
Name39=''; Megs39=0; Path39='';
Txt_file39=''; Run_file39='';
Destination_drive39= #0; Destination_directory39= '';
OSystem39='Dos, Windows, Windows 95'; Modification_file39='';
{----------------------------------------------------------------------------}
Name40=''; Megs40=0; Path40='';
Txt_file40=''; Run_file40='';
Destination_drive40= #0; Destination_directory40= '';
OSystem40='Dos, Windows, Windows 95'; Modification_file40='';
{----------------------------------------------------------------------------}
Type FileName = string[PathLength];
VAR Name : String[30];
Megs : integer;
Path : Filename;
Txt_file : String[12];
Run_file : String[12];
OSystem : String[30];
Source_drive : Char;
Destination_drive : Char;
Destination_drive_Access : Boolean;
Destination_directory_Access : Boolean;
Destination_directory : String;
Modification_file : String[12];
SpaceDisk : LongInt;
PathFileName: FileName;
ProgramCommandCom : String;
ProgramName, CmdLine: string;
Fichier : Text;
Source: PathStr;
Choice : integer;
Cnt : integer;
I, J, K : integer;
Ch, Choix : Char;
IOError : integer;
Quit : Boolean;
Erreur : Boolean;
Touche_F1 : Boolean;
Touche_tab : Boolean;
Touche_Esc : Boolean;
Touche_Bas : Boolean;
Touche_haut : Boolean;
Touche_insert : boolean;
{----------------------------------------------------------------------------}
Procedure CursorInsert; { Curseur form� de 7 lignes(de pixels)#1 }
VAR
Regs : registers;
BEGIN
{ Code d'interruption pour indiquer changement de curseur }
regs.AH:=$01;
regs.CH:=$0; { CH (High): haut du curseur, ligne (de pixels) #0 }
regs.CL:=$7; { CL (Low): bas du curseur, ligne (de pixels) #7 }
{ Interruption niveau machine #10 pour changer le curseur }
intr($10,Regs);
END;
{----------------------------------------------------------------------------}
Procedure Normalcursor; { Curseur form� de 2 lignes(de pixels)#6 }
VAR
Regs : registers;
BEGIN
{ Code d'interruption pour indiquer changement de curseur }
regs.AH:=$01;
regs.CH:=$6; { CH (High): haut du curseur, ligne (de pixels) #6 }
regs.CL:=$7; { CL (Low): bas du curseur, ligne (de pixels) #7 }
{ Interruption niveau machine #10 pour changer le curseur }
intr($10,Regs);
END;
{----------------------------------------------------------------------------}
Procedure Effacecursor; { Pour effacer le curseur }
VAR
Regs : registers;
BEGIN
{ Code d'interruption pour indiquer changement de curseur }
regs.AH:=$01;
regs.CH:=$20; { Valeur nulle }
regs.CL:=$20; { Valeur nulle }
{ Interruption niveau machine #10 pour changer le curseur }
intr($10,Regs);
END;
{----------------------------------------------------------------------------}
Procedure fin (Erreur:Boolean); { Quitte le programme principal }
Begin { Procedure Fin }
Window (1, 1, 80, 25); {Cr�ation de fenetre (1, 1) � (80, 25)}
Textcolor (7); {Couleur du texte � la sortie Lightgray}
TextBackground (0); {Couleur du background black}
ClrScr; { Pour effacer l'�cran }
NormalCursor;
Gotoxy(3,2); Writeln('Thank you to choose The CD-ROM Master''s');
Halt(1)
End; { Procedure Fin }
{----------------------------------------------------------------------------}
Procedure BoitePourQuitter(Var ChoixMenuPrecedent : Char);
Begin
EffaceCursor;
Window (32, 20, 73, 20); {Cr�ation de fenetre (28, 5) � (74, 6)}
Textbackground (1); { Couleur de la boite bleu }
Clrscr; { Pour effacer l'�cran }
TextColor (15); { Couleur du texte blanc }
Write ('Do you really want to Quit? (Y)es or (N)o');
Textcolor (14); {Couleur des r�ponses yellow}
Gotoxy (30, 1); Write ('Y');
Gotoxy (39, 1); Write ('N');
Repeat
ChoixMenuPrecedent := Readkey;
Until (Upcase(ChoixMenuPrecedent) = char(78)) or
(Upcase(ChoixMenuPrecedent) = char(89));
Clrscr;
Choix := ChoixMenuPrecedent;
NormalCursor;
end;
{----------------------------------------------------------------------------}
Procedure DessineBoite
(x1,y1,x2,y2,Background:integer ;
LigneContour:Boolean ; LigneContourGauche,LigneContourDroite:integer ;
Shadow:Boolean ; ShadowBackgroundDroite,ShadowBackgroundBas:integer);
Begin
Window (x1,y1,x2,y2);
TextBackground (Background);
ClrScr;
Window (x1,y1,x2+1,y2+1);
If LigneContour = true then
Begin
TextColor (LigneContourDroite);
Gotoxy(1,1); Write('Ú');
For I := 2 to (x2-x1) do
Begin Gotoxy(I,1); Write('Ä'); end;
Writeln;
For J := 2 to (y2-y1) do
Begin Gotoxy(1,J); Write('³'); end;
Writeln;
Gotoxy(1,y2-y1+1); Write('À');
TextColor (LigneContourGauche);
Gotoxy(x2-x1+1,1); Write('¿');
For J := 2 to (y2-y1) do
Begin Gotoxy(x2-x1+1,J); Write('³'); end;
Writeln;
For I := 2 to (x2-x1) do
Begin Gotoxy(I,y2-y1+1); Write('Ä'); end;
Writeln;
Gotoxy(x2-x1+1,y2-y1+1); Write('Ù');
end;
If Shadow = true then
Begin
Window (x1,y1,x2+2,y2+1);
TextColor (0);
TextBackground(ShadowBackgroundDroite);
Gotoxy (x2-x1+2,1); Write ('Ü');
For J := 2 to (y2-y1+1) do
Begin Gotoxy(x2-x1+2,J); Write ('Û'); end;
TextBackground(ShadowBackgroundBas);
For I := 2 to (x2-x1+2) do
Begin Gotoxy(I,y2-y1+2); Write ('ß'); end;
end;
end;
{----------------------------------------------------------------------------}
Procedure Read_Char(x1,y1,x2,y2,Background:integer;KindData:String);
Label Escape, Fleche_bas, Fleche_haut, Tabulation,
En_attente_de_commande;
Begin
Touche_tab := False;
Touche_Esc := False;
Touche_bas := False;
Touche_haut := False;
Goto En_attente_de_commande;
Escape :
Begin Touche_Esc := true; exit; end;
Fleche_bas :
Begin Touche_bas := true; exit; end;
Fleche_haut :
Begin Touche_haut := true; exit; end;
Tabulation :
Begin Touche_tab := true; exit; end;
En_attente_de_commande:
Begin
Repeat
TextColor(14);
Window (x1,y1,x2,y2);
Textbackground (Background);
ClrScr; { Pour effacer l'�cran }
K := 1;
If (KindData='Letter') then
Begin Repeat
If (K=3) then K:=1;
choix := Readkey;
If Choix = char(27) then goto Escape
Else If Choix = char(9) then goto Tabulation
Else If Choix = char(0) then
Begin
Choix := Readkey;
If Choix = char(80) then goto Fleche_bas
Else If Choix = char(72) then goto Fleche_haut
Else inc(K);
end;
If (K=2) and (Upcase(Choix) in ['A'..'Z']) then inc(K);
Until (Upcase(Choix) in ['A'..'Z']) and (K=1); end
Else If (KindData='Number') then
Begin Repeat
If (K=3) then K:=1;
choix := Readkey;
If Choix = char(27) then goto Escape;
If Choix = Char(0) then inc(K);
If (K=2) and (Upcase(Choix) in ['A'..'Z']) then inc(K);
Until (Upcase(Choix) in ['1'..'9']) and (K=1) ; end
Else If (KindData='All') then
Begin Repeat
If (K=3) then K:=1;
choix := Readkey;
If Choix = char(27) then goto Escape;
If Choix = Char(0) then inc(K);
If (K=2) and (Upcase(Choix) in ['A'..'Z']) then inc(K);
Until (Upcase(Choix) in ['1'..'9']) or
(Upcase(Choix) in ['A'..'Z']) and (K=1); end;
Write (Upcase(Choix));
ch := Readkey;
If (ch=Char(0)) then ch:=Readkey;
Until (ch = char(13));
end;
end;
{----------------------------------------------------------------------------}
Procedure Read_integer (Var NumdataFinal:Integer);
Label Backspace, Effacement, Escape, Fleche_droite, Fleche_gauche,
Insertion, Key_F1, Tabulation, En_attente_de_commande;
Const Base = 10;
Sentinel = char(13);
var Touche : char;
Digit : integer;
NumData : integer;
Position : integer;
String_data : String;
Fleche_active : Boolean;
Begin
I := 1;
Digit := 0;
Numdata := 0;
String_data := '';
Touche_F1 := False;
Touche_Esc := False;
Fleche_active := false;
Goto En_attente_de_commande;
Backspace :
Begin
If Fleche_active = true then
Begin
Delete(String_data,I-1,1);
Gotoxy((I-1),1);
For Position := (I-1) to Length(String_data) do
Begin Write(String_data[Position]) end;
Write(' '); Gotoxy((I-1),1); Dec(I);
end
Else If I >= 2 then
Begin
Delete(String_data,I-1,1);
Gotoxy(I-1,1); Write(char(0));
Gotoxy(I-1,1); Dec(I);
end;
goto En_attente_de_commande;
end;
Effacement :
Begin
Delete(String_data,I,1);
For Position := I to Length(String_data) do
Begin Write(String_data[Position]) end;
Write(' '); Gotoxy(I,1);
goto En_attente_de_commande
end;
Escape :
Begin Touche_Esc := true; exit; end;
Fleche_droite :
Begin
Fleche_active := True;
If I <= Length(String_data) then
Begin Gotoxy(I+1,1); Inc(I); end;
goto En_attente_de_commande
end;
Fleche_gauche :
Begin
Fleche_active := True;
If I > 1 then
Begin Gotoxy(I-1,1); Dec(I); end;
goto En_attente_de_commande
end;
Insertion :
Begin
If Touche_insert = False then
Begin touche_insert := true; CursorInsert; end
Else If Touche_insert = true then
Begin touche_insert := false; Normalcursor; end;
goto En_attente_de_commande
end;
Key_F1 :
Begin Touche_F1 := true ; exit; end;
En_attente_de_commande :
Begin
Repeat
Touche := Readkey;
ch := Touche;
If (I > Length(String_data)) then Fleche_active := false;
If ((Touche >= '0') and (Touche <= '9')) then
Begin
If ((Touche_insert = True) and (Fleche_active = True)) then
Begin
Insert(Touche,String_data,I);
For Position := I to Length(String_data) do
Begin Write(String_data[Position]) end;
Gotoxy(I+1,1); Inc(I);
end
Else If ((Touche_insert = False) or (Fleche_active = false)) then
Begin
String_data[I] := Touche;
If Fleche_active = false then String_data := String_data + String_data[I];
Write(String_data[I]);
Inc(I);
end;
end
Else If ch = char(27) then goto Escape
Else If ch = char(8) then goto Backspace
Else If ch = char(0) then
Begin
ch := Readkey;
If ch = char(75) then goto Fleche_gauche
Else If ch = char(59) then goto Key_F1
Else If ch = char(77) then goto Fleche_droite
Else If ch = char(83) then goto Effacement
Else If ch = char(82) then goto Insertion
end;
Until (ch = Sentinel);
For Position := 1 to Length(String_data) do
Begin
Digit := ORD(String_data[Position]) - ORD('0');
Numdata := base * Numdata + Digit;
end;
end;
NumDataFinal := Numdata;
End;
{----------------------------------------------------------------------------}
Procedure Read_string (Var RepFinal:String);
Label Backspace, Effacement, Escape, Fleche_droite, Fleche_gauche, Fleche_bas,
Fleche_haut, Insertion, Key_F1, Tabulation, En_attente_de_commande;
Const Sentinel = char(13);
var Rep : String;
Touche : char;
Position : integer;
Fleche_active : Boolean;
Begin
I := 1;
Rep := '';
Touche_tab := False;
Touche_Esc := False;
Touche_bas := False;
Touche_haut := False;
Fleche_active := false;
Goto En_attente_de_commande;
Backspace :
Begin
If Fleche_active = true then
Begin
Delete(Rep,I-1,1);
Gotoxy((I-1),1);
For Position := (I-1) to Length(Rep) do
Begin Write(Rep[Position]) end;
Write(' '); Gotoxy((I-1),1); Dec(I);
end
Else If I >= 2 then
Begin
Delete(Rep,I-1,1);
Gotoxy(I-1,1); Write(char(0));
Gotoxy(I-1,1); Dec(I);
end;
goto En_attente_de_commande;
end;
Effacement :
Begin
Delete(Rep,I,1);
For Position := I to Length(Rep) do
Begin Write(Rep[Position]) end;
Write(' '); Gotoxy(I,1);
goto En_attente_de_commande
end;
Escape :
Begin Touche_Esc := true; exit; end;
Fleche_bas :
Begin Touche_bas := true; exit; end;
Fleche_haut :
Begin Touche_haut := true; exit; end;
Fleche_droite :
Begin
Fleche_active := True;
If I <= Length(Rep) then
Begin Gotoxy(I+1,1); Inc(I); end;
goto En_attente_de_commande
end;
Fleche_gauche :
Begin
Fleche_active := True;
If I > 1 then
Begin Gotoxy(I-1,1); Dec(I); end;
goto En_attente_de_commande
end;
Insertion :
Begin
If Touche_insert = False then
Begin touche_insert := true; CursorInsert; end
Else If Touche_insert = true then
Begin touche_insert := false; Normalcursor; end;
goto En_attente_de_commande
end;
Tabulation :
Begin Touche_tab := true; exit; end;
En_attente_de_commande :
Begin
Repeat
Touche := Readkey;
ch := Touche;
If (I > Length(Rep)) then Fleche_active := false;
If ((Touche >= char(32)) and (Touche <= char(255))) then
Begin
If ((Touche_insert = True) and (Fleche_active = True)) then
Begin
Insert(Touche,Rep,I);
For Position := I to Length(Rep) do
Begin Write(Rep[Position]) end;
Gotoxy(I+1,1); Inc(I);
end
Else If ((Touche_insert = False) or (Fleche_active = false)) then
Begin
Rep[I] := Touche;
If Fleche_active = false then Rep := Rep + Rep[I];
Write(Rep[I]);
Inc(I);
end;
end
Else If ch = char(27) then goto Escape
Else If ch = char(8) then goto Backspace
Else If ch = char(9) then goto Tabulation
Else If ch = char(0) then
Begin
ch := Readkey;
If ch = char(75) then goto Fleche_gauche
Else If ch = char(77) then goto Fleche_droite
Else If ch = char(83) then goto Effacement
Else If ch = char(82) then goto Insertion
Else If ch = char(80) then goto Fleche_bas
Else If ch = char(72) then goto Fleche_haut
end;
Until (ch = Sentinel);
end;
RepFinal := Rep;
End;
{---------------------------------------------------------------------------}
Procedure Centrer(Phrase:String ; x1,x2,Ligne:integer);
Begin
Gotoxy(2,Ligne);
For I := 1 to (((x2-x1)-Length(Phrase)) div 2) do Write (' ');
Write(Phrase);
end;
{----------------------------------------------------------------------------}
Procedure Message_erreur (Message:integer;CouleurFond:integer);
Var DosError_Message : String[80];
IOResult_Message : String[80];
Begin
EffaceCursor;
DessineBoite(9,7,72,19,4,true,0,12,True,CouleurFond,CouleurFond);
DessineBoite(12,8,69,10,4,true,12,0,False,12,12);
TextColor (14); Centrer('Errors Messages',12,69,2);
DessineBoite(12,11,69,18,4,true,12,0,False,12,12);
TextColor (15);
Case Message of
1: Begin
Case DosError of
2 : DosError_Message := 'File not found';
3 : DosError_Message := 'Path not found';
5 : DosError_Message := 'Access denied';
6 : DosError_Message := 'Invalid handle';
8 : DosError_Message := 'Not enough memory';
10 : DosError_Message := 'Invalid environment';
11 : DosError_Message := 'Invalid format';
18 : DosError_Message := 'No more files';
end;
Gotoxy(22,3);
Write('Dos Error number: ', DosError);
Centrer(DosError_Message,12,69,4);
DosError:=0;
end;
2: Begin
Case IOError of
1 : IOResult_message := 'Invalid function number';
2 : IOResult_message := 'File not found';
3 : IOResult_message := 'Path not found';
4 : IOResult_message := 'Too many open files';
5 : IOResult_message := 'File access denied';
6 : IOResult_message := 'Invalid file handle';
12 : IOResult_message := 'Invalid file access code';
15 : IOResult_message := 'Invalid drive number';
16 : IOResult_message := 'Cannot remove current directory';
17 : IOResult_message := 'Cannot rename across drives';
18 : IOResult_message := 'No more files';
100 : IOResult_message := 'Disk read error';
101 : IOResult_message := 'Disk write error';
102 : IOResult_message := 'File not assigned';
103 : IOResult_message := 'File not open';
104 : IOResult_message := 'File not open for input';
105 : IOResult_message := 'File not open for output';
106 : IOResult_message := 'Invalid numeric format';
150 : IOResult_message := 'Disk is write-protected';
151 : IOResult_message := 'Bad drive request struct length';
152 : IOResult_message := 'Drive not ready';
154 : IOResult_message := 'CRC error in data';
156 : IOResult_message := 'Disk seek error';
157 : IOResult_message := 'Unknown media type';
158 : IOResult_message := 'Sector Not Found';
159 : IOResult_message := 'Printer out of paper';
160 : IOResult_message := 'Device write fault (Printer may be off-line!)';
161 : IOResult_message := 'Device read fault';
162 : IOResult_message := 'Hardware failure';
200 : IOResult_message := 'Division by zero';
201 : IOResult_message := 'Range check error';
202 : IOResult_message := 'Stack overflow error';
203 : IOResult_message := 'Heap overflow error';
204 : IOResult_message := 'Invalid pointer operation';
205 : IOResult_message := 'Floating point overflow';
206 : IOResult_message := 'Floating point underflow';
207 : IOResult_message := 'Invalid floating point operation';
208 : IOResult_message := 'Overlay manager not installed';
209 : IOResult_message := 'Overlay file read error';
210 : IOResult_message := 'Object not initialized';
211 : IOResult_message := 'Call to abstract method';
212 : IOResult_message := 'Stream registration error';
213 : IOResult_message := 'Collection index out of range';
214 : IOResult_message := 'Collection overflow error';
215 : IOResult_message := 'Arithmetic overflow error';
216 : IOResult_message := 'General Protection fault';
end;
Gotoxy(20,3);
Write('IO Error number: ', IOError);
Centrer(IOResult_message,12,69,4);
end;
3: Begin
Centrer('You don''t have enough free space on drive "'+Destination_Drive+'"',12,69,3);
end;
4: Begin
Centrer('Please enter the source drive.',12,69,3);
end;
5: Begin
Centrer('Please Enter the destination drive',12,69,3);
end;
6: Begin
Centrer('Please enter the destination directory',12,69,3);
end; end;
TextColor (15);
Centrer ('Press <Enter> to continue!',12,69,7);
Readln;
end;
{----------------------------------------------------------------------------}
Procedure Barre_menu_bas(Ecran:String; Couleur:integer);
Begin
Window (1, 25, 80, 25);
Textbackground (Couleur);
Clrscr;
If (Ecran = 'Principal') then
Begin
TextColor(15);
Gotoxy(51,1); Write ('Made by: ');
TextColor(14);
Gotoxy(60,1); Write ('The CD-ROM Master''s');
TextColor(15);
Gotoxy(3,1); Write (' : More games');
TextColor(14);
Gotoxy(3,1); Write ('F1');
TextColor(15);
Gotoxy(20,1); Write (' : Quit');
TextColor(14);
Gotoxy(20,1); Write ('ESC');
end
Else Begin
TextColor(15);
Gotoxy(68,1); Write (' : Cancel');
TextColor(14);
Gotoxy(68,1); Write ('ESC');
end;
end;
{----------------------------------------------------------------------------}
Procedure BackGroundPrincipal(Couleur : integer);
Begin
Window (1, 1, 80, 25);
Textbackground (7);
Clrscr;
Window (1, 1, 80, 1);
Textbackground (Couleur);
Clrscr;
TextColor(15);
Centrer('Installation menu for the Multi-Jeux Tome ',1,80,1);
end;
{----------------------------------------------------------------------------}
Function Open(PathFileName:FileName;CouleurFond:integer): boolean;
var fp : Text;
begin
{$I-}
Assign(fp,PathFileName);
Reset(fp);
IOError := IOResult;
{$I+}
IF IOError <> 0 then Begin Open:=False; Message_Erreur(2,CouleurFond); end
Else Begin Open:=True; Close(fp); end;
end { Open };
{----------------------------------------------------------------------------}
Procedure Message_Traitement(PathFileName:FileName);
Begin
EffaceCursor;
BackGroundPrincipal(1);
DessineBoite(9,7,72,19,1,true,0,9,True,7,7);
DessineBoite(12,8,69,10,1,true,9,0,False,9,9);
TextColor (14); Gotoxy (22,2);
Write ('Status Information');
DessineBoite(12,11,69,18,1,true,9,0,False,9,9);
TextColor (15); Centrer('Applying modification',12,69,2);
TextColor(14); Centrer(PathFileName,12,69,3);
TextColor (15) ; Centrer('Please Wait',12,69,7);
Delay(1500);
end;
{----------------------------------------------------------------------------}
Procedure Modification_Ds_Fichier(PathFileName:FileName;
OriginalString, NewString : String);
Var Match : Boolean;
ResetTab : Integer;
OldFile : File of Char;
NewFile : File of Char;
StringReadLine : String;
TabReadLine : Array [1..255] of Char;
Path : DirStr;
FileName : NameStr;
Extension : ExtStr;
Begin
Assign(OldFile,PathFileName);
Message_Traitement(PathFileName);
If (open(PathFileName,7)) then
Begin
Fsplit(PathFileName,Path,FileName,Extension);
Assign(NewFile,Path+FileName+'.TMP');
Rewrite(NewFile);
Reset(OldFile);
While not EOF(OldFile) do
Begin
For ResetTab:= 1 to 255 do TabReadLine[ResetTab]:=#0;
I:=1;
Repeat
Read(OldFile, ch);
TabReadLine[I]:=ch;
inc(I);
until (ch=Char(10)) or EOF(OldFile);
StringReadLine:=TabReadLine;
For J := 1 to I do
Begin
If Upcase(OriginalString[1])=Upcase(TabReadLine[J]) then
Begin
Inc(J);
K:=2;
Match := True;
While Match and (K <= Length(OriginalString)) do
Begin
If Upcase(OriginalString[K])=Upcase(TabReadLine[J]) then
Begin Inc(J); Inc(K); end
Else Match:=False;
end;
If Match then
Begin
J := J-Length(OriginalString);
Delete(StringReadLine,J,Length(OriginalString));
Insert(NewString,StringReadLine,J);
J := J+(Length(OriginalString)-1);
end;
end;
end;
K:=1;
For ResetTab:= 1 to 255 do TabReadLine[ResetTab]:=#0;
Repeat
TabReadLine[K]:=StringReadLine[K];
Inc(K);
Until StringReadLine[K]=#0;
I:=1;
Repeat
Write(NewFile,TabReadLine[I]);
inc(I);
until (TabReadLine[I]=#0);
end;
Close(OldFile);
Close(NewFile);
Rename(OldFile,Path+FileName+'.OLD');
Rename(NewFile,PathFileName);
Delay(1500);
TextColor (15) ; Centrer('Press <Enter> to continue!',12,69,7);
Readln;
end;
end;
{----------------------------------------------------------------------------}
Procedure Manual_installation(TypeOfInstallation:integer);
Begin
EffaceCursor;
BackGroundPrincipal(1);
DessineBoite(9,7,72,19,1,true,0,9,True,7,7);
DessineBoite(12,8,69,10,1,true,9,0,False,1,1);
TextColor (14);
Centrer('Special installation',12,69,2);
DessineBoite(12,11,69,18,1,true,9,0,False,1,1);
TextColor (15); Centrer('Please start in '+OSystem,12,69,3);
If (TypeOfInstallation=1) then Begin
TextColor(14); Centrer(Source_drive+':\'+Path+'\'+Run_file,12,69,4); end
Else Begin
TextColor(14);
Centrer(Destination_drive+':\'+Destination_directory+'\'+Run_file,12,69,4);
end;
TextColor (15) ; Centrer('Press <Enter> to continue!',12,69,7);
Readln;
end;
{----------------------------------------------------------------------------}
Procedure ExecuteExec(ProgramName,CmdLine:String);
Begin
BackGroundPrincipal(1);
Window(1,2,80,25); TextBackGround(0); TextColor(7); ClrScr;
SwapVectors;
ChDir(Source_drive+':\'+Path);
Exec(ProgramName,CmdLine);
SwapVectors;
IF DOSError <> 0 then Begin Message_Erreur(1,0); exit; end;
end;
{----------------------------------------------------------------------------}
Procedure Install_game;
Begin
NormalCursor;
{---------------------------------------------}
If (Name=Name1 ) then Begin
end
{---------------------------------------------}
Else If (Name=Name2 ) then Begin
end
{---------------------------------------------}
Else If (Name=Name3 ) then Begin
end
{---------------------------------------------}
Else If (Name=Name4 ) then Begin
end
{---------------------------------------------}
Else If (Name=Name5 ) then Begin
end
{---------------------------------------------}
Else If (Name=Name6 ) then Begin
end
{---------------------------------------------}
Else If (Name=Name7 ) then Begin
end
{---------------------------------------------}
Else If (Name=Name8 ) then Begin
end
{---------------------------------------------}
Else If (Name=Name9 ) then Begin
end
{---------------------------------------------}
Else If (Name=Name10) then Begin
end
{---------------------------------------------}
Else If (Name=Name11) then Begin
end
{---------------------------------------------}
Else If (Name=Name12) then Begin
end
{---------------------------------------------}
Else If (Name=Name13) then Begin
end
{---------------------------------------------}
Else If (Name=Name14) then Begin
end
{---------------------------------------------}
Else If (Name=Name15) then Begin
end
{---------------------------------------------}
Else If (Name=Name16) then Begin
end
{---------------------------------------------}
Else If (Name=Name17) then Begin
end
{---------------------------------------------}
Else If (Name=Name18) then Begin
end
{---------------------------------------------}
Else If (Name=Name19) then Begin
end
{---------------------------------------------}
Else If (Name=Name20) then Begin
end
{---------------------------------------------}
Else If (Name=Name21) then Begin
end
{---------------------------------------------}
Else If (Name=Name22) then Begin
end
{---------------------------------------------}
Else If (Name=Name23) then Begin
end
{---------------------------------------------}
Else If (Name=Name24) then Begin
end
{---------------------------------------------}
Else If (Name=Name25) then Begin
end
{---------------------------------------------}
Else If (Name=Name26) then Begin
end
{---------------------------------------------}
Else If (Name=Name27) then Begin
end
{---------------------------------------------}
Else If (Name=Name28) then Begin
end
{---------------------------------------------}
Else If (Name=Name29) then Begin
end
{---------------------------------------------}
Else If (Name=Name30) then Begin
end
{---------------------------------------------}
Else If (Name=Name31) then Begin
end
{---------------------------------------------}
Else If (Name=Name32) then Begin
end
{---------------------------------------------}
Else If (Name=Name33) then Begin
end
{---------------------------------------------}
Else If (Name=Name34) then Begin
end
{---------------------------------------------}
Else If (Name=Name35) then Begin
end
{---------------------------------------------}
Else If (Name=Name36) then Begin
end
{---------------------------------------------}
Else If (Name=Name37) then Begin
end
{---------------------------------------------}
Else If (Name=Name38) then Begin
end
{---------------------------------------------}
Else If (Name=Name39) then Begin
end
{---------------------------------------------}
Else If (Name=Name40) then Begin
end;
{---------------------------------------------}
end;
{----------------------------------------------------------------------------}
Procedure Menu_texte;
Var Question_Answer : Char;
Printer_Device : String[4];
Begin
If Txt_file <> '' then Begin
EffaceCursor;
DessineBoite(9,7,72,19,5,true,0,13,True,3,3);
DessineBoite(12,8,69,10,5,true,13,0,False,13,13);
TextColor (14); Centrer('Text file Menu',12,69,2);
DessineBoite(12,11,69,18,5,true,13,0,False,13,13);
TextColor(15);
Centrer('Before the installation, you must read',12,69,2);
Centrer('the text file for more informations about the game.',12,69,3);
TextColor(14); Centrer('('+Txt_file+')',12,69,4); TextColor(15);
Centrer ('Press <Enter> to continue!',12,69,7);
Readln;
Source := FSearch('COMMAND.COM','C:\WINDOWS');
if Source = '' then ProgramCommandCom := 'c:\command.com'
Else ProgramCommandCom := 'c:\windows\command.com';
CmdLine := '/c Edit '+Source_drive+':\'+ Path +'\'+ Txt_file;
If (Open(Source_drive+':\'+Path+'\'+Txt_file,3)) then
Begin
DessineBoite(12,11,69,18,5,true,13,0,False,13,13);
TextColor(15); Centrer('Processing!',12,69,4); TextColor(15);
Delay(1500);
SwapVectors;
Exec(ProgramCommandCom, CmdLine) ;
SwapVectors;
If DOSError <> 0 then Begin Message_Erreur(1,0); exit; end;
Install_game; end
Else Begin Erreur := True; exit; end;
end
Else Install_game;
end;
{----------------------------------------------------------------------------}
Procedure Fill_the_blanks;
Label SourceDrive, DestinationDrive, DestinationDirectory;
var DiskNumber : integer;
SpaceDiskString : String[10];
function IntToStr(I: Longint): String;
{ Convert any integer type to a string }
var
S: string[10];
begin
Str(I, S);
IntToStr := S;
end;
Procedure Write_Space_Disk;
begin
If Destination_Drive <> 'í' then
Begin
I := 1;
For I := 1 to ((Length(SpaceDiskString))-2) do
Write(SpaceDiskString[I]);
If (Length(SpaceDiskString) >= 3 ) then Write(',')
Else Write('0,');
If (Length(SpaceDiskString) >= 2 ) then Begin
For J := ((Length(SpaceDiskString)-1)) to (Length(SpaceDiskString)) do
Write(SpaceDiskString[J]); end
Else If (Length(SpaceDiskString) = 1 ) then Begin
Write('0'); Write(SpaceDiskString); end;
Write(' Megs');
end;
end;
Begin
If (Destination_drive_Access = False) then Begin
Window(26,18,30,18); TextBackground(3); Clrscr; TextColor(14);
If (Destination_drive='í') then Write('---')
Else Write(Destination_drive,':\');
Window(50,20,70,20); TextBackground(3); Clrscr; TextColor(14);
DiskNumber := ord(Upcase(Destination_drive)) - 64;
SpaceDisk := (Diskfree(DiskNumber)div 10000);
SpaceDiskString := IntToStr(SpaceDisk);
EffaceCursor; Write_Space_Disk; NormalCursor; end;
If (Destination_directory_Access = False) then Begin
Window(30,19,72,19); TextBackground(3); Clrscr; TextColor(14);
If (Destination_directory='í') then Write('--------')
Else Write(Destination_directory); end;
SourceDrive:
Begin
Read_Char(21,17,25,17,0,'Letter');
If ((Touche_Esc=False)and(Touche_Tab=False)and(Touche_Bas=False)
and(Touche_Haut=False)) then Source_drive := Upcase(Choix);
Window(21,17,25,17); TextBackground(3); Clrscr; TextColor(14);
If Touche_Esc = True then Exit;
If Source_drive <> #0 then Write(Source_drive,':\');
If Touche_Tab = True then goto DestinationDrive
Else If Touche_Bas = True then goto DestinationDrive
Else If Touche_Haut = True then goto DestinationDirectory
end;
DestinationDrive:
Begin
If (Destination_drive_Access = True) then Begin
If (Destination_drive_Access = True) then Read_Char(26,18,30,18,0,'Letter');
If ((Touche_Esc=False)and(Touche_Tab=False)and(Touche_Bas=False)
and(Touche_Haut=False)) then Destination_drive := Upcase(Choix);
Window(26,18,30,18); TextBackground(3); Clrscr; TextColor(14);
If Touche_Esc = True then Exit;
If (Destination_drive <> #0) then Write(Destination_drive,':\');
If Touche_Tab = True then goto DestinationDirectory
Else If Touche_Bas = True then goto DestinationDirectory
Else If Touche_Haut = True then goto SourceDrive;
Window(50,20,70,20); TextBackground(3); Clrscr; TextColor(14);
DiskNumber := ord(Upcase(Destination_drive)) - 64;
SpaceDisk := (Diskfree(DiskNumber)div 10000);
SpaceDiskString := IntToStr(SpaceDisk);
EffaceCursor; Write_Space_Disk; NormalCursor;
end;
end;
DestinationDirectory:
Begin
If (Destination_directory_Access = True) then Begin
If (Destination_directory_Access = True) then begin
Window(30,19,72,19); TextBackground(0); Clrscr; TextColor(14);
Read_String(Destination_Directory); end;
Window(30,19,72,19); TextBackground(3); Clrscr; TextColor(14);
If Touche_Esc = True then Exit;
If Destination_directory <> '' then Write(Destination_directory);
If Touche_Tab = True then goto SourceDrive
Else If Touche_Bas = True then goto SourceDrive
Else If Touche_Haut = True then goto DestinationDrive
end;
end;
EffaceCursor;
Window (7, 16, 61, 16);
Textbackground (3);
Clrscr; { Pour effacer l'�cran }
TextColor (15); { Couleur du texte blanc }
Write ('Are you ready to start the installation? (Y)es or (N)o');
Textcolor (14); {Couleur des r�ponses yellow}
Gotoxy (43, 1); Write ('Y');
Gotoxy (52, 1); Write ('N');
Repeat
ch := Readkey;
Until (Upcase(Ch)=char(78)) or (Upcase(Ch)=char(89));
Clrscr;
NormalCursor;
Case (Upcase(ch)) of
'Y': Begin
If (Source_drive=#0) then Begin Message_Erreur(4,3); Erreur:=True; end
Else If (Destination_drive = #0) and (Destination_drive=#0) then
Begin Message_Erreur(5,3); Erreur:=True; end
Else If (Destination_directory = '') and (Destination_directory=#0) then
Begin Message_Erreur(6,3); Erreur:=True; end
Else If ((SpaceDisk div 100) < Megs) and (Destination_drive <> 'í') then
Begin Message_Erreur(3,3); Erreur := True; end
Else Menu_Texte; end;
'N' : Begin Clrscr; Fill_The_Blanks end;
end;
end;
{----------------------------------------------------------------------------}
Procedure Installation_Menu;
Begin
NormalCursor;
Touche_insert := false;
BackGroundPrincipal(3);
Barre_menu_bas('Autre',3);
DessineBoite(2,4,78,22,3,true,0,11,True,7,7);
DessineBoite(5,5,75,7,3,true,11,0,False,13,13);
TextColor (15); Centrer('Installation Menu',5,75,2);
Window(5,8,75,8); TextColor (14); Centrer(Name,5,75,1);
DessineBoite(5,9,75,13,3,true,11,0,False,13,13);
TextColor(15);
Gotoxy(3,2);Write('Space required: ');
TextColor(14); Write(Megs,' Megs'); TextColor(15);
Gotoxy(3,3);Write('Operating system: ');
TextColor(14); Write(OSystem); TextColor(15);
Gotoxy(3,4);Write('Reference text file: ');
TextColor(14); Write(Txt_file);
DessineBoite(5,14,75,21,3,true,11,0,False,13,13);
TextColor(15);
Gotoxy(3,2);Write('Please fill all the blanks.');
Gotoxy(3,4);Write('Source drive: ');
Gotoxy(3,5);Write('Destination drive: ');
Gotoxy(3,6);Write('Destination directory: ');
Gotoxy(3,7);Write('Space disk available on destination drive: ');
Fill_the_blanks;
If Erreur = True then begin
Erreur := False;
Installation_Menu; end;
end;
{----------------------------------------------------------------------------}
Procedure InitiationVariables(VarName:String; VarMegs:integer;
VarPath:Filename; VarOSystem, VarTxt_file, VarRun_file:String;
VarModification_file:String; VarDestination_drive:Char;
VarDestination_directory:String);
Begin
Name:=VarName ;
Megs:=VarMegs ;
Path:=VarPath ;
OSystem:=VarOSystem ;
Txt_file:=VarTxt_file ;
Run_file:=VarRun_file ;
Modification_file:=VarModification_file ;
Destination_drive:=VarDestination_drive ;
If (Destination_drive=#0) then Destination_drive_Access:=True
Else Destination_drive_Access:=False;
Destination_directory:=VarDestination_directory ;
If (Destination_directory='') then Destination_directory_Access:=True
Else Destination_directory_Access:=False;
Installation_Menu;
end;
{----------------------------------------------------------------------------}
Procedure Choix_du_Jeux;
Label Page1, Page2;
Begin
NormalCursor;
Touche_insert := false;
BackGroundPrincipal(1);
Barre_menu_bas('Principal',1);
DessineBoite(2,4,78,22,1,true,0,9,True,7,7);
DessineBoite(5,5,75,7,1,true,9,0,False,13,13);
TextColor (15); Centrer('Main Menu (Multi-Jeux tome )',5,75,2);
Goto Page1;
Page1: Begin
Choice:=0;
Touche_Esc := False;
DessineBoite(5,8,75,21,1,true,9,0,False,13,13);
TextColor (15);
Gotoxy(4,2) ; Write(' - '+Name1 );
Gotoxy(4,3) ; Write(' - '+Name2 );
Gotoxy(4,4) ; Write(' - '+Name3 );
Gotoxy(4,5) ; Write(' - '+Name4 );
Gotoxy(4,6) ; Write(' - '+Name5 );
Gotoxy(4,7) ; Write(' - '+Name6 );
Gotoxy(4,8) ; Write(' - '+Name7 );
Gotoxy(4,9) ; Write(' - '+Name8 );
Gotoxy(4,10) ; Write(' - '+Name9 );
Gotoxy(4,11) ; Write(' - '+Name10);
Gotoxy(38,2) ; Write(' - '+Name11);
Gotoxy(38,3) ; Write(' - '+Name12);
Gotoxy(38,4) ; Write(' - '+Name13);
Gotoxy(38,5) ; Write(' - '+Name14);
Gotoxy(38,6) ; Write(' - '+Name15);
Gotoxy(38,7) ; Write(' - '+Name16);
Gotoxy(38,8) ; Write(' - '+Name17);
Gotoxy(38,9) ; Write(' - '+Name18);
Gotoxy(38,10); Write(' - '+Name19);
Gotoxy(38,11); Write(' - '+Name20);
TextColor(14);
Gotoxy(3,2) ; Write(' 1') ; Gotoxy(3,3) ; Write(' 2');
Gotoxy(3,4) ; Write(' 3') ; Gotoxy(3,5) ; Write(' 4');
Gotoxy(3,6) ; Write(' 5') ; Gotoxy(3,7) ; Write(' 6');
Gotoxy(3,8) ; Write(' 7') ; Gotoxy(3,9) ; Write(' 8');
Gotoxy(3,10) ; Write(' 9') ; Gotoxy(3,11) ; Write('10');
Gotoxy(37,2) ; Write('11') ; Gotoxy(37,3) ; Write('12');
Gotoxy(37,4) ; Write('13') ; Gotoxy(37,5) ; Write('14');
Gotoxy(37,6) ; Write('15') ; Gotoxy(37,7) ; Write('16');
Gotoxy(37,8) ; Write('17') ; Gotoxy(37,9) ; Write('18');
Gotoxy(37,10) ; Write('19') ; Gotoxy(37,11) ; Write('20');
TextColor (15);
Gotoxy(3,13); Write('Your choice : ');
TextColor(14);
Repeat
Repeat
Window (21, 20, 30, 20);
Textbackground (1);
ClrScr;
Read_integer(Choice);
Until (Choice in [1..20]) or (Ch = Char(27)) or (Touche_F1 = True);
If Touche_Esc = True then BoitePourQuitter(Choix)
Else If (Touche_F1 = True) then goto page2;
If (Upcase(Choix) = 'Y') then Quit := True
Else Begin
Quit := false;
Window (28, 20, 74, 20);
Textbackground (1);
Clrscr; end;
Until (Choice in [1..20]) or (Quit <> False);
If (Quit=True) then Exit;
Case (Choice) of
1 : Begin InitiationVariables( Name1 ,Megs1 ,Path1 ,OSystem1 ,Txt_file1 ,Run_file1 ,
Modification_file1 , Destination_drive1 ,Destination_directory1 ); end;
2 : Begin InitiationVariables( Name2 ,Megs2 ,Path2 ,OSystem2 ,Txt_file2 ,Run_file2 ,
Modification_file2 , Destination_drive2 ,Destination_directory2 ); end;
3 : Begin InitiationVariables( Name3 ,Megs3 ,Path3 ,OSystem3 ,Txt_file3 ,Run_file3 ,
Modification_file3 , Destination_drive3 ,Destination_directory3 ); end;
4 : Begin InitiationVariables( Name4 ,Megs4 ,Path4 ,OSystem4 ,Txt_file4 ,Run_file4 ,
Modification_file4 , Destination_drive4 ,Destination_directory4 ); end;
5 : Begin InitiationVariables( Name5 ,Megs5 ,Path5 ,OSystem5 ,Txt_file5 ,Run_file5 ,
Modification_file5 , Destination_drive5 ,Destination_directory5 ); end;
6 : Begin InitiationVariables( Name6 ,Megs6 ,Path6 ,OSystem6 ,Txt_file6 ,Run_file6 ,
Modification_file6 , Destination_drive6 ,Destination_directory6 ); end;
7 : Begin InitiationVariables( Name7 ,Megs7 ,Path7 ,OSystem7 ,Txt_file7 ,Run_file7 ,
Modification_file7 , Destination_drive7 ,Destination_directory7 ); end;
8 : Begin InitiationVariables( Name8 ,Megs8 ,Path8 ,OSystem8 ,Txt_file8 ,Run_file8 ,
Modification_file8 , Destination_drive8 ,Destination_directory8 ); end;
9 : Begin InitiationVariables( Name9 ,Megs9 ,Path9 ,OSystem9 ,Txt_file9 ,Run_file9 ,
Modification_file9 , Destination_drive9 ,Destination_directory9 ); end;
10: Begin InitiationVariables( Name10,Megs10,Path10,OSystem10,Txt_file10,Run_file10,
Modification_file10, Destination_drive10,Destination_directory10); end;
11: Begin InitiationVariables( Name11,Megs11,Path11,OSystem11,Txt_file11,Run_file11,
Modification_file11, Destination_drive11,Destination_directory11); end;
12: Begin InitiationVariables( Name12,Megs12,Path12,OSystem12,Txt_file12,Run_file12,
Modification_file12, Destination_drive12,Destination_directory12); end;
13: Begin InitiationVariables( Name13,Megs13,Path13,OSystem13,Txt_file13,Run_file13,
Modification_file13, Destination_drive13,Destination_directory13); end;
14: Begin InitiationVariables( Name14,Megs14,Path14,OSystem14,Txt_file14,Run_file14,
Modification_file14, Destination_drive14,Destination_directory14); end;
15: Begin InitiationVariables( Name15,Megs15,Path15,OSystem15,Txt_file15,Run_file15,
Modification_file15, Destination_drive15,Destination_directory15); end;
16: Begin InitiationVariables( Name16,Megs16,Path16,OSystem16,Txt_file16,Run_file16,
Modification_file16, Destination_drive16,Destination_directory16); end;
17: Begin InitiationVariables( Name17,Megs17,Path17,OSystem17,Txt_file17,Run_file17,
Modification_file17, Destination_drive17,Destination_directory17); end;
18: Begin InitiationVariables( Name18,Megs18,Path18,OSystem18,Txt_file18,Run_file18,
Modification_file18, Destination_drive18,Destination_directory18); end;
19: Begin InitiationVariables( Name19,Megs19,Path19,OSystem19,Txt_file19,Run_file19,
Modification_file19, Destination_drive19,Destination_directory19); end;
20: Begin InitiationVariables( Name20,Megs20,Path20,OSystem20,Txt_file20,Run_file20,
Modification_file20, Destination_drive20,Destination_directory20); end;
end;
exit;
end;
Page2: Begin
Touche_Esc := False;
DessineBoite(5,8,75,21,1,true,9,0,False,13,13);
TextColor (15);
Gotoxy(4,2) ; Write(' - '+Name21);
Gotoxy(4,3) ; Write(' - '+Name22);
Gotoxy(4,4) ; Write(' - '+Name23);
Gotoxy(4,5) ; Write(' - '+Name24);
Gotoxy(4,6) ; Write(' - '+Name25);
Gotoxy(4,7) ; Write(' - '+Name26);
Gotoxy(4,8) ; Write(' - '+Name27);
Gotoxy(4,9) ; Write(' - '+Name28);
Gotoxy(4,10) ; Write(' - '+Name29);
Gotoxy(4,11) ; Write(' - '+Name30);
Gotoxy(38,2) ; Write(' - '+Name31);
Gotoxy(38,3) ; Write(' - '+Name32);
Gotoxy(38,4) ; Write(' - '+Name33);
Gotoxy(38,5) ; Write(' - '+Name34);
Gotoxy(38,6) ; Write(' - '+Name35);
Gotoxy(38,7) ; Write(' - '+Name36);
Gotoxy(38,8) ; Write(' - '+Name37);
Gotoxy(38,9) ; Write(' - '+Name38);
Gotoxy(38,10); Write(' - '+Name39);
Gotoxy(38,11); Write(' - '+Name40);
TextColor(14);
Gotoxy(3,2) ; Write('21') ; Gotoxy(3,3) ; Write('22');
Gotoxy(3,4) ; Write('23') ; Gotoxy(3,5) ; Write('24');
Gotoxy(3,6) ; Write('25') ; Gotoxy(3,7) ; Write('26');
Gotoxy(3,8) ; Write('27') ; Gotoxy(3,9) ; Write('28');
Gotoxy(3,10) ; Write('29') ; Gotoxy(3,11) ; Write('30');
Gotoxy(37,2) ; Write('31') ; Gotoxy(37,3) ; Write('32');
Gotoxy(37,4) ; Write('33') ; Gotoxy(37,5) ; Write('34');
Gotoxy(37,6) ; Write('35') ; Gotoxy(37,7) ; Write('36');
Gotoxy(37,8) ; Write('37') ; Gotoxy(37,9) ; Write('38');
Gotoxy(37,10) ; Write('39') ; Gotoxy(37,11) ; Write('40');
TextColor (15);
Gotoxy(3,13); Write('Your choice : ');
TextColor(14);
Repeat
Repeat
Window (21, 20, 30, 20);
Textbackground (1);
ClrScr;
Read_integer(Choice);
Until (Choice in [21..34]) or (Ch = Char(27)) or (Touche_F1 = True);
If Touche_Esc = True then BoitePourQuitter(Choix)
Else If (Touche_F1 = True) then goto page1;
If (Upcase(Choix) = 'Y') then Quit := True
Else Begin
Quit := false;
Window (28, 20, 74, 20);
Textbackground (1);
Clrscr; end;
Until (Choice in [21..34]) or (Quit <> False);
If (Quit=True) then Exit;
Case (Choice) of
21: Begin InitiationVariables( Name21,Megs21,Path21,OSystem21,Txt_file21,Run_file21,
Modification_file21, Destination_drive21,Destination_directory21); end;
22: Begin InitiationVariables( Name22,Megs22,Path22,OSystem22,Txt_file22,Run_file22,
Modification_file22, Destination_drive22,Destination_directory22); end;
23: Begin InitiationVariables( Name23,Megs23,Path23,OSystem23,Txt_file23,Run_file23,
Modification_file23, Destination_drive23,Destination_directory23); end;
24: Begin InitiationVariables( Name24,Megs24,Path24,OSystem24,Txt_file24,Run_file24,
Modification_file24, Destination_drive24,Destination_directory24); end;
25: Begin InitiationVariables( Name25,Megs25,Path25,OSystem25,Txt_file25,Run_file25,
Modification_file25, Destination_drive25,Destination_directory25); end;
26: Begin InitiationVariables( Name26,Megs26,Path26,OSystem26,Txt_file26,Run_file26,
Modification_file26, Destination_drive26,Destination_directory26); end;
27: Begin InitiationVariables( Name27,Megs27,Path27,OSystem27,Txt_file27,Run_file27,
Modification_file27, Destination_drive27,Destination_directory27); end;
28: Begin InitiationVariables( Name28,Megs28,Path28,OSystem28,Txt_file28,Run_file28,
Modification_file28, Destination_drive28,Destination_directory28); end;
29: Begin InitiationVariables( Name29,Megs29,Path29,OSystem29,Txt_file29,Run_file29,
Modification_file29, Destination_drive29,Destination_directory29); end;
30: Begin InitiationVariables( Name30,Megs30,Path30,OSystem30,Txt_file30,Run_file30,
Modification_file30, Destination_drive30,Destination_directory30); end;
31: Begin InitiationVariables( Name31,Megs31,Path31,OSystem31,Txt_file31,Run_file31,
Modification_file31, Destination_drive31,Destination_directory31); end;
32: Begin InitiationVariables( Name32,Megs32,Path32,OSystem32,Txt_file32,Run_file32,
Modification_file32, Destination_drive32,Destination_directory32); end;
33: Begin InitiationVariables( Name33,Megs33,Path33,OSystem33,Txt_file33,Run_file33,
Modification_file33, Destination_drive33,Destination_directory33); end;
34: Begin InitiationVariables( Name34,Megs34,Path34,OSystem34,Txt_file34,Run_file34,
Modification_file34, Destination_drive34,Destination_directory34); end;
35: Begin InitiationVariables( Name35,Megs35,Path35,OSystem35,Txt_file35,Run_file35,
Modification_file35, Destination_drive35,Destination_directory35); end;
36: Begin InitiationVariables( Name36,Megs36,Path36,OSystem36,Txt_file36,Run_file36,
Modification_file36, Destination_drive36,Destination_directory36); end;
37: Begin InitiationVariables( Name37,Megs37,Path37,OSystem37,Txt_file37,Run_file37,
Modification_file37, Destination_drive37,Destination_directory37); end;
38: Begin InitiationVariables( Name38,Megs38,Path38,OSystem38,Txt_file38,Run_file38,
Modification_file38, Destination_drive38,Destination_directory38); end;
39: Begin InitiationVariables( Name39,Megs39,Path39,OSystem39,Txt_file39,Run_file39,
Modification_file39, Destination_drive39,Destination_directory39); end;
40: Begin InitiationVariables( Name40,Megs40,Path40,OSystem40,Txt_file40,Run_file40,
Modification_file40, Destination_drive40,Destination_directory40); end;
end; end;
end;
{----------------------------------------------------------------------------}
Begin
Clrscr;
NormalCursor;
Source := '';
Quit := False;
Erreur := False;
Touche_insert := false;
Repeat
Choix_du_Jeux;
Until Quit = True;
fin(False);
END.
[Back to MENU SWAG index] [Back to Main SWAG index] [Original]