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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.08.2015, 09:25   #1
Andrushe4ka
Пользователь
 
Регистрация: 18.08.2015
Сообщений: 14
Вопрос Не понимаю в чем проблема.

День добрый, начал изучать язык программирования на delphi.
У меня Deplhi XE7 . Решил написать простой калькулятор, но у меня проблема.
http://c2n.me/3mgJMp1.png - закинул на объект формы. Изменил у Label1 название на 'Ответ' . Прописал в код кнопки Button1 -
"Label1.Caption:= FloatToStr(StrToFloat(Edit1.Text)+ StrToFloat(Edit2.text));"
и у меня при компиляции выдает ошибку. http://c2n.me/3mgKffi.png '[dcc32 Error] Unit2.pas(37): E2003 Undeclared identifier: 'Label1' ' .
Раньше все нормально было, а сейчас я меняю код на "Ответ.Caption:= FloatToStr(StrToFloat(Edit1.Text)+ StrToFloat(Edit2.text));"
'Label1' меня на код 'Ответ' и компиляция проходит.

Весь код:

Код:
unit Unit2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Ответ: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
Ответ.Caption:= FloatToStr(StrToFloat(Edit1.Text)- StrToFloat(Edit2.text));
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
Ответ.Caption:= FloatToStr(StrToFloat(Edit1.Text)- StrToFloat(Edit2.text));
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
Ответ.Caption:= FloatToStr(StrToFloat(Edit1.Text)* StrToFloat(Edit2.text));
end;

procedure TForm2.Button4Click(Sender: TObject);
begin
Ответ.Caption:= FloatToStr(StrToFloat(Edit1.Text)/ StrToFloat(Edit2.text));
end;

end.
Пытаюсь разбирать коды, путаюсь постоянно.
Подскажите, может я что то на шаманил в программе или так и должно быть? Очень не удобно.

Спасибо за помощь.

Последний раз редактировалось Stilet; 18.08.2015 в 10:05.
Andrushe4ka вне форума
Старый 18.08.2015, 10:08   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Изменил у Label1 название на 'Ответ' . Прописал в код кнопки Button1 -
"Label1.Caption
если Вы изменили имя у Label1 на "Ответ", то писать Label1 - это будет ошибка, т.к. Label1 уже не существует.
А существует контрол с имененм "Ответ"
вот его и надо использовать для обращения.

Но вообще, хочу Вас предостеречь.
Имена на кириллице - это (потенциально) путь к багам.
Латиница она латиница в любой кодировке. а вот с кириллицей всё очень не просто. Я лично не использую русские буквы в идентификаторах и Вам не советую.
А там дальше - дело ваше!
Serge_Bliznykov вне форума
Старый 18.08.2015, 10:08   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Дай я угадаю. Ты для Лабели поменял свойство Name на русское "Ответ"?
У лабели это свойство отвечает не за отображаемый текст на экране, а за название переменной-компонента. Тебе нужно было слово Ответ прописать в свойстве Caption. А Name соответственно не трогать.
I'm learning to live...
Stilet вне форума
Старый 18.08.2015, 12:40   #4
Andrushe4ka
Пользователь
 
Регистрация: 18.08.2015
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
если Вы изменили имя у Label1 на "Ответ", то писать Label1 - это будет ошибка, т.к. Label1 уже не существует.
А существует контрол с имененм "Ответ"
вот его и надо использовать для обращения.

Но вообще, хочу Вас предостеречь.
Имена на кириллице - это (потенциально) путь к багам.
Латиница она латиница в любой кодировке. а вот с кириллицей всё очень не просто. Я лично не использую русские буквы в идентификаторах и Вам не советую.
А там дальше - дело ваше!
Значит при каждом написании кода нужно будет указывать (название что я написал на компоненте ) ? или как то по другому делать это?
Andrushe4ka вне форума
Старый 18.08.2015, 12:43   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Свойство Name указывает как будет имя компонента в Коде программы.
Свойство Caption указывает какой будет текст на компоненте, на форме.
При написании кода в самом коде ты должен использовать имя, которое задано в Name, но к отображению этого на экране оно отношение не имеет.
I'm learning to live...
Stilet вне форума
Старый 18.08.2015, 13:16   #6
Andrushe4ka
Пользователь
 
Регистрация: 18.08.2015
Сообщений: 14
По умолчанию

спасибо) понял.
Andrushe4ka вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с блок-схемой? не понимаю как их строить (TASM) Пиф Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 12.03.2013 19:37
в чем проблема? KroshkaKartoshka Visual C++ 6 19.11.2012 09:57
Delphi выдает аномальную ошибку с Memo, не понимаю в чем дело ( Antidelphik_) Помощь студентам 30 16.04.2011 14:07
Не понимаю в чем дело с MS SQL! Umbrella90 Помощь студентам 1 05.07.2010 20:40
Просто не понимаю б чём проблема!!!!!!!(char* && index) artush1984 Общие вопросы C/C++ 12 30.05.2009 03:30