MLHA - PC - Software - Programmering - Pascal - TP - TurboPascal 3
v Start Menu, Taster, Reserverede ord, Program eksempel

Hele programmet - editor og compiler - er indeholdt i filen:
TURBO.COM    (39 KB, 1985-04-17)
Ved opstart vises denne meddelelse: (Næste skærm: Start Menu)

start.gif (2566 bytes)

Hvis man vil kunne se fejlmeddelelser ('Include error messages'), skal følgende fil være i samme mappe som programfilen:
TURBO.MSG    ( 2 KB, 1985-03-01)

Grafik-modulet består af følgende filer, som understøtter CGA-grafik (320 x 200 pixels, 2 paletter med 4 farver):
GRAPH.BIN  ( 6 KB, 1985-03-01 : compilerede grafik-rutiner)
GRAPH.P    ( 4 KB, 1985-03-01 : 'external' erklæringer til rutinerne i GRAPH.BIN)

Dokumentation til TP3 pakken findes i disse tekst-dokumenter:
READ.ME      (10 KB : corrections to the TP3 Manual)
DOSFCALL.DOC ( 2 KB : documentation for the MsDos command )
INTRPTCL.DOC ( 2 KB : documentation for the Intr command )
EXTERNAL.DOC ( 2 KB : documentation for external procedures - written in assembler )

Desuden medfølger nogle eksempler på programmer:
CMDLIN.PAS   ( 1 KB : command line parameters )
ART.PAS      ( 4 KB : color graphics )
COLOR.PAS    ( 5 KB : graphics using the GRAPH module )
TURTLE.PAS   ( 8 KB : 'turtle'-graphics using the GRAPH module )
WINDOW.PAS   ( 4 KB : text-mode windows )
SOUND.PAS    ( 3 KB : the procedures Sound, Delay and NoSound )
DIRECT.PAS   ( 3 KB : directory procedures )
LISTER.PAS   ( 6 KB : 'SOURCE LISTER' - a program to list TURBO PASCAL source programs )

MICROCALC - a sample application:
CALC.PAS     (34 KB : the main program )
CALCMAIN.PAS ( 1 KB : support program )
CALC.HLP     ( 5 KB : Help file )
CALCDEMO.MCS (12 KB : Messages )

wz7-icon-small.gif (902 bytes) Zip-fil med Alle filer
 

TP3 - Start Menu

Efter opstart-meddelelsen kommer denne menu:

menu.gif (2619 bytes)

 

Fremgangsmåden er følgende:

A   vælg aktiv mappe - her skal pascal-programmmet være
D se mappens indhold - evt filtreret med maske (*.PAS)
W vælg ny eller gammel arbejdsfil (pascal-program)
E rediger filen

 

I TP3's editor benyttes mange specielle tastetryk - se Taster
Bemærk!: Når pascal-programmet er redigeret færdigt, vil man gerne tilbage til start-menuen, så programmet kan blive gemt og compileret...
... man kan ikke regne ud, hvordan det foregår - ingen tænkelige tastetryk vil bringe os tilbage - .
... Næh, man skal vide, at der afsluttes med ctrl-K-D ! (K benyttes normalt til blok-kommandoer, så hele programmet skal opfattes som en 'blok' - D står for 'Done' - Jøsses !)

 

Efter redigeringen vælger man i start-menuen:

S Save
O   Options - man kan vælge mellem compilering til Memory og til Disk
C Compile - hvis 'to Disk' er valgt, oprettes en .COM programfil
R Run - programmet afvikles - og output vises
Q Quit - tilbage til DOS

 

Hvis der ikke er fejl i programmet, giver compileringen en oversigt over programmets forbrug af 'paragraffer':
compile.gif (2600 bytes)
En Paragraf = 16 bytes
Code: 001D =   29 paragraphs =   29*16 =   464 bytes
      0D0B = 3339 paragraphs = 3339*16 = 53424 bytes free
Data: 0003 =    3 paragraphs =    3*16 =     48 bytes
      0FD9 = 4057 paragraphs = 4057*16 = 64912 bytes free

 

TP3 - Taster - i editor

^ = Ctrl, # = Shift, @ = Alt

Cursor - Edit
^D Cursor Right
^E Cursor Up
^S   Cursor Left
^X Cursor Down
^W Scroll up (roll text down)
^Z Scroll down (roll text up)
@BkSp Undo
#Del Cut
^Ins Copy
#Ins Paste
   
Block
^KB Mark Block Start
^KK Mark Block End
^KH   Hide/Unhide Block
^KC   Copy Block
^KY Delete Block
^KI Indent Block
^KU Unindent Block
^KD Done - Quit editor
Search - Replace
^QF Find
^QA Replace
^L Repeat search

 

TP3 - Reserverede ord

Absolute
And
Array
Begin
Case
Const
Constructor
Destructor
Div
Do
Downto
Else
End
External
File
For
Forward
Function
Goto
If
Implementation
In
Inline
Interface
Interrupt
Label
Mod
Nil
Not
Object
Of
Or
Packed
Procedure
Program
Record
Repeat
Set
Shl
Shr
String
Then
To
TypeUnit
Until
Uses
Var
Virtual
While
With
Xor

 

TP3 - Program eksempel

Følgende program er standard Pascal - bortset fra de fremhævede elementer:

program example;
const
  pi = 3.1416;
  sep = '---------';
var
  radius, height : real;
  count : integer;
type
  s10 = string[10];
label
  continue, quit;   { standard: 1, 2 }

function surface(r: real; h: real): real;
var disk, cyl : real;
begin
  disk := pi * r * r;
  cyl := h * r;
  surface := 2 * disk + cyl;
end;

procedure line(str : s10);
begin
  writeln(sep, ' ', str, ' ', sep);
end;

begin
  line ('start');
  count := 0; height := 5;
  writeln('Height: ', height : 3 : 0);
continue:
  if count = 9 then goto quit;
  count := count + 1;
  write('Radius: ', count);
  writeln(' - Surface area: ', surface(count, height) : 8 : 2);
  goto continue;
quit:
  line ('End')
end.

 

running.gif (3446 bytes)