[Error] Unit2.pas(61): Undeclared identifier: 'sLabel1'

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Kasp19
Сообщения: 4
Зарегистрирован: 05 май 2015, 21:27

05 май 2015, 21:34

Здравствуйте! Помогите пожалуйста разобраться с ошибкой в программе. При запуске выдает [Error] Unit2.pas(61): Undeclared identifier: 'sLabel1'. Уже все перебрал но причину найти не могу.
Вот Пасс 2
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, sSkinManager, sSkinProvider, StdCtrls, sRadioButton, sEdit,
sButton, sLabel, DB, ADODB, MPlayer, ExtCtrls, ComCtrls;

type
TForm2 = class(TForm)
sSkinProvider1: TsSkinProvider;
sEdit1: TsEdit;
sEdit2: TsEdit;
sLabel2: TsLabel;
ADOQuery1: TADOQuery;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
StatusBar1: TStatusBar;
sLabel1: TsLabel;
procedure FormShow(Sender: TObject);
procedure sButton2Click(Sender: TObject);
procedure sButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.FormShow(Sender: TObject);
begin
sEdit1.SetFocus;
RadioButton1.Checked:=true;;
end;

procedure TForm2.sButton2Click(Sender: TObject);
begin
Application.Terminate;
end;

procedure TForm2.sButton1Click(Sender: TObject);
var
stud:string;
begin
if RadioButton1.Checked then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from Student where Name="'+sEdit1.Text+'" and Passwd="'+sEdit2.Text+'"');
ADOQuery1.Open;
if ADOQuery1.RecordCount>0 then
begin
Close;
Form1.sStatusBar1.Panels[0].Text:='Студент: '+ADOQuery1.FieldValues['Name'];
Form1.sLabel1.Caption:=IntToStr(ADOQuery1.FieldValues['Id']);
end
else
begin
ShowMessage('Данное сочетание имени и пароля не найдено.');
sEdit1.Clear; sEdit2.Clear; sEdit1.SetFocus;
end
end
else
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from Student');
ADOQuery1.Open;
if ADOQuery1.Locate('Name',sEdit1.Text,[]) then
begin
ShowMessage('Обучающийся с таким именем уже зарегистрирован.');
sEdit1.Clear; sEdit1.SetFocus;
end
else
begin
ADOQuery1.Insert;
ADOQuery1.FieldValues['Name']:=sEdit1.Text;
ADOQuery1.FieldValues['Passwd']:=sEdit2.Text;
ADOQuery1.Post;
ShowMessage('Регистрация прошла успешно.');
Close;
Form1.sStatusBar1.Panels[0].Text:='Студент: '+ADOQuery1.FieldValues['Name'];
end
end;
end;

end.
Вроде все правильно, но не запускается. В чем ошибка?
За ранее Спасибо!
Kasp19
Сообщения: 4
Зарегистрирован: 05 май 2015, 21:27

05 май 2015, 21:37

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, sSkinProvider, sSkinManager, ExtCtrls, sPanel, ComCtrls,
sStatusBar, sTreeView, sSplitter, OleCtrls, SHDocVw, StdCtrls, sLabel,
ToolWin, sToolBar, ImgList, ShellApi, ComObj, Menus, sGauge, inifiles,
DB, ADODB;

type
TForm1 = class(TForm)
ImageList1: TImageList;
PopupMenu1: TPopupMenu;
Desertinternal1: TMenuItem;
Golden1: TMenuItem;
Retro1: TMenuItem;
XPLuna1: TMenuItem;
XPSilver1: TMenuItem;
ADOQuery1: TADOQuery;
MainMenu1: TMainMenu;
a1: TMenuItem;
N1: TMenuItem;
sSkinManager1: TsSkinManager;
sStatusBar1: TsStatusBar;
procedure FormShow(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton13Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton14Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Desertinternal1Click(Sender: TObject);
procedure Golden1Click(Sender: TObject);
procedure Retro1Click(Sender: TObject);
procedure XPLuna1Click(Sender: TObject);
procedure XPSilver1Click(Sender: TObject);
procedure WBProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
procedure ToolButton18Click(Sender: TObject);
procedure ToolButton19Click(Sender: TObject);
procedure ToolButton20Click(Sender: TObject);
procedure ToolButton23Click(Sender: TObject);
procedure sTreeView1Change(Sender: TObject; Node: TTreeNode);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9;

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
var
ini:Tinifile;
result,text:string;
capt,r1,r2,r3,r4,r5:string;
i,j,r11,r22,r33,r44,r55:integer;
begin
Form9.ShowModal;
Form2.ShowModal;
result:= ExtractFilePath(ParamStr(0));
ini:=TiniFile.Create(result+'config.ini');
capt:=ini.ReadString('Conf','Caption','');
Form1.Caption:=capt;
Application.Title:=capt;
r1:=ini.ReadString('Conf','r1','');
r2:=ini.ReadString('Conf','r2','');
r3:=ini.ReadString('Conf','r3','');
r4:=ini.ReadString('Conf','r4','');
r5:=ini.ReadString('Conf','r5','');
if r1<>'' then r11:=StrToInt(r1) else r11:=0;
if r2<>'' then r22:=StrToInt(r2) else r22:=0;
if r3<>'' then r33:=StrToInt(r3) else r33:=0;
if r4<>'' then r44:=StrToInt(r4) else r44:=0;
if r5<>'' then r55:=StrToInt(r5) else r55:=0;
if r11>0 then sTreeView1.Items.Add(nil,'Лекционный материал');
j:=0;
for i:=1 to r11 do
begin
text:=ini.ReadString('Лекционный материал',IntToStr(i),'');
sTreeView1.Items.AddChild(sTreeView1.Items[j],text);
end;
j:=sTreeView1.Items.Count;
if r22>0 then sTreeView1.Items.Add(nil,'Программирование LPT порта');
for i:=1 to r22 do
begin
text:=ini.ReadString('Программирование LPT порта',IntToStr(i),'');
sTreeView1.Items.AddChild(sTreeView1.Items[j],text);
end;
j:=sTreeView1.Items.Count;
if r33>0 then sTreeView1.Items.Add(nil,'Программирование');
for i:=1 to r33 do
begin
text:=ini.ReadString('Программирование COM порта',IntToStr(i),'');
sTreeView1.Items.AddChild(sTreeView1.Items[j],text);
end;
j:=sTreeView1.Items.Count;
if r44>0 then sTreeView1.Items.Add(nil,'Дополнительные материалы. Книги');
for i:=1 to r44 do
begin
text:=ini.ReadString('Дополнительные материалы. Книги',IntToStr(i),'');
sTreeView1.Items.AddChild(sTreeView1.Items[j],text);
end;
j:=sTreeView1.Items.Count;
if r55>0 then sTreeView1.Items.Add(nil,'Дополнительная литература');
for i:=1 to r55 do
begin
text:=ini.ReadString('Дополнительная литература',IntToStr(i),'');
sTreeView1.Items.AddChild(sTreeView1.Items[j],text);
end;
ini.Free;
end;

procedure TForm1.ToolButton5Click(Sender: TObject);
begin
sTreeView1.Width:=0;
end;

procedure TForm1.ToolButton6Click(Sender: TObject);
begin
sTreeView1.Width:=215;
end;

procedure TForm1.ToolButton13Click(Sender: TObject);
begin
AboutBox.ShowModal;
end;

procedure TForm1.ToolButton10Click(Sender: TObject);
begin
Form4.ShowModal;
end;

procedure TForm1.ToolButton11Click(Sender: TObject);
begin
if (Form5.ShowModal=6) then Form6.ShowModal;
end;

procedure TForm1.ToolButton14Click(Sender: TObject);
begin
try
WB.ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_PROMPTUSER);
except
end;
end;
Kasp19
Сообщения: 4
Зарегистрирован: 05 май 2015, 21:27

05 май 2015, 21:38

procedure TForm1.ToolButton1Click(Sender: TObject);
begin
try
WB.OleObject.Document.Body.Style.Zoom := 0.5;
except
end;
end;

procedure TForm1.ToolButton3Click(Sender: TObject);
begin
try
WB.OleObject.Document.Body.Style.Zoom := 1.5;
except
end;
end;

procedure TForm1.ToolButton2Click(Sender: TObject);
begin
try
WB.OleObject.Document.Body.Style.Zoom := 1;
except
end;
end;

procedure TForm1.Desertinternal1Click(Sender: TObject);
begin
sSkinManager1.SkinName:='Office2007 Black (internal)';
end;

procedure TForm1.Golden1Click(Sender: TObject);
begin
sSkinManager1.SkinName:='Office2003 (internal)';
end;

procedure TForm1.Retro1Click(Sender: TObject);
begin
sSkinManager1.SkinName:='Office2007 Blue (internal)';
end;

procedure TForm1.XPLuna1Click(Sender: TObject);
begin
sSkinManager1.SkinName:='WMP 2008 (internal)';
end;

procedure TForm1.XPSilver1Click(Sender: TObject);
begin
sSkinManager1.SkinName:='WMP11 (internal)';
end;

procedure TForm1.WBProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
begin
sGauge1.MaxValue := ProgressMax;
sGauge1.Progress := Progress;
end;

procedure TForm1.ToolButton23Click(Sender: TObject);
var
i:string;
begin
i:=sLabel1.Caption;
Form8.QRLabel3.Caption:=sStatusBar1.Panels[0].Text;
ADOQuery1.Close;
ADOQuery1.Sql.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Result WHERE Stu_Id = "'+i+'" ORDER BY Data,Posicion');
ADOQuery1.Open;
Form8.QRMemo1.Lines.Clear;
while not ADOQuery1.Eof do
begin
Form8.QRMemo1.Lines.Add(DateToStr(ADOQuery1.FieldValues['Data'])+' - '+ADOQuery1.FieldValues['Posicion']);
ADOQuery1.Next;
end;
Form8.QuickRep1.Preview;
end;

procedure TForm1.sTreeView1Change(Sender: TObject; Node: TTreeNode);
var
ini:Tinifile;
result,path:string;
begin
if sTreeView1.Selected.Level = 1 then
begin
result:= ExtractFilePath(ParamStr(0));
ini:=TiniFile.Create(result+'config.ini');
path:=ini.ReadString(sTreeView1.Selected.Parent.Text,'p'+IntToStr(sTreeView1.Selected.Index+1),'');
if path<>'' then
begin
ADOQuery1.Close;
ADOQuery1.Sql.Clear;
ADOQuery1.SQL.Add('INSERT INTO Result (Stu_Id, Posicion, Data) VALUES ("'+sLabel1.Caption+'", "'+sTreeView1.Selected.Text+'", "'+DateToStr(Date)+'")');
ADOQuery1.ExecSQL;
path:=result+'Doc\'+path;
WB.Navigate(path);
ini.Free;
end
else
ShowMessage('Запрошенный документ по указанному пути не найден.');
end
end;

end.
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

06 май 2015, 11:35

Ну так все правильно: у TForm1 нет члена класса sLabel1, поэтому он ругается на строку
Form1.sLabel1.Caption:=IntToStr(ADOQuery1.FieldVal ues['Id']);
It's a long way to the top if you wanna rock'n'roll
Kasp19
Сообщения: 4
Зарегистрирован: 05 май 2015, 21:27

07 май 2015, 21:11

на Form1. добавил Label1 а он выдает ошибку
[Error] Unit1.pas(90): Undeclared identifier: 'sTreeView1'
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

08 май 2015, 08:20

Аналогично: у TForm1 нет члена класса sTreeView1
Копировать тоже надо с умом =)
It's a long way to the top if you wanna rock'n'roll
Ответить