Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 16
1

Ошибка: Undeclared identifier

08.05.2015, 15:26. Показов 2506. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
не понимаю в чем ошибка, ссылки настроены , почему то выдает Undeclared identifier:'PoleViborOtveta2', 'PoleViborOtveta2','PoleViborOtveta3','PoleViborOtveta4','NomerVoprosa'
Incompatible types: 'TVoprosi' and 'Vopros', в чем проблема?

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls,
Vcl.Imaging.jpeg, Vcl.Menus, registry;
type
//Объявляем тип запись для записи туда вопросов
   TVoprosi=record
     Vopros,VariantOtveta1,VariantOtveta2:String[255];
     VariantOtveta3,VariantOtveta4:string[255];
     VariantOtveta5,VariantOtveta6:string[255];
     PoleViborOtveta1,PoleViborOtveta2,PoleViborOtveta3:string[255];
     PoleViborOtveta4:string[255];
     colichestvo:integer;
     NomerVoprosa:string[6];
    end;//конец объявления записи
 
  type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Image1: TImage;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N11: TMenuItem;
    N5: TMenuItem;
    N21: TMenuItem;
    N31: TMenuItem;
    Memo1: TMemo;
    Button5: TButton;
    Edit1: TEdit;
    Button6: TButton;
    Button7: TButton;
    Image2: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Button8: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure N31Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
MasVoprosov:array[1..1000]of TVoprosi;
MasVoprosovP:array[1..1000]of TVoprosi;
MasOtvetovP:array[1..1000]of TVoprosi;
MasVoprosovBazi:array[1..1000]of TVoprosi;
MasNomerovVoprosov:array[1..1000]of integer;
Zap:TVoprosi;
f:textfile;
I,i1,i2,i3,i4,i5,i6,i7,n1,n,colVop,r,k1,k2,ik1,ik,ik2,oshibki,colichestvo1,ColVopPol:integer;
 
 
implementation
 
{$R *.dfm}
 
uses Unit2, Unit3, Unit5, Unit4, Unit6, Unit7,Unit8,Unit9,ZapisVFile;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Unit1.Form1.hide;
Unit2.Form2.show;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
Unit1.Form1.Hide;
Unit3.Form3.show;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
Form1.Hide;
Form4.show;
end;
 
procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;
 
procedure TForm1.Button5Click(Sender: TObject);
begin
unit7.Form7.Show;
end;
 
procedure TForm1.Button6Click(Sender: TObject);
begin
if edit1.Text = '' then  begin
showmessage('Не выбран файл с тестом');
end
else if edit1.Text <> '' then
begin
form6.Show;
end
 else
 begin
 
  AssignFile(f,'Тесты//'+edit1.Text+'.Baza'+'.KV');
  {$i-}
 
  {$i+}
  if ioresult<>0 then
   begin
    ShowMessage('файл "'+Edit1.Text+'Baza.KV  не найден');
   end
   else
   begin
    read(f,ColVop);
    closefile(f);
    FORM4.ShowModal;
   end;
end;
if Edit1.Text=''then ShowMessage('не выбрана база данных')else
  begin
   //переменным контроля символов в редакторе ввода вопросов присваиваем значения
   i1:=255;
   i2:=255;
   i3:=255;
   i4:=255;
   i5:=255;
 
   // обновляем значения лейбелов
   form6.Label8.caption:=intTostr(i1);
   form6.Label9.caption:=intTostr(i2);
   form6.Label10.caption:=intTostr(i3);
   form6.Label11.caption:=intTostr(i4);
   form6.Label12.caption:=intTostr(i5);
 
   //открываем форму редактора вопросов
   end;
end;
 
 
procedure TForm1.Button7Click(Sender: TObject);
begin
// если текущая база не выбрана то вывести сообщение
if Form1.Edit1.Text='' then
 begin
 ShowMessage('вы не подключили базу вопросов,нет текущей базы');
 Form9.Close;
 end
 else
 begin
  //считываем количество вопросов из файла
  AssignFile(f,'Тесты//'+Form1.Edit1.Text+'.Baza'+'.KV');
  {$i-}
  reset(f);//открываем файл только для чтения
  {$i+}
  if ioresult<>0 then
   begin
    ShowMessage('файл "'+Edit1.Text+'Baza.KV  не найден');
   end
   else
   begin
    read(f,ColVop);
    closefile(f);
    FORM9.ShowModal;
   end;
end;
 
end;
 
procedure TForm1.Button8Click(Sender: TObject);
begin
if edit1.Text = ''  then
showmessage('Не выбран тест')
else
Form8.Show;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Text:='Тестирование по математике, выберите 1 из 3 предложенных тестов'+#13#10+'Тест №1 "Дифференциальные уравнения"'+#13#10+'Тест №2 "Элементы теории вероятностей"'+#13#10+'Тест №3 "Производная и ее приложение" ';
button1.Hint:='Дифференциальные уравнения';
button1.ShowHint:=true;
button2.Hint:='Элементы теории вероятности';
button2.ShowHint:=true;
button3.Hint:='Производная и ее приложения';
button3.ShowHint:=true;
button4.Hint:='Закрывает тест';
button4.ShowHint:=true;
application.HintPause := 1;
end;
 
procedure TForm1.FormShow(Sender: TObject);
var
reg:TRegistry;
begin
reg:=Tregistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
reg.OpenKey('CurrentBase',False);
Edit1.Text:=reg.ReadString('CurrentBase');
reg.CloseKey;
reg.Free;
Form1.Edit1.Text:=Form7.Label4.Caption;
unit6.Form6.Edit1.Text:=Form7.Label4.Caption;
unit9.Form9.Edit1.Text:=Form7.Label4.Caption;
 
end;
 
procedure TForm1.N11Click(Sender: TObject);
var
str:string;
f: textfile;
begin
unit5.Form5.show;
assignfile(f,'ball.txt');
Reset(f);
while not eof(f) do
begin
readln(f,str);
end;
closefile(f);
unit5.Form5.Memo1.Text:=str;
end;
 
 
 
 
procedure TForm1.N21Click(Sender: TObject);
var
str:string;
f: textfile;
begin
unit5.Form5.show;
assignfile(f,'ball1.txt');
Reset(f);
while not eof(f) do
begin
readln(f,str);
end;
closefile(f);
unit5.Form5.Memo1.Text:=str;
end;
 
procedure TForm1.N2Click(Sender: TObject);
begin
ShowMessage('Тест №1 "Дифференциальные уравнения "'+#13#10+'Тест №2 "Элементы теории вероятностей"'+#13#10+'Тест №3 "Производная и ее приложение" ');
end;
 
procedure TForm1.N31Click(Sender: TObject);
var
str:string;
f: textfile;
begin
unit5.Form5.show;
assignfile(f,'ball2.txt');
Reset(f);
while not eof(f) do
begin
readln(f,str);
end;
closefile(f);
unit5.Form5.Memo1.Text:=str;
end;
 
procedure TForm1.N3Click(Sender: TObject);
begin
Showmessage('Тест спроектировал и создал  Р.С.');
end;
 
procedure TForm1.N5Click(Sender: TObject);
begin
close;
end;
 
procedure TForm1.N6Click(Sender: TObject);
begin
unit1.Form1.Hide;
unit6.Form6.show;
end;
end.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
unit Unit8;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Buttons;
 
type
  TForm8 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    PoleVariantOtveta1: TMemo;
    PoleVariantOtveta2: TMemo;
    PoleVariantOtveta3: TMemo;
    PoleVariantOtveta4: TMemo;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    poleVopros: TMemo;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    BitBtn1: TBitBtn;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button2Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form8: TForm8;
  col:integer;
  colichestvo:integer;
 
implementation
 
{$R *.dfm}
 
uses unit1,unit2,unit3,unit4,unit5,unit6,ZapisVFile,unit7,unit9;
 
procedure TForm8.Button1Click(Sender: TObject);
Label m1;
var k,i,KNV:integer;//объявляем локальную переменную для посчета вопросов
begin //// кнопка 'начать тестирование'////
 
//какая форма вывода
   Bitbtn1.Enabled:=True;
   //узнаем количество вопросов в базе переменная ColVop
  //открываем файл кол-во вопросов для чтения
  AssignFile(f,'Базы вопросов//'+Form1.Edit1.Text+'.Baza'+'.KV');
  {$i-}
  reset(f);
  {$i+}
  if ioresult<>0 then
  begin
  showmessage('не найден файл "'+Form1.Edit1.Text+'.Baza'+'.KV'+'" процесс остановлен')
  end
  else
  begin
   Read(f,ColVop);
   CloseFile(f);
 
  end;
  //записав в переменную ColVop значение закрываем файл
  //записываем в массив вопросы из файла
  AssignFile(f,'Тесты//'+Form1.Edit1.Text+'.Baza');
  {$i-}
  Reset(f);
  if ioresult<>0 then
     begin
      ShowMessage('не найден файл " '+Form1.Edit1.Text+' ".Baza');
 
      end
     {$i+}
     else
     begin
for k:=1 to ColVop do
  begin
   readln(f,masVoprosov[k].Vopros);
   readln(f,masVoprosov[k].VariantOtveta1);
   readln(f,masVoprosov[k].VariantOtveta2);
   readln(f,masVoprosov[k].VariantOtveta3);
   readln(f,masVoprosov[k].VariantOtveta4);
   readln(f,masVoprosov[k].PoleViborOtveta1);
   readln(f,masVoprosov[k].PoleViborOtveta2);
   readln(f,masVoprosov[k].PoleViborOtveta3);
   readln(f,masVoprosov[k].PoleViborOtveta4);
   readln(f,MasVoprosov[k].NomerVoprosa);
 
  end;
closefile(f);
//выбираем случайным образом вопросы из массива вопросов в массив пользователя
 
 //обнуляем массив номеров вопросов в цикле
    for KNV:= 1 to ColVopPol do
      MasNomerovVoprosov[KNV]:=0;
for k:=1 to ColVopPol do
   begin
 
      //выбираем случайный номер вопроса из базы
      m1:i:=random(ColVop)+1;
      // проверяем был ли в этой сесии уже номер вопроса
      // сгенерированый функцией рандом
      for KNV:= 1 to ColVopPol do
       if MasNomerovVoprosov[KNV]=i then goto m1;
         //записываем в массив текущий номер вопроса
         MasNomerovVoprosov[k]:=i;
         masVoprosovP[k]:=masVoprosov[i];
   end;
 
 
 
k:=1;//первоначальное присваивание
// востонавливаем положение панелей
                  panel1.Top:=184;
                  panel2.Top:=264;
                  panel3.Top:=344;
                  panel4.Top:=424;
                  ;
 //делаем все панели видимыми
 panel1.Visible:=True;
 panel2.Visible:=True;
 panel3.Visible:=True;
 panel4.Visible:=True;
//выводим текст в поля вывода без всяких форм вывода
poleVopros.Text:=masVoprosovP[k].Vopros;
poleVariantOtveta1.Text:=masVoprosovP[k].VariantOtveta1;
poleVariantOtveta2.Text:=masVoprosovP[k].VariantOtveta2;
poleVariantOtveta3.Text:=masVoprosovP[k].VariantOtveta3;
poleVariantOtveta4.Text:=masVoprosovP[k].VariantOtveta4;
 
// выводим в эдит номер вопроса
edit2.Text:=InttoStr(k);
// выводим в эдит регистрационный номер
edit3.Text:=masVoprosovP[k].NomerVoprosa;
   //переменной кол-во присваиваем первоначально 0
      col:=0;
      // Считаем кол-во правильных ответов
      if masVoprosovP[k].PoleViborOtveta1='true'  then Col:=Col+1;
      if masVoprosovP[k].PoleViborOtveta2='true'  then Col:=Col+1;
      if masVoprosovP[k].PoleViborOtveta3='true'  then Col:=Col+1;
      if masVoprosovP[k].PoleViborOtveta4='true'  then Col:=Col+1;
 
      // выводим кол-во правильных ответов
       Label1.Caption:=IntToStr(col);
         // обнуляем переменную перед её использованием
      Colichestvo:=0;
      // считаем кол-во вариантов ответа всего
     if masVoprosovP[k].VariantOtveta1<>'' then
     begin
     panel1.Visible:=true
     end
      else  panel1.Visible:=False;
     if masVoprosovP[k].VariantOtveta2<>'' then
     begin
      panel2.Visible:=true
     end
     else  panel2.Visible:=False;
     if masVoprosovP[k].VariantOtveta3<>'' then
     begin
      panel3.Visible:=true
     end
      else  panel3.Visible:=False;
 
     if masVoprosovP[k].VariantOtveta4<>'' then
     begin
      panel4.Visible:=true
     end
      else  panel4.Visible:=False;
  
 
 
 
k1:=K; // инициализация k1
 
// скрываем панели вывода если в них нет текста
 
//если в поле текста нет то делаем его невидимым если есть видимым
if polEVariantOtveta1.Text=''then POleVariantOtveta1.Visible:=false else POleVariantOtveta1.Visible:=true;
if polEVariantOtveta2.Text=''then POleVariantOtveta2.Visible:=false else POleVariantOtveta2.Visible:=true;
if polEVariantOtveta3.Text=''then POleVariantOtveta3.Visible:=false else POleVariantOtveta3.Visible:=true;
if polEVariantOtveta4.Text=''then POleVariantOtveta4.Visible:=false else POleVariantOtveta4.Visible:=true;
//если нет текста напротив скрываем такой чекит иначе показываем
if polEVariantOtveta1.Text=''then RadioButton1.Visible:=false else RadioButton1.Visible:=true;
if polEVariantOtveta2.Text=''then RadioButton2.Visible:=false else RadioButton2.Visible:=true;
if polEVariantOtveta3.Text=''then RadioButton3.Visible:=false else RadioButton3.Visible:=true;
if polEVariantOtveta4.Text=''then RadioButton4.Visible:=false else RadioButton4.Visible:=true;
// УБИРАЕМ КНОПКУ ЗАКРЫВАЮЩУЮ ПОЛЯ ОТВЕТОВ
 
 button1.Enabled:=false;
end;
end;
Unit 8, строки 101,102,103,104,105
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2015, 15:26
Ответы с готовыми решениями:

Ошибка: Undeclared identifier: 'this'
как обратиться к экземпляру класса из метода этого экземпляра? this не знает что такое

Ошибка Undeclared identifier
Здравствуйте, пожалуйста, помогите найти причину ошибку в программе. Прога выводит все номера...

Ошибка undeclared identifier
дана вспомогательная функция, которая при выборе какой-либо строчки из комбобокса, присваивает...

Ошибка: Undeclared identifier
Помогите исправить

1
Злостный нарушитель
9490 / 5137 / 1172
Регистрация: 12.03.2015
Сообщений: 24,215
09.05.2015, 00:25 2

Не по теме:

знаешь, почему никто не отвечает?
потому что этот ужас читать невозможно.
если пишешь так, то, умоляю, никому не показывай!


совет номер ноль: избавься от транслита, навсегда!
совет номер раз: никогда не используй дефолтные идентификаторы.
тогда можно и исходники свои показывать уже.
ничего личного.
0
09.05.2015, 00:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2015, 00:25
Помогаю со студенческими работами здесь

Ошибка Undeclared Identifier
Помогите пожалуйста. При компиляции выводит ошибку Undeclared Identifier: &quot;AddXY&quot;. Что делать?...

ошибка Undeclared identifier
В процедуру DrawGraph необходимо передавать ту или иную функцию. Ругается в 21 строке. Как...

Ошибка: Undeclared identifier
День добры Гуру!!! Нужна помощь. Выполняю лабораторную на сессию, до этого с Дэлфи не сталкивался....

Ошибка: Undeclared identifier 'i'
begin t:=TStringList.Create; if OpenDialog1.Execute then t.LoadFromFile(OpenDialog1.FileName);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru