Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 47

Сравнение строк в двух textBox

11.11.2013, 01:07. Показов 3485. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите пожалуйста корректно расписать сравнение строк. Пишу в VS C++ CLR. В программе имеется два компонента textbox: в textBox1 хранятся строки, а в textBox2 хранится только одна строка. Так вот программно не получается реализовать поиск строки textBox2 в textBox1.
Пытался реализовать вот так:
C++
1
2
3
4
5
for(int i=0; i<h; i++)
{
if (textBox1->Lines[i] == textBox2->Lines[0]) 
{...}
 }
но это не правильно т.к. если строка textBox2->Lines[0] будет равняться части строки textBox1->Lines[i], то условие выполняется - что есть не гуд. Как правильно реализовать то поиск строки?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.11.2013, 01:07
Ответы с готовыми решениями:

Сравнение строк в двух TextBox с выводом результата в третий
Сравниваем строки в TextBox, еси нет строки одинаковой из TextBox1 в TextBox2, то эту строку из TextBox1 копируем в TextBox3. Сделал код...

Сравнение двух TextBox'ов с записью в третий
Подскажите, пожалуйста! У меня есть ТРИ TextBox - в одном написано &quot;мама и папа&quot;, а во втором &quot;папа&quot;. Как сравнить эти два...

Сравнение строк TextBox и текстового файла
Добрый день, Есть код который проверяет на совпадение символов из TextBox14.Text с символами из txt файла. В txt - база данных,...

7
261 / 236 / 161
Регистрация: 10.12.2011
Сообщений: 513
13.11.2013, 20:57
В Свойствах textBox , есть такая штука как MultiLine, выставьте его значение в true. Потом попробуйте снова ваш цикл. Для второго textBoxa так же попробуйте.
0
128 / 86 / 10
Регистрация: 03.02.2011
Сообщений: 477
14.11.2013, 07:49
C++
1
2
3
4
5
6
array<String^>^ tempArray = gcnew array<String^>( textBox1->Lines->Length );
tempArray = textBox1->Lines;
for ( int counter = 0; counter < tempArray->Length; counter++ )
      {
         if(tempArray[counter]==textBox2->Text)...
      }
Так не пробовал?

Добавлено через 31 секундочку
а что тебе надо делать, если нашел вхождение?
0
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 47
22.11.2013, 17:13  [ТС]
Мне не надо находить вхождение. мне надо произвести лексикографическое сравнение. При работе с типом char я это делал с помощью функции strcmp, а тут везде тип String используется. Вроде как надо использовать функцию Compare. Но у меня так не получется - вылетают ошибки. Можете привести пример реализации сравнения строк в VS CLR ?
Пытался реализовать вот так, но не успешно:
C++
1
2
3
String ^str=textBox1->Lines[0]
 if ( String.Compare(str_arr[cod],str)==0);
 {...}
т.е. происходит поиск строки str, которую вбивает пользователь в textBox1 во время выполнения программы и эта строка ищется в массиве строк str_arr (среды CLR тип стринг). Но этот код не компилиться. Скажите плиз, что тут не так.
0
128 / 86 / 10
Регистрация: 03.02.2011
Сообщений: 477
22.11.2013, 18:32
а что пишет то? какие ошибки?
Цитата Сообщение от nautilus209 Посмотреть сообщение
C++
1
2
3
String ^str=textBox1->Lines[0]
*if ( String.Compare(str_arr[cod],str)==0);
*{...}
конкретно тут я сразу же вижу ошибку в отсутствии точки с запятой ";", а вообще это вроде по другому делается, как-то на подобии
C++
1
str_arr[cod].Compare(str)
- вроде как-то так, могу посмотреть через пару дней.
Правда, мне кажется что
C++
1
str_arr[cod]->Compare(str)
скорее так
0
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 47
22.11.2013, 23:19  [ТС]
Пробовал вот так
C++
1
if (str_arr[cod]->Compare(str)==0){...}
не компилится: error C2661: System::String::Compare: нет перегруженной функции, принимающей 1 аргументов
А если вместе -> поставить точку, то вылазиет такая ошибка: error C2228: выражение слева от ".Compare" должно представлять класс, структуру или объединение
1> тип: System::String ^
1> возможно, имеется в виду "->"

Как еще можно попробовать?
0
128 / 86 / 10
Регистрация: 03.02.2011
Сообщений: 477
23.11.2013, 00:02
Ну, во-первых, "вылезает", а не "вылазиет".
А, во вторых,
C++
1
2
3
4
5
for(int i=0;i<textBox1->Lines->Length;i++)
             {
                if(String::Compare(textBox1->Lines[i]->ToString(),textBox2->Text)==0)
                    MessageBox::Show(Convert::ToString(i));
             }
1
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 47
23.11.2013, 00:40  [ТС]
Проблема решена! Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.11.2013, 00:40
Помогаю со студенческими работами здесь

Сравнение элементов с данными в TextBox и вывод строки(строк)
Товарищи, объявилась следующая проблема, не знаю как провернуть такую задачку: пользователь вводит в 2 поля textbox свои значения. Далее...

Сравнение двух строк
Даны две строки Str1 и Str2. Выясните, можно ли строку Str2 получить из строки Str1 вычеркиванием некоторых символов. Не могу...

Сравнение двух строк
Здравствуйте, помогите сравнить две строки. У меня не получается не смотря на то что они идентичны. История такая, я пытаюсь пройти...

Сравнение двух строк
Напишите функцию bool Compare(string S1, string S2), определяющую, совпадают ли 2 строки. Помогите пожалуйста, не понимаю :cry: ...

Сравнение двух строк js
Всем привет! У меня есть кусок кода: function mode(){ $.ajax({url:'blocks/ajax/mode.php', data:{gets:get('id')}, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru