Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (2): [1] 2 »   

> Без описания
Budni
Отправлено: 07 Июля, 2019 - 08:08:37
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018  
Репутация: 2




Интересует вопрос можно ли вытаскивать из буфера обмена нужную информацию?
Нужно чтобы программа как то вытаскивала все строки в которых содержится слово "test-test"
и заносила их в блокнот. Я так думаю нужно как то использовать регулярные выражения

Мои попытки создать то, что нужно не дают результата, хелп.
CODE:

string test;
readclipboard (test);

string P;
string T="test";
string R="^test-test(?=.*)";
if (regexsearch(1, #P, T, R)==1)messagebox (P);


Текст из буфера (Отобразить)
 
 Top
Zireael
Отправлено: 07 Июля, 2019 - 11:19:04
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4467
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Нужно чтобы программа как то вытаскивала все строки в которых содержится слово "test-test"

 Цитата:
string test;
readclipboard (test);

string P[9999];
string R="test-test[^\r\n]+";
int count=regexsearch(sizearray(P), #P[0], test, R);
messagebox("Найдено строк: "+format(count));
for(int i=0; i<count; i++)
{
textbkcolor(65280, 0);
textout(i, 300, 100+i*20, P[i], 1);
}
loop()sleep(100);
 
 Top
Budni
Отправлено: 14 Июля, 2019 - 10:12:51
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018  
Репутация: 2




Zireael , а как обратно в буфер обмена полученные данные загнать?
writeclipboard (P[i]); в цикле перезаписывает строку.
 
 Top
Budni
Отправлено: 14 Июля, 2019 - 14:10:00
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018  
Репутация: 2




Ещё интересует как очистить дубли в строках в буфере обмена? Ну или хотя бы в текстовом файле?
(Добавление)
Если через регулярные выражение дубли удалять то получится вот так
CODE:
^(.*?)$\s+?^(?=.*^\1$)
но вот как это в код встроить ума не приложу (
 
 Top
Zireael
Отправлено: 14 Июля, 2019 - 19:04:26
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4467
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
а как обратно в буфер обмена полученные данные загнать?

Собрать все строки в одну и записать в буфер.
CODE:
string P[4]={"qwe", "rty", "asd", "fgh"} // массив строк
string s="";
for(int i=0; i<sizearray(P); i++)s=s+P[i]+formatic(13)+formatic(10); // записали в одну строку
messagebox(s); // получившаяся строка
writeclipboard (s); // записали в буфер

 Цитата:
как очистить дубли в строках

CODE:
string rn=formatic(13)+formatic(10);
string s="Повтор1"+rn+"Какой-то текст1"+rn+"Повтор1"+rn+"Повтор2"+rn+"Какой-то текст2"+rn+"Повтор2"+rn+"Повтор1";
messagebox(s);
regexreplace(-1, #s, s, "^(.*?)$\s+?^(?=.*^\1$)", "", SINGLELINE | MULTILINE);
messagebox(s);
 
 Top
Budni
Отправлено: 07 Августа, 2019 - 09:35:04
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018  
Репутация: 2




Zireael , А как взять текст который в буфере обмена в кавычки?
 
 Top
Dantes3000
Отправлено: 07 Августа, 2019 - 09:47:23
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016  
Репутация: 58




Budni ,

CODE:
string s;

readclipboard(s);

s=formatic(34)+s+formatic(34);

messagebox(s);


только язык надо бы переключать перед копированием в буфер
 
 Top
Budni
Отправлено: 07 Августа, 2019 - 09:56:44
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018  
Репутация: 2




Dantes3000 , Так всё просто))) спасибо, вот только не понял зачем язык переключить?
 
 Top
Dantes3000
Отправлено: 07 Августа, 2019 - 10:15:21
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016  
Репутация: 58




Budni , Если копировать русский текст с английской раскладкой, то запишутся иероглифы
 
 Top
Budni
Отправлено: 07 Августа, 2019 - 11:51:18
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018  
Репутация: 2




А как удалить пробелы и символы? #{! все кроме точек?
в том же буфере?

CODE:
regexreplace(-1, #test, test, "[^{#!] ", "", SINGLELINE | MULTILINE);

Не могу пока разобраться
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by