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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с textBox VC++ 
:(
    Опции темы
rax
Дата 8.7.2004, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Подскажите, пожалуйста, как текст, введенный в textBox преобразовать в char или хоть как-то побить его на массив. Все время одна и та же ошибка: error C2440: '=' : cannot convert from 'System::String __gc *' to 'char [20]' mad.gif
И вообще, кто может объяснить, почему Строуструп в своем творении обошел тип String? Чем это мотивировано?
withstupid.gif
PM MAIL WWW ICQ AOL YIM MSN   Вверх
AntonSaburov
Дата 9.7.2004, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Цитата
хоть как-то побить его на массив

Что-то вроде такого должно работать
Код

Char[] tmp = "12345".toCharArray();


Цитата
почему Строуструп в своем творении обошел тип String?

А с каких это пор в С++ появился тип String ?

PM MAIL WWW ICQ   Вверх
Kurt
Дата 9.7.2004, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


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

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



Текст в TextBox - это строка. Вернее, ОБЪЕКТ строка. => у него есть свои поля и методы.
Так вот.
Чтобы получить доступ к конкретному символу можно использовать св-во Chars, к-е является массивом символов.
А преобразовать строку в массив символов можно еще методом ToCharArray.
Вот пример, к-й переводит в массив символов лишь кусок строки (так интереснее smile.gif), ну и ессно демонстрирует работу этого метода.

Код

#include "stdafx.h"
#using <mscorlib.dll>

using namespace System;
using namespace System::Collections;

void main()
{
  String* str = S"012абвг789";
  Char arr[];

  arr = str->ToCharArray(3,4);
  Console::Write(S"Буквы в '{0}': '", str);
  Console::Write(arr);
  Console::WriteLine(S"'");
  Console::WriteLine(S"Каждая буква в '{0}' :", str);
  IEnumerator* myEnum = arr->GetEnumerator();
  while (myEnum->MoveNext()) {
     Char c = *__try_cast<Char*>(myEnum->Current);

     Console::WriteLine(c);
  }
  Console::Read();
  Console::Read();
}


Вооот..
Если нужна вся строка, то вызывается ToCharArray без параметров.
Все.

З.Ы. Ессно, такой метод есть во всех .NET-языках..


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
rax
Дата 10.7.2004, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата
А с каких это пор в С++ появился тип String ?

Вот я и говорю не помешало бы.
Kurt Огромное спасибо. Метод я знал, но постоянно писал char с маленькой буквы bored.gif
Теперь все работает tounge.gif

А вот обратно..............
К примеру, textBox2->Text = arr[2].ToString ; ему не нравится sad.gif

Это сообщение отредактировал(а) rax - 10.7.2004, 10:49
PM MAIL WWW ICQ AOL YIM MSN   Вверх
Kurt
Дата 10.7.2004, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


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

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



Цитата
К примеру, textBox2->Text = arr[2].ToString ; ему не нравится

Эхм..
ToString - это МЕТОД, т.е. тебе надо поставить скобки в конце:
Код
textBox2->Text = arr[2].ToString();


100% будет работать.


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
rax
Дата 10.7.2004, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



hmmm.gif да..... с синтаксиосм у меня не очень...... biggrin.gif
PM MAIL WWW ICQ AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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