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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как передать компонент в функцию 
V
    Опции темы
Krav
Дата 1.6.2011, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

void convert(char a[256],System::EventArgs^ e)
{
pin_ptr<const wchar_t> wch=PtrToStringChars(e->Text);
int sizeInBytes = (e->Text->Length + 1);
char *ch = (char *)malloc(sizeInBytes);             
WideCharToMultiByte(0,0,wch,-1,ch,sizeInBytes,NULL,NULL);
 for ( int i = 0; i<e->Text->Length; i++ )
{
 a[i]=ch[i];
}
delete ch;
}

private: System::Void comboBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
char nono[256]="";
convert(nono,e);
}

Данный код не работает. Задача - передать comboBox или любой другой компонент в функцию convert.


Это сообщение отредактировал(а) Krav - 1.6.2011, 22:25
PM MAIL WWW ICQ Jabber   Вверх
RastaDja
Дата 2.6.2011, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Из примера видно, что внутри функции convert компонент не используется, а используется только его поле с текстом (e->Text). Не понятно зачем передавать компонент, если над ним не производить никаких действий. Не кажется вам что лучше передать wchar_t, или char* во второй параметр?  Второе - массив в первом параметре нужно передавать по ссылке, иначе он не изменится.


--------------------
The more closely you look at one thing, the less closely can you see something else.
PM MAIL   Вверх
bsa
Дата 2.6.2011, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Krav, и вообще, ты разделом ошибся. Это раздел по С++. А C# и C++/CLI это .Net.
PM   Вверх
Krav
Дата 4.6.2011, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



RastaDja, спасибо за совет, сделал передачу только на поле с текстом - задача выполнена.
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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