Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Vadim14
1 / 2 / 6
Регистрация: 27.02.2016
Сообщений: 302
#1

Вставка определенного текста - Delphi

02.10.2016, 12:43. Просмотров 653. Ответов 32
Метки нет (Все метки)

Например нужно мне вставить вот этот текст <b></b> , но что бы написанный посередине текст сохранился.
Поясню, пишем: Большой текст, нажав на Энтер текст должен превратиться в это <b>Большой текст</b>, то есть выделиться тегами. И самое главное, это будет происходить не в своей программе, например в том же Блокноте. Вторую часть задачи я уже решил, поставить таймер, и условие: если нажат Энтер то происходит действие. Помогите пожалуйста решить первую часть

http://www.cyberforum.ru/delphi-beginners/thread1823594.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2016, 12:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вставка определенного текста (Delphi):

Вставить текст после определенного текста
Имеется текстовый файл: 123456 qwerty hahaha Helloo Нужно средствами...

Выборка из текста определенного количества цифр
Здравствуйте, ВСЕ! Имеется текстовый файл, в котором содержатся слова и наборы...

Вставка текста
В окне есть чат,который открывается с помощью кнопки ф6 keybd_event(VK_F6, 0,...

Вставка текста
Пользователь вводит в едит число и в ричедит должна выводится строка, которая...

Вставка текста из файла
Немогу найти ошибку, не хочет брать отдельно каждую строку из файла и...

32
kwinto
55 / 83 / 24
Регистрация: 27.02.2010
Сообщений: 397
02.10.2016, 13:06 #2
Delphi
1
2
3
4
5
6
var
  s: string;
begin
  s := 'Большой текст';
  s:='<b>' + s + '</b>';
end;
0
Vadim14
1 / 2 / 6
Регистрация: 27.02.2016
Сообщений: 302
02.10.2016, 13:20  [ТС] #3
Где первый текст, Большой текст, может быть любым текстом. И если честно, я не вижу где тут идет вставка текста, тут только присвоения значений переменным. Или я такой тупой

Добавлено через 4 минуты
То есть я не понимаю, как вывести S .
0
BOGG ART
576 / 444 / 146
Регистрация: 09.12.2013
Сообщений: 2,384
Записей в блоге: 2
02.10.2016, 13:23 #4
Цитата Сообщение от Vadim14 Посмотреть сообщение
это будет происходить не в своей программе
Это в смысле? "Ctrl+X" + "код из #2" + "Ctrl+V" ?
0
Vadim14
1 / 2 / 6
Регистрация: 27.02.2016
Сообщений: 302
02.10.2016, 13:34  [ТС] #5
Не понял о чем вы говорите. Зачем тут, что то вырезать? Нельзя просто наш текст спереди и сзади окружить тегами?
0
HiredKiller
76 / 76 / 39
Регистрация: 17.02.2016
Сообщений: 453
02.10.2016, 14:12 #6
нет внятного тз - нет решения задачи
для чего конкретно нужна программа? какие задачи будет выполнять?
0
TimKruz
141 / 39 / 14
Регистрация: 16.06.2016
Сообщений: 239
02.10.2016, 14:22 #7
Цитата Сообщение от HiredKiller Посмотреть сообщение
для чего конкретно нужна программа? какие задачи будет выполнять?
Из первого поста очевидно, что ему нужно создать аналог Punto Switcher, который заменяет любой текст в любом поле ввода на тот же текст + теги.

Vadim14, нужно писать хук (hook, ищи "windows hook delphi" - в Интернете есть уроки), который будет перехватывать и эмулировать действия пользователя - таким образом мы получим текст, который печатается пользователем, и получим возможность перепечатать этот текст в окно Блокнота. Далее нужно писать анализатор введённого текста, т.е. на предмет "нужно ли добавлять теги или уже нет" и только потом решать, вставлять текст или нет.

Вот только антивирусы не любят хуки, потому что программа с хуком получает доступ, например, к паролям, которые вводит пользователь.
0
BOGG ART
576 / 444 / 146
Регистрация: 09.12.2013
Сообщений: 2,384
Записей в блоге: 2
02.10.2016, 14:40 #8
А как ещё вы себе это представляете? Не бывает "просто текст" да ещё и "в чужой программе".
0
Vadim14
1 / 2 / 6
Регистрация: 27.02.2016
Сообщений: 302
02.10.2016, 16:56  [ТС] #9
Спасибо, а есть способы вставки определенного текста? Хотелось бы заменить эмуляцию нажатия клавиш, на быструю вставку самого слова, как писал выше, поставленное событие на таймер, так как хендл окна может быть любой.
0
droider
Universal
Эксперт Pascal/Delphi
4383 / 2431 / 762
Регистрация: 04.10.2012
Сообщений: 8,847
02.10.2016, 17:01 #10
Цитата Сообщение от Vadim14 Посмотреть сообщение
пишем: Большой текст, нажав на Энтер текст должен превратиться в это <b>Большой текст</b>, то есть выделиться тегами
Была такая тема на форуме с исходником. Поиск по форуму в помощь.
0
Vadim14
1 / 2 / 6
Регистрация: 27.02.2016
Сообщений: 302
02.10.2016, 17:14  [ТС] #11
Можете название темы подсказать?
0
droider
Universal
Эксперт Pascal/Delphi
4383 / 2431 / 762
Регистрация: 04.10.2012
Сообщений: 8,847
02.10.2016, 17:39 #12
Vadim14, совсем лень да?? "Подсветка текста с тегами в RichEdit".
Берите тот исходник за основу и "вперед, Федя!"
0
BOGG ART
02.10.2016, 18:05
  #13

Не по теме:

Ему же надо в чужой программе впендюривать куску текста префикс и постфикс. Причём по непонятной логике и непонятному фрагменту.

0
Vadim14
1 / 2 / 6
Регистрация: 27.02.2016
Сообщений: 302
02.10.2016, 20:13  [ТС] #14
Там совсем не то, что мне нужно. Есть способы вставить определенный текст в чужой эдит? Как эмуляция нажатия клавиш? PostMessage не подходит, так как там требуется хендл окна, а он может меняться, то есть это может быть не только блокнот. И не хочу замарачиваться по поводу определения окна и тд. Ведь эмуляция нажатий клавиш происходит без этого и достаточно просто. Вот я и хочу вставить сразу определенный текст, а не эмулировать нажатия клавиш, это возможно, если да то как?

Добавлено через 1 час 5 минут
Хотя этот способ не самый лучший, лучше будет преобразовывать текст что уже ввели в теги, можете посоветовать литературу или статьи?
0
MyEternity
96 / 96 / 25
Регистрация: 25.04.2016
Сообщений: 525
02.10.2016, 21:53 #15
Цитата Сообщение от Vadim14 Посмотреть сообщение
PostMessage не подходит, так как там требуется хендл окна, а он может меняться, то есть это может быть не только блокнот. И не хочу замарачиваться по поводу определения окна и тд. Ведь эмуляция нажатий клавиш происходит без этого и достаточно просто.
Если не хотите заморачиваться с SendMessage, PostMessage - то дело труба. Эмуляция нажатий клавиш - работает только для SetForegroundWindow (TOP_MOST окна), есть несколько способов отсылать клавиши в окна на заднем плане, но этот метод еще более "замороченный", нежели Send/Post Message.
0
Vadim14
1 / 2 / 6
Регистрация: 27.02.2016
Сообщений: 302
03.10.2016, 20:52  [ТС] #16
Ладно, разберем PostMessage, как искать окно в котором будет происходить монепуляции с текстом? Это может быть как браузер так и блокнот, то есть об этом я не знаю. Второе, как мне отлавливать текст, перед нажатием на энтер? Хотя не будем затруднять задачу, если нажата какая то клавиша то текст должен выделиться тегами. С хуками ранее не сталкивался, как и с постмессаджем. В интернете искал, но там абсолютно другое использование этих функций Без подсказок не разберусь
0
BOGG ART
576 / 444 / 146
Регистрация: 09.12.2013
Сообщений: 2,384
Записей в блоге: 2
03.10.2016, 21:31 #17
Ещё и в браузерах? Давайте конкретнее опишите что вы хотите получить.
Какой текст - который где-либо набираете надеюсь? А не любой тег на странице?

Добавлено через 1 минуту
Вот набрали вы текст:
Раз два три.
Делфи, Вадим. Салют.
Морковка.
Чего куда и по какому принципу "добавлять"?
0
Vadim14
1 / 2 / 6
Регистрация: 27.02.2016
Сообщений: 302
03.10.2016, 22:23  [ТС] #18
Любой текст окружать тегами, но при нажатии определенной клавиши или клик мыши. Но при этом он может набираться в рандомном окне, то есть или в блокноте или в браузере. Вот поэтому я не знаю как тут использовать PostMessage
0
BOGG ART
576 / 444 / 146
Регистрация: 09.12.2013
Сообщений: 2,384
Записей в блоге: 2
04.10.2016, 00:37 #19
Что конкретно в тексте-примере выделить? Как он должен выглядеть после срабатывания?

А если нажали Enter (или что угодно), но не вводили ничего никуда?
0
northener
пофигист широкого профиля
3251 / 2303 / 628
Регистрация: 15.07.2013
Сообщений: 13,591
04.10.2016, 02:04 #20

Не по теме:

Цитата Сообщение от Vadim14 Посмотреть сообщение
Любой текст окружать тегами, но при нажатии определенной клавиши или клик мыши. Но при этом он может набираться в рандомном окне, то есть или в блокноте или в браузере.
Пойди туда не знаю куда, выдели то не знаю что.
"Ну-ко встаньте предо мною,
Тит Кузьмич и Фрол Фомич!"



Добавлено через 50 минут
Vadim14, дружеский совет от старпёра.
Не надо браться сразу за всё, если не знаешь ничего.
0
04.10.2016, 02:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2016, 02:04
Привет! Вот еще темы с решениями:

Шифрование / дешифровка определенного текста (желательно алгоритмом RC4)
кто нибудь может залить прогу которая может шифровать и дешифровать ...

Вставка текста в активный элемент
В общем нужно организовать вставку текста в активный элемент другого...

Вставка текста через кнопку
Всем доброго времени суток. Нужна помощь в написании кода. Имеется окно...

Вставка текста перед написанным текстом
Если честно, вообще не понимаю как это реализовать. Например написал я слово...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru