![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| StillPhelix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 6.1.2016 Репутация: нет Всего: нет |
Неработает процедура генерации пароля. Это строки 25-30.
|
|||
|
||||
| feodorv |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
В каком смысле "не работает"?
Наверняка Вы компилите с оптимизацией, тогда Ваши три строки просто эквивалентны одной:
Замечания по коду. Здесь очень нехороший +1, так как ниже идёт обращение к buffer[i+1], что даёт выход за пределы строки (на один байт после '\0'). Такой подход - это просто безобразие. Как Вы думаете, сколько байт выделено под буфер? (И обязана ли эта память быть доступной на запись?) Ниже совершенно безосновательно считается, что буфер вмещает как минимум lenText+1 байт, что совершенно не верно. То же касается массивов calcCode и userInputCode.
Добавлено через 8 минут и 20 секунд Так строки не сравниваются. Так сравниваются указатели (которые, очевидно, различные). -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||
|
|||||||
| StillPhelix |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 6.1.2016 Репутация: нет Всего: нет |
Не заполняется массив calcCode[i]
Буфер должен быть динамическим. Неизвестно, сколько символов будет введено в TextEdit. Как правильно определить/установить его размер?
strcmp не работает тоже. а после
это строка 34, заполняются все массивы. этого не должно быть. |
||||||||
|
|||||||||
| StillPhelix |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 6.1.2016 Репутация: нет Всего: нет |
Исправил. Текст ниже. Теперь цикл генератора
|
||||||
|
|||||||
| StillPhelix |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 6.1.2016 Репутация: нет Всего: нет |
Рабочий код (не работает только
|
||||
|
|||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
А что именно Вы хотите сделать? Приведённый код выделяет весь текст в редакторе. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| StillPhelix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 6.1.2016 Репутация: нет Всего: нет |
В этой программе EM_SETSEL ничего делать не будет. Для того, чтобы это сообщение что-то сделало, нужно элементу управления дать фокус. Что я и сделал. Теперь всё работает. |
|||
|
||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
EM_SETSEL прекрасно работает (то есть устанавливаются начальный и конечный символы выделения, каретка передвигается за конечный символ выделения, текст при необходимости скролируется так, чтобы каретка стала видна), просто сам контрол перерисовывается, если уже имеет фокус, или в момент получения фокуса, это да. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |