![]() |
|
![]() ![]() ![]() |
|
Stentor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
Копутер пишет «Cannot convert 'AnsiString' to 'const char *'» Как конвертировать???
Вообще, задача такая: Идёт поиск в БД по фамилии, если запись не найдена, то появляется сообщение (не найдено) AnsiString name; name=Edit1->Text; MainForm->Table1->Locate("Фамилия",name,TLocateOptions() << loCaseInsensitive); if(!MainForm->Table1->Locate("Фамилия",name,TLocateOptions() << loCaseInsensitive)) MessageBox(0," Не найден: "+name," Запись не найдена ",0); Чего бы такое написать, чтобы в сообщении было: «Не найден: Петров»? Как правильно сделать? |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
вроде бы так...
-------------------- qqq |
|||
|
||||
Stentor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
1. MessageBox(0,(" Не найден: "+name).c_str()," Запись не найдена ",0); 2. AnsiString("не найден:")+name).c_str() Оба варианта работают без ошибок, только не делают т0, что надо. В результате выдает только «Не найден:». А фамилию не пишет. Что я не так делаю? AnsiString name; name=Edit1->Text; MainForm->Table1->Locate("Фамилия",name,TLocateOptions() << loCaseInsensitive); if(!MainForm->Table1->Locate("Фамилия",name,TLocateOptions() << loCaseInsensitive)) MessageBox(0,(" Не найден: "+name).c_str()," Запись не найдена",0); |
|||
|
||||
Stentor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
???????
|
|||
|
||||
tigger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 456 Регистрация: 30.4.2005 Репутация: 2 Всего: 4 |
Я обычно делал так
выношу строку перед MessageBox
если не поможет попробуй через Application->MessageBoxA(); |
|||
|
||||
CatOleg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 14.7.2005 Где: Запорожье Репутация: нет Всего: нет |
AnsiString name,ErrorMessage;
name = Edit1->Text; ErrorMessage = "Не найден : " + name; Application->MessageBoxA(ErrorMessage.c_str(),"Error",0); |
|||
|
||||
maxim1000 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
хм... единственное, что могу предположить - что-то не то с заполнением name... специально запустил Builder в OnCreate формы поставил такие строчки:
при запуске выдало "aaa:qqq"... -------------------- qqq |
||||
|
|||||
Stentor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
maxim1000,
AnsiString name; MessageBox(0,(AnsiString("Не найдено:")+name).c_str()," Запись не найдена ",0); - работает как положено. А вчера не хотело. Похоже, что я скобочку одну пропустил. Только тогда не пойму как прога откомпилировалась без ошибок… Тему можно закрывать. Спасибо всем! |
|||
|
||||
Aver91 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
чтобы тем не плодить, отвечу тут. возникла такая же проблема, как заголовок темы. суть в чем. в компонент Edit вводится слово или словосочетание. это будет строка ansistring. эту строку нужно перевести в символьный массив типа char, для записи в файл и прочей работой как с обычной строкой( под обычной строкой подразумеваю последовательность char символов, ограниченных '\0'), либо прошу подсказать функции для работы со строкой ansistring, подобные:
1)strlen 2)strcopy 3)fputs/fgets/fgetc для ansistring 4)и подобные Это сообщение отредактировал(а) Aver91 - 16.7.2009, 19:57 |
|||
|
||||
Aver91 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
проблема решилась.
|
|||
|
||||
WebS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 1.6.2008 Репутация: нет Всего: -3 |
а у ми такой вопрос:
ошибка.., как норм сложить их? --------------------
Услуги web мастера... php+sql, вёрстка, дизайн, программирование, и.д.р |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 26 Всего: 459 |
char* не поддерживает конкатинацию плюсом, тока AnsiString. Можно к AnsiString приплюсовать char*.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
WebS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 1.6.2008 Репутация: нет Всего: -3 |
Спасибо, всё ок
![]() --------------------
Услуги web мастера... php+sql, вёрстка, дизайн, программирование, и.д.р |
|||
|
||||
123lexx321 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
у меня похожий вопрос. Нужно значения матрицы переписать в массив
пишу b[c++]=StrToInt(StringGrid1->cells[col][row]); ошибка ' ' is not a valid integer value Уже который день мучаюсь чувствую что ушёл куда то в дебри |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
ну не знаю у меня все работает
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |