![]() |
|
![]() ![]() ![]() |
|
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
strcmp(Edit1->Text,UserTabel->Fields->FieldByName("AccountName")->Value)
[BCC32 Error] interview.cpp(32): E2034 Cannot convert 'UnicodeString' to 'const char *' Использую Builder 2009.. Не могу найти преобразование... UserTabel - это АДО таблица из mdb |
|||
|
||||
YanTsys |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 22.3.2006 Репутация: нет Всего: нет |
strcmp если не ошибаюсь работает с char*
для получения адреса char* внутри String используй
а уж что за поле у тебя Value понятия не имею хотя подозреваю что фраза насчет UnicodeString относится именно к нему Что бы узнать где ошибка попробуй так String sText1=Edit1->Text; String sText2=UserTabel->Fields->FieldByName("AccountName")->Value; strcmp(sText1.c_str(),sText2.c_str()); |
|||
|
||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
Ошибка тут ->
strcmp(sText1.c_str(),sText2.c_str()); такая [BCC32 Error] interview.cpp(33): E2034 Cannot convert 'wchar_t *' to 'const char *' Это сообщение отредактировал(а) A5uKa - 15.11.2008, 18:35 |
|||
|
||||
YanTsys |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 22.3.2006 Репутация: нет Всего: нет |
У меня бидлер 6 версии
Прочитал такую вещь
А если так? AnsiString sText1=Edit1->Text; AnsiString sText2=UserTabel->Fields->FieldByName("AccountName")->Value; strcmp(sText1.c_str(),sText2.c_str()); |
|||
|
||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
Спасибо.
Так работает. но всё же как написать сравнение в одну строку ? Это сообщение отредактировал(а) A5uKa - 15.11.2008, 19:59 |
|||
|
||||
YanTsys |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 22.3.2006 Репутация: нет Всего: нет |
Должно работать
strcmp(AnsiString(Edit1->Text).c_str(),AnsiString(UserTabel->Fields->FieldByName("AccountName")->Value).c_str()); Но наверняка в b2009 должен быть способ проще. Добавлено через 3 минуты и 47 секунд Кстати а почему strcmp? Нужно разобраться с преобразованием или просто проверить равенство? Почему не просто
|
|||
|
||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
[BCC32 Error] interview.cpp(40): E2031 Cannot cast from 'Variant' to 'UnicodeString'
это если стринг AnsiString(UserTabel->Fields->FieldByName("AccountName")->Value) если так то... [BCC32 Error] interview.cpp(40): E2031 Cannot cast from 'Variant' to 'AnsiString' Это сообщение отредактировал(а) A5uKa - 15.11.2008, 20:13 |
|||
|
||||
YanTsys |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 22.3.2006 Репутация: нет Всего: нет |
т.е.
такая строка работает
а такая нет?
|
||||
|
|||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
Да
AnsiString sText2= AnsiString(UserTabel->Fields->FieldByName("AccountName")->Value); не работает. |
|||
|
||||
YanTsys |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 22.3.2006 Репутация: нет Всего: нет |
Когда после Value нажимаешь на точку и выпадает список вариантов в 6 билдере есть вариант .operator AnsiString() может в B2009 тоже есть такое преобразование? Попробуй выдает ли ошибку
Чувствую нужно срочно B2009 покупать а то отстану... |
|||
|
||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
Спасибо так работает ...
Есть ещё один маленький вопросик , у меня в mdb базе происходит зацикливание тут while (UserTabel->Fields->FieldByName("IDUser")!=NULL){ UserTabel->Next(); как-нибудь можно это... починить |
|||
|
||||
mrbrooks |
|
||||||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Вообщето для сравнения строк у UnicodeString есть метод Compare()
использовать ansi-функции применимо к unicode-строкам не совсем разумно. тем более что есть аналог strcmp() для unicode - wcscmp()
Так что мой вам совет не устраивайте братских могил из кодировок когда есть много стандартных способов.
не совсем ясен смысл кода. что за критерий в цикле. конец набора БД? |
||||||
|
|||||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
Спасибо за пояснение !
А критерий - просто пройти по записям в таблице ![]() |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
A5uKa, ну тогда что то вроде этого
|
|||
|
||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
Работает - спасибо ( только ф маленькая ^_^)
Это сообщение отредактировал(а) A5uKa - 16.11.2008, 12:03 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |