Таблица 35. Список горячих клавиш
Горячая клавиша | Функция | Опция меню |
F1 | Открытие окна с подсказками | HELP/TOPIC |
F2 | Сохранение файла, находящегося в активном окне редактирования | FILE/SAVE |
F3 | Загрузка файла в активное окно редактирования | FILE/OPEN |
F4 | Выполнение программы до строки, помеченной курсором | RUN/ GOTO CURSOR |
F5 | Увеличение/уменьшение размеров активного окна | WINDOW/ZOOM |
F6 | Переход в следующее открытое окно | WINDOW/NEXT |
F7 | Выполнение очередного оператора программы или подпрограммы | RUN/ TRACE INTO |
F8 | Выполнение очередного оператора программы | RUN/ TRACE OVER |
F9 | Компиляции программы/модуля и возможно связанных с ними модулей | COMPILE/ MAKE |
F10 | Возврат в главное меню | |
CTRL+F1 | Выдача справки о языковой конструкции | HELP/ TOPIC SEARCH |
CTRL+F2 | Прекращение отладки программы | RUN/PROGRAM RESET |
CTRL+F3 | Вывод на экран списка имен активных блоков | WINDOW/ CALL STACK |
CTRL+F4 | Просмотр значения выражения, изменение значения переменной | DEBUG/EVALUATE |
CTRL+F5 | Изменение размера и положения активного окна | WINDOW SIZE/MOVE |
CTRL+F6 | Добавление выражения в окно наблюдений | DEBUG/ ADD WATCH |
CTRL+F8 | Установка или отмена точки останова | DEBUG/TOGGLE BREAKPOINT |
CTRL+F9 | Запуск программы | RUN/RUN |
CTrl+K, R | Вставить в текущей позиции курсора файл (с диска) | |
Ctrl+K, W | Записать выделенный блок в отдельный файл | |
Сtrl+K, T | Выделить слово | |
Ctrl+K, B | Перейти в начало выделенного блока | |
Ctrl+Q, K | Перейти в конец выделенного блока | |
Ctrl+Q, A | Найти и заменить | |
Ctrl+Q, L | Восстановить строку | |
Ctrl+Q, Y | Удалить текст до конца строки | |
Ctrl+Y | Удалить строку | |
Сtrl+Home | Перейти в начало экрана (окна) | |
Ctrl+End | Перейти в конец экрана (окна) | |
Ctrl+PgUp | Перейти к началу файла | |
Ctrl+PgDn | Перейти к концу файла | |
Shift+клавиша управления курсором | Выделение блока | |
CTRL+Del | Удаление выделенного текста | EDIT/CLEAR |
CTRL+Ins | Копирование выделенного текста в карман | EDIT/COPY |
CTRL+L | Повторение последней операции Find (поиска) или Replace (замены) | |
CTRL+P | Открытие последнего закрытого окна | SEARCH/PREVIOUS |
SHIFT+DEL | Удаление выделенного текста из файла и помещение его в карман. | EDIT/CUT |
SHIFT+INS | Помещение выделенного текста из кармана в активное окно, в место, определяемое курсором | EDIT/PASTE |
SHIFT+F6 | Переход в предыдущее открытое окно | WINDOW/ PREVIOUS |
ALT+F1 | Восстановление содержимого предыдущего окна подсказки | HELP/PREVIOUS TOPIC |
ALT+F3 | Закрытие активного окна | WINDOW/CLOSE |
ALT+F5 | Показ окна вывода (экрана операционной системы) | WINDOW/USER SCREEN |
ALT+F6 | Переход в окно, которое было открыто непосредственно перед текущим активным окном | WINDOW/PREVIOUS |
ALT+F8 | Определение места нахождения ошибки в исходном файле | SEARH/FIND ERROR |
ALT+F9 | Компиляция файла, находящегося в активном окне редактирования | COMPILE/ COMPILE |
ALT+X | Выход из среды системы | FILE/EXIT |
ALT+0 | Вывод на экран списка всех открытых окон | WINDOW/LIST |
ALT+цифра | Переход в открытое окно с номером, заданным цифрой 1..9 | |
ALT+S, F | Поиск заданного текста в файле активного окна | SEARCH/FIND |
ALT+S, R | Поиск заданного текста в файле активного окна и его замена | SEARCH/REPLACE |
ALT+C | Активизация меню COMPILE | COMPILE |
ALT+D | Активизация меню DEBUG | DEBUG |
ALT+E | Активизация меню EDIT | EDIT |
ALT+F | Активизация меню FIND | FIND |
ALT+H | Активизация меню HELP | HELP |
ALT+O | Активизация меню OPTIONS | OPTIONS |
ALT+R | Активизация меню RUN | RUN |
ALT+S | Активизация меню SEARCH | SEARCH |
ALT+W | Активизация меню WINDOW | WINDOW |
Приложение Б.
Сообщения об ошибках
Таблица 36. Сообщения об ошибках на шаге компиляции
Ниже приводятся коды ошибок и сообщения об ошибках, генерируемые компилятором языка Турбо-Паскаль. Кроме перевода сообщений в некоторых случаях даются необходимые пояснения, а также рекомендации по устранению ошибок.
Код ошибки | Сообщение об ошибке | Перевод сообщения, возможная причина ошибки и рекомендации для ее устранения |
Out of memory | «не хватает памяти» — Компилятор извещает, что доступной памяти недостаточно для размещения программы. Чтобы устранить ошибку, рекомендуется удалить из памяти ранее загруженные, но не используемые в данный момент программы, или указать, что объектный код должен выводиться на диск. Если это не дает результата, следует разделить программу или модуль на большее число модулей | |
Identifier expected | «ожидается идентификатор» — Возможно, в качестве идентификатора использовано зарезервированное слово | |
Unknown identifier | «неизвестный идентификатор» — Идентификатор не объявлен | |
Duplicate identifier | «дублируемый идентификатор» — Идентификатор объявлен дважды | |
Syntax error | «синтаксическая ошибка» — Обнаружен символ, отсутствующий в алфавите языка | |
Error in real constant | ошибка в записи константы вещественного типа | |
Error in integer constant | ошибка в записи константы целого типа | |
String constant exceeds line | «длина строковой константы превышает максимально допустимую длину строки» — Возможно, отсутствует закрывающий апостроф | |
Too many nested files | «слишком много вложенных файлов» — При включении исходных файлов (с помощью директив {$1 <имя файла >}) компилятор допускает не более 15 уровней вложенности | |
Unexpected end of file | «несвоевременное появление признака конца файла» Возможно, не совпадает количество операторов begin и end или не закрыт комментарий | |
Line too long | «слишком длинная строка» — Длина строки превысила 126 символов | |
Type identifier expected | «ожидается идентификатор типа» — В объявлении отсутствует идентификатор типа | |
Too many open files | «слишком много открытых файлов» — Следует задать большее число файлов в CONFIG.SYS (в записи FILES = < число) | |
Invalid file name | неправильно задано имя файла | |
File not found | файл не найден | |
Disk full | на диске нет свободного места | |
Invalid compiler directive | неправильно записана директива компилятора | |
Too many files | «слишком много файлов» — С помощью директив {$1 <имя файла>} включается чрезмерное количество исходных файлов | |
Undefined type in pointer definition | «необъявленный тип в объявлении указателя» — Не объявлен тип данных, указанный в объявлении ссылочного типа | |
Variable identifier expected | ожидается идентификатор переменной | |
Error in type | ошибка в объявлении типа | |
Structure too large | «структура слишком большая» — Превышен допустимый размер (65520 байт) области памяти для данных структурированного типа | |
Set base type out of range | «число значений базового типа для множества превышает допустимое» — Базовый тип не должен содержать более 256 значений | |
File components may not be files or objects | компонентами файла не могут быть файлы или объекты | |
Invalid string length | «недопустимая длина строки» — Превышена максимально допустимая длина строки (255) | |
Type mismatch | «несоответствие типов» — Не соответствуют друг другу типы данных в выражении | |
Invalid subrange base type | недопустимый базовый тип для интервального типа | |
Lower bound greater than upper bound | нижняя граница больше верхней границы | |
Ordinal type expected | ожидается ссылка на порядковый тип | |
Integer constant expected | ожидается целая константа | |
Constant expected | ожидается константа | |
Integer or real constant expected | ожидается целая или вещественная константа | |
Type identifier expected | ожидается идентификатор типа | |
Invalid function result type | недопустимый тип результата функции | |
Label identifier expected | ожидается идентификатор метки | |
Begin expected | ожидается зарезервированное слово begin | |
End expected | ожидается зарезервированное слово end | |
Integer expession expected | ожидается выражение целого типа) | |
Ordinal expession expected | ожидается выражение порядкового типа | |
Boolean expression expected | ожидается выражение булевого типа | |
Operand types do not match operator | типы операндов не соответствуют оператору | |
Error in expression | ошибка в выражении | |
Illegal assignment | неправильное присваивание | |
Field identifier expected | ожидается идентификатор поля записи | |
Object file too large | «объектный файл слишком большой» — OBJ-файл превысил максимально допустимый размер (65520 байт) | |
Undefined external | «не определена внешняя подпрограмма» — Вероятно, во внешней подпрограмме отсутствует соответствующее определение PUBLIC | |
Invalid object file record | «нераспознаваемая запись объектного файла» — Вероятно, объектный файл искажен | |
Code Segment too large | «кодовый сегмент слишком велик» — Превышен максимально допустимый размер кода программы или модуля (65520 байтов) | |
Data segment too large | «сегмент данных слишком велик» — Превышен максимально допустимый размер сегмента данных (65520 байтов) | |
Do expected | ожидается ключевое слово DO | |
Invalid PUBLIC definition | «неправильное определение public» — Несоответствие определения PUBLIC в программе на Ассемблере и директивы external в программе или модуле на Паскале | |
Invalid EXTRN definition | «неправильное определение extrn» — Вероятно, фрагмент программы на языке Ассемблера не объявлен в программе или модуле | |
Too many EXTRN ltfinition | «слишком много определений extrn» — Максимально допустимое число определений EXTRN в Obj-файле равно 256 | |
OF expected | ожидается зарезервированное слово OF | |
INTERFACE expected | ожидается зарезервированное слово INTERFACE | |
Invalid relocatable | «неправильно определена смещенная ссылка» — Вероятно, во фрагменте программы на языке Ассемблера неправильно задано смещение адреса | |
THEN expected | ожидается зарезервированное слово Then | |
TO or DOWNTO expected | ожидается зарезервированное слово To или downto | |
Undefined forward | не завершено опережающее объявление | |
Too many procedures | «слишком много процедур» — Превышено максимально допустимое (512) количество подпрограмм, объявленных в программе или модуле | |
Invalid Typecast | неверно описанное преобразование типов | |
62 | Division by zero | деление на нуль |
Invalid file type | неправильно задан файловый тип | |
Cannot Read or Write variables of type | «нельзя читать или писать переменные этого типа» — Предпринята попытка чтения/записи данных, не обрабатываемых процедурами Read/Readln и Write/Writeln. | |
Pointer variable expected | ожидается переменная ссылочного типа | |
String variable expected | ожидается строковая переменная | |
String expession expected | ожидается выражение строкового типа | |
Circular unit reference | «циклические ссылки модулей» — Не допускается, чтобы два модуля ссылались друг на друга | |
Unit name mismatch | «неправильное имя модуля» — Модуль, имя которого задано в директиве Uses, не найден | |
Unit version mismatch | «неверная версия модуля» — Модуль, подключаемый к программе, был изменен после компиляции | |
Duplicate unit name | имя модуля дублируется в директиве uses | |
Unit file format error | ошибка в спецификации файла модуля | |
Implementation expected | ожидается зарезервированное слово implementation | |
Constant and case types do not match | типы констант и селектора в операторе case не соответствуют друг другу | |
Record variable expected | ожидается переменная комбинированного типа | |
Constant out of range | константа не укладывается в допустимый диапазон | |
File variable expected | ожидается переменная файлового типа | |
Pointer expression expected | ожидается выражение ссылочного типа | |
Integer or real expression expected | ожидается выражение типа integer или real | |
Label not within current block | метка находится вне текущего блока | |
Label already defined | метка ранее уже объявлена | |
Undefined label in preceding statement part | необъявленная метка в предыдущей части раздела операторов | |
Invalid @ argument | неправильный аргумент оператора @ | |
UNIT expected | ожидается зарезервированное слово unit | |
“;” expected | ожидается точка с запятой | |
”:” expected | ожидается двоеточие | |
“,” expected | ожидается запятая | |
“(“ expected | ожидается открывающая круглая скобка | |
“)” expected | ожидается закрывающая круглая скобка | |
“=”' expected | ожидается знак равенства | |
”:=" expected | ожидается знак присваивания | |
”[“' or "(" expected | ожидаются знаки “[“ или “(“ | |
”]” or “)” expected | ожидаются знаки ']' или ')' | |
”.” expected | ожидается точка | |
”..” expected | ожидается горизонтальное двоеточие | |
Too many variables | «слишком много переменных» — Максимально допустимый размер памяти для размещения переменных равен 64К: – глобальных, объявленных в программе или модуле; – локальных, объявленных в подпрограмме | |
Invalid FOR control variable | «неправильная переменная цикла в операторе for» — Переменная цикла в операторе for должна принадлежать одному из простых типов | |
Integer variable expected | ожидается переменная целого типа | |
File and procedure types are not allowed here | в данном контексте файловый и процедурный типы недопустимы | |
String length mismatch | «неправильная длина строки» — Длина строковой константы не соответствует количеству элементов символьного массива. | |
Invalid ordering of fields | неправильный порядок следования полей | |
String constant expected | ожидается константа строкового типа | |
Integer or real variable expected | ожидается переменная типа integer или real | |
Ordinal variable expected | ожидается переменная порядкового типа | |
INLINE error | ошибка в директиве inline | |
Character expession expected | ожидается выражение символьного типа | |
Too many relocation items | «слишком много перемещаемых элементов» — Размер таблицы перемещаемых символов в объектном файле превышает 64К байта. Это означает, что программа слишком велика, чтобы ее смог обработать компоновщик Турбо-Паскаля. | |
Overflow in arithmetic operation. | переполнение при выполнении арифметической операции | |
No enclosing For, While or Repeat statement. | использование операторов Break и Continue вне пределов цикла | |
Case constant out of range | «в операторе case константа не вписывается в допустимый диапазон» — Целочисленные константы, используемые в операторе case, должны находиться в пределах от -32768 до 32767. | |
Error in statement | ошибка в операторе | |
Cannot call an interrupt procedure | не вызывается процедура прерывания | |
Must be in 8087 mode to compile this | «для компиляции данной конструкции должен быть установлен режим сопроцессора» — Данная конструкция может быть откомпилирована только в режиме {$ N+}. | |
Target address not found | «заданный адрес отсутствует» — Не обнаружен оператор, расположенный по заданному адресу. | |
Included files are not allowed here | «в заданном месте не допускается включение файла» — Исходные файлы нельзя включать внутри раздела операторов. | |
No inherited methods are accesible here. | неправильное использование ключевого слова Inherited | |
Invalid Qualifier | «неправильно указан квалификатор» — Возможны следующие причины появления сообщения: задан индекс переменной, не объявленной как массив; задано поле переменной, не объявленной как запись; в качестве указателя используется переменная, не объявленная как ссылочная | |
Invalid variable reference | неправильная ссылка на переменную | |
Too many symbols | «слишком много символов» — Длина текста программы или модуля превышает 64К байта | |
Statement part too large | «слишком велик раздел операторов» — Превышен максимально допустимый размер раздела операторов программы (около 24К байт) | |
Files must be var parameters | «файлы должны быть параметрами-переменными» — Параметры файлового типа в объявлении подпрограмм должны описываться как переменные. | |
Too many conditional symbols | «слишком много условных символов» — Недостаточно памяти для размещения имен, указанных в директивах условной компиляции Рекомендуется укоротить одно или несколько символических имен | |
Misplaced conditional directive | несоответствие директив условной компиляции | |
ENDIF directive missing | отсутствует директива {$ ENDIF} | |
Error in initial conditional defines | «ошибка в установке условных определений» — Условия компиляции, заданные в Options/Compiler/ Conditional defines, должны разделяться пробелами, запятыми или точками с запятой | |
Header does not match previous definition | «заголовок не соответствует предыдущему определению» — Заголовок подпрограммы, заданный в секции связи модуля или в объявлении, использующем forward, не соответствует данному заголовку | |
Critical disk error | серьезная ошибка дискового накопителя | |
Cannot evaluate this expression | данное выражение невозможно вычислить | |
Expession incorrectly terminated | «неправильно завершено выражение» — Вероятно, отсутствует точка с запятой | |
Invalid format specifier | неправильная спецификация формата | |
Invalid indirect reference | «неправильная косвенная ссылка» — Возможно, используется переменная типа absolute, базовая переменная которой не объявлена в данном модуле | |
Structured variables are not allowed here | в данном контексте структурные переменные недопустимы | |
Cannot evaluate without System unit | нельзя вычислить без модуля System | |
Cannot access this symbol | «невозможен доступ к данному символу» — Доступ к некоторым идентификаторам, например, переменным, возможен только после начала фактического выполнения программы | |
Invalid floating-point operation | «неправильная операция с плавающей точкой»» — Операция над двумя значениями вещественного типа привела к переполнению или делению на нуль | |
Cannot compile overlay to memory | нельзя компилировать код оверлейной программы в память | |
Procedure or function variable expected | ожидается переменная типа procedure или function | |
Invalid procedure or function reference | неправильная ссылка на процедуру или функцию | |
Cannot overlay this unit | «данный модуль нельзя сделать оверлейным» — Предпринята попытка объявить оверлейным модуль, который был откомпилирован без директивы {$0+ }. | |
Too many nested scopes | использование недопустимо большого числа вложенных элементов языка | |
File access denied | попытка использовать файл, предназначенный только для считывания, как выходной | |
Object type expected | ожидается объектный тип | |
Local object types are not allowed | «локальный объектный тип недопустим» — Объектный тип не должен объявляться в подпрограмме | |
VIRTUAL expected | ожидается зарезервированное слово virtual | |
Method identifier expected | ожидается идентификатор метода | |
Virtual constructors are not allowed | «виртуальные конструкторы недопустимы» — Метод-конструктор может быть только статическим | |
Constructor identifier expected | ожидается идентификатор конструктора | |
Destructor identifier expected | ожидается идентификатор деструктора | |
Fail only allowed withing constructors | «процедуру Fail можно использовать только внутри конструкторов» | |
Invalid combination of opcode and operands | «неправильное сочетание кода операции и операндов» — Код операции Ассемблера не допускает данного сочетания операндов | |
Memory reference expected | «ожидается ссылка на элемент памяти» — Вероятно, регистровый операнд не заключен в квадратные скобки | |
Cannot add or subtract relocatable symbols | сложение или вычитание переместимых символов недопустимо | |
Invalid register combination | указана неправильная комбинация регистров | |
286/287 Instructions are not enabled | «не разрешены инструкции процессора 286/287» — Отсутствует директива компилятора {$G+}, разрешающая использовать операции 286/287 | |
Invalid symbol reference | «неправильная ссылка на символ» — Данный символ нельзя использовать в ассемблерном операнде | |
Code generation error | ошибка при генерации кода | |
ASM expected | ожидается зарезервированное слово ASM |