Thi documen i quic referanc o al o th standar function an procedure containe i th programin envirnmen Turb Pascal The ar groupe b typ o operatio (eg.- Strin procedure, Fil procedures.). Reserved Words * absolute * external nil * shr and file not * string array for of then begin forward or to case function packed type const goto procedure until div if program var do in record while downto * inline repeat with else label set * xor end mod * shl * - The asterisks indicate reserved words not defined in standard Pascal. Standard Identifiers ArcTan Delay Ln Rename Assign Delete Lo Reset Aux EOF LowVideo Rewrite AuxInPtr EOLN Lst Round AuxOutPtr Erase LstOutPtr Seek BlockRead Execute Mark Sin BlockWrite Exp MaxInt SizeOf Boolean False Mem Sqr BufLen FilePos MemAvail Sqrt Byte FileSize Move Str Chain FillChar New Succ Char Flush NormVideo Swap Chr Fract Odd Text Close GetMem Ord Trm ClrEOL GotoXY Output True ClrScr HearPtr Pi Trunc Con Hi Port UpCase ConInPtr IOresult Pos Usr ConOutPtr Input Pred UsrInPtr Concat InsLine Ptr UsrOutPtr ConstPtr Insert Random Val Copy Int Randomize Write Cos Integer Read Writeln CrtExit Kbd Readln CrtInit KeyPressed Real DelLine Length Release Page 1. String Procedures Delete ____________________________________________________________________________ Syntax: Delete( St, Pos, Num ) Delet remove substrin containin 'Num character fro 'St startin a positio 'Pos' 'St i strin variabl an bot 'Pos an 'Num ar intege expressions I 'Pos i greate the 'Length S )' n character ar removed I a attemp i mad t delet character beyon th en o th strin (i.e 'Pos 'Num exceed th lengt o th string) onl character withi th strin ar deleted I 'Pos i outsid th rang 1..255 a run time error occurs. Insert ____________________________________________________________________________ Syntax: Insert( Obj, Target, Pos ) Inser insert th strin 'Obj int th strin 'Target a th positio 'Pos' 'Obj i strin expression 'Target i strin variable an 'Pos i a intege expression I 'Pos i greate tha 'Length Targe )' the 'Obj i concatenate t 'Target' I the resul i longe tha th maximu lengt o 'Target' the exces character wil b truncate an 'Target wil onl contai th left-mos characters I 'Pos i outsid the range 1..255, a run time error occurs. Str ____________________________________________________________________________ Syntax: Str( Value, St ) Th St procedur convert th numeri valu o 'Value int strin an store th resul i 'St' 'Value i writ paramete o typ intege o of type real. Val ____________________________________________________________________________ Syntax: Val( St, Var, Code ) Va convert th strin expressio 'St t a intege o rea valu (dependin o th typ o th variabl 'Var' an store thi valu i 'Var' 'St mus b strin expressin numeri valu accordin t th rule applyin t numeri constants Neithe leadin o trailin space ar allowed 'Var mus b a Intege o Rea variabl an 'Code mus b a intege variable I n error ar detected th variabl 'Code i se t zer (0) Otherwis 'Code i se t th positio o th firs characte i error, and the value of 'Var' is undefined. Page 2. String Functions Copy ____________________________________________________________________________ Syntax: Copy( St, Pos, Num ) Cop return substrin containin 'Num character fro 'St startin a positio 'Pos' 'St i strin expressio an bot 'Pos an 'Num ar intege expressions I 'Pos exceed th lengt o th string th empt strin i returned I a attemp i mad t ge character beyon th en o th strin (i.e 'Pos 'Num exceed th lengt o th string) onl th character withi th strin ar returned I 'Pos i outsid th range 1..255, a run time error occurs. Concat ____________________________________________________________________________ Syntax: Concat( St1, St2 {,StN} ) Th Conca functio return strin whic i th concatenatio o it argument i th orde i whic the ar specified Th argument ma b an numbe o strin expression separate b comma (St1,St . StN) I the length of the result is greater than 255, a run time error occurs. Note Th '+ operato ca b use t obtai th sam result ofte mor conveniently Conca i include onl t maintai compatibilit wit othe Pascal compilers. Length ____________________________________________________________________________ Syntax: Length( St ) Th Lengt functio return th lengt o th strin expressio 'St' i.e the number of characters in 'St'. The type of the result is integer. Pos ____________________________________________________________________________ Syntax: Pos( Obj, Target ) Th Po functio scan th strin 'Target t fin th firs occuranc o 'Obj withi 'Target' 'Obj an 'Target ar strin expressions an th typ o th resul i integer Th resul i a intege denotin th positio withi 'Target o th firs characte o th matche pattern Th positio o th firs characte i strin i 1 I th pater i no found, 'Pos' returns zero (0). Page 3. Operations on Files Assign ____________________________________________________________________________ Syntax: Assign( FilVar, Str ) 'Str i strin expressio yieldin an lega fil name Thi fil nam i assigne t th fil variabl 'FilVar' an al furthe operation o 'FilVar wil operat o th dis fil 'Str' Assig shoul neve b use on a file which is in use. Rewrite ____________________________________________________________________________ Syntax: Rewrite( FilVar ) ne dis fil o th nam assigne t th fil variabl 'FilVar i create an prepare fo processing an th fil pointe i se t th beginnin o th file i.e componen numbe zer (0) An previousl existin fil wit th sam nam i erased dis fil create b rewrit is initially empty, i.e. it contains no elements. Reset ____________________________________________________________________________ Syntax: Reset( FilVar ) Th dis fil o th nam assigne t th fil variabl 'FilVar i prepare fo processing an th fil pointe i se t th beginnin o th file i.e componen numbe zer (0) 'FilVar mus nam a existin file otherwise an I/O error occurs. Read ____________________________________________________________________________ Syntax: Read( FilVar, Var ) 'Var denote on o mor variable o th componen typ o 'FilVar' separate b commas Eac variabl i rea fro th dis file an followin eac rea operation th fil pointe i advance t th nex component. Write ____________________________________________________________________________ Syntax: Write( FilVar, Var ) 'Var denote on o mor variable o th componen typ o 'FilVar' separate b commas Eac variabl i writte t th dis file an followin eac writ operation th fil pointe i advance t th nex component. Page 4. Seek ____________________________________________________________________________ Syntax: Seek( FilVar, n ) See move th fil pointe t th n't componen o th fil denote b 'FilVar' 'n i a intege expression Th positio o th firs componen i zer (0) Not tha i orde t expan fil i i possibl t see on component beyond the last component. The statement Seek( FilVar, FileSize( FilVar) ); will place the file pointer at the end of the file. Flush ____________________________________________________________________________ Syntax: Flush( FilVar ) Flus emptie th interna secto buffe o th dis fil 'FilVar' an thu assure tha th secto buffe i writte t th dis i an writ operation hav occure sinc th las dis update Flus als insure tha th nex rea operatio wil actuall perfor physica rea fro th dis file. Flush should never be used on a closed file. Close ____________________________________________________________________________ Syntax: Close( FilVar ) Th dis fil associate wit 'FilVar i closed an th dis director i updated to reflect the new status of the file. Erase ____________________________________________________________________________ Syntax: Erase( FilVar ) Th dis fil associate wit 'FilVar i erased I th fil i open i should be closed before Erase is performed. Rename ____________________________________________________________________________ Syntax: Rename( FilVar, Str ) Th dis fil associate wit 'FilVar i rename t ne nam give b th strin expressio 'Str' Th dis director i update t sho th ne nam o th file an furthe operation o 'FilVar wil operat o th fil with the new name. Rename should not be used on an open file. Note I i th programmer' responsibilit t mak sur th ne fil nam doe no allread exis o th disk otherwis multipl occurance o th file name will occur. Page 5. Standard File Functions EOF ____________________________________________________________________________ Syntax: EOF( FilVar ) Boolea functio whic return Tru i th fil pointe i positione a th en o th dis file i.e beyon th las componen o th file I not, EOF returns False. FilePos ____________________________________________________________________________ Syntax: FilePos( FilVar ) A intege functio whic return th curren positio o th fil pointer The first component of a file is zero (0). FileSize ____________________________________________________________________________ Syntax: FileSize( FilVar ) A intege functio whic return th siz o th dis fil expresse a th numbe o component i th file I FileSize FilVa i zero th fil is empty. Page 6. Standard Procedures ClrEol ____________________________________________________________________________ Syntax: ClrEol Clear al character fro th curso positio t th en o th lin without moving the cursor. ClrScr ____________________________________________________________________________ Syntax: ClrScr Clears the screen and places the cursor in the upper left-hand corner. Not tha som system ma als rese th video-attribute whe clearin th screen. CrtInit ____________________________________________________________________________ Syntax: CrtInit Send th Termina Initializatio Strin define i th installatio procedure for the screen. CrtExit ____________________________________________________________________________ Syntax: CrtExit Send th Termina Rese Strin a define i th installatio procedur fo the screen. Delay ____________________________________________________________________________ Syntax: Delay( Time ) Th Dela procedur create loo whic ru fo approx a man milli- second a define b it argumen 'Time whic mus b a integer Th exact delay will vary somewhat with different operating systems. DelLine ____________________________________________________________________________ Syntax: DelLine Delete th lin containin th curso an move al th line belo th cursor up by one line. Page 7. InsLine ____________________________________________________________________________ Syntax: InsLine Insert a empt lin a th curso position Al line belo th curso are moved down one line and the bottom line scrolls off the screen. GotoXY ____________________________________________________________________________ Syntax: GotoXY( Xpos, Ypos ) Move th curso t th positio o th scree specifie b th intege expression 'Xpos (horizonta valu o row an 'Ypos (vertica valu o column). The upper left corner (home position) is ( 1, 1 ). LowVideo ____________________________________________________________________________ Syntax: LowVideo Se th scree t th vide attribut define a 'Star o Lo Video i th installation procedure. NormVideo ____________________________________________________________________________ Syntax: NormVideo Set th scree t th vide attribut define a 'Star o Norma Video i the installation procedure. Randomize ____________________________________________________________________________ Syntax: Randomize Initializes the random number generator with a random value. Move ____________________________________________________________________________ Syntax: Move( Var1, Var2, Num ) Doe mas cop directl i memor o specifie numbe o bytes 'Var1 an 'Var2 ar tw variable o an type an 'Num i a intege expression Th procedur copie bloc o 'Num bytes startin a th firs byt occupie b 'Var1 t th bloc startin a th firs byt occupied by 'Var2'. Move automatically handles overlap situations. Page 8. FillChar ____________________________________________________________________________ Syntax: FillChar( Var, Num, Value ) Fill rang o memor wit give value 'Var i variabl o an type 'Num i a intege expression an 'Value i a expressio o Byt o Char 'Num bytes startin a th firs byt occupie b 'Var' ar filled with the value 'Value'. Page 9. Arithmetic Functions Abs ____________________________________________________________________________ Syntax: Abs( Num ) Return th absolut valu o 'Num' Th argumen 'Num mus b eithe Rea or Integer, and the result is of the same type as the argument. ArcTan ____________________________________________________________________________ Syntax: ArcTan( Num ) Return th angle i radians whos tangen i 'Num' Th argumen mus b either Real or Integer, and the result is Real. Cos ____________________________________________________________________________ Syntax: Cos( Num ) Return th cosin o 'Num' Th argumen 'Num i expresse i radians and its type must be either Real or Integer. The result is of type Real. Exp ____________________________________________________________________________ Syntax: Exp( Num ) Return th exponentia o 'Num t bas e Th argumen 'Num mus b either Real or Integer, and the result is Real. Frac ____________________________________________________________________________ Syntax: Frac( Num ) Return th fractiona par o 'Num' Th argumen 'Num mus b eithe Real or Integer, and the result is Real. Int ____________________________________________________________________________ Syntax: Int( Num ) Return th intege par o 'Num' Th argumen 'Num mus b eithe Rea or Integer, and the result is real. Page 10. Ln ____________________________________________________________________________ Syntax: Ln( Num ) Return th natura logarith o 'Num' Th argumen 'Num mus b eithe Real or Integer, and the result is Real. Sin ____________________________________________________________________________ Syntax: Sin( Num ) Return th sin o 'Num' Th argumen 'Num i expresse i radians an its type must be either Real or Integer. The result is of type Real. Sqr ____________________________________________________________________________ Syntax: Sqr( Num ) Return th squar o 'Num' Th argumen mus b eithe Rea o Integer and the result is of the same type as the argument. Sqrt ____________________________________________________________________________ Syntax: Sqrt( Num ) Return th squar roo o 'Num' Th argumen 'Num mus b eithe Rea o Integer, and the result is of type Real. Page 11. Scalar Functions Pred ____________________________________________________________________________ Syntax: Pred( Num ) Return th predecesso o 'Num (i i exists) 'Num i o an scala type. Succ ____________________________________________________________________________ Syntax: Succ( Num ) Returns the successor of 'Num' (if it exists). 'Num' is of any scalar type. Odd ____________________________________________________________________________ Syntax: Odd( Num ) Return boolea Tru i 'Num i a od number an Fals i 'Num i even 'Num' must be of type Integer. Page 12. Transfer Functions Chr ____________________________________________________________________________ Syntax: Chr( Num ) Return th characte wit th ordina valu give b th intege expressio 'Num'. Example: Chr(65) returns the character 'A'. Ord ____________________________________________________________________________ Syntax: Ord( Var ) Return th ordina numbe o th valu 'Var i th se define define b th typ 'Var' Ord Va i equivalen t Integer Va ) 'Var ma b of any scaral type, except Real, and the result is of the type Integer. Round ____________________________________________________________________________ Syntax: Round( Num ) Returns the value of 'Num' rounded to the nearest integer as follows: if Num>=0, then Round( Num ) = Trunc( Num + 0.5 ), and if Num<0, then Round( Num ) = Trunc( Num - 0.5 ). 'Num' must be of type Real, and the result is of type Integer. Trunc ____________________________________________________________________________ Syntax: Trunc( Num ) Return th greates intege les tha o equa t 'Num' o th smalles intege greate tha o equa t 'Num' i Num<0 'Num mus b o typ Real, and the result is of the type Integer. Page 13. Miscellaneous Standard Functions Hi ____________________________________________________________________________ Syntax: Hi( I ) Th lo orde byt o th resul contain th hig orde byt o th valu o th intege expressio 'I' Th hig orde byt o th resul i se t zero. The type of the result is Integer. KeyPressed ____________________________________________________________________________ Syntax: KeyPressed Return boolea Tru i ke ha bee presse a th console an Fals i n ke ha bee pressed Th resul i obtaine b callin th operatin system console status routine. Lo ____________________________________________________________________________ Syntax: Lo( I ) Return th lo orde byt o th valu o th intege expressio 'I wit the high order byte forced to zero. The type of the result is Integer. Random ____________________________________________________________________________ Syntax: Random Return rando numbe greate tha o equa t zer an les tha one The type is Real. Random( Num ) ____________________________________________________________________________ Syntax: Random( Num ) Return rando numbe greate tha o equa t zer an les tha 'Num' 'Num' and the random number are both integers. SizeOf ____________________________________________________________________________ Syntax: SizeOf( Name ) Return th numbe o byte occupie i memor b th variabl o typ 'Name'. The result is of type Integer. Page 14. Swap ____________________________________________________________________________ Syntax: Swap( Num ) Th Swa functio exchange th hig an lo orde byte o it intege argument 'Num' and returns the resulting value as an integer. UpCase ____________________________________________________________________________ Syntax: UpCase( Ch ) Return th uppercas equivalen o it argumen 'Ch whic mus b o typ Char I n uppercas equivalen exists th argumen i returne unchanged. Page 15. CP/M-80 Specific Functions Addr ____________________________________________________________________________ Syntax: Addr( Name ) Return th addres i memor o th firs byt o th type variable procedure o functio wit th identifie 'Name' I 'Name i a array i ma b subscribed an i 'Name i record specifi field ma b selected. The value returned is of type Integer. Bdos procedure and function ____________________________________________________________________________ Syntax: Bdos( Func {, Param } ) Th Bdo procedur i use t invok CP/ BDO routines 'Func an 'Param ar intege expressions 'Func denote th numbe o th calle routin an i loade int th register 'Param i optiona an denote paramete whic i loade int th D registe pair cal t addres then invokes the BDOS. Th Bdo functio i calle lik th procedur an return a intege resul which is the value returned by the BDOS in the A register. BdosHL function ____________________________________________________________________________ Syntax: BdosHL( Func {, Param } ) Thi functio i exactl lik th Bdo functio above excep tha th result is the value returned in the HL register pair. Bios Procedure and Function ____________________________________________________________________________ Syntax: Bios( Func {, Param } ) Th Bio procedur i use t invok BIO routines 'Func an 'Param ar intege expressions 'Func denote th numbe o th calle routine wit zer (0 meanin th WBOO routine 'Param i optiona an denote parameter which is loaded into the BC register pair prior to the call. Th Bio functio i calle lik th procedur an return a intege resul which is the value returned by the BIOS in the A register. BiosHL Function ____________________________________________________________________________ Syntax: BiosHL( Func {, Param } ) Thi functio i exactl simila t th Bio functio abov excep tha th result is the value returned in the HL register pair. Page 16.