Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> преобразовать System::String, в LPARAM 
V
    Опции темы
Newbie1x
Дата 15.9.2009, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Еще такой вопрос, можно ли как-то преобразовать System::String, тоесть текст, введенный в textBox1->Text в LPARAM? Чтобы отправить сообщение на печать строки.
(LPARAM)_T("привет!") работает.

А вот (LPARAM)_T(textBox1->Text) - нет.

Что можно сделать в такой ситуации?
PM MAIL   Вверх
Romikgy
Дата 15.9.2009, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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





указатель на строку передай в 
Цитата(Newbie1x @  15.9.2009,  14:54 Найти цитируемый пост)
LPARAM



Это сообщение отредактировал(а) Romikgy - 15.9.2009, 17:19


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

PM   Вверх
Newbie1x
Дата 15.9.2009, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Но ведь название темы не несет в себе никакого вопроса, это так, в догонку, разве стоит по такой мелочи тему создавать?

ЗЫ А пример можно, раз уж начали отвечать?

Добавлено через 6 минут и 45 секунд
В указателях не силен, что-то вроде этого?
Код

char* buff1;
buff1 = &textBox1->Text;
::SendMessage(rhwnd, WM_SETTEXT, NULL, (LPARAM)buff1);


Ругается на &textBox1->Text;

Пишет: 
Цитата

 для "&" требуется левостороннее значение


Как быть?
PM MAIL   Вверх
GremlinProg
Дата 15.9.2009, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

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



Цитата(Newbie1x @  15.9.2009,  18:50 Найти цитируемый пост)
Но ведь название темы не несет в себе никакого вопроса, это так, в догонку, разве стоит по такой мелочи тему создавать?

этот вопрос даже темы подфорума не касается

Добавлено через 5 минут и 24 секунды

M
GremlinProg
перенесено из: http://forum.vingrad.ru/forum/topic-272818...dwindow/15.html



--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
Romikgy
Дата 15.9.2009, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Newbie1x @  15.9.2009,  15:50 Найти цитируемый пост)
textBox1->Text

так понимаю это с++ билдер ?
(в случае да,
Код

SendMessage(rhwnd, WM_SETTEXT, NULL, (LPARAM)textBox1->Text.c_str());

имхо )


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

PM   Вверх
Newbie1x
Дата 15.9.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ну надо, так надо smile

Помогите решить проблему пожалуйста. просто видел много приложений, где поле ввода и кнопка, а они из этого поля вставляют текст в поле чужой программы и жмут кнопку отправить.
Значит, наверное, это возможно и я думаю не сложно.
PM MAIL   Вверх
Newbie1x
Дата 15.9.2009, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не, не билдер, VS C++ 2008
PM MAIL   Вверх
Newbie1x
Дата 15.9.2009, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Чет вы тему в странный раздел переместили, при чем тут C#??? Это ведь C++..

Может перенести в раздел более тематический, я тут ответа буду год ждать:(
PM MAIL   Вверх
Romikgy
Дата 15.9.2009, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Romikgy @  15.9.2009,  16:21 Найти цитируемый пост)
textBox1->Text

в хелпе по VS какой это тип ?


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

PM   Вверх
Любитель
Дата 15.9.2009, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



Цитата(Newbie1x @  15.9.2009,  20:44 Найти цитируемый пост)
Чет вы тему в странный раздел переместили, при чем тут C#??? Это ведь C++..

Цитата(Newbie1x @  15.9.2009,  15:54 Найти цитируемый пост)
System::String

Потому что System::String это дотнетовский тип. То, что ты написал в (переформулирую вопрос нормально - "как из System::String получить c-style строку) в дословном виде решаемо через методы класса Marshal (StringToHGlobalAnsi/Uni). Но.. Очень сомневаюсь, что оно тебе нужно smile 

Вообще С++/CLI нужен только для интеграции .Net-а с неуправляемым кодом (если не достаточно COM Interop и PInvoke). Использовать его для обычных прикладных приложений - это извращение.

Возвращаясь к теме. Правильных решений два:
1. .Net version. Перейти на C# (мы ж о правильных решениях?) и использовать маршаллинг для передачи строки в SendMessage (объявив 
соответствующую версию SendMessage, принимающую указатель на c-строку в качестве lParam)
2. C++ version. Перейти на обычный С++ (мы же о правильных решениях?) и использовать чистый WinAPI или какую-нибудь гуи-либу (Qt, wxWidgets, etc.)


--------------------
PM MAIL ICQ Skype   Вверх
Newbie1x
Дата 15.9.2009, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

в хелпе по VS какой это тип ? 

Как и в названии темы написанно, System::String

Добавлено через 3 минуты и 10 секунд
Любитель, 
Неужели на VS C++ 2008 нельзя как-то попроще вставить в текстовое поле чужой программы строку?? Выходит, то, что майкрософт втирал, что на их студии удобно и просто ерунда?

А вообще я не хотел бы никуда переходить, так как под студию уже много ф-ций нужных мне для реализации других приложений нашел, а под C++ обычным, они не работают

Это сообщение отредактировал(а) Newbie1x - 15.9.2009, 21:36
PM MAIL   Вверх
Любитель
Дата 15.9.2009, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



Цитата(Newbie1x @  15.9.2009,  21:34 Найти цитируемый пост)
Выходит, то, что майкрософт втирал, что на их студии удобно и просто ерунда?

Ты вообще о чём? Без пруфлинка не засчитано (если что - я о том, что никто не говорил, что надо прикладдные приложения на C++/CLI писать).

Цитата(Newbie1x @  15.9.2009,  21:34 Найти цитируемый пост)
А вообще я не хотел бы никуда переходить, так как под студию уже много ф-ций нужных мне для реализации других приложений нашел, а под C++ обычным, они не работают

Я предложил тебе все варианты. Предложил правильные варианты - либо С++, либо .Net (и то, и то, в виде С++/CLI нужно только для интеграции, другое применение глупо и неоправданно).

Не нравятся правильные - используй PInvoke в C++/CLI (ведь в принципе никто не запрещает..) или же метод StringToHGlobalAnsi/Uni (в зависимости от типа целевой строки).


--------------------
PM MAIL ICQ Skype   Вверх
Newbie1x
Дата 16.9.2009, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ладно, спасибо.. 
Написал программу на билдере за 5 минут, с чем в VS маялся пол дня..
Тогда буду наверное билдер 2009 качать, 6 уже не устраивает.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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