Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2010, 21:54   #1
Tonik_A
Пользователь
 
Регистрация: 04.10.2009
Сообщений: 23
Вопрос Проблема с идентификатором

Здравуйте, делаю программу, которая работает с таблицой умножения.
Для запроса координат создал два поля LabeledEdit. При компиляции возникла ошибка [Error] Unit1.pas(58): Undeclared identifier: 'Label2' и [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'.
Позже я указал в разделе описания переменных Label1,Label2:variant; но программа не работает всё равно - invalid variant operation, кто знает подскажите, в чём тут дело?
Код программы:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, Grids, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    StringGrid1: TStringGrid;
    Button1: TButton;
    LabeledEdit1: TLabeledEdit;
    LabeledEdit2: TLabeledEdit;
    procedure Button1Click(Sender: TObject);
    procedure LabeledEdit1Change(Sender: TObject);
    procedure LabeledEdit2Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
Form1: TForm1;
Label1,Label2:variant;
var a,b,err: integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
for i:= 1 to StringGrid1.ColCount do StringGrid1.Cells[i,0]:=IntToStr(i);
for j:= 1 to StringGrid1.RowCount do StringGrid1.Cells[0,j]:=IntToStr(j);
for i:= 1 to StringGrid1.ColCount do
for j:= 1 to StringGrid1.RowCount do StringGrid1.Cells[i,j]:=IntToStr(i*j);
end;


procedure TForm1.LabeledEdit1Change(Sender: TObject);
var   Label1:variant;
begin
val(LabeledEdit1.Text,a,err);
if err=0 then Label1.caption:=StringGrid1.Cells[a,b];
end;


procedure TForm1.LabeledEdit2Change(Sender: TObject);
begin
val(LabeledEdit2.Text,b,err);
if err=0 then Label2.caption:=StringGrid1.Cells[a,b];
end;

end.
Tonik_A вне форума Ответить с цитированием
Старый 28.04.2010, 22:04   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну у вас нет Label на форме
а вы пишете их..может вы имели в виду чтото иное?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.04.2010, 23:20   #3
Tonik_A
Пользователь
 
Регистрация: 04.10.2009
Сообщений: 23
По умолчанию

А что нужно что бы они были? Я вроде установил на форму этот компонент.
Tonik_A вне форума Ответить с цитированием
Старый 28.04.2010, 23:25   #4
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Как можно "вроде" установить компонент и наверняка незнать об этом? Вы не установили Label1 и Label2...
W0LF вне форума Ответить с цитированием
Старый 29.04.2010, 00:47   #5
Tonik_A
Пользователь
 
Регистрация: 04.10.2009
Сообщений: 23
По умолчанию

А как установить?
Где и что нужно дописать?
Tonik_A вне форума Ответить с цитированием
Старый 29.04.2010, 01:17   #6
RAZOR3
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 38
По умолчанию

Добавить из закладки Standart
RAZOR3 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37