|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.09.2022, 23:34 | #1 |
Разъяснятор
Форумчанин
Регистрация: 21.04.2022
Сообщений: 126
|
Отредактировать строку в буфере обмена (RAD 10.4)
Нужно отредактировать строку в буфере обмена. А именно: убрать из неё CRLF'ы с их заменой на " " или ",". Собственно замену символов в строке я могу сделать. Интересует именно как скопировать содержимое буфера обмена в String. Как это можно сделать?
Варианты подходящих решений, как я вижу на настоящий момент: 1) Отредактировать строку с заменой символов прямо в буфере обмена и потом скопировать её в переменную типа String 2) Скопировать в переменную типа String содержимое буфера обмена и уже там делать замену символов. Второе думаю проще? Последний раз редактировалось hexor_boo; 28.09.2022 в 23:39. Причина: Уточнение вопроса |
29.09.2022, 00:25 | #2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Второе не только проще, но и правильнее. Для взаимодействия с буфером обмена используйте объект Clipboard
Код:
|
30.09.2022, 20:13 | #3 |
Разъяснятор
Форумчанин
Регистрация: 21.04.2022
Сообщений: 126
|
2 macomics, а какой юнит нужно подключить чтобы обращаться к этому объекту в Delphi RAD 10.4 (Sydney)? Пробовал Fmx.Clipboard, Fmx.Clipboard.Win - не работает...
UPD: а ларчик просто открывался - нужно подключать стандартный юнит Clipbrd Последний раз редактировалось hexor_boo; 30.09.2022 в 20:20. Причина: Продвижение в решении задачи |
30.09.2022, 20:56 | #4 |
Разъяснятор
Форумчанин
Регистрация: 21.04.2022
Сообщений: 126
|
Задача стоит для компонента TcxTextEdit (библиотека компонентов DevExpress 19.1.2)
У него нет события OnChange и прикручено какое-то извращенство в виде OnEditing Я пишу такой код: Код:
Код:
Код:
Встречался кто-то с такой задачкой? |
30.09.2022, 21:31 | #5 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Странный глюк. Попробуйте так
Код:
Последний раз редактировалось macomics; 30.09.2022 в 21:36. |
30.09.2022, 21:48 | #6 |
Разъяснятор
Форумчанин
Регистрация: 21.04.2022
Сообщений: 126
|
Результат edAdr.Text:
Код:
|
30.09.2022, 22:01 | #7 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Тогда стоит посмотреть где же глюк. В ReplaceStr или в Clipboard.AsText
Для начала выведите строки без замены из Clipboard.AsText После попробуйте собственную функцию замены текста Код:
|
30.09.2022, 22:05 | #8 |
Разъяснятор
Форумчанин
Регистрация: 21.04.2022
Сообщений: 126
|
Открыл cxTextEdit.pas - имена переменных-свойств и методов классов НЕ в алфавитном порядке. Ужось. Не хотелось бы углубляться в его анализ.
|
30.09.2022, 22:09 | #9 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
А вам оно надо. Все решается внешними тестами.
Если хотите что-то найти, тогда открывайте контекстное меню на имени свойства и там будет 'Найти text' или как-то так. Потом по объявлению свойства в классе, на который вас перебросит сам редактор и там в контекстном меню уже будет 'Перейти к реализации text' или как-то так. Точно такого же эффекта можно добиться зажав Ctrl и щелкая ЛКМ по тексту в программе. Последний раз редактировалось macomics; 30.09.2022 в 22:13. |
30.09.2022, 22:18 | #10 |
Разъяснятор
Форумчанин
Регистрация: 21.04.2022
Сообщений: 126
|
2 macomics, благодарю!
Однако очень странно работает само событие OnEditing у этого компонента. Так, например если нажать CTRL+V в этом edAdr и прописать в обработчике события CanEdit:=False; (даже, например, после присвоения строки в Text), то строка в Text сотрется. А если сначала присвоить True, то потом невозможно присвоить False. Через Ctrl-ЛКМ - это я знаю. Для этого компонента так не получилось. Если все решается внешними тестами - нет смысла закапываться - согласен. Последний раз редактировалось hexor_boo; 30.09.2022 в 22:23. Причина: Дополнил ответ |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Гиперссылка в буфере обмена | Maksim_V | Microsoft Office Excel | 3 | 07.07.2017 15:54 |
Автозамена в буфере обмена | Егор Александрович | Microsoft Office Word | 1 | 27.02.2016 03:36 |
Кодировка в буфере обмена | dacorp | Общие вопросы Delphi | 3 | 14.05.2011 16:46 |
Выловить в буфере обмена даные с значением http | -=Virus=- | Помощь студентам | 13 | 20.02.2010 23:14 |
Что у тебя в буфере обмена? | Hollander | Свободное общение | 26 | 18.02.2010 16:55 |