|
3 / 3 / 0
Регистрация: 07.05.2013
Сообщений: 53
|
||||||
Замена текста12.05.2013, 03:01. Показов 4202. Ответов 20
Метки нет (Все метки)
Доброй ночи=)
у меня тут проблема возникла, и никак не могу понять как ее решить((( необходимо по нажатию кнопки, заменять слова в введенном тексте на звездочки... не учитывая пробелы:
0
|
||||||
| 12.05.2013, 03:01 | |
|
Ответы с готовыми решениями:
20
Шифрование текста, табличная замена текста Замена текста |
|
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
|
|
| 12.05.2013, 15:38 | |
|
1) Посылаешь сообщение edit'у EM_GETSEL. Получаешь стартовую и конечную позиции выделенного текста.
2) Функцией GetWindowText берешь весь текст из edit'а. 3) Делаешь изменения в буфере текста. 4) Запихиваешь обратно текст функцией SetWindowText.
0
|
|
|
3 / 3 / 0
Регистрация: 07.05.2013
Сообщений: 53
|
|
| 12.05.2013, 15:56 [ТС] | |
|
ммм....спасибо сейчас попробуем=)
а можно будет как-то определить кол-во слов в тексте, например что бы она автоматически при вводе выводилось в заголовке формы??
0
|
|
|
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
|
|
| 12.05.2013, 16:42 | |
|
При изменении текста в edit'е ваша оконная процедура получит сообщение WM_COMMAND и
LOWORD(wParam) - identifier of the edit control. HIWORD(wParam) - EN_CHANGE. lParam - a handle to the edit control. А потом считаете кол-во пробелов.
0
|
|
|
3 / 3 / 0
Регистрация: 07.05.2013
Сообщений: 53
|
||||||
| 12.05.2013, 21:10 [ТС] | ||||||
|
ммм...блин, я походу все таки не понял ничего, посидел почитал как реализовать EM_GETSEL, но ...
но вот как его изменить текст в буфере (?!) ума не приложу... Добавлено через 41 минуту и еще я же правильно понимаю, что все послед действия необходимо выполнять в WS_COMMAND ??? Добавлено через 17 минут или может посоветуете книгу в которой, такие банальные вещи как я спрашиваю можно найти и понять =)))
0
|
||||||
|
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
|
||||||||||||||
| 12.05.2013, 22:47 | ||||||||||||||
1
|
||||||||||||||
|
3 / 3 / 0
Регистрация: 07.05.2013
Сообщений: 53
|
|
| 13.05.2013, 16:56 [ТС] | |
|
а если нужно определить количество слов в строке Edit (ES_MULTILINE) можно использовать EM_GETLINE или что то др?
0
|
|
|
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
|
||||||
| 13.05.2013, 18:56 | ||||||
|
А чем вас GetWindowText не устраивает (см. выше)?
Вообще, с EM_GETLINE тоже можно.
0
|
||||||
|
3 / 3 / 0
Регистрация: 07.05.2013
Сообщений: 53
|
|
| 13.05.2013, 19:10 [ТС] | |
|
нет устраивает конечно=) просто пытаюсь разобраться по ходу, вот вопросы и возникают сами собой=)
а вы когда говорили про Пецтольда, имели ввиду книгу "Програамирование под Windows 95/2000"???
0
|
|
|
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
|
|
| 13.05.2013, 19:18 | |
|
Нет, книга Чарльза Петзольда "Программирование для Windows® 95 в двух томах".
Цифры 95 не пугайтесь, WinAPI все тот же. Добавлено через 1 минуту Что-то не видел там в книге про Windows 2000
0
|
|
|
3 / 3 / 0
Регистрация: 07.05.2013
Сообщений: 53
|
|
| 13.05.2013, 19:34 [ТС] | |
|
спасибо скачал, сейчас начнем изучение потихоньку=)
а вот вы в примере переменную qSpaces указали ее какого типа задавать, int или bite?
0
|
|
|
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
|
|
| 13.05.2013, 20:57 | |
|
Очевидно что int.
0
|
|
|
3 / 3 / 0
Регистрация: 07.05.2013
Сообщений: 53
|
||||||
| 13.05.2013, 21:23 [ТС] | ||||||
|
а вот вопрос, он в этой строке
я подозреваю что он на szBuff ругается, но он как char у меня и задан...
0
|
||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
| 13.05.2013, 21:51 | |
|
Лучше не пользоваться макросом 'W' (юникодовским) - в дальнейшем будут большие проблемы с ним.
Если хотите использовать в программе обычные переменные char, то меняйте кодировку в Project -> Properties -> Configuration Properties -> Characters Set = Multy-Byte. А по делу - у вас макрос должен стоять SetWindowTextA или W... Если стоит Префикс 'А' - где то в Header'ah, то ругается, потому что вы вводите переменную 'W'
0
|
|
|
3 / 3 / 0
Регистрация: 07.05.2013
Сообщений: 53
|
|
| 13.05.2013, 22:15 [ТС] | |
|
а это очень принципиальная разница писать SetWindowTextA, SetWindowTextW или SetWindowText ??
0
|
|
|
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
|
||
| 13.05.2013, 22:25 | ||
|
На самом деле функции SetWindowText нету, а есть вариант ASCII - SetWindowTextA и UNICODE - SetWindowTextW (Джеффри Рихтер 1/2 глава)
0
|
||
|
3 / 3 / 0
Регистрация: 07.05.2013
Сообщений: 53
|
|
| 13.05.2013, 22:39 [ТС] | |
|
но wsprintf возвращает только строковые переменные....а в заголовок нужно отправить значение кол-ва слов оно вещественно, в С++ просто был перевод по IntToStr, тут есть что то подобное??
0
|
|
|
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
|
|||||||||||
| 13.05.2013, 23:03 | |||||||||||
|
А если так.
Добавлено через 6 минут Нет, как раз не sscanf, а wsprintf.
1
|
|||||||||||
|
3 / 3 / 0
Регистрация: 07.05.2013
Сообщений: 53
|
|
| 14.05.2013, 14:20 [ТС] | |
|
кстати книга да хорошо написана, и понятно=)
а вот мне нужно реализовать задачу что- то вроде: В каждой строке удалить слово с указанным номером. Если слов в строке меньше, чем указанный номер – в строке удалить первое слово. как это можно сделать, например?
0
|
|
|
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
|
|
| 14.05.2013, 22:36 | |
|
Копируешь весь текст в буфер (GetWindowText), а там в зависимости от разделителей форматируешь ( символ '\n' - новая строка, пробел - следующие слово и т.п. ). А потом обратно заливаешь (SetWindowText).
0
|
|
| 14.05.2013, 22:36 | |
|
Помогаю со студенческими работами здесь
20
Замена текста
Замена текста. замена текста Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|