1 (изменено: p.polena, 2017-11-25 19:21:50)

Тема: AHK: Поиск текста из буфера в файле .txt

Здравствуйте. Подскажите, как реализовать при помоши AHK:
1. Имеется документ (111.txt) с набором фраз (20 - 30 шт.)
2. Нужно при копировании текста (фразы) в буфер из любой программы искать его в 111.txt и подавать эвуковой сигнал, если таковой найден.
   Спасибо.

2

Re: AHK: Поиск текста из буфера в файле .txt

RegExMatch. Переменная, содержащая буфер обмена называется Clipboard.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

3

Re: AHK: Поиск текста из буфера в файле .txt

Пример можно?

4

Re: AHK: Поиск текста из буфера в файле .txt

Примеры в справке. Там есть все материалы, для достижения вашей цели.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

5

Re: AHK: Поиск текста из буфера в файле .txt

По RegExMatch есть перевод в соответствующей ветке форума. Изменения в буфере отлавливаются OnClipboardChange.

6

Re: AHK: Поиск текста из буфера в файле .txt

Не под силу оказалось мне решить эту задачу. Посему прошу поделиться хотя бы примерным наброском данного AHK.

7

Re: AHK: Поиск текста из буфера в файле .txt

Ну что конкретно вам не удалось? Вы справку читали?

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

8 (изменено: Phoenixxx_Czar, 2017-11-29 03:24:39)

Re: AHK: Поиск текста из буфера в файле .txt

Решение проблемы с кодировкой русского текста в буфер обмена найдите сами.

#Persistent
return

OnClipboardChange:
if (A_EventInfo == 1)
{
	FileRead, temp_text, 1111.txt
	if temp_text contains % ClipBoard
	{
		SoundBeep
	}
	temp_text := ""
}
return
Мое вк: https://vk.com/perbuy_czar

9

Re: AHK: Поиск текста из буфера в файле .txt

Phoenixxx_Czar, зачем здесь A_EventInfo?
Зачем каждый раз считывать текстовый файл?
Contains здесь явно неверный оператор.

10

Re: AHK: Поиск текста из буфера в файле .txt

Не соглашусь только с считыванием файла каждый раз: нам же не известно сколько времени пройдет от первого копирования текста до второго, третьего и т.д. Может там уже файлик 100 раз переписался.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

11 (изменено: svoboden, 2017-11-29 18:22:42)

Re: AHK: Поиск текста из буфера в файле .txt

Вроде так можно искать совпадения через RegEx:

coat =
(
other
is
red
)

Output := RegExMatch(coat, "\b" . clipboard . "\b")
if Output != 0
MsgBox нашло совпадение

12 (изменено: Malcev, 2017-11-29 18:32:15)

Re: AHK: Поиск текста из буфера в файле .txt

Мимо.

clipboard := "стол"
coat =
(
стол
is
red
)

Output := RegExMatch(coat, "\b" . clipboard . "\b")
if Output != 0
MsgBox нашло совпадение

Ну и в задани требуется искать совпадение фраз, а не слов во фразах.

13 (изменено: svoboden, 2017-11-29 19:04:40)

Re: AHK: Поиск текста из буфера в файле .txt

Ну, у меня ищет фразы

clipboard := "Is other off"

coat =
(
her
other
Is other off
)

Output := RegExMatch(coat, "\b" . clipboard . "\b")
if Output != 0
MsgBox совпадение найдено

, а про русские буквы не знал. Так, такой вариант лучше, чем ничего же.

14 (изменено: Malcev, 2017-11-29 19:14:26)

Re: AHK: Поиск текста из буфера в файле .txt

У вас ищет слова в фразах.
И почему вы не используете отступы?

clipboard := "other"

coat =
(
her
other
Is other off
)

Output := RegExMatch(coat, "\b" . clipboard . "\b")
if Output != 0
   MsgBox совпадение найдено

15

Re: AHK: Поиск текста из буфера в файле .txt

Malcev пишет:

И почему вы не используете отступы?

Какие отступы? А слова, конечно, ищет, чего они не должны искаться?

16

Re: AHK: Поиск текста из буфера в файле .txt

svoboden пишет:

Какие отступы?

https://ru.wikipedia.org/wiki/%D0%9E%D1 … %B8%D0%B5)

svoboden пишет:

А слова, конечно, ищет, чего они не должны искаться?

Вы на самом деле не понимаете разницу или троллите?

17

Re: AHK: Поиск текста из буфера в файле .txt

Ну, я не хотел писать тэсу, чтобы он шел читать справку, а показать хоть какой-нибудь пример.

18

Re: AHK: Поиск текста из буфера в файле .txt

Самый простой способ разделять фразы каким-нибудь невстречающимся в них знаком и искать через InStr.

19 (изменено: p.polena, 2017-11-29 20:43:20)

Re: AHK: Поиск текста из буфера в файле .txt

Спасибо всем, кто помогает. У меня пока не получается сделать то, что нужно. Попробую конкретизировать задачу. В электронных письмах имеются несколько десятков позиций. Некоторые ненужные. При копировании одной из позиций (в буфер), нужно автоматически сравнить с "чёрным списком" и подать некий знак, для понимания её (позиции) нужности-ненужности. Список состоит из 30-60 фраз. Изменяется редко. Не обязательно документ для сравнения должен быть в .txt. Можно поместить набор фраз в AHK.
Справка перечитана. Выкладывать результаты потуг стеснительно.

20

Re: AHK: Поиск текста из буфера в файле .txt

txt = |фраза1|фраза2|фраза3|
clipboard = фраза1
If InStr(txt, "|" Clipboard "|")
   msgbox найдено

21

Re: AHK: Поиск текста из буфера в файле .txt

p.polena, вы так и не ответили. На каком этапе вы остановились? Я не помогу вам, если вы не будете проявлять активность в обучении.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

22

Re: AHK: Поиск текста из буфера в файле .txt

p.polena пишет:

В электронных письмах имеются несколько десятков позиций
...
30-60 фраз

Фразы разделены переносом строки что ли? Думаю, в Ваших планах не было 30-60 раз нажимать Ctr+C, Ctrl+V.

23 (изменено: p.polena, 2017-11-29 23:00:24)

Re: AHK: Поиск текста из буфера в файле .txt

ypppu, копирую одну фразу-позицию. Автоматически сравнивается со списком. Если совпадение, то пропускаю и перехожу к следующей фразе. Не совпадение. Этот позицию инвойса в работу.

24

Re: AHK: Поиск текста из буфера в файле .txt

Чем отделены друг от друга фразы? AutoHotkey во многих случаях позволяет избавиться от рутины с копированием.

25

Re: AHK: Поиск текста из буфера в файле .txt

Так что вы в результате хотите получить - список фраз, которых нету в чёрном списке?