- 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)

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 )
Efter opstart-meddelelsen kommer denne menu:

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':

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
^ = Ctrl, # = Shift, @ = Alt
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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 |
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.
|
