|
1 / 1 / 1
Регистрация: 23.10.2013
Сообщений: 25
|
||||||
Как получить true при сравнении указанной строки и строки из буфера в if?30.09.2014, 13:04. Показов 2223. Ответов 7
Метки нет (Все метки)
Использую C++Builder 6.
Как получить true при сравнении указанной строки и строки из буфера в if? У меня постоянно получается false. Вытаскиваю имя пользователя который залогинился в системе. Сравниваю логины которые указаны в программе с тем что вытащил из буфера. Вроде одинаково, но все равно false. Выводил в файл и то и другое, все одинаковое, но все равно false. Подскажите пожалуйста, где собака зарыта?
0
|
||||||
| 30.09.2014, 13:04 | |
|
Ответы с готовыми решениями:
7
При любом сравнении получить True Как получить значение из строки, где checkbox.isChecked = true в GridMvc? Удаление строки из БД при сравнении даты |
|
1 / 1 / 1
Регистрация: 23.10.2013
Сообщений: 25
|
||||||
| 30.09.2014, 17:00 [ТС] | ||||||
|
То есть, когда сравнивается строка и содержимое переменной с такой же строкой, они между собой не равны? И поэтому нужно преобразовывать содержимое переменной. Я правильно понял?
Нужно писать примерно так: if(strcmp(buff,"IvanovII"||"PetrovPP"){. ..} Добавлено через 8 минут Так как я написал if(strcmp(buff,"IvanovII"||"PetrovPP"){. ..} , не получается ))) хотел смухлевать. А с одной фамилией работает! Спасибо огромное, буду пробовать прилепить еще несколько фамилий для сравнения логинов для допуска. Добавлено через 3 часа 13 минут Если я правильно понял, то такая проверка при совпадении возвращает 0, т.е. FALSE. Тут нашел такое описаниеЖ int strcmp(const char *str1, const char *str2) Прототип: string.h Описание: Функция strcmp() осуществляет лексикографическую проверку двух строк, оканчивающихся нулевыми символами, и возвращает целое число со следующим значением: Число Значение Меньше 0 str1 меньше, чем str2 0 str1 равна str2 Больше 0 str1 больше, чем str2 Добавлено через 25 минут Добил я это сравнение. Окончательный вариант получился такой:
Огромное спасибо, UI!!!
0
|
||||||
|
Супер-модератор
|
||||||
| 30.09.2014, 17:28 | ||||||
Сообщение было отмечено mpol как решение
Решение
А что,
У меня BCB6 нет в наличии, просто интересуюсь. В новых-то версиях мой вариант прекрасно работает...
2
|
||||||
|
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
|
|
| 30.09.2014, 17:47 | |
|
Даже если AnsiIndexStr там и нет - можно TStringList задействовать, а там IndexOf есть точно.
1
|
|
|
1 / 1 / 1
Регистрация: 23.10.2013
Сообщений: 25
|
|
| 01.10.2014, 11:04 [ТС] | |
|
Проверил с AnsiIndexStr, в 6 билдере все отлично работает! Снова спасибо! Сейчас еще проверю и TStringList.
Добавлено через 21 минуту Посмотрел TStringList, как по мне, там будет куча лишних телодвижений, которые в моей программке по существу не нужны. Использование AnsiIndexStr самое оно! За TStringList тоже большое спасибо!
0
|
|
|
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
|
|||||||||||
| 01.10.2014, 11:11 | |||||||||||
|
Да в первом листинге вы сравнивали указатель на массив char со строкой.
Если нет желания использовать функцию strcmp() то есть ещё вариант преобразовать в AnsiString и сравнивать как строки ANSI. В более новых версиях C++Buildera используется двухбайтовая юникод кодировка UnicodeString и wchar_t.
Обратное преобразование из AnsiString в char:
1
|
|||||||||||
|
1 / 1 / 1
Регистрация: 23.10.2013
Сообщений: 25
|
|
| 01.10.2014, 11:30 [ТС] | |
|
Да, согласен, первоначальный вариант был тупостью из-за незнания, поэтому и задал тут вопрос, что бы знающие люди помогли. Помогли, спасибо им за это! А по поводу преобразования, конечно можно так сделать, добавить выборку логинов из массива и все будет работать. Только зачем? Ведь все уже работает.
Да и вариант с AnsiIndexStr мне нравится. Спасибо!
0
|
|
| 01.10.2014, 11:30 | |
|
Помогаю со студенческими работами здесь
8
Как убрать перенос строки в конце RichEdit при вставке из буфера обмена Определение значения обратных ссылок при сравнении строки с шаблоном Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|