Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
katkat
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 34
#1

Ошибка Cannot convert AnsiString to Bool

01.03.2012, 22:52. Просмотров 1766. Ответов 8
Метки нет (Все метки)

C++
1
2
3
4
void __fastcall TForm3::Edit1Change(TObject *Sender)
{
Button1->Enabled=Edit1->Text;
}
вот код, как исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2012, 22:52
Ответы с готовыми решениями:

Ошибка cannon convert 'AnsiString' to 'char'
Помогите. пожалуйста. Пишу программу, нужно записать название команды и ее...

Ошибка: E2034 Cannot convert 'TStrings' to 'AnsiString'
когда программа запускается вылезает ошибка: E2034 Cannot convert 'TStrings'...

Сохранить bool в AnsiString
Приветствую всех. Подскажите, возможно ли где-то в переменной типа AnsiString...

[C++ Error] Cannot convert 'string' to 'AnsiString'
Ошибка: Unit1.cpp(79): E2034 Cannot convert 'string' to 'AnsiString' Строки: ...

[C++ Error] Unit1.cpp(50): E2034 Cannot convert 'AnsiString' to 'int'
помогите пожалуйста void __fastcall TForm1::J() { int...

8
Sergey-K
234 / 225 / 58
Регистрация: 27.10.2011
Сообщений: 249
01.03.2012, 22:57 #2
C++
1
2
3
4
if(Edit1->Text == "")
  Button1->Enabled = false;
else
  Button1->Enabled = true;
1
BRcr
4015 / 2305 / 291
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
01.03.2012, 22:59 #3
katkat, аглицкий разумеем, али как?
Прямым текстом ведь компилятор говорит, конвертировать текст в логическое ДА\НЕТ не может. Подскажите ему, как. Например:
C++
1
2
3
if( Edit1->Text == "да" ) {
  Button1->Enabled = true;
}
1
katkat
0 / 0 / 0
Регистрация: 19.09.2011
Сообщений: 34
01.03.2012, 23:15  [ТС] #4
спасибо большое!
0
Байт
Эксперт C
17840 / 11867 / 2467
Регистрация: 24.12.2010
Сообщений: 23,856
02.03.2012, 00:20 #5
Цитата Сообщение от katkat Посмотреть сообщение
Cannot convert AnsiString to Bool
Если по-честному, я бы тоже не смог
char или int, double даже еще бы конвертировал с грехом/2.
0
Sergey-K
234 / 225 / 58
Регистрация: 27.10.2011
Сообщений: 249
02.03.2012, 00:37 #6
Работает
C++
1
Button1->Enabled = *((bool *)Edit1->Text.c_str());
0
BRcr
4015 / 2305 / 291
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
02.03.2012, 00:45 #7
Конечно... компилятор бессилен перед явными приведениями типа. Самый верный путь к трудноуловимым ошибкам в программе
1
rangerx
1941 / 1550 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
02.03.2012, 01:55 #8
Цитата Сообщение от Sergey-K Посмотреть сообщение
Работает
А с чего бы этому не работать, здесь даже приводить ничего не надо, char и так неявно приводится к bool, как и любой другой встроенный тип. Собственно поэтому в C++ и работают такие конструкции как
C++
1
2
int a = 10;
if(a % 2) { /*...*/ }
C++
1
2
FILE* f = fopen("file.txt", "r");
if(!f) puts("error");
C++
1
2
3
const char* s = "text";
const char* p = s;  
while(*p) { /*...*/ ++p; }
и т.д.
0
Maluda
1224 / 556 / 105
Регистрация: 18.08.2009
Сообщений: 790
Завершенные тесты: 1
02.03.2012, 19:11 #9
katkat, рекомендую пользоваться стандартными функциями Билдера

C++
1
2
bool __fastcall StrToBool(const System::UnicodeString S);
bool __fastcall StrToBoolDef(const System::UnicodeString S, const bool Default);
Например:
C++
1
Button1->Enabled=StrToBoolDef(Edit1->Text,false);
0
02.03.2012, 19:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2012, 19:11

Ошибка приведения типов: E2357 Reference initialized with 'bool', needs lvalue of type 'bool'
Подскажите решение проблемы, программа на rad studio2010, проблема в этой...

Как перевести текст из AnsiString (в формате UTF8) в AnsiString формата Windows-1251?
Поиск по форуму не решил текущую проблему: 1. Есть текст в формате UTF-8 в...

ошибка в dll с классом AnsiString
Возникла такая проблема: при использовании во внутренних функциях dll типа...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru