ДОДАТОК

 

 

Список ‘гарячих’ клавіш інтегрованого середовища

Turbo Pascal 7.0

 

 

Гаряча Функція Опція меню клавіша

F1 Активізація вікна помочі Help/Topic

 

F2 Збереження файла, який находить- File/Save

ся в активному вікні редагування

 

F3 Загрузка файла в активне вікно File/Open

редагування

 

F4 Виконання програми до рядка, який Run/Goto

відмічений курсором Cursor

 

F5 Збільшення/зменшення розмірів ак- Window/Zoom

тивного вікна

 

F6 Активізація наступного активного Window/Next

вікна

 

F7 Виконання наступного оператора Run/Trece

програми або підпрограми Into

 

F8 Виконання наступного оператора Run/Trece

програми Over

 

F9 Компеляція програми/модуля та Compile/Make

можливо зв'язаних з ними модулів

 

F10 Повернення в головне меню Help/

Topic Search

 

Ctrl-F1 Видача довідки про мовну конструкцію

 

Ctrl-F2 Завершення відладки програми Run/

Program Reset

 

Ctrl-F3 Видача на екран списка імен актив- Window/

них блоків Call Stack

 

Ctrl-F4 Перегляд значень виразу, зміна Debag/

значення змінної Evaluate

 

Ctrl-F5 Зміна розмІра та положення актив- Window/

ного вІкна Size/Move

 

Ctrl-F6 Добавлення виразу в вІкно спостере- Debug/Add

жень Watch

 

Ctrl-F8 Встановлення або відміна точки при- Debug/

зупинки BreakPoint

 

Ctrl-F9 Запуск програми Run/Run

 

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/OutPut

 

Alt-F8 Визначення позиції, де знаходиться Search/Find

помилка в активному файлі Error

 

Alt-F9 Компеляція файлу, який знаходиться Сompile/

в активному вікні Compile

 

Alt-X Вихід із середовища системи File/Exit

 

Alt-O Вивід на екран всіх відкритих вікон Window/

List

 

Alt-S-F Пошук заданного тексту в файлі Search/Find

 

Alt-S-R Пошук заданного тексту в файлі та Search/

його заміна Repleace

 

Alt-С Активізація меню 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

 

Повідомлення про помилки.

 

Повідомлення про помилки на кроці компіляції

 

Нижче приводяться коди помилок та повідомлення про помилки,які генеруються компілятором мови Турбо Паскаль. Крім перекладу повідомлень в деяких випадках даються пояснення, а також рекомендації по виправленню помилок.

 

1. Out of memory (не хватає пам'яті).

Компілятор повідомляє, що доступної пам'яті не досить для розміщення програми. Щоб виправити помилку, рекомендуєть-ся вилучити з пам'яті програми, які були загружені раніш але не використовуються в даний момент або вказати, що об'єктний код буде виводиться на диск. Якщо це не дає результату, то необхідно розділити програму чи модуль на більше число модулів.

 

2. Identifier expected (очікується ідентифікатор).

Можливо, що для ідентифікатора було помилково використане службове слово.

 

3. Unknown identifier (невідомий ідентифікатор).

Ідентифікатор не описаний.

 

4. Dublicate identifier (дубльований ідентифікатор).

Ідентифікатор об'явлений два рази.

 

5. Syntax error (синтаксична помилка).

Знайдений символ, який відсутній в алфавіті мови.

 

6. Error in real constant (помилка в записі костанти дійсного типу).

 

7. Error in integer constant (помилка в записі константи цілого типу).

 

8. String constant exceeds line (довжина рядкової константи перевершує максимально допустиму довжину рядка).

Можливо, що відсутній апостроф, який закриває рядкову константу.

 

9. Too many nested files (дуже багато вкладених файлів).

При включенні вихідних файлів (за допомогою директиви

{$I < ім'я файлу>} компілятор допускає не більш п'ят-надцяти рівней вкладень.

 

10. Unexpected end of file (несвоєчасне появлення признака кінця файла).

Можливо, що не співпадає кількість операторів begin та end або не закритий коментарій.

 

11. Line too long (дуже довгий рядок).

Довжина рядка перевершила 126 символів.

 

12. Type identifier expected (oчікується ідентифіка-тор типу).

В об'явленні відсутній ідентифікатор типу.

 

13. Too many open files (дуже багато відкритих файлів).

Необхідно задать більше число файлів в CONFIG.SYS в записі File=<число>.

 

14. Invalid file name (невірно задане ім'я файла).

 

15. File not found (файл не найдено).

 

16. Disk full (на дискі немає вільного місщя).

 

17. Invalid compiler directive (невірно записана директива компілятора).

 

18. Too many files (Дуже багато файлів).

За допомогою директив {$I <ім'я файла>} підключено дуже багато вихідних файлів.

 

19. Undefined type in pointer definition (необ'явлений тип в об'яві вказника).

Не об'явлено тип даних, який вказаний в об'яві для типі-зованого вказівника при роботі з динамічними змінними.

 

20. Variable identifier expected (очікується ідентифікатор змінної).

 

21. Error in type (помилка в об'яві типа).

 

22. Structure too large (структура дуже велика).

Перевищений допустимий розмір (65520 байт) пам'яті для данних стуктурованного типу.

 

23. Set base type out of range (число значень базового типу для множини перевищує допустиме).

Базовий тип не повинен мати більш ніж 256 значень.

 

24. File component may not be files or objects (компонентами файла не можуть буть файли чи об'єкти).

 

25. Invalid string length (недопустима довжина рядка).

Перевищена максимально допустима довжина рядка (255).

 

26. Type mismatch (невідповідність типів).

Не відповідають один одному типи данних в виразі.

 

27. Invalid subrange base type (недопустимий базовий тип для інтервального типу).

 

28. Lower bound greater then upper bound (нижня границя більша ніж верхня границя).

 

29. Original type expected (очікується посилання на порядковий тип).

 

30. Integer constant expected (очікується ціла константа).

 

31. Constant expected (очікується костанта).

 

32. Integer or real constant expected (очікується ціла або дійсна константа).

 

33. Type identifier expected (очікується ідентифіка-тор типу).

 

34. Invalid function result type (недопустимий тип результату функції).

 

35. Label identifier expected (очікується ідентифіка-тор мітки).

 

36. Begin expected (очікується зарезервоване слово begin).

 

37. End expected (очікується зарезервоване слово end).

 

38. Integer expression expected (очікується вираз цілого типу).

 

39. Ordinal expression expected (очікується вираз порядкового типу).

 

40. Booleal expression expected (очікується вираз бульового типу).

 

41. Operand types do not match operator (типи операндів не відповідають оператору).

 

42. Error in expression (Помилка в виразі).

 

43. Illegal assignment (Неправельне присвоєння).

 

44. Field identifier expected (очікується ідентифіка-тор поля записі).

 

45. Object file too large (об'єктний файл дуже великий).

OBJ-файл перевищує максимально допустимий розмір (65520 байт).

 

46. Undefined external (не визначена зовнішня програма).

Ймовірно, у зовнішній підпрограмі відсутнє відповідне визначення PUBLIC.

 

47. Invalid object file record (нерозпізнана запис об'єктного файла).

Ймовірно, об'єктний файл спотворений.

 

48. Code Segment too large (кодовий сегмент дуже великий).

Перевищений максимально допустимий розмір кода програми чи модуля (65520 байтів).

 

49. Data segment too large (сегмент даних дуже великий).

Перевищений максимально допустимий розмір семента даних

(65520 байтів).

 

50. Do expected (очікується ключеве слово DO).

 

51. Invalid PUBLIC definition (невірне визначення PUBLIC).

Не відповідність визначення PUBLIC в програмі на Асемблері та директиви external в програмі чи модулі на Паскалі.

 

52. Invalid EXTRN definition (невірне визначення EXTRN).

Ймовірно, фрагмент програми на мові Асемблера не об'явлений в програмі чи модулі.

 

53. Too many EXTRN definition (дуже багато визначень EXTRN).

Максимально допустиме число визначень EXTRN в OBJ-файлі рівне 256.

 

54.OF expected (очікується зарезервоване слово OF).

 

55.INTERFICE expected (очікується зарезервоване слово INTERFICE).

 

56. Invalid relocatable reference (невірно визначена зміщене посилання).

Ймовірно, у фрагменті програми на мові Асемблера неправельно задане зміщення адреса.

 

57. THEN expected (очікується зарезервоване слово THEN).

 

58. TO або DOWNTO expected (очікується зарезервоване слово TO або DOWNTO).

 

59. Undefined forward (не завешена попереджуюча об'ява forward).

 

60. Too many procedures (дуже багато процедур).

Перевершено максимально допустима (512) кількість подпрограм, які об'явлені в програмі або модулі.

 

61. Invalid typecast (невірно описано перетворення типів).

 

62. Division by zero (ділення на нуль).

 

63. Invalid file type (невірно заданий файловий тип).

 

64. Сannot Read or Write variables of type (неможливо читати або записувати змінні цього типу).

Зроблена спроба читання/записування данних, які не обробляються процедурами Read/Readln або Write/Writeln.

 

65. Pointer variable expected (очікується змінна посилкового типу).

 

66. String variable expected (очікується рядкова змінна).

 

67. String expression expected (очікується вираз рядкового типу).

 

68. Circula unit reference (циклічна посилка модулів).

Не допускається, щоб два модулі посилались один на одного.

 

69. Unit name mismatch (невірне ім'я модуля).

Не знайдено модуля, ім'я якого задане в директиві Uses.

 

70. Unit version mismatch (невірна весія модуля).

Модуль, який був підключений до програми, змінений після

компіляції.

 

71. Dublicate unit name (ім'я модуля дублюється в ди-

рективі Uses).

 

72. Unit file format error (помилка в специфікації файла модуля).

 

73. Implementation expected (очікується зарезервоване

слово implementation).

 

74. Constant and case types do not match (типи кон-стант та селестора в операторі CASE не відповідають один одному).

 

75. Record variable expected (очікується змінна ком-бінованого типу).

 

76. Constant out of range (константа не вкладується в допустимий диапазон).

 

77. File variable expected (очікується змінна файло-вого типу).

 

78. Pointer expression expected (очікується вираз по-силкового типу).

 

79. Integer or real expression expected (очікується вираз типу integer або real).

 

80. Label not within current block (мітка знаходиться за поточним блоком).

 

81. Label already defined (мітка вже раніше була об'явлена).

 

82. Undefined label in preceding statement part (Не об'явлена мітка в попередній частині розділа операторів).

 

83. Invalid @ аргумент(невірний аргумент оператора @).

 

84. UNIT expected (очікується зарезервовано слово unit).

 

85. ‘;’ expected (очікується крапка з комою).

 

86. ‘:’ expected (очікується двокрапка).

 

87. ‘,’ expected (очікується кома).

 

88. ‘(‘ expected (очікується відкриваюча кругла скобка).

 

89. ‘)’ expected (очікується закриваюча кругла скобка).

 

90. ‘=‘ expected (очікується знак рівності).

 

91. ‘:=‘ expected (очікується знак присвоєння).

 

92. ‘[‘ or ‘(‘ expected -чекаються знаки ‘[‘ чи ‘(‘ .

 

93. ‘]’ or ‘)’ expected (чекаються ‘]’ чи ‘)’ ).

 

94. ‘.’ expected (очікується крапка ).

 

95. ‘..’ expected (очікується дві крапки).

 

96. Too many variables (дуже багато змінних).

Максимально допустимий розмір пам'яті для розміщення змінних рівний 64 кбайт:

- глобальних, які об'явлені в програмі чи модулі;

- локальних, які об'явлені в підпрограмі.

 

97. Invalid FOR control variable (невірна змінна циклу в операторі FOR).

Змінна циклу в операторі FOR повинна належати одному із простих типів.

 

98. Integer variable expected (очікується змінна цілого типу).

 

99. File and procedure types are not allowed here (в даному контексі файловий та процедурні типи недопустимі).

 

100. String length mismatch (невірна довжина рядка).

Довжина рядкової константи не відповідає кількості елементів символьного масиву.

 

101. Invalid ordering of fields (невірний порядок слідування полів).

 

102. String constant expected (очікується константа рядкового типу).

 

103. Integer or real variable expected (очікується змінна типу integer або real).

 

105. INLINE error (помилка в директиві inline).

 

106. Charecter expression expected (очікується вираз символьного типу).

 

107. Too many relocatіon items (дуже багато елементів, які переміщуються).

Розмір таблиці переміщуваних символів в об'єктном коді перевершує 64 кбайт. Це означає, що програма дуже велика, щоб її міг обробити компановщик Turbo Pascal.

 

108. Overflow in arithmetic operetion (переповнення при виконанні арифметичних операцій).

 

109. No enclosing FOR, WHILE or REPEAT stetement.

Використання операторів Break та Continue за границями цикла.

 

112. Case constant out of range (в операторі case кoнстанта не вписується в допустимий діапазон).

Цілочислені константи, які використовуються в операторі case,повинні знаходиться в діапазоні від -32768 до 32767.

 

113. Error in statement (помилка в операторі).

 

114. Cannot call an interrupt procedure (не визивається процедура переривання).

 

115. Must be in 8087 mode to compile this (для компіляції даної конструкції повинен бути установлений режим співпроцесора).

Дана конструкція може бути відкомпільована тільки в режимі {$N+}.

 

117. Tanget addres not found (задана адреса відсутня).

Не знайдено оператора, який розміщений за заданою адре-сою.

 

118. Included files are not allowed here (в даному місці не допускається включення файла).

Вихідні файли неможливо включати всередені розділа операторів.

 

119. No inherited methods are accesible here (невірно використовується ключеве слово INHERITED).

 

121. Invalid Qualifier(невірно вказаний кваліфікатор).

Можливі слідуючі причини появлення цьго повідомлення:

- задається індекс змінній, яка не об'явлена як масив;

- задане поле змінної, яка не об'явлена як запис;

- в якості вказівника використовується змінна, яка не об'явлена як посилкова.

 

122. Invalid variable reference (невірне посинання на змінну).

 

123. Too many symbols (дуже багато символів).

Довжина тексту програми чи модуля перевершує 64 кбайт.

 

124. Statement part too large (дуже великий розділ операторів).

Перевершений максимально допустимий розмір розділа операторів програми (біля 24 кбайт).

 

126. Files must be var parameters (файли повинні бути параметрами-змінними). Параметри файлового типу в об'яві підпрограми повинні описуваться як змінні.

 

127. Too many conditional symbol (дуже багато умовних символів).

Недостатньо пам'яті для розміщення імен, вказанних в директивах умовної компіляції. Рекомендується скоротити одне або декілька символічних імен.

 

128. Misplaced conditional directive (невідповідність директив умовної компіляції).

 

129. ENDIF directive missing (відсутність директиви {$ENDIF}).

 

130. Error in initial conditional defines (помилка в установці умовних визначень).

Умовна компіляція, яка задається в Obtions/Compiler/Con-ditional defines повинні відокремлюватися пропусками, комами або крапками з комою.

 

131. Header does not match previous definition (заголовок не відповідає попередньому визначеню).

Заголовок підпрограми, який задається в секції зв'язку модуля чи в об'яві, яка використовує cлужбове слова forward, не відповідає даному заголовку.

 

132. Critical disk error (серйозна похибка дискового накоплювача).

 

133. Cannot evaluete this expression (даний вираз неможливо вирахувати).

 

134. Expression incorrecty terminated (невірно завершений вираз).

Напевно відсутня крапка з комою.

 

135. Invalid format specifier (невірна специфікація формату).

 

136. Invalid inderect reference (невірний непрямий посил).

Можливо, що використовується змінна типа ABSOLUTE, базова змінна якої необ'явлена в даном модулі.

 

137. Structured variablevare not allowed here (в даному контексті структурні змінні недоступні).

 

138. Cannot evaluate without Sydtem Unit (неможливо обчислити без модуля System).

 

139. Cannot asses this symbol(неможливий доступ до даного символа).

Доступ до деяких ідентифікаторів, наприклад, змінним, можливий тільки після початку фактичного виконання програми.

 

140. Invalid flottin-point operetion (невірна операція з плаваючею крапкою).

Операція над двома значенями дійсного типу привела до переповнення або діленню на нуль.

 

141. Cannot compile overlay to memory (неможливо компілювати код оверлейної програми в пам'ять).

 

142. Procedure or function variable expected (очікується змінна типу procedure або function).

 

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 constructor are not allowed (віртуальні конструктори недопустимі).

Метод-конструктор може бути тільки статичним.

 

152. Constructor identifier expected (очікується ідентифікатор конструктора).

 

153. Destructor identifier expected (очікується ідентифікатор деструктора).

 

154. Fail oniy allowed withing constructor (процедуру Fail можливо тільки використовувати всередині конструкто-рів).

 

155. Invalid combination of opcode and operands (неправельно поєднання кода операції та операндів).

Код операції Асемблера не допускає поєднання операндів.

 

156. Memory reference expected (очікується посилка на елемент пам'яті).

Ймовірно, що регістровий операнд не заключений в квадрат-ні дужки.

 

157. Cannot add or subtract relocatable symbols (додавання та віднімання переміщуваних символів недопустиме).

 

158. Invalid register combination (вказана невірно комбінація регістрів).

 

159. 256/257 Instructions are not enabled (не дозволені інструкції процесора 286/287).

Відсутня директива компілятора {$G+}, яка дозволяє використовувати операції 286/287.

 

160. Invalid symbol reference (невірне посилання на символ).

Даний символ не можна використовувати в операнді Асемблера.

 

161. Сode generation error (помилка при генерації коду).

 

162. ASM expected (очікується службове слово ASM).

 

Повідомлення про помилки на кроці виконання

 

 

Повідомлення про помилки на кроці виконання мають слідуючий формат:

Run-time error <номер> at <сегмент>:<зміщення>,

де <сегмент>:<зміщення> - адреса, по якій винекла помилка.

 

Помилки кроку виконання діляться на чотири групи:

- помилки операційної системи MS DOS: 1-99;

- помилки вводу-виводу: 100-149;

- серйозні помилки: 150-199;

- грубі помилки: 200-255.

 

 

Помилки операційної системи DOS

 

 

Приведемо перелік основних з них:

 

1. Ivalid function number (невірний номер функції).

Здійснена спроба визова неіснуючої функції DOS.

 

2. File not found (не знайдено файл).

 

3. Path not found (не знайдено шлях).

 

4. Too many open files (Дуже багато відкритих файлів.)

Операційна система MS DOS позволяє відкрити не більш ніж 15 файлів.

 

5. File asses denied (заборонений доступ до файлу).

Ймовірно, зроблена спроба записі в файл, який призначений для читання.

 

6. Invalid file handle (невірний оброблювач файлу).

Дана помилка видається в тому випадку, якщо при визові

MS DOS передається невірний специфікатор файла. Ймовірно, невірно приставлена файлова змінна.

 

12. Invalid file access code (невірний код доступу до файлу).

Задане недопустиме значення зміної FileMode.

 

15. Invalid drive number (невірний номер диска).

 

16. Cannot rename current directory (не можна вилучити поточний дирикторій).

 

17. Сannot remove across drives (при перейменовані файлу не можна вказувати другий пристрій).

 

Помилки вводу-выводу

 

Помилки, які відносяться до даної групи, визивають закінчення програми, якщо вона відкомпільована в режимі {$I+}. B режимі {$I-} програма продовжується виконува-тись, а код похибки повертається функцією IOResult.

 

Приведемо перелік основних з них:

 

100. Disk read error (помилка читання з диску).

Зроблено спробу читання після кінця файлу.

 

101. Disk write error (помилка запису на диск).

Диск повністю заповнений.

 

102. File not assigned (не назначений файл).

Файловій змінні не поставлений в відповідність файл за допомогою процедури Assign.

 

103. File not open (файл не відкритий).

 

104. File not open for input (файл не відкритий для вводу).

 

105. File not open for output (файл не відкритий для виводу).

 

106. Invalid numerical format (невірний числовий формат).

Числове значення, яке зчитане з текстового файлу, має невірний формат.

 

 

Серйозні помилки

 

Приведемо перелік основних з них:

 

150. Disk is write-protected (диск захищений від запису).

 

151. Unknown unit (невідомий пристрій).

 

152. Drive not ready (дисковод не готовий до роботи).

 

153. Unknown command (невідома команда).

 

154. CRC error in data (помилки в даних на дискі).

 

156. Disk seek error (помилка пошуку на диску).

 

157. Unknown media type (невідомий тип носія).

 

158. Sector not found (не знайдено сектора).

 

159. Prenter out of paper (в прінтері немає бумаги).

 

160. Device write fault (помилка при записі на пристрій).

 

161. Device read fault (помилка пристрою при читанні).

 

162. Hardware failure (відмова апаратних засобів).

 

 

Грубі помилки

 

Винекнення цих помилок завжди приводить до термінової зупинки програми.

 

Приведемо перелік основних з них:

 

200. Division by zero (ділення на нуль).

 

201. Gange check error (вихід за допустимі границі).

Обчислення чи присвоєння значень не вкладається в допустимий діапазон.

 

202. Stack overflow error (переповнення стеку).

 

203. Heap overflow error (переповнення області динамічної пам'яті).

 

204. Invalid pointer operation (невірна операція з вказівником).

Використовується посилкова змінна, яка вміщує nil або адресу за границями динамічної пам'яті.

 

205. Floating pointer overflow (переповнення в операції з плаваючею крапкою).

 

207. Invalid floating point operation (невірна операція з плаваючею крапкою).

 

208. Overlay manager not installed (монітор оверлеїв не ініціалізований).

Ймовірно, не була визвана процедура OvrInit або при її визові виникла помилка.

 

209. Overlay file read error (помилка при читанні оверлейного файла).

 

210. Object not initialized (об'єкт не ініціалізова-но).

 

211. Call to abstract method (звернення до абстракт-ного методу).

Зроблена спроба створення екземпляра об'єкта абстрактного типу, який вміщає один або декілька абстрактних методів. Однак абстрактні методи існують тільки для того, щоб можна було спадкувати від них та перекривати абстрактні методи.

 

212-214. Ці повідомленя зв'язані з помилками, які виникають при роботі з пакетом Turbo Vision.