Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MessageBox и операция сложения 
:(
    Опции темы
mr.Anderson
Дата 21.6.2006, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Хотел сделать составное сообщение, т.е. генерирующееся по ходу выполнения. Пробовал написать так:
Код

const AnsiString word="вет!";
MessageBox(NULL,"При"+word.c_str(),"Инфо",MB_ICONINFORMATION);

Пишет "Invalid pointer addition". Как быть? 


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
_hunter
Дата 21.6.2006, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



("При"+word).c_str() 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
mr.Anderson
Дата 21.6.2006, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Не помогло. Все равно Invalid Pointer Addition.

Добавлено @ 20:02 
Вот есть такой код:
Код

const AnsiString version=MainForm->Caption.Delete(1,29);
MessageBox(NULL, ("Версия: " + version) .c_str() + " .", "Инфо", MB_ICONINFORMATION);

Все равно не работает. Инвалид поинтер аддишен. Пробовал "." тоже в скобки - все равно инвалид. 


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Romikgy
Дата 21.6.2006, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Код

MessageBox(NULL, ("Версия: " + version+ " .") .c_str() , "Инфо", MB_ICONINFORMATION);
 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Void
Дата 21.6.2006, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

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



Очевидно, BCB ошибочно применяет оператор преобразования char*, вместо того, чтобы использовать перегруженный оператор +.
Выход? Ну, например, так:
Код
AnsiString version = "Версия";
version += MainForm->Caption.Delete(1, 29);
version += ".";
MessageBox(NULL, version.c_str(), "Инфо", MB_ICONINFORMATION);

Или воспользоваться функцией Format, кажется, такая была в AnsiString.
Проверить не могу, BCB под рукой нет. 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
586
Дата 21.6.2006, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(sim7 @  21.6.2006,  19:21 Найти цитируемый пост)
Хотел сделать составное сообщение, т.е. генерирующееся по ходу выполнения. Пробовал написать так:
Код
const AnsiString word="вет!";
MessageBox(NULL,"При"+word.c_str(),"Инфо",MB_ICONINFORMATION);

Пишет "Invalid pointer addition". Как быть?  


Вот:
Код
const AnsiString word="вет!";
MessageBox(NULL,(String("При")+word).c_str(),"Инфо",MB_ICONINFORMATION);
 
PM   Вверх
Vyacheslav
Дата 22.6.2006, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

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



Код

const AnsiString word="вет!";
MessageBox(NULL,(AnsiString("При")+word).c_str(),"Инфо",MB_ICONINFORMATION);


 


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
mr.Anderson
Дата 22.6.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Хм... В общем-то, я нашел, наверное, более ненагруженный скобками вариант. Хотя и придется лишних пару строчек кода добавить. Вот так, например, можно:
Код

AnsiString word = "ве";
AnsiString message = "При"+word+"т!";
MessageBox(NULL, message.c_str(), "Инфо", MB_ICONINFORMATION);
 


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Fazil6
Дата 22.6.2006, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

AnsiString word = "ве";    
word = "При"+word+"т!";    
MessageBox(NULL, word.c_str(), "Инфо", MB_ICONINFORMATION);
 
PM MAIL   Вверх
mr.Anderson
Дата 22.6.2006, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Fazil6, а я что написал? smile Не то же самое? 


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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