home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Best of German Only 1
/
romside_best_of_german_only_1.iso
/
doshelp
/
dostutor
/
dostutor.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-02-16
|
59KB
|
1,810 lines
{$E+,N+}
Program DOSTUTOR_III2;
uses graph, crt, dos, Printer;
const StringLength = 40;
MenuStart = 1;
MenuEnd =136;
F1 = #59;
F2 = #60;
F3 = #61;
F10 = #68;
pgdn = #81;
pgup = #73;
CursorUp = #72;
CursorDown = #80;
Esc = #27;
Enter = #13;
y2 = #121;
Y1 = #89;
TYPE
MenuString = string[Stringlength];
Index = MenuStart .. MenuEnd;
MenuList = array[Index] of MenuString;
label VGA1,exit1;
VAR
VerHi, VerLo : Byte;
VerSwap : Word;
VGA, z, a : string;
i,y,x, oldrowcounter,
safty, oldmenucounter,
help,rowCounter,ende,GRA1,menucounter,check : integer;
MenuChoice : MenuList;
WHATKEY : CHAR;
year,month,day,dayofweek:word;
weekday:string[10];
{========================================================}
procedure CursorOn;
begin
inline($B4/$01/$B9/$13/$12/$CD/$10);
end;
procedure CursorOff;
begin
inline($B4/$01/$B9/$FF/$FF/$CD/$10);
end;
{$M 2048,0,0}
PROcedure DOSSHELL;
VAR
Command: string[127];
CurrentDir :string;
BEGIN
textbackground (black);
clrscr;
write ('Geben Sie "EXIT" ein um zum TUTOR zurück zu kommen.');
gotoxy (12,1);textcolor (lightred);write ('EXIT');
gotoxy (2,2);
cursoron;
BEGIN
Exec(GetEnv('COMSPEC'), '/C command.com');
if DosError <> 0 then
WRITELN('Could not execute COMMAND.COM');
end;
cursoroff;
end;
PROCEDURE mainmenu;
BEGIN
clrscr;
textbackground (black);
textcolor(LIGHTBLUE);
gotoxy(24,1);
writeln('┌────────────────────────────────╖');
gotoxy(24,2);
writeln('│ ║');
gotoxy(24,3);
writeln('│ ║');
gotoxy(24,4);
writeln('│ ║');
gotoxy(24,5);
writeln('│ ║');
gotoxy(24,6);
writeln('╘════════════════════════════════╝');
gotoxy(35,2);textcolor(LIGHTred);write('DOS 5.0 TUTOR');
gotoxy(33,3);textcolor(cyan);write('Programmiert Von');
gotoxy(34,4);textcolor(cyan);write('Carsten & Frank');
getdate(year,month,day,dayofweek);
case dayofweek of
0:weekday:='Sonntag'; 1:weekday:='Montag';
2:weekday:='Dienstag'; 3:weekday:='Mittwoch';
4:weekday:='Donnerstag'; 5:weekday:='Freitag';
6:weekday:='Samstag';
end;
gotoxy(26,5);textcolor(red);
write('Heute Ist: ',weekday,' ',day,'.',month,'.',year);
textcolor(LIGHTBLUE);
gotoxy(51,7);
write('┌');
for i:=1 to 25 DO
write('─');
write('╖');
for y:=8 to 24 do
BEGIN
gotoxy(51,y);write('│');
gotoxy(77,y);write('║');
end;
gotoxy(51,25);write('╘');
for i:=1 to 25 Do
write('═');
write('╝');
VerSwap := DosVersion;
VerHi := Lo(VerSwap);
VerLo := Hi(VerSwap);
gotoxy (2,5);
write('Ihre DOS Version ist:');
textcolor (lightred);
gotoxy (4,3); write ('F2');
GOTOXY (4,2); WRITE ('F1');
gotoxy (4,4);write ('F3');
gotoxy (10,6);write(Lo(verswap),'.',Hi(verswap));
gotoxy (62,2);write ('PgUp');
gotoxy (62,3);write ('PgDn');
gotoxy (63,4);write (#24,' ',#25);
gotoxy (63,5);write ('<─┘');
textcolor (lightblue);
gotoxy (7,2); write ('= Beenden');
gotoxy (7,3); write ('= DOS Shell');
gotoxy (7,4); write ('= HILFE');
gotoxy (67,2); write (' = Oben');
gotoxy (67,3); write (' = Unten');
gotoxy (67,4); write (' = Oben, Unten');
gotoxy (67,5); write (' = Wählen');
END;
{=================================================}
PROCEDURE viewwindow;
BEGIN
textcolor (lightblue);
textbackground (black);
gotoxy (1,7); write ('┌');
gotoxy (50,7); write ('╖');
for x:=2 to 49 do
begin
gotoxy (x,7); write ('─');
end;
for y:=8 to 24 do
BEGIN
gotoxy(1,y);write('│');
gotoxy(50,y);write('║');
end;
gotoxy(1,25);write('╘');
for i:=1 to 48 do
write('═');
write('╝');
END;
PROCEDURE viewwindow1;
BEGIN
textcolor (lightblue);
textbackground (black);
gotoxy (1,7);
write ('┌────────────────────────────────────────────────╖');
gotoxy (1,8);
write ('│ ║');
gotoxy (1,9);
write ('│ ║');
gotoxy (1,10);
write ('│ ║');
gotoxy (1,11);
write ('│ ║');
gotoxy (1,12);
write ('│ ║');
gotoxy (1,13);
write ('│ ║');
gotoxy (1,14);
write ('│ ║');
gotoxy (1,15);
write ('│ ║');
gotoxy (1,16);
write ('│ ║');
gotoxy (1,17);
write ('│ ║');
gotoxy (1,18);
write ('│ ║');
gotoxy (1,19);
write ('│ ║');
gotoxy (1,20);
write ('│ ║');
gotoxy (1,21);
write ('│ ║');
gotoxy (1,22);
write ('│ ║');
gotoxy (1,23);
write ('│ ║');
gotoxy (1,24);
write ('│ ║');
gotoxy (1,25);
write ('╘════════════════════════════════════════════════╝');
textcolor (cyan);
END;
{====================================================}
PROCEDURE REGISTRATION;
BEGIN
clrscr;
gotoxy (1,1);
writeln(' ******DOS TUTOR IV REGISTRATION FORM****** ');
writeln;
writeln(' Ich würde gerne das folgende Prgramm anmelden: ');
writeln(' ____Kopien von Dos 5.0 TUTOR, @ 35 DM jede. ');
writeln(' Insgesammt: DM______ ');
writeln;
writeln('Bitte stellen Sie die Überweisung aus an:');
writeln('CARSTEN BOCKSTETTE KONTO #:6202089 Deutsche Bank Lohne');
writeln(' *******************************');
writeln('Die Anmeldung * G.H.S. , KRESSENWEG 2 *');
writeln('senden Sie an: * 2842 LOHNE i. O. *');
writeln(' *******************************');
writeln;
writeln ('Bitte senden Sie neue Versionen des Programs zu:');
writeln('Name:____________________________________________________');
writeln('Straße:__________________________________________________');
writeln('Stadt, Postleitzahl:_____________________________________');
writeln('Land:____________________________________________________');
writeln('Bitte teilen Sie uns mit was Sie von dem T U T O R halten:');
writeln('____________________________________________________________');
writeln('____________________________________________________________');
writeln('____________________________________________________________');
end;
{000000000000000000000000000000000000000000000000000000000}
procedure PRINT;
VAR
Row, Column,
SegmentNumber: word;
function Videosegment : word;
BEGIN
if Mem [ $0040 : $0049 ] = 7 then
Videosegment := $B000
else
Videosegment := $B800;
END;
Begin
SegmentNumber := Videosegment;
for Row :=0 to 24 do begin
for Column := 0 to 79 do
write (lst, chr (Mem[ SegmentNumber : 2*Column + 160*Row ] ) );
writeln (Lst );
end;
write (lst, #