Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с операторами If then, ошибка при компеляции 
:(
    Опции темы
Student00
Дата 7.3.2010, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 22.11.2007
Где: Барнаул

Репутация: нет
Всего: нет



Ситуация такая:

Пишу код в procedure TForm1.FormCreate(Sender: TObject);

такой код:
Код

If  Edit1.Text:='' then  BitBtn1.Enabled:=true;


А оно мне ошибку при компеляции:
Код

[Error] Unit1.pas(119): Type of expression must be BOOLEAN


Я конечно понимаю, что синтаксис ни к черту, но не могу сообразить а как правильно нужно.

А нужно что бы если поле Edit1 пустое, то кнопка BitBtn1 была неактивна.

Подскажите пожалуйста как правильно записать.  smile 


PM MAIL   Вверх
Coder
Дата 7.3.2010, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: 2
Всего: 11



нужно использовать оператор "=" для сравнения, а нет ":="
PM MAIL   Вверх
Данкинг
Дата 7.3.2010, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Уточню: ":=" - это приравнивание одного к другому.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Student00
Дата 7.3.2010, 15:54 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 22.11.2007
Где: Барнаул

Репутация: нет
Всего: нет



Спасибо больше товарищи, сделал
If  Edit1.Text='' then  BitBtn1.Enabled:=true;
 откомпилировалось.

Да только результата не достиг.
Кнопка при запуске по прежнему активна.
Что-то я видать не так делаю.  smile 

PM MAIL   Вверх
Proxin
Дата 7.3.2010, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 21.6.2008

Репутация: 1
Всего: 3



Уже тупые вопросы потихоньку бесить начинают. Так и хочется написать, куда тебе эти глаза нужно засунуть.

Это сообщение отредактировал(а) Proxin - 7.3.2010, 16:00
PM MAIL   Вверх
Rodman
Дата 7.3.2010, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 1
Всего: 122



В свойствах кнопки надо сначала в поле Enable - False поставить..
и проверить нигде ли в коде еще активность не отображается...



 ! 
Rodman
Proxin, бесимся и сопим в две дырочки про себя.

PM MAIL WWW Skype GTalk YIM MSN   Вверх
Proxin
Дата 7.3.2010, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 21.6.2008

Репутация: 1
Всего: 3



Предвидим следующий вопрос - а как апдейтить состояние кнопочки?
Так:
Код

procedure tform1.edit1keyup(sender:tobject;var key:word;shift:tshiftstate);
begin
if edit1.text='' then bitbtn1.enabled:=true else bitbtn1.enabled:=false;
end;


Это сообщение отредактировал(а) Proxin - 7.3.2010, 16:19
PM MAIL   Вверх
Qu1nt
Дата 7.3.2010, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 22
Всего: 50



Код

Button1.Enabled := Edit1.Text <> '';


Это сообщение отредактировал(а) Qu1nt - 7.3.2010, 16:43
PM MAIL   Вверх
Student00
Дата 7.3.2010, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 22.11.2007
Где: Барнаул

Репутация: нет
Всего: нет



Не могу никак сделать.   smile  smile 

Прописывал код:
Код

If Edit1.Text<>'' then BitBtn1.Enabled:=true else BitBtn1.Enabled:=false;

И в 
procedure TForm1.FormCreate(Sender: TObject);

и в
procedure TForm1.BitBtn2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);


и в

procedure TForm1.BitBtn1Click(Sender: TObject);

Если делаю свойство кнопки  Enabled:=trut.
Кнопка некативной становиться при любом варианте.
Возвращаю обратно и и она всегда активна.  smile  smile  smile  smile

Добавлено через 4 минуты и 8 секунд
Вот я креплю файл.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  ______.rar 161,34 Kb
PM MAIL   Вверх
Proxin
Дата 7.3.2010, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 21.6.2008

Репутация: 1
Всего: 3



а вам условие изменить слабо - заменить <> на = ?
PM MAIL   Вверх
Student00
Дата 7.3.2010, 18:06 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 22.11.2007
Где: Барнаул

Репутация: нет
Всего: нет



Все я в конец запутался.

Наверное у меня руки не оттуда растут вот весь код:
(Я создал новый проект и на нем экспериментировавшую[code=delphi]
Код

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
If Edit1.text='' then Button1.Enabled:=true;
end;

end.

Не работает.

Так:
Код

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 // If Edit1.text<>'' then Button1.Enabled:=true;
end;

procedure TForm1.Button1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 If Edit1.text<>'' then Button1.Enabled:=true;
end;

end.


Не работает.

Так:
Код

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 // If Edit1.text<>'' then Button1.Enabled:=true;
end;

procedure TForm1.Button1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
// If Edit1.text<>'' then Button1.Enabled:=true;
end;



procedure TForm1.Button1Click(Sender: TObject);
begin
If Edit1.text<>'' then Button1.Enabled:=true;
end;

end.

не работает.

Во всех этих случаях свойство Enabled на кнопке было true.

Тоже самое при False, только кнопка постоянно не активна вне зависиомти от того пишу я в Эдит чего или нет.

 smile  smile  smile  smile  smile  

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  0.jpg 112,59 Kb
PM MAIL   Вверх
Proxin
Дата 7.3.2010, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 21.6.2008

Репутация: 1
Всего: 3



а else добавить? событие пихать на кейап.
вообще, вам совет - почитайте для начала книжку по дельфи какую-нибудь, а потом пишите.
PM MAIL   Вверх
Student00
Дата 7.3.2010, 19:07 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 22.11.2007
Где: Барнаул

Репутация: нет
Всего: нет



Цитата(Proxin @ 7.3.2010,  18:55)
а else добавить? событие пихать на кейап.
вообще, вам совет - почитайте для начала книжку по дельфи какую-нибудь, а потом пишите.

Я обязательно прочту книжку по делфи.
Но вот в текущей проге что не так.
Она ведь не работает.  smile 


Я уже все переставил и else и хренелсе.




Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  1.jpg 414,43 Kb
PM MAIL   Вверх
Proxin
Дата 7.3.2010, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 21.6.2008

Репутация: 1
Всего: 3



особенно под торренты с порнушкой играми книгами умными, наверное, работается хорошо.
вот код.
Код

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;ь Shift: TShiftState);
begin
button1.enabled:=edit1.text<>'';
end;

кнопка неактивна, если в edit ничего нет.
PM MAIL   Вверх
kami
Дата 7.3.2010, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(Student00 @  7.3.2010,  19:07 Найти цитируемый пост)
Но вот в текущей проге что не так.Она ведь не работает.   

Потому и не работает, что книжек не читаете.
Этот код вешать надо на Edit1.OnKeyUp
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.3091 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.