Меню

Ошибка неизвестный идентификатор reading

I am learning how to use the graphic mode from Pascal (Using Turbo Pascal 5.5). This is a simple code, which shows me the graphic mode with some messages:

program GraficoPri
uses Graph;
var Driver, Modo : Integer;

begin
Driver := VGA;
Modo := VGAHi;
InitGraph(Driver,Modo,'P:BGI');
{Using DOSBox, P: is a mounted drive I created where all TP files are stored}
SetTextStyle(SansSerifFont,0,2);
SetColor(Red);
OutTextXY(120,60,'Welcome to graphic mode');
Writeln('Push any button to continue'};
Readkey;
CloseGraph;
End.

Well, the problem I’m having is that «Readkey;» is giving me a ‘Unknown Identifier’ error. I tried changing the line with «Readln;» and it worked fine. What is the problem here?
Thank you!

asked May 20, 2014 at 16:30

WolfangAukang's user avatar

3

Readkey is from the crt library, so you need to change

uses graph

to

uses wincrt, graph 

Also, readkey is always used as a variable declaration. For example,

ch := readkey;

If you just want to push a button to continue, you should use a repeat-until keypressed loop.

repeat
until keypressed;

This will wait and do nothing until the user presses a key.

answered Jul 11, 2014 at 20:25

Mr. Stuffandthings's user avatar

1

I am learning how to use the graphic mode from Pascal (Using Turbo Pascal 5.5). This is a simple code, which shows me the graphic mode with some messages:

program GraficoPri
uses Graph;
var Driver, Modo : Integer;

begin
Driver := VGA;
Modo := VGAHi;
InitGraph(Driver,Modo,'P:BGI');
{Using DOSBox, P: is a mounted drive I created where all TP files are stored}
SetTextStyle(SansSerifFont,0,2);
SetColor(Red);
OutTextXY(120,60,'Welcome to graphic mode');
Writeln('Push any button to continue'};
Readkey;
CloseGraph;
End.

Well, the problem I’m having is that «Readkey;» is giving me a ‘Unknown Identifier’ error. I tried changing the line with «Readln;» and it worked fine. What is the problem here?
Thank you!

asked May 20, 2014 at 16:30

WolfangAukang's user avatar

3

Readkey is from the crt library, so you need to change

uses graph

to

uses wincrt, graph 

Also, readkey is always used as a variable declaration. For example,

ch := readkey;

If you just want to push a button to continue, you should use a repeat-until keypressed loop.

repeat
until keypressed;

This will wait and do nothing until the user presses a key.

answered Jul 11, 2014 at 20:25

Mr. Stuffandthings's user avatar

1

1 / 1 / 0

Регистрация: 24.11.2015

Сообщений: 14

1

Чтение данных: Неизвестный идентификатор

21.12.2015, 11:45. Показов 720. Ответов 1


Подскажите чем можно заменить
begin
if IOResult <>0 then begin ,
а именно IOResult, т.к паскаль выдаёт ошибку, что это неизвестный идентификатор.
в самом задании нужно сделать чтение данных файла .

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

21.12.2015, 11:45

1

Эксперт Pascal/Delphi

6803 / 4562 / 4817

Регистрация: 05.06.2014

Сообщений: 22,438

21.12.2015, 12:43

2

Используйте функцию FileExists(name), где name — имя файла.

Возвращает True, если на диске имеется файл с именем name, в противном случае возвращает False



1



Неизвестный идентификатор формы 1С 8.3

При работе с управляемыми формами 1С можно встретить ошибку Неизвестный идентификатор формы 1С 8.3. Чаще всего причиной ошибки является неправильное указание имени формы объекта в программном коде.

Изучив статью, вы ознакомитесь с порядком исправления ошибки:

  • в конфигурации 1С;
  • в подключенном электронном документообороте 1С.

Причины ошибки в 1С неизвестный идентификатор формы

Ошибка Неизвестный идентификатор формы 1С 8.3 встречается сегодня редко. Связано это с усовершенствованием Платформ 1С.

Причинами ошибки могут быть:

  • ошибка Платформы 1С;
  • одновременное использование внешних обработок и отчетов с одинаковым именем в нескольких сеансах 1С;
  • неправильное указание идентификатора формы объекта в программном коде.

Поскольку первые две причины более актуальны на старых Платформах 1С, разберем пример неправильного указания идентификатора формы в программном коде.

Неправильное указание идентификатора формы

При попытке открыть документ Списание с расчетного счета из журнала Банковские выписки появляется ошибка Неизвестный идентификатор формы.

Для поиска и устранения ошибки выполните следующие действия:

1. Откройте Конфигуратор.

2. В меню конфигурации Отладка по ссылке Остановка по ошибке установите флажок Останавливаться по ошибке.

3. Перейдите в пользовательский режим. При попытке входа в документ Списание с расчетного счета Отладчик остановится на ошибочной строке кода:

  • Выбранная форма = «ФормаДокументаОднострочные».

4. Откройте в Конфигураторе список форм документа Списание с расчетного счета.

Как видно из списка форм, документ не содержит формы ФормаДокументаОднострочные. При написании процедуры допущена ошибка: правильный идентификатор формы — ФормаДокументаОднострочная.

5. Исправьте идентификатор формы в процедуре ОбработкаПолученияФормы на правильный. После этого открытие документа Списание с расчетного счета выполнится без ошибки.

Ошибка неизвестный идентификатор формы 1С-отчетность

Если в 1С подключен блок 1С-Отчетность, ошибка Неизвестный идентификатор формы может указывать на неправильные настройки регламентированной отчетности.

При попытке открытия регламентированных отчетов появляется ошибка Неизвестный идентификатор формы.

Для исправления ошибки проверим выставленные настройки отчетности.

Для этого:

  • Откройте форму Регламентированные отчеты в разделе Отчеты.

  • Перейдите на вкладку Настройки.

  • Проверьте, не стоят ли флажки в группах:
  • Общие настройки (задаются администратором);
  • Персональные настройки (задаются пользователем).

Поскольку обновление форм регламентированной отчетности выполняется автоматически при обновлении конфигурации, необходимости в отдельном обновлении регламентированной отчетности, как правило, не возникает. Поэтому сбросьте установленные флажки настройки, если они выставлены.

  • Сохраните изменения настроек документооборота 1С-Отчетность и перезапустите сеанс 1С.

Чистка кеша учетной записи документооборота

Ошибка Неизвестный идентификатор формы в 1С 8.3 при подключенном внешнем электронном документообороте также может указывать на необходимость чистки кеша файлов с ресурсов оператора электронного документооборота.

Для чистки кеша файлов выполните следующие действия:

1. Вызовите команду Все функции.

2. Наберите первые слова имени регистра в поисковой строке формы и выберите из отобранного списка регистр Кеш файлов с ресурсов оператора электронного документооборота по универсальной схеме.

3. Выполните удаление записей регистра по кнопке Очистить кеш.

Это поможет электронному документообороту работать без ошибок.

При работе с управляемыми формами 1С можно встретить ошибку Неизвестный идентификатор формы 1С 8.3. Чаще всего причиной ошибки является неправильное указание имени формы объекта в программном коде.

Изучив статью, вы ознакомитесь с порядком исправления ошибки:

  • в конфигурации 1С;
  • в подключенном электронном документообороте 1С.

Содержание

  • Причины ошибки в 1C Неизвестный идентификатор формы
    • Неправильное указание идентификатора формы
    • Ошибка Неизвестный идентификатор формы 1С-Отчетность
    • Чистка кеша учетной записи документооборота

Причины ошибки в 1C Неизвестный идентификатор формы

Ошибка Неизвестный идентификатор формы 1С 8.3 встречается сегодня редко. Связано это с усовершенствованием Платформ 1С.

Причинами ошибки могут быть:

  • ошибка Платформы 1С;
  • одновременное использование внешних обработок и отчетов с одинаковым именем в нескольких сеансах 1С;
  • неправильное указание идентификатора формы объекта в программном коде.

Поскольку первые две причины более актуальны на старых Платформах 1С, разберем пример неправильного указания идентификатора формы в программном коде.

Неправильное указание идентификатора формы

При попытке открыть документ Списание с расчетного счета из журнала Банковские выписки появляется ошибка Неизвестный идентификатор формы.

Для поиска и устранения ошибки выполните следующие действия:

  1. Откройте Конфигуратор.
  2. В меню конфигурации Отладка по ссылке Остановка по ошибке установите флажок Останавливаться по ошибке.
  3. Перейдите в пользовательский режим. При попытке входа в документ Списание с расчетного счета Отладчик остановится на ошибочной строке кода:
    • Выбранная форма = «ФормаДокументаОднострочные».
  4. Откройте в Конфигураторе список форм документа Списание с расчетного счета.Как видно из списка форм, документ не содержит формы ФормаДокументаОднострочные. При написании процедуры допущена ошибка: правильный идентификатор формы — ФормаДокументаОднострочная.
  5. Исправьте идентификатор формы в процедуре ОбработкаПолученияФормы на правильный. После этого открытие документа Списание с расчетного счета выполнится без ошибки.

Ошибка Неизвестный идентификатор формы 1С-Отчетность

Если в 1С подключен блок 1С-Отчетность, ошибка Неизвестный идентификатор формы может указывать на неправильные настройки регламентированной отчетности.

При попытке открытия регламентированных отчетов появляется ошибка Неизвестный идентификатор формы.

Для исправления ошибки проверим выставленные настройки отчетности.

Для этого:

  1. Откройте форму Регламентированные отчеты в разделе Отчеты.
  2. Перейдите на вкладку Настройки.
  3. Проверьте, не стоят ли флажки в группах:
  4. Сохраните изменения настроек документооборота 1С-Отчетность и перезапустите сеанс 1С.

Чистка кеша учетной записи документооборота

Ошибка Неизвестный идентификатор формы в 1С 8.3 при подключенном внешнем электронном документообороте также может указывать на необходимость чистки кеша файлов с ресурсов оператора электронного документооборота.

Для чистки кеша файлов выполните следующие действия:

  1. Вызовите команду Все функции.
  2. Наберите первые слова имени регистра в поисковой строке формы и выберите из отобранного списка регистр Кеш файлов с ресурсов оператора электронного документооборота по универсальной схеме.
  3. Выполните удаление записей регистра по кнопке Очистить кеш.

Это поможет электронному документообороту работать без ошибок.

БухЭксперт8 рекомендует предварительно выполнять изменения в копии базы. Только убедившись, что изменения привели к нужному результату, можно переходить к внесению изменений в рабочей базе.

См. также:

  • Ошибка. Поле объекта не обнаружено
  • Ошибка. Поле объекта недоступно для записи
  • Ошибка. Переменная не определена
  • Ошибка. Недостаточно фактических параметров
  • Ошибка. Слишком много фактических параметров
  • Поле объектов недоступно для записи

Если Вы еще не подписаны:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

После оформления подписки вам станут доступны все материалы Бухэксперт8, записи поддерживающих эфиров и вы сможете задавать любые вопросы по программе 1С.

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

I downloaded TP 5.5 and installed it in my Virtual Machine which is running FreeDOS.

I tried this short code:

Program test;

begin
asm
   mov ax, ax
end;
end.

Turbo Pascal says: «Error 3: Unknown Identifier.»

I can use the keyword inline works BUT I can’t use mnemonics with it and my goal is just to learn some assembly while being in Real Mode so I can’t go to Delphi and use mnemonics there.

asked Nov 11, 2014 at 17:26

user250327's user avatar

5

Integrated «basm» assembler was a TP 6.0 feature indeed. 5.5 is the newest that is free though.

Better use Free Pascal.

answered Nov 12, 2014 at 8:20

Marco van de Voort's user avatar

I downloaded TP 5.5 and installed it in my Virtual Machine which is running FreeDOS.

I tried this short code:

Program test;

begin
asm
   mov ax, ax
end;
end.

Turbo Pascal says: «Error 3: Unknown Identifier.»

I can use the keyword inline works BUT I can’t use mnemonics with it and my goal is just to learn some assembly while being in Real Mode so I can’t go to Delphi and use mnemonics there.

asked Nov 11, 2014 at 17:26

user250327's user avatar

5

Integrated «basm» assembler was a TP 6.0 feature indeed. 5.5 is the newest that is free though.

Better use Free Pascal.

answered Nov 12, 2014 at 8:20

Marco van de Voort's user avatar

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 (Строковая константа превышает допустимые размеры). 9 Too many nested files (Слишком много вложенных файлов). 10 Unexpected end of file (He найден конец файла). 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 definition (Неопределенный тип в объявлении указателя). 20 Variable identifier expected (Отсутствует идентификатор переменной). 21 Error in type (Ошибка в объявлении типа). 22 Structure too large (Слишком большая структура). 23 Set base type of range (Базовый тип множества нарушает границы). 24 File components may not be files (Компонентами файла не могут быть файлы) . 25 Invalid string length (Неверная длина строки). 26 Type mismatch (Несоответствие типов). 27 Invalid subrange base type (Неправильный базовый тип для типа-диапазона). 28 Lower bound greater than upper bound (Нижняя граница больше верхней). 29 Ordinal 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 (Нужно выражение типа INTEGER). 39 Ordinal expression expected (Нужно выражение перечисляемого типа). 40 Boolean expression expected (Нужно выражение типа BOOLEAN). 41 Operand types do not match operator (Типы операндов не соответствуют операции). 42 Error in expression (Ошибка в выражении). 43 Illegal assignment (Неверное присваивание). 44 Field identifier expected (Нужен идентификатор поля) . 45 Object file too large (Объектный файл слишком большой). 46 Undefined external (Неопределенная внешняя процедура). 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 definition (Слишком много EXTRN-определений). 54 OF expected (Требуется OF). 55 INTERFACE expected (Требуется интерфейсная секция). 56 Invalid relocatable reference (Неправильная перемещаемая ссылка). 57 THEN expected (Требуется THEN). 58 TO or DOWNTO expected (Требуется TO или DOWNTO). 59 Undefined forward (Неопределенное опережающее описание). 60 Too many procedures (Слишком много процедур). 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 Duplicate unit name (Повторное имя программного модуля). 72 Unit file format error (Ошибка формата файла модуля). 73 IMPLEMENTATION expected (Отсутствует исполняемая часть модуля). 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 (Нужно выражение вещественного или целого типа). 80 Label not within current block (Метка не находится внутри текущего блока) 81 Label already defined (Метка уже определена). 82 Undefined label in processing statement part (Неопределенная метка в предшествующем разделе операторов). 83 Invalid @ argument (Неправильный аргумент операции @). 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 (Слишком много переменных). 97 Invalid FOR control variable (Неправильный параметр цикла оператора 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). 104 Ordinal variable expected (Нужна переменная порядкового типа). 105 INLINE error (Ошибка в операторе INLINE) 106 Character expression expected (Предшествующее выражение должно иметь символьный тип). 107 Too many relocation items (Слишком много перемещаемых элементов). 108 Overflow in arithmetic operator (Переполнение при выполнении арифметического оператора). 109 No enclosing FOR, WHILE or REPEAT statement (Нет операторов, заканчивающих операторы FOR, WHILE или REPEAT). 110 Debug information table overflow (Переполнение информационной таблицы отладки) 111 N/A 112 CASE constant out of range (Константа CASE нарушает допустимые границы) . 113 Error in statement (Ошибка в операторе). 114 114 Cannot call an interrupt procedure (Невозможно вызвать процедуру npерывания). 115 N/A 116 Must be in 8087 mode to compile this (Для компиляции необходим режим 8087). 117 Target address not found (Указанный адрес не найден). 118 118 Include files are not allowed here (Здесь не допускаются включаемые файлы). 119 No inherited methods are accessible here (В этом месте программы нет унаследованных методов). 120 N/A 121 Invalid qualifier (Неверный квалификатор). 122 Invalid variable reference (Недействительная ссылка на переменную). 123 Too many symbols (Слишком много символов). 124 Statement part too large (Слишком большой раздел операторов). 125 N/A 126 Files must be var parameters (Файлы должны передаваться как параметры-переменные). 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 (Заголовок не соответствует предыдущему определению). 132 Critical disk error (Критическая ошибка диска). 133 Cannot evaluate this expression (Нельзя вычислить данное выражение). 134 Expression incorrectly germinated (Некорректное завершение выражения). 135 Invalid format specifier (Неверный спецификатор формата). 136 Invalid indirect reference (Недопустимая косвенная ссылка). 137 Structured variable are not allowed here (Здесь нельзя использовать переменную структурного типа). 138 Cannot evaluate without System unit (Нельзя вычислить выражение без мо-дуля SYSTEM). 139 Cannot access this symbol (Нет доступа к данному символу). 140 Invalid floating-point operation (Недопустимая операция с плавающей запятой). 141 Cannot compile overlay to memory (Нельзя выполнить компиляцию оверлейных модулей в память). 142 Procedure or function 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 (Здесь должен быть тип OBJECT) . 148 object types are not allowed (Нельзя объявлять локальные объекты). 149 VIRTUAL expected (Пропущено слово VIRTUAL). 150 Method identifier expected (Пропущен идентификатор инкапсулированного правила). 151 Virtual constructor are not allowed (Конструктор не может быть виртуальным). 153 Destructor identifier expected (Пропущен идентификатор деструктора). 154 Fail only allowed within 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 286/287 instructions are not enabled (Недоступен набор команд микропроцессоров 286/287). 160 Invalid symbol reference (Недопустимая ссылка на символ). 161 Code generation error (Ошибка генерации кода). 162 ASM expected (Отсутствует зарезервированное слово ASM).

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка неисправность жесткого диска
  • Ошибка неизвестный архивный формат