Abs в паскале ошибка
1 Out of memory - Нет памяти
2 Identifier expected - Идентификатор пропущен
3 Unknown identifier - Неизвестный идентификатор
4 Duplicate identifier - Двойной идентификатор
5 Syntax error - Синтаксическая ошибка
6 Error in real constant - Ошибка в вещественной константе
7 Error in integer constant - Ошибка в целочисленной константе
8 String constant exceeds line - Строковая константа превышает строку
10 Unexpected end of file - Непредвиденный конец файла
11 Line too long - Строка слишком длинная
12 Type identifier expected - Ожидается идентификатор типа
13 Too many open files - Слишком много открытых файлов
14 Invalid file name - Недопустимое имя файла
15 File not found - Файл не найден
16 Disk full - Диск заполнен
17 Invalid compiler directive - Недопустимая директива компилятора
18 Too many files - Слишком много файлов
19 Undefined type in pointer def - Неопределенный тип в описании указателя
20 Variable identifier expected - Пропущен переменный идентификатор
21 Error in type - Ошибка в типе
22 Structure too large - Структура слишком большая
23 Set base type out of range - Исходный тип набора вне диапазона
24 File components may not be files or objects - Компоненты файла не могут быть файлами или объектами
25 Invalid string length - Недопустимая длина строки
26 Type mismatch - Несоответствие типов
27 Invalid subrange base type - Недопустимый исходный тип поддиапазона
28 Lower bound > than upper bound - Нижняя граница > чем верхняя
29 Ordinal type expected - Ожидается перечислимый тип
30 Integer constant expected - Ожидается целочисленная константа
31 Constant expected - Ожидается константа
32 Integer or real constant expected Ожидается целочисленная или вещественная константа
33 Pointer Type identifier expected Ожидается идентификатор указательного типа
34 Invalid function result type - Неверный тип результата функции
35 Label identifier expected - Ожидается идентификатор метки
36 BEGIN expected - Ожидается BEGIN
37 END expected - Ожидается END
38 Integer expression expected - Ожидается выражение Integer
39 Ordinal expression expected - Ожидается выражение Ordinal
40 Boolean expression expected - Ожидается выражение Boolean
41 Operand types do not match - Тип операндов не соответствует оператору
42 Error in expression - Ошибка в выражении
43 Illegal assignment - Запрещенное присваивание
44 Field identifier expected - Пропущен идентификатор поля
45 Object file too large - Объектный файл слишком велик
46 Undefined EXTERN - Неопределенный EXTERN
47 Invalid object file record Недопустимая запись объектного файла
48 Code segment too large Сегмент кода слишком большой
49 Data segment too large Сегмент данных слишком большой
50 DO expected Пропущен DO
51 Invalid PUBLIC definition - Недопустимое PUBLIC определение
52 Invalid EXTRN definition - Недопустимое EXTRN определение
53 Too many EXTRN definitions - Слишком много EXTRN определений
54 OF expected - Ожидается OF
55 INTERFACE expected - Пропущено INTERFACE
56 Invalid relocatable reference - Недопустимая перемещаемая ссылка
57 THEN expected - Ожидается THEN
58 TO or DOWNTO expected - Пропущено TO или DOWNTO
59 Undefined forward - Неопределенное forward
61 Invalid typecast - Недопустимое приведение типа
62 Division by zero - Деление на нуль
63 Invalid file type - Недопустимый тип файла
64 Cannot read or write variables of this type - Не могу Считывать или Записывать переменные этого типа
65 Pointer variable expected - Ожидается переменная указательного типа
66 String variable expected - Ожидается строковая переменная
67 String expression expected - Ожидается строковое выражение
68 Circular unit reference - Круговые ссылки в модулях
69 Unit name mismatch - Несоответствие имени модуля
70 Unit version mismatch - Несоответствие версии модуля
71 Internal stack overflow - Переполнение внутреннего стека
72 Unit file format error - Ошибка формата файла модуля
73 Implementation expected - Ожидается IMPLEMENTATION
74 Constant and case types don't match - Тип константы и тип варианта не совпадают
75 Record or object variable expected - Ожидается запись или объектная переменная
76 Constant out of range - Константа вне диапазона
77 File variable expected - Ожидается файловая переменная
78 Pointer expression expected - Ожидается выражение типа Pointer
79 Integer or real expression expected - Ожидается целочисленное или вещественное выражение
80 Label not within current block - Метка не внутри текущего блока
81 Label already defined - Метка уже определена
82 Undefined label in preceding stmt part - Неопределенная метка в предшествующей операторной части
83 Invalid @ argument - Недопустимый @ параметр
84 UNIT expected - Ожидается UNIT
85 ";" expected - Пропущен ";"
86 ":" expected - Пропущен ":"
87 "," expected - Пропущен ","
88 "(" expected - Пропущен "("
89 ")" expected - Пропущен ")"
90 "=" expected - Пропущен " :=" expected - Пропущен ": [" or "(." expected - Пропущен "[" или "(."
93 "]" or ".)" expected - Пропущен "]" или ".)"
94 "." expected - Пропущен "."
95 ".." expected - Пропущен ".."
96 Too many variables - Слишком много переменных
97 Invalid FOR control variable - Недопустимая переменная для FOR
98 Integer variable expected - Ожидается целочисленная переменная
99 Files types are not allowed here - Здесь недопустим файловый тип
100 String length mismatch - Несоответствие длин строк
101 Invalid ordering of fields - Недопустимый порядок полей
102 String constant expected - Ожидается строковая константа
103 Integer or real variable expected - Ожидается целочисленная или вещественная переменная
104 Ordinal variable expected - Ожидается порядковая переменная
105 INLINE error - Ошибка INLINE
106 Character expression expected - Ожидается символьное выражение
107 Too many relocation items - Слишком много единиц настройки
108 Overflow in arithmetic operation - Переполнение в арифметической операции
109 No enclosing For, While or Repeat statement - Нет закрывающих FOR, WHILE или REPEAT операторов
112 CASE constant out of range - Константа варианта вне диапазона
113 Error in statement - Ошибка в операторе
114 Cannot call an interrupt procedure - Не могу вызвать процедуру прерывания
116 Must be in 8087 mode to compile - Для компиляции нужно быть в режиме 8087
117 Target address not found - Не найден адрес цели
118 Include files are not allowed here - Файлы для включения здесь не позволяются
119 No inherited methods are accessible here - Здесь недоступны наследованные методы
121 Invalid qualifier - Недопустимый спецификатор
122 Invalid variable reference - Недопустимая ссылка на переменную
123 Too many symbols - Слишком много символов
124 Statement part too large - Операторная часть слишком большая
126 Files must be var parameters - Файлы должны быть var-параметрами
127 Too many conditional symbols - Слишком много условных символов
128 Misplaced conditional directive - Неверно расположенная директива условного выражения
129 ENDIF directive missing - Пропущена ENDIF директива
130 Error in initial conditional defines - Ошибка в начальных условных определениях
131 Header does not match previous definition - Заголовок не соответствует предыдущему определению
133 Cannot evaluate this expression - Не могу оценить это выражение
134 Expression incorrectly terminated - Выражение некорректно завершено
135 Invalid format specifier - Некорректный спецификатор формата
136 Invalid indirect reference - Недопустимая косвенная ссылка
137 Structured variables are not allowed here - Структурные переменные здесь не позволяются
138 Cannot evaluate without System unit - Не могу оценивать без System-модуля
139 Cannot access this symbol - Не могу обращаться к этому символу
140 Invalid floating-point operation - Недопустимая операция с плавающей точкой
141 Cannot compile overlays to memory - Не могу компилировать оверлеи в память
142 Pointer or procedural variable expected - Ожидается указатель или процедурная переменная
143 Invalid procedure or function reference - Неверная ссылка на процедуру или функцию
144 Cannot overlay this unit - Этот модуль не может быть оверлеем
145 Too many nested scopes - Слишком много вложенных областей
146 File access denied - Доступ к файлу закрыт
147 object type expected - Ожидается объектный тип
148 Local object types are not allowed - Локальные объектные типы не позволены
149 Virtual expected - Ожидается Virtual
150 Method identifier expected - Ожидается идентификатор метода
151 Virtual constructors are not allowed - Виртуальные конструкторы не позволяются
152 Constructor identifier expected - Ожидается идентификатор конструктора
153 Destructor identifier expected - Ожидается идентификатор деструктора
154 Fail only allowed within constructors Fail - позволен только внутри конструкторов
155 Invalid combination of opcode and operands - Недопустимая комбинация кода операции и операндов
156 Memory reference expected - Ожидается ссылка на память
157 Cannot add or subtract relocatable symbols - Не могу складывать или вычитать перещаемые символы
158 Invalid register combination - Недопустимая комбинация регистров
159 286/287 instructions are not enabled - Команды 286/287 не допускаются
160 Invalid symbol reference - Неверная ссылка на символ
161 Code generation error - Ошибка генерации кода
162 ASM expected - Ожидается ASM
163 Duplicate dynamic method index - Двойной индекс динамического метода
164 Duplicate resource identifier - Двойной идентификатор ресурса
165 Duplicate or invalid export clause - Двойной или недопустимый экспортный индекс
166 Procedure or function identifier expected - Ожидается идентификатор процедуры или функции
167 Cannot export this symbol - Нельзя экспортировать этот символ
168 Duplicate export name - Двойное экспортируемое имя
169 Executable file header too large - Заголовок исполняемого файла слишком большой
Функция Abs в Паскале возвращает абсолютное значение переменной. Результат, возвращаемый функцией Abs, имеет тот же тип данных, что и аргумент - параметр, передаваемый в функцию. Этот параметр может иметь любой числовой тип данных.
Синтаксис функции Abs для целых чисел:
function Abs(L : LongInt) : LongInt;
function Abs(I : Int64) : Int64;
Последний вариант возможен только для FreePascal и Lazarus, так как в классическом Паскале нет типа данных Int64.
Синтаксис функции Abs для вещественных чисел:
function Abs(D : ValReal) : ValReal;
ValReal - это вещественный тип данных с наибольшим доступным значением в данной операционной системе. Фактически это псевдоним (алиас) одного из типов Extended или Double.
А теперь пример использования:
Здесь мы сначала объявляем переменную с начальным значением равным -100 (отрицательное число).
А в программе используем функцию Abs и в результате переменная у будет равна 100 (положительное число).
Что вычисляет функция Abs
Вообще Abs - это сокращение от Absolute. Как нетрудно догадаться, переводится это слово как “абсолютный, чистый, несомненный”.
Вы должны помнить из школьного курса математики, что абсолютное число, то есть абсолютная величина или модуль числа х - это неотрицательное число, определение которого зависит от типа числа х.
В математике модуль числа х обозначается так: |x|.
То есть функция Abs в любом случае возвращает положительное число. Такая функция есть практически во всех языках программирования, так как используется довольно часто и входит в основы математики.
Таким образом, можно сказать, что функция Abs(х) вычисляет модуль числа х. То есть Abs(х) в Паскале - это то же самое, что |x| в математике.
Ну и напоследок давайте создадим свой собственный аналог функции, которая возвращает модуль числа. Итак, функция будет примерно такая:
Здесь мы передаём в функцию целое число, которое может быть как отрицательным, так и положительным. В функции мы проверяем значение этого числа. Если число отрицательное, то мы умножаем его на -1, и таким образом получаем положительное число. Если число положительное, то мы ничего не делаем - просто возвращаем полученное через параметр iNum число.
Как видите, алгоритм довольно простой.
Правда, наша функция может работать только с целыми числами. Но это уже мелочи.
Abs - функция языка Паскаль, которая вычисляет модуль числа.
Sqr - функция языка Паcкаль, которая возводит число в квадрат.
Строка №7. Функция Abs вычисляет модуль числа, стоящего в скобках после функции. В данном случае вычисляется модуль переменной «A», которая имеет значение «-2». Так как модуль «|-2|» равен «2», то «2» и будет результатом операции Abs.
Строка №9. Функция Sqr возводит число, стоящее в скобках в квадрат. В данном случае в квадрат возводится переменная «B», т.е. число «2». Таким образом, результатом операции будет число «4».
Дополнение к материалу.
В примерах №6, 7, 8 мы использовали небольшие числа (-2, 3, 17 и т.д.). Для всех переменных, в которые эти числа записывались, мы указывали тип данных INTEGER. Следует сказать, что данный тип данных используется не для всех чисел, а только для целых, лежащих в диапазоне от – 32768 до 32767. И если мы будем использовать в наше программе числа, которые лежат вне этих пределов (например – 32987 или 36789), то мы должны использовать другой тип данных.
Диапазон значений для различных типов данных можно посмотреть в таблице.
Тип данных | Запись | Длина в байтах |
---|---|---|
integer | -32 768….32 767 | 2 |
byte | 0…255 | 1 |
word | 0…65 535 | 2 |
shortint | -128….127 | 1 |
longint | -2 147 483 648….2 147 483 647 | 4 |
Использование различных типов данных обусловлено тем, что для каждого из них выделяется определенное количество ячеек в памяти компьютера. Если мы используем в программе числа от 0 до 255, то наиболее целесообразно будет использовать тип данных BYTE. Хотя можно использовать и любой другой тип данных. Например, для числа 10 можно использовать и BYTE и LONGINT, но тогда в первом случае будет расходоваться 1 байт в памяти компьютера, а во втором - целых 4 байта. Учитывая то, что программа должна расходовать как можно меньше памяти, рационально будет использовать для данного примера тип данных BYTE.
- Out of memory (выход за границы памяти) Компилятору не хватает памяти. Имеется ряд возможных решений этой проблемы:
- Если в опции COMPILE/DESTINATION установлено значение MEMORY, замените эту опцию на DISK.
- Если в опции OPTIONS/COMPILER/LINK установлено значение MEMORY, замените эту опцию на DISK.
- Если Вы используете постоянно помещенные в память (резидентные) обслуживающие программы, такие как WINDOWS, SIDEKICK, NORTON
удалите их из памяти. - Если Вы используете интегрированную среду TURBO.EXE, то попробуйте воспользоваться компилятором ТРС.ЕХЕ, он занимает меньше памяти.
- Если ни одна из рекомендаций не помогает, то, возможно, Ваша программа просто слишком велика, чтобы компилировать ее в таком объеме памяти. В этом случае Вы должны разбить её на два или более модулей.
- Ваш исходный файл закончился перед последним END основного раздела< операторов. Вероятно, в Вашей программе неодинаковое количество операторов BEGIN и END.
- Включаемый файл заканчивается в середине раздела операторов. Каждый раздел операторов должен целиком помещаться в одном файле.
- Вы не закончили комментарий.
- Несовместимые типы переменной и выражения в операторе присваивания.
- Несовместимые типы фактического и формального параметров в обращении к процедуре или функции.
- Тип выражения несовместим с типом индекса при индексировании массива.
- Несовместимые типы операндов в выражении.
- Данный идентификатор получил тип PUBLIC, с помощью соответствующей директивы языка ассемблер, но не соответствует описанию EXTERNAL в программе или программном модуле Паскаля.
- Две или более директивы PUBLIC языка ассемблер определяют один и тот же идентификатор.
- Файлы .obj определяют символы PUBLIC, не находящиеся в сегменте CODE.
- Программа на ассемблере ссылается с помощью директивы ETRN на идентификатор, который не описан в программе на Паскале и не был описан в интерфейсных секциях используемых программных модулей.
- Ассемблерная программа ссылается на идентификатор, обозначающий абсолютную переменную (т.е. определённую словом ABSOLUTE).
- Ассемблерная программа ссылается на идентификатор процедуры или функции типа INLINE.
- Файл .obj содержит данные и перемещаемые ссылки в сегментах, отличных от CODE. Например, Вы пытаетесь описать инициализированные переменные в сегменте DATA.
- Файл содержит ссылки с размерами в байтах на перемещаемые символы. Такая ошибка происходит в случае, если Вы используете, операторы HIGH и DOWN с перемещаемыми символами или если Вы ссылаетесь в директивах DB на перемещаемые символы.
- Операнд ссылается на перемещаемый символ, который не был определен в сегменте CODE или в сегменте DATA.
- Операнд ссылается на процедуру EXTRN или функцию EXTRN со сдвигом, например, CALL SortProc +8.
- Были описаны процедура или функция в интерфейсной секции программного модуля, но их определение отсутствует в секции реализации.
- Процедуры или функции были описаны с помощью опережающего описания, но их определение не найдено.
- Попытка разместить в памяти, занимаемой некоторой переменной, значение выражения другого типа в случае, когда размер размещаемого значения не равен размеру переменной.
- Вы пытаетесь осуществить преобразование типа выражения, когда разрешается только ссылка на переменную, процедуру или функцию.
- Процедуры READ и READLN могут считывать переменные символьного, целого, действительного и строкового типа.
- Процедуры WRITE и WRITELN могут выводить переменные символьного, целого, действительного, логического и строкового типа.
- Вы пытаетесь указать индекс массива, выходящий за его границы.
- Вы пытаетесь присвоить переменной значение, выходящее за границы, допустимые для типа этой переменной.
- Вы пытаетесь передать в качестве фактического параметра процедуре или функции константу, выходящую за границы, допустимые для типа соответствующего формального параметра.
- Общий размер глобальных переменных, описанных в программе или программном модуле, не может превышать 64 Кбайт.
- Размер локальных переменных, описанных в программе или функции, не может превышать 64 Кбайт.
- Вы пытаетесь индексировать переменную, которая не является массивом.
- Вы пытаетесь указать поля в переменной, которая не является записью.
- Вы пытаетесь использовать в качестве указателя переменную, которая не является указателем.
- Заголовок процедуры или функции, указанный в интерфейсной секции, не соответствует заголовку в исполняемой части.
- Заголовок процедуры или функции, указанный с помощью опережающего описания (FORWARD), не соответствует заголовку найденной далее одноименной процедуры или функции.
Некоторые ошибки, обнаруженные во время выполнения программы, приводят к появлению на экране сообщения вида Runtime error nnn at xxxx:yyyy (ошибка времени выполнения nnn по адресу ххххгуууу), после чего программа завершает свою работу.
Ошибки времени выполнения делятся на две категории: ошибки ввода-вывода (коды ошибок с 1 до 199) и грубые ошибки (коды ошибок с 200 до 255).
Ошибки ввода-вывода вызывают завершение выполнения программы в случае, если оператор ввода-вывода был скомпилирован в режиме <$!+>. В режиме <$!->продолжается выполнение программы, а ошибка возвращается функцией IORESULT. Коды ошибок 1-99 соответствуют кодам ошибок ДОС. 100-149 - ошибкам ввода вывода, 150-199 - критическим ошибкам, а 200-255 - фатальным ошибкам.
Если один из операторов компилируется с директивой <$!+>, то ошибка ввода-вывода приводит к прекращению выполнения программы. В состоянии <$!->программа продолжает выполняться, а ошибка возвращается функцией IORESULT.
- Индексное выражение массива находилось вне допустимого диапазона.
- Была осуществлена попытка присвоить переменной значение, находящееся вне диапазона переменной.
- Была осуществлена попытка передать значение, находящееся вне допустимого диапазона, в качестве параметра процедуре или функции.
- Аргумент функции TRUNC или ROUND не может быть преобразован в целое число, находящееся внутри диапазона типа LONGINT (от -2147483648 до +2147483647).
- Отрицательный аргумент функции SQRT (извлечение квадратного корня).
- Аргумент функции LN (логарифм) равен нулю или имеет отрицательное значение.
- Произошло переполнение стека сопроцессора.
1. Out of memory (Выход за границы памяти)
2. Identifier expected (Не указан идентификатор)
3. Unknown identifier (Неизвестный идентификатор)
4. Duplicate identifier (Двойной идентификатор)
5. Syntax error (Синтаксическая ошибка)
6. Error in integer constant (Ошибка в целой константе)
7. String constant exceeds fine (Строковая константа превышает допустимые размеры)
8. Error in real constant (Ошибка в вещественной константе)
9. Unexpected end of file (Не найден конец файла)
10. Line too tons (Слишком длинная строка)
11. Type identifier expected (Здесь нужен идентификатор типа)
12. Too many open files (Слишком много открытых файлов)
13. File not found (Файл не найден)
14. Invalid file name (Неверное имя файла)
15. Disk full (Диск заполнен)
16. Undefiner typein pointer definition (Неопределенный тип в объявлении указателя)
17. Variable identifier expected (Отсутствует идентификатор переменной)
18. Error in type (Ошибка в объявлении типа)
19. Structure too large (Слишком большая структура)
20. Set-base type of range (Базовый тип множества нарушает границы)
21. File components may not be files (Компонентами файла не могут быть файлы)
22. Invalid string length (Неверная длина строки)
23. Type mismatch (Несоответствие типов)
24. Invalid subrange base type (Неправильный базовый тип для типа диапазона)
25. Lower bound greater than upper bound (Нижняя граница больше верхней)
26. Ordinal type expected (Нужен порядковый тип)
27. Integer constant expected (Нужна целая константа)
28. Consant expected (Нужна константа)
29. Integer or real constant expected (Нужна целая или вещественная константа)
30. Pointer type identifier expected (Нужен идентификатор типа)
31. Invalid function result type (Неправильный тип результата функции)
32. Label identifier expected (Нужен идентификатор метки)
33. BEGIN expected (Нужен BEGIN)
34. END expected (Нужен END)
35. Integer expression expected (Нужно выражение типа INTEGER)
36. Ordinal expresiion expected (Нужно выражение перечисляемого типа)
37. Boolean expression expected (Нужно выражение типа BOOLEAN)
38. Operand types do not match operator (Типы операндов не соответствуют операции)
39. Error in expression (Ошибка в выражении)
40. Illegal assigment (Неверное присваивание)
41. Field identifier expected (Нужен идентификатор поля)
42. Code segment too large (Сегмент кода слишком большой)
43. Data segment too large (Сегмент данных слишком велик)
44. DO expected (Нужен оператор DO)
45. OF expected (Требуется OF)
46. INTERFACE expected (Требуется интерфейсная секция)
47. Invalid relocatable refence (Неправильная перемещаемая ссылка)
48. THEN expected (Требуется THEN)
49. TO or DOWNTO expected (Требуется TO или DOWNTO)
50. Undefiner forward (Неопределенное опережающее описание)
51. Invalid typecast (Неверное преобразование типа)
52. Division by zero (Деление на нуль)
53. Invalid file type (Неверный файловый тип)
54. Cannot Read or Write variables of this type (Нет возможности считать или записать переменые данного типа)
55. Pointer variable expected (Нужно использовать переменную-указатель)
56. String variable expected (Нужна строковая переменная)
57. String expression expected (Нужно выражение строкового типа)
58. Circular unit refence (Перекрестная ссылка модулей)
59. Unit name mismatch (Несоответствие имен программных модулей)
60. Unit version masmatch (Несоответствие версий модулей)
61. Internal stack overflow (Переполнение внутреннего стока)
62. Unit file format error (Ошибка формата файла модуля)
63. Implementation expected (Отсутствует исполняемая часть модуля)
64. Constant and case types do not match (Типы констант и тип выражений оператора CASE не соответствуют друг другу)
65. Record or object variable expected (Нужна переменная типа запись или объект)
66. Constant out of range (Константа нарушает границы)
67. File variable expected (Нужна файловая переменная)
68. Pointer expression expected (Нужно выражение типа указатель)
69. Integer or real expression expected (Нужно выражение вещественного или целого типа)
70. Label not within current block (Метка не находится внутри текущего блока)
71. Label already defined (Метка уже определена)
72. Undefined label in processing statement part (Неопределенная метка в предшествующем разделе операторов)
73. Invalid @ argement (Неправильный аргумент операции @)
74. Unit expected (Нужно кодовое слово Unit)
75. <;> expected (Нужно указать <;>)
76. <:> expected (Нужно указать <:>)
77. <,> expected (Нужно указать <,>)
78. <(> expected (Нужно указать <(>)
79. <)> expected (Нужно указать <)>)
80. <-> expected (Нужно указать <->)
81. <:=> expected (Нужно указать <:=>)
82. <[> or <(.>expected (Нужно указать <[> или <(.>)
83. <]> or <.)> expected (Нужно указать <]> или <.)>)
84. <.> expected (Нужно указать <.>)
85. <..> expected (Нужно указать <..>)
86. Too many variables (Слишком много переменных)
87. Invalid FOR control variable (Неправильный параметр цикла оператора FOR)
88. Integer variable expected (Нужна переменная целого типа)
89. Files types are not allowed here (Здесь не могут использоваться файлы)
90. String length mismatch (Несоответствие длины строки)
91. Invalid orering of fields (Неверный порядок полей)
92. String constant expected (Нужна константа строкового типа)
93. Integer or real variable expected (Нужна переменная типа INTEGER или REAL)
94. Ordinal vairale expected (Нужна переменная порядкового типа)
95. Character expression expected (Предшествующее выражение должно символьный тип)
96. Overflow in arithmetic operation (Переполнение в арифметической операции)
97. No enclosing For, While or Repeat statement (Операторы For, While или Repeat без окончания)
98. Case constant out of range (Константа Case нарушает допустимые границы)
99. Error in statement (Ошибка в операторе)
100. Must be in 8087 mode to compile this (Для компиляции необходим режим 8087)
101. Target address not found (Указанный адрес не найден)
102. Include files are not allowed here (Здесь не допускаются включаемые файлы)
103. Invalid qualifier (Неверный квалификатор)
104. Invalid variable refence (Недействительная ссылка на переменную)
105. Too many symbols (Слишком много обозначений)
106. Statement part too large (Слишком большой раздел операторов)
107. Files must be var parameters (Файлы должны передаваться по имени)
108. Header does not match previous definition (Заголовок не соответствует предыдущему определению)
109. Cannot evaluate this expression (Некорректное вычисление выражения)
110. Invalid format specifier (Неверный спецификатор формата)
111. Invalid indirect refence (Недопустимая косвенная ссылка)
112. Structured variable are not allowed here (Здесь нельзя использовать переменную структурного типа)
113. Cannot evaluate without System unit (Нельзя вычислить выражение без модуля SYSTEM)
114. Cannot access this symbol (Нет доступа к данному символу)
115. Invalid floating-point operation (Недопустимая операция с плавающей запятой)
116. Procedure or function variable expected (Должна использоваться переменная процедурного типа)
117. Invalid procedure or function refence (Недопустимая ссылка на процедуру или функцию)
118. File access denied (Отказ в доступе к файлу)
119. Object type expected (Здесь должен быть тип OBJECT)
120. Local object types are not allowed (Нельзя объявлять локальные объекты)
121. VIRTUAL expected (Пропущено слово VIRTUAL)
122. Method identifier expected (Пропущен идентификатор инкапсулированного правила)
123. Virtual constructor are not allowed (Конструктор не может быть виртуальным)
124. Destructor identifier expected (Пропущен идентификатор деструктора)
125. Fail only allowed within constructor (Неизвестный модуль)
126. Invalid combination of opcode and operends (Недопустимая комбинация кода команды и операндов)
124. Memory refence expected (Нужна ссылка на память)
125. Invalid symbol refence (Неверное обозначение ссылки)
126. Code generation error (Ошибка при генерации программы)
127. Duplicate dynamic method index (Повторяется индекс динамического правила)
128. Procedure or function identifier expected (Нужен идентификатор процедуры или функции)
3) Ошибки, обнаруживаемые ДОС
1. Invalid function number (Неверный номер функции)
2. File not found (Не найден файл)
3. Path not found (Путь не найден)
4. Too many open files (Слишком много открытых файлов)
5. File access defined (Отказано в доступе к файлу)
6. Invalid file handle (Недопустимый файловый канал)
7. Invalid file access code (Недействительный код доступа к файлам)
8. Invalid drive number (Недопустимый номер дисковода)
9. Cannot remove current directory (Нельзя удалить текущий каталог)
10. Cannot rename across drives (Нельзя при переименовании указывать разные дисководы)
6) Фатальные ошибки
Эти ошибки всегда приводят к немедленной остановке программы.
1. Division by zero (Деление на нуль)
2. Range check error (Ошибка при проверке границ)
3. Stack overflow error (Переполнение стека)
4. Hearp overflow error (Переполнение кучи)
5. Invalid pointer operation (Недействительная операция с указателем)
6. Floating point overflow (Переполнение при операции с плавающей запятой)
7. Invalid floating point operation (Недопустимая операция с плавающей запятой)
8. Floating point underflow (Исчезновение порядка при операции с плавающей запятой)
9. Object not initialized (Не инициирован объект)
10. Call to abstract method (Вызов абстрактного правила)
Читайте также: