home *** CD-ROM | disk | FTP | other *** search
- Program Test;
- { Dieses Programm demonstriert die Verwendung eigener Assemblerroutinen
- innerhalb von MINI-Comp. Die Assembler-Routinen liegen in SCROLL.ASM
- vor. Der Linker linkt die Routinen automatisch ein, indem er davon
- ausgeht, daß das Objectfile unter dem Namen der ersten als EXTERNAL
- definierten Procedure /Function im gleichen Pfad wie das gerade
- übersetzte Programm steht.
- Die Assemblerroutinen sind kurz gehalten und nehmen keine Rücksicht
- auf das Aussehen. So müßte eigentlich immer auf den VBEAM gewartet
- werden und die Breite eines Zeichens in Pixeln müßte auch über Text-
- Length (GFX) bestimmt werden
- }
-
- Var Big,Color,Mode,CLI : Boolean;
- Win : Integer;
- c : Char;
- ScrText,s : String;
-
- Procedure Menu;
- Begin
- c:='5';
- Repeat
- Writeln;
- Writeln(' 1 = Farbe ändern ');
- Writeln(' 2 = Text ändern ');
- Writeln(' 3 = Mode ändern ');
- Writeln(' 4 = Font ändern ');
- Writeln(' 5 = Ende ');
- Writeln;
- Write(' Wahl :');
- c:=ReadKey;
- If CLI
- then Readln(s);
- Until (c>='1') and (c<'6')
- End;
-
- Procedure Scroll(Txt : String);
- External;
-
- Function OpenWindow : Integer;
- External;
-
- Procedure SetColor(Var Col : Boolean);
- External;
-
- Procedure CloseWindow(Win : Integer);
- External;
-
- Procedure SetMode(Var Mode : Boolean);
- External;
-
- Procedure SetFont(var Font : Boolean);
- External;
-
- Procedure GetText;
- Begin
- Write('Scrolltext (80 Zeichen):');
- Readln(ScrText)
- End;
-
- Begin
- If FromWb
- then Begin
- CLI:=False
- End
- else CLI:=True;
- Color:=False;
- Big:=False;
- Mode:=False;
- ScrText:='Dies ist eine Demo für externe Routinen in Mini-Comp . Die'+
- ' Scrollroutine ist extern in SCROLL.ASM abgelegt ';
- Writeln('ScrollMe wurde erstellt mit MiniComp 0.9');
- Writeln('(C) Markus Rathmann');
- Win:=OpenWindow;
- SetMode(Mode);
- SetColor(Color);
- Scroll(ScrText);
- Repeat
- Menu;
- Case c Of
- '1' : SetColor(Color);
- '2' : GetText;
- '3' : SetMode(Mode);
- '4' : SetFont(Big);
- else ScrText:='Das war die kurze Demo für die externe Routinen. Ich hoff'+
- 'e es hat alles geklappt. Shutting down 5 4 3 2 1 '+
- '... Bye ';
- End;
- Scroll(ScrText);
- Until c='5';
- CloseWindow(Win)
- End.
-