Procedimentos e funções predefinidos em Pascal

ABS (x) - função aritmética que calcula o valor absoluto do parâmetro x que pode ser integer ou real.

ARCTAN (x) - calcula o valor do arcotangente, em radianos de um parâmetro que pode ser integer ou real.

CHR (i) - função de transferência que retorna o caractere cujo valor ordinal é o parâmetro "i". Acessa valores da tabela ASCII.

EXP (x) - função aritmética que calcula o valor real de e (base neperiana) elevado ao expoente x, que pode ser inteiro ou real.

LN (x) - função que calcula o valor real do logaritmo natural de um inteiro ou real x, onde x>0. Ln(x) dar erro se x<=0.

ODD (i) - função booleana que retorna true se o argumento inteiro i não for divisível por 2, senão retorna false.

ORD (x) - função de transferência que retorna um inteiro correspondente a posição de x no conjunto de valores definidos para o tipo de x.

PACK (u,i,p) - função de transferência que empacota o conteúdo de um array u começando no componente i para o packed array p.

PRED (x) - função que retorna o elemento predecessor de x na ordem de enumeração do tipo de x, caso ele exista. Pred (x) dar um erro se x for o menor elemento do tipo.

ROUND (r) - função de transferência que calcula o valor de trunc(r+0.5) se r>0.0 ou trunc(r-0.5) sendo r do tipo real, e retorna um inteiro se este existir. Senão dará erro.

SIN (x) - função que calcula o valor real do seno do parâmetro x que pode ser inteiro ou real, sendo x em radianos.

SQR (x) - função que calcula o valor real de x*x se x for real ou o valor inteiro de x*x se x for inteiro. Dará erro se este não existir.

SQRT (x) - função que calcula a raiz quadrada de valor real não negativo de x que pode ser inteiro ou real. Dará erro se x<0.

SUCC (x) - função que retorna o elemento que sucede x na lista de enumeração do tipo de x, se este existir. Dará erro se x for o último valor desta lista.

TRUNC (r) - função de transferência que calcula o maior inteiro menor que r se r>0.0 ou o menor inteiro maior que r se r<0.0, se este elemento existir no tipo integer. Caso contrário dará erro.

UNPACK (p,u,i) - função de transferência que desempacota o packed array p para o array u começando do elemento i de u.

FUNÇÕES STRING

- STR

sintaxe: STR (Num:totcasas:decimais, Stri);

descrição: Este procedimento retorna em Stri uma string convertida a partir de Num, que pode ser inteiro ou real, podendo ainda se utilizar do recurso de formatação de campos. Exemplos:

Num := 400

STR (Num:5,Stri);

o valor de Stri e ' 400'

nureal := 30.5;

STR (nureal:5:1,Novalor);

o valor de Novalor é ‘ 30.5'

- VAL

sintaxe: VAL (Stri,numero,status);

descrição: O procedimento VAL realiza o inverso de STR, converte uma sequência (string) em valor e devolve-o a variável numero, na forma real ou inteiro dependendo de sua definição anterior. A variável status é um parâmetro de variável usado para indicar o sucesso ou fracasso da conversão. Ele será ajustado para zero se a conversão for bem sucedida; caso contrário seu valor indicará a posição na string Stri que causou erro na conversão. Status e numero não devem ser constante ou expressão, é importante também que a variável Stri não contenha espaços ou caracteres não numéricos, contudo é permitida notação científica.

Stri :='1234';

VAL (Stri,nuint,erro);

o valor de nuint é 1234

o valor de erro é 0

- CONCAT

sintaxe: CONCAT(strI,strII, ... strN);

descrição: Retorna uma string que é o resultado da concatenação das n strings parâmetro. Esta função é definida no Turbo Pascal, apenas para ser mantida a compatibilidade com o Pascal Padrão, pois normalmente usamos o operador + com o mesmo efeito.

Strei :='Nao ';

Estre :='necessaria';

Result:=Concat (Strei,Estre);

o valor retornado ' 'Nao necessaria'

- COPY

sintaxe: COPY(Stri, Pos, Num)

descrição: Esta função retorna uma String que ' copiada da Stri a partir de Pos e contém Num elementos, Pos e Num são do tipo inteiro.

Result1:=COPY ('12345ab',6,2); o valor retornado será 'ab'

Result2:=COPY ('12345AB',1,5); o valor retornado será '12345'

- DELETE

sintaxe: DELETE (Stri, Pos, Num);

descrição: Este procedimento elimina da string Stri, Num caracteres a partir da posição Pos, inclusive. Pos e Num são do tipo inteiro.

Stri :='MISTURA'

DELETE (Stri,3,2); o valor retornado será 'MIURA'

- LENGTH

sintaxe: LENGTH (Stri);

descrição: Esta função retorna a quantidade de caracteres em Stri, o que significa o tamanho efetivo da string Stri. Como mencionamos o tamanho da string em Turbo Pascal fica armazenado na posição zero da string, portanto Length (Stri) é equivalente a Ord(Stri[0]).

Nome:= ‘Ana Maria';

k:= LENGTH(Nome); o valor retornado será 9

- POS

sintaxe: POS (Str1,Str2);

descrição: Esta função retorna a posição do primeiro caracter de Str1 dentro de Str2. Se não existir, retornará 0. Valor inteiro.

Nome:= ‘ANa Maria';

k:= POS(' ',Nome); o valor retornado será 4.

FUNÇÕES PARA CONTROLE DE TELA

KEYPRESSED - Função o booleana que retoma verdadeiro se alguma tecla for acionada.

LOWVIDEO - Procedimento que diminui a intensidade luminosa do vídeo.

HIGHVIDEO - Procedimento que aumenta a intensidade luminosa do vídeo.

NORMVIDEO - Procedimento que deixa normal a intensidade do vídeo.

WINDOW - Procedimento que define uma janela na tela. Esta janela é definida pelas coordenadas dos cantos superior esquerdo e inferior direito. As linhas são numeradas de 1 a 25 e as colunas numeradas de 1 a 80. Forma geral:

WINDOW (X1,Y1,X2,Y2);

onde: X1 = n da coluna do 1 ponto

Y1 = n da linha do 1 ponto

X2 = n da coluna do 2 ponto

Y2 = n da linha do 2 ponto

CLRSCR - Procedimento para deletar o conteúdo de uma WINDOW e posicionar o cursor no canto superior direito. Quando não se define Window, a função CLRSCR, limpa toda a tela.

GOTOXY - Procedimento que possibilita o endereçamento de tela, para os procedimentos READ e WRITE. O procedimento GOTOXY obedece aos limites definidos pela Window. Forma geral:

GOTOXY (Col,Lin);

Col - coluna de endereçamento

Lin - linha de endereçamento

TEXTCOLOR - Procedimento que seleciona a cor dos caracteres de Texto. Forma geral:

TEXTCOLOR (cor);

TEXTBACKGROUND - Procedimento que seleciona a cor de fundo para vídeo. Forma geral:

TEXTBACKGROUND (cor)

Tabela de Cores:

0 PRETO

1 AZUL

2 VERDE

3 CIANO

4 VERMELHO

5 MAGENTA

6 MARROM

7 CINZA CLARO

8 CINZA ESCURO

9 AZUL CLARO

10 VERDE CLARO

11 CIANO CLARO

12 ALARANJADO

13 MAGENTA CLARO

14 AMARELO

15 BRANCO

DELAY - Procedimento utilizado para retardar a instrução seguinte. Forma geral:

DELAY (N)

onde: N é o tempo de retardo, que varia em função do CLOCK da máquina.

MENSAGENS DE ERROS DO SISTEMA TURBO-PASCAL VERSÃO 7.0

A versão 7.0 do Pascal apresenta o mesmo sistema das versões anteriores no que diz respeito as mensagens de erros, pois também divide os erros em categorias: Erros de Compilação, Erros em tempo de Execução provenientes do DOS ou I/O e Erros Críticos. Também na versão 7.0 mantêm-se a característica de se apontar o erro com o cursor se posicionando sobre o erro, com a mensagem sendo destacada na linha de comandos.

ERROS DE COMPILAÇÃO

1 Out of memory - Este erro ocorre quando a quantidade de memória disponível no equipamento não é suficiente para compilar o programa. Algumas soluções podem ser tentadas para solucionar este problema:

- Compilar o Programa com destino para o disco e não para memória, para isto utilizamos a opção DESTINATION DISK

- Utilizar a opção LINK BUFFER DISK de modo a utilizar o disco e não a RAM como buffer de enlace.

- Retirar todos os utilitários instalados na memória.

- Compilar através do TPC.EXE, o qual é um arquivo menor que o TURBO.EXE.

- Dividir o programa em UNITS, compilando-as separadamente.

2 Identifier expected - Identificador esperado. Neste local era esperado um identificador, ou houve a tentativa de redefinir uma palavra reservada.

3 Unknown identifier - Identificador não declarado no programa.

4 Duplicate identifier - Identificador repetido no mesmo bloco.

5 Syntax error - Erro de sintaxe. Existe algum caracter ilegal na declaração ou os "abre-fecha" aspas em torno de uma string não estão corretos.

6 Error in real constant - Constante real inválida.

7 Error in integer constant - Constante inteira inválida.

8 String constant exceeds line - Constante string maior que 255. Verificar os "abre-fecha" aspas.

10 Unexpected end of file - Fim de Arquivos esperado. Pode-se verificar:

- o casamento dos begin-end.

- o casamento de "abre-fecha" chaves de comentários.

- se algum arquivo de inclusão está finalizando de forma inválida.

- o compilador não encontrou o end de final de arquivo.

11 Line too long - Linha muito longa, ultrapassando o limite de 126 caracteres.

12 Type identifier expected - Identificador de tipo era esperado.

13 Too many open files - Muitos arquivos abertos ao mesmo tempo. Este erro ocorre quando não existe o arquivo CONFIG.SYS, ou foram abertos mais arquivos do que o especificado no arquivo de configuração, indica-se FILES=20.

14 Invalid file name - Arquivo não encontrado. Verificar se os nomes estão corretos ou se existe a especificação do caminho.

15 File not found - Arquivo não encontrado no diretório. Verificar nome e caminho.

16 Disk full - Disco cheio. Delete alguns arquivos desnecessários ou utilize outro disco.

17 Invalid compiler directive - Diretiva de compilação incorreta.

18 Too many files - Existem muitos arquivos envolvidos na compilação do programa.

19 Undefined type in pointer definition - Tipo pointer não definido.

20 Variable identifier expected - Identificador de variável esperado.

21 Error in type - Erro em definição de tipo, o caracter encontrado é inválido.

22 Structure too large - Tipo estruturado com mais de 65520 bytes.

23 Set base type out of range - Tipo base fora do intervalo de 0 a 255 ou tipos enumerados maior que 256.

24 File components may not be files - Arquivos de arquivo não é uma estrutura permitida.

25 Invalid string length - String com mais de 255 caracteres.

26 Type mismatch - Tipo trocado. Pode-se verificar o seguinte:

- incompatibilidade de tipos em um comando de atribuição.

- incompatibilidade de parâmetros e argumentos num procedimento ou função.

- incompatibilidade entre índices de vetores em uma declaração.

- incompatibilidade entre tipos de operandos em uma expressão.

27 Invalid subrange base type - Intervalo de variação do tipo base está inválido.

28 Lower bound greather than upper bound - Limite superior do intervalo é maior que o do tipo.

29 Ordinal type expected - Tipo ordinal esperado, outro tipos como string, real, pointer não são aceitos.

30 Integer constant expected - Constante inteira esperada.

31 Constant expected - Constante esperada.

32 Integer ou real constant expected - Constante real ou inteira esperada.

33 Type identifier expected - Identificador de tipo esperado.

34 Invalid function result type - Como resultado de uma função somente _ esperado um tipo simples, string e pointer.

35 Label identifier expected - Identificador de rótulo esperado.

36 BEGIN expected - BEGIN esperado.

37 END expected - END esperado.

38 Integer expression expected - Expressão inteira esperada.

39 Ordinal expression expected - Expressão ordinal esperada.

40 Boolean expression expected - Expressão booleana esperada.

41 Operand types do not match operator - Tipo do operando incompatível com o tipo do operador.

42 Error in expression - Verifique a validade de sua expressão.

43 Illegal assignment - Não é permitido atribuir valores a variáveis sem tipo, nem a arquivos. Outra verificação é que um identificador de função somente poderá receber valores dentro da própria função.

44 Field identifier expected - Identificador de campo esperado.

45 Object file too large - Arquivo .OBJ com mais de 64 kb.

46 Undefined external - External indefinido.

47 Invalid object file record - Inválido registro de arquivo objeto.

48 Code segment too large - Programa ou unidade ultrapassou o limite de 65 Kb.

49 Data segment too large - Arquivo de dados ultrapassou limite de 65 Kb.

50 DO expected - Comando DO esperado.

51 Invalid PUBLIC definition - Inválida definição PUBLIC.

52 Invalid EXTRN definition - Inválida definição EXTRN.

53 Too many EXTRN definitions - Número de EXTRN superior a 256.

54 OF expected - Cláusula OF esperada.

55 Interface expected - Cláusula INTERFACE esperada.

56 Invalid relocatable reference - Referência realocável inválida.

57 THEN expected - THEN esperado.

58 TO or DOWNTO expected - TO ou DOWNTO esperado.

59 Undefined FORWARD - FORWARD indefinido:

- A procedure ou função foi declarada na INTERFACE, mas esta declaração nunca ocorreu na IMPLEMENTATION.

- A procedure ou função foi declarada com FORWARD, mas esta definição não foi encontrada.

61 Invalid typecast - Concatenação de tipos inválidos.

62 Division by zero - Divisão por zero.

63 Invalid file type - Tipo de arquivo inválido.

64 Cannot Read or Write variables of this type - Não é possível usar uma variável deste tipo com os procedimentos READ ou WRITE.

65 Pointer variable expected - Variável do tipo POINTER esperada.

66 String variable expected - Variável do tipo STRING esperada.

67 String expression expected - Expressão do tipo STRING esperada.

68 Circular unit reference - UNIT não encontrada. Possivelmente não definida na USES.

69 Unit name mismatch - UNIT com nome trocado. UNIT declarada porém não existe o correspondente arquivo .TPU.

70 Unit version mismatch - Versão incorreta, deve-se recompilar as UNITS.

71 Duplicate unit name - UNIT com nome duplicado.

72 Unit file format error - Arquivo .TPU de alguma UNIT com problema.

73 Implementation expected - IMPLEMENTATION esperado.

74 Constant and case types do not match - Tipos trocados entre as constantes do CASE e a variável seletor.

75 Record variable expected - Variável do tipo registro esperada.

76 Constant out of range - Constante fora dos limites.

77 File variable expected - Variável do tipo arquivo esperada.

78 Pointer expression expected - Expressão do tipo POINTER esperada.

79 Integer or real expression expected - Expressão do tipo inteiro ou real esperada.

80 Label not within current block - LABEL não está presente neste bloco.

81 Label already defined - LABEL já definido.

82 Undefined label in preceding statement part - LABEL não definido na área anterior ao comando.

83 Invalid @ argument - Inválido argumento @.

84 UNIT expected - UNIT esperada.

85 ";" expected - ; esperado.

86 ":" expected - : esperado.

87 "," expected - , esperada.

88 "(" expected - ( esperado.

89 ")" expected - ) esperado.

90 "=" expected - = esperado.

91 ":=" expected - := esperado.

92 "[" or "(." expected - [ ou ( esperado.

93 "]" or ".)" expected - ] ou ) esperado.

94 "." expected - . esperado.

95 ".." expected - .. esperado.

96 Too many variables - Muitas variáveis. O total de variáveis não pode ultrapassar o limite dos 64KB, considerando: procedimentos, funções, units e programas.

97 Invalid FOR control variable - Variável do FOR inválida.

98 Integer variable expected - Variável inteira esperada.

99 Files are not allowed here - Arquivos não podem ser usados aqui.

100 String length mistmatch - String com comprimento incompatível

101 Invalid ordering of fields - Ordenação inválida dos campos.

102 String constant expected - Constante do tipo string esperada.

103 Integer or real variable expected - Variável inteira ou real esperada.

104 Ordinal variable expected - Variável escalar esperada.

105 INLINE error - Erro no comando INLINE.

106 Character expression expected - Expressão do tipo caracter esperada.

107 Too many relocations items - Muitos itens a serem realocados. Seu programa ultrapassou o limite de tamanho e deve ser dividido em partes, usando a unidade DOS, através do procedimento EXEC.

108 Overflow in arithmetic operation - O resultado da operação aritmética anterior não está na faixa LongInt. Corrija a operação ou utilize um valor do tipo real ao invés de valores do tipo inteiro.

109 No enclosing FOR, WHILE, or REPEAT statement - Os procedimentos padrão Break e Continue não podem ser utilizados fora dos comandos For, While ou Repeat.

112 CASE constant out of range - Constante do CASE maior que 32676 ou menor que -32768.

113 Error in statement - Erro no comando. Verifique se o nome da função ou procedure está correto.

114 Cannot call an interrupt procedure - Não se pode fazer uma chamada a um procedimento interrompido.

116 Must be in 8087 mode to compile this - As operações que utilizam números reais do tipo SINGLE, DOUBLE, EXTENDED E COMP, exigem um Co-processador 8087 ou 80287.

117 Target address not found - Houve erro com a opção FIND ERROR do menu de compilação e não foi encontrado o local do erro procurado.

118 Include files are not allowed here - Não é aceito a inclusão de arquivos neste local.

119 No inherited methods are accessible here - Você está utilizando a palavra chave inherited fora do método ou em um método do tipo objeto que não tem ancestral.

121 Invalid qualifier - Qualificador inválido. Verificar:

- Quando usar conjuntos indexar apenas uma variável.

- Quando especificar campos, definir antes qual o registro.

- A referência somente pode se retirada das variáveis tipo pointer.

122 Invalid variable reference - Para chamar uma função do tipo pointer deve-se tirar a referência ao resultado.

123 Too many symbols - Os símbolos utilizados por seu programa ou UNIT ultrapassam os 64Kb.

124 Statement part too large - Verifique se a parte de execução de seu programa ultrapassa os 24KB.

126 Files must be var parameters - É esperado pelo Pascal que seus arquivos tenham parâmetros do tipo VAR.

127 Too many conditional symbols - Símbolos condicionais em excesso.

128 Misplaced condicional directive - Diretiva de compilação condicional incompleta.

129 ENDIF directive missing - Falta diretiva {$ENDIF} da diretiva {$IFYYY}.

130 Error in initial conditional defines - Erro nas definições das condições iniciais.

131 Header does not match previous definition - Cabeçalho não corresponde ao que foi definido na parte de INTERFACE ou FORWARD, do cabeçalho do procedimento ou função.

133 Canot evaluate this expression - Não é possível avaliar esta expressão.

134 Expression incorrectly terminated - Expressão terminada incorretamente.

135 Invalid format specifier - Especificador de formato inválido.

136 Invalid indirect reference - Referência indireta inválida.

137 Structured variables are not allowed here - Variáveis estruturadas não são permitidas aqui.

138 Cannot evaluate without system unit - Avaliação não é possível sem a unit system.

139 Cannot acess this symbol - Não é permitido acessar este símbolo.

140 Invalid floating-point operation - Operação de ponto flutuante inválida ou divisão por zero.

141 Cannot compile overlays to memory - Não é possível compilar overlays na memória.

142 Procedural or function variable expected - Variável procedure ou função esperada.

143 Invalid procedure or function reference - Referência inválida em procedure ou função.

144 Cannot overlay this unit - Não é possível tornar esta unit num overlay.

146 File access denied - O arquivo não pode ser aberto ou criado. O compilador está tentando escrever para um arquivo somente de leitura.

147 Object type expected - O identificador não reconhece um tipo objeto.

148 Local object types are not allowed - O tipo objeto não pode ser definido dentro do escopo de um programa ou unidade e não pode ser definido dentro de procedimentos e funções.

149 VIRTUAL expected - A palavra reservada Virtual não foi encontrada.

150 Method identifier expected - O identificador não significa um método.

151 Virtual constructors are not allowed - Virtual construtor não é permitido.

152 Constructor identifier expected - Identificador constructor esperado ou não reconhecido.

153 Destructor identifier expected - Identificador destructor esperado ou não reconhecido.

154 Fail only allowed within constructors - O procedimento padrão Fail só pode ser utilizado dentro de constructors.

155 Invalid combination of opcode and operands - Operação de código Assembler não aceita esta combinação de operandos. Pode ocorrer excesso ou falta de operandos, ou o tipo e ordem não estão de acordo com o código Assembler.

156 Memory reference expected - O operador Assembler não é uma referencia de memória, a qual é requerida aqui. Muito provavelmente você esqueceu de colocar colchetes em torno do registrador.

157 Cannot add or subtract relocatable symbols - A única operação aritmética que pode ser realizada com símbolo realocável em um operando Assembler é adição o ou subtração de constantes. Variáveis, procedimentos, funções e rótulos são símbolos realocáveis.

158 Invalid register combination - Combinação de registrador inválida.

159 Instructions are not enabled - Use a diretiva de compilação {$G+} para permitir operações de código no 286/287, mas esteja consciente que o código resultante não pode rodar nas máquinas 8086 e 8088.

160 Invalid symbol reference - Esse símbolo não pode ser acessado em um operando Assembler.

161 Code generation error - Parte do comando precedente contêm uma instrução LOOP ou outra que não pode atingir o seu término.

162 ASM expected - Você está tentando compilar uma função ou procedimento em Assembler que contêm o comando Begin...End ao invés de Asm...End.

RUNTIME ERRORS

Os RUNTIME ERRORS ou Erros em tempo de execução podem ser classificados em:

DOS ERRORS - Erros do DOS (1 a 99).

I/O ERRORS - Erros de Entrada e Saída (100 a 149).

CRITICAL ERRORS - Erros críticos (150 a 199).

FATAL ERRORS - Erros fatais (200 a 255).

Um erro em tempo de execução interrompe o processamento e envia para o vídeo a seguinte mensagem:

RUNTIME ERROR nnn AT xxxx:yyyy

onde: nnn - representa o número do erro.

xxxx:yyyy - representa o endereço do erro.

DOS ERRORS

1 Invalid function number - Chamada de função inexistente no DOS.

2 File not found - Arquivo solicitado pelo RESET, APPEND, RENAME ou ERASE, não foi encontrado.

3 Path not found - Não foi encontrado o caminho indicado, verificar a estrutura de subdiretórios, bem como as linhas de chamadas de arquivos neste subdiretório.

4 Too many open files - Verifique a existência de um arquivo CONFIG.SYS, que deverá indicar o número máximo de arquivos que podem ser abertos ao mesmo tempo.

5 File access denied - Não foi possível acessar os arquivos através do RESET, APPEND, FILEMODE, REWRITE, RENAME, ERASE, MKDIR, RMDIR, READ, BLOCKREAD, WRITE OU BLOCKWRITE.

6 Invalid file handle - Erro no manuseio do arquivo, verificar se a variável referente ao nome do arquivo não foi alterada.

12 Invalid file access code - Arquivo indicado pelo RESET ou APPEND tem um valor de FILEMODE inválido, causando código inválido de acesso ao arquivo.

15 Invalid drive number - Driver inválido, erro acusado pelo GETDIR.

16 Cannot remove current directory - Impossível remover o diretório atual, erro acusado pelo RMDIR.

17 Cannot rename across drives - Impossível renomear o nome do arquivo pois os dois se encontram no mesmo driver. Erro acusado pelo RENAME.

18 No more files -Relatado pela variável DOSERROR na unidade DOS e WINDOS, quando FINDFIRST ou FINDNEXT não encontra arquivo que combine com o nome de arquivo especificado e atributos.

I/O ERRORS

Os erros de entrada e saída podem ser tratados através da diretiva {$I}. O valor default desta diretiva é {$I+}, isto provoca uma interrupção na execução do programa, sempre que ocorrer erros. A outra opção para esta diretiva é {$I-}, o que não acarretará a interrupção do programa, porém um código de erro é emitido, podendo ser recolhido pela função IORESULT e com isto tomarmos as providências necessárias.

100 Disk read error - Tentativa de ler uma variável após o final do arquivo, ocasionando erro de leitura.

101 Disk write error - Não há espaço no disco para gravação.

102 File not assigned - Não foi feita a associação do arquivo através do ASSIGN.

103 File not open - Arquivo não foi aberto, ocorre num CLOSE, READ, WRITE, SEEK, EOF, FILEPOS, FILESIZE, FLUSH, BLOCKWRITE, BLOCKREAD.

104 File not open for input. Arquivo não aberto para entrada de dados, refere-se a um arquivo tipo texto.

105 File not open output - Arquivo não foi aberto para saída de dados, refere-se também a um arquivo tipo texto.

106 Invalid numeric format - Valor numérico incompatível com arquivo tipo texto.

CRITICAL ERRORS

150 Disk is write-protected - Disco Protegido contra gravação.

151 Unknown unit - UNIT não encontrada no disco.

152 Drive not ready - Disco não formatado ou com defeito.

153 Unknown command - Comando não conhecido pelo Pascal.

154 CRC error in data - Setor ruim.

155 Bad drive request structure length - Acesso a disco danificado.

156 Disk seek error - Erro de procura em disco.

157 Unknown media type - Tipo de comunicação não encontrado.

158 Sector not found - Setor não encontrado, disco com problemas.

159 Printer out of paper - Impressora sem papel.

160 Device write fault - Direcionamento de saída com defeito.

161 Device read fault - Direcionamento de leitura com defeito.

162 Hardware failure - Hardware falhando.

FATAL ERRORS

200 Division by zero - Divisão por zero.

201 Range check error - Intervalo de variação do índice de um array está fora da faixa.

202 Stack overflow error - Falta de espaço na pilha de alocação de variáveis locais de um subprograma, pode-se solucionar através da opção MEMORY SIZES do menu de compilação.

203 Heap overflow error - Espaço insuficiente na memória para o HEAP.

204 Invalid pointer operation - Operação com variáveis do tipo POINTER inválida.

205 Floating point overflow - Operação com ponto flutuante causando transbordo de memória.

206 Floating point underflow - Operação causando transbordo negativo de memória, ocorre geralmente quando se trabalha com co-processador 8087.

207 Invalid floating point operation - Operação com ponto flutuante inválida, por exemplo SRQT ou LN de valor negativo, estouro de pilha com 8087.

208 Overlay manager not installed - Gerenciador de overlay não foi instalado.

209 Overlay file read error - Erro na leitura do arquivo overlay.

210 Object not initialized - Com uma faixa de verificação em operação você fez um chamado para um método de objeto virtual antes que o objeto tenha sido inicializado via a chamada do constructor.

211 Call to abstract method - Este erro é gerado por um procedimento abstrato numa unidade objeto; isto indica que o seu programa tenta executar um método abstrato virtual.

212 Stream registration error - Este erro é gerado pelo procedimento REGISTER TYPE na unidade objeto.

213 Collection index out of range - O índice passado para o método de uma TCollection está fora de faixa.

214 Collection overflow error - O erro é relatado por uma TCollection se uma tentativa é feita para adicionar um elemento quando a coleção não pode ser expandida.

215 Arithmetic overflow error - Este erro é relatado por um comando compilado na diretiva {$Q+} quando uma operação aritmética inteira provoca um estouro tal qual quando o resultado de uma operação está fora da faixa suportada.