Выделить (Ctrl+A) | Копировать (Ctrl+C) | Вставить (Ctrl+V) на C#

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 665
Реакции
675
Баллы
113
Встретился неудобный редактор HTML, с которого не взять полное значение элемента, так что выложу код на C#, которые выделяет, копирует, вставляет (Ctrl+A)(Ctrl+C)(Ctrl+V), думаю в хозяйстве пригодится.
Выделить, копировать, положить в переменную
Код:
Развернуть Свернуть Копировать
instance.ActiveTab.KeyEvent("a","press","ctrl");//выделяем текст
instance.ActiveTab.KeyEvent("c","press","ctrl");//копируем текст в буфер
project.Variables["text"].Value = System.Windows.Forms.Clipboard.GetText();//кладем текст в переменную text
Вставить
Код:
Развернуть Свернуть Копировать
var textcr = project.Variables["text"].Value;
System.Windows.Forms.Clipboard.SetText(textcr);
instance.ActiveTab.KeyEvent("v","press","ctrl");//вставить текст из переменной
А то ведь это самое популярное, чего нет в зенопостере -
выделить Ctrl+a, копировать Ctrl+c, вставить Ctrl+v .
 
Последнее редактирование:
Встретился неудобный редактор HTML, с которого не взять полное значение элемента, так что выложу код на C#, которые выделяет, копирует, вставляет (Ctrl+A)(Ctrl+C)(Ctrl+V), думаю в хозяйстве пригодится.
Выделить, копировать, положить в переменную
Код:
Развернуть Свернуть Копировать
instance.ActiveTab.KeyEvent("a","press","ctrl");//выделяем текст
instance.ActiveTab.KeyEvent("c","press","ctrl");//копируем текст в буфер
project.Variables["text"].Value = System.Windows.Forms.Clipboard.GetText();//кладем текст в переменную text
Вставить
Код:
Развернуть Свернуть Копировать
var textcr = project.Variables["text"].Value;
System.Windows.Forms.Clipboard.SetText(textcr);
instance.ActiveTab.KeyEvent("v","press","ctrl");//вставить текст из переменной
А то ведь это самое популярное, чего нет в зенопостере -
выделить Ctrl+a, копировать Ctrl+c, вставить Ctrl+v .
экшен JS все решает это без проблем!
 
ты имеешь ввиду, что с таким редактором можно легко взаимодействовать через JS?
"редактор" - слово незаметил, думал речь о повсседневном применении копипаста! )
О каком редакторе разговор?
 
Не знаю как Роману, а мне встречался tinyMCE - он в iframe и элементы не сразу подхватывались.
 
Пользовался похожим решением из первого поста, но при многопоточной работе в некоторых потоках результат был непредвиденный из-за того, что буфер обмена - один. И соответственно он использовался в нескольких потоках и где-то даже из-за этого потоки отваливались в самый ответственный момент. Поэтому модифицировал его блокировкой и с сохранением предыдущего буфера в переменную и возвращением его обратно.

Выкладываю его дабы спецы по C# сказали правильно ли он работает - смущает то, что я не знаю как работает lock(SyncObject), блокирует ли он все остальные потоки зенки или работает как-то по-другому?

Код:
Развернуть Свернуть Копировать
lock(SyncObject)
{
    String previous_text = null;
    previous_text = System.Windows.Forms.Clipboard.GetText();
   
    var descr = project.Variables["content"].Value;
    System.Windows.Forms.Clipboard.SetText(descr);
    instance.ActiveTab.KeyEvent("v","press","ctrl");
    System.Windows.Forms.Clipboard.Clear();
   
    System.Windows.Forms.Clipboard.SetText(previous_text);
}
 
  • Спасибо
Реакции: GREXA, zombie и Metrix
Пользовался похожим решением из первого поста, но при многопоточной работе в некоторых потоках результат был непредвиденный из-за того, что буфер обмена - один. И соответственно он использовался в нескольких потоках и где-то даже из-за этого потоки отваливались в самый ответственный момент. Поэтому модифицировал его блокировкой и с сохранением предыдущего буфера в переменную и возвращением его обратно.

Выкладываю его дабы спецы по C# сказали правильно ли он работает - смущает то, что я не знаю как работает lock(SyncObject), блокирует ли он все остальные потоки зенки или работает как-то по-другому?

Код:
Развернуть Свернуть Копировать
lock(SyncObject)
{
    String previous_text = null;
    previous_text = System.Windows.Forms.Clipboard.GetText();
 
    var descr = project.Variables["content"].Value;
    System.Windows.Forms.Clipboard.SetText(descr);
    instance.ActiveTab.KeyEvent("v","press","ctrl");
    System.Windows.Forms.Clipboard.Clear();
 
    System.Windows.Forms.Clipboard.SetText(previous_text);
}
lock (SyncObjects.InputSyncer)
 
Последнее редактирование:
у меня этот снипет тупит в многопотоке( и не могу понять причину..иногда нормально вставляет, иногда курочит смайлы в вопросики , иногда выходит по красной ветке но при этом постит а иногда выходит по зеленой - но и не постит
Пробывал на всех версиях..в 1 поток работает. как добавляю - 3,5 - начинается тупняки. Текст большой вставляется (простынь кеев)
 
у меня этот снипет тупит в многопотоке( и не могу понять причину..иногда нормально вставляет, иногда курочит смайлы в вопросики , иногда выходит по красной ветке но при этом постит а иногда выходит по зеленой - но и не постит
Пробывал на всех версиях..в 1 поток работает. как добавляю - 3,5 - начинается тупняки. Текст большой вставляется (простынь кеев)
Пробовал многопоточный вариант, который я как-то выкладывал?
 
подскажите пожалуйста сниппет. как взять текст из переменной и вставить его в инстанс через ctr+v ? что б он не печатался а именно вставился через ctr+v
 
подскажите пожалуйста сниппет. как взять текст из переменной и вставить его в инстанс через ctr+v ? что б он не печатался а именно вставился через ctr+v
Чем не подходит тот сниппет для вставки, который в первом посте? В text переменную,кладешь, что надо и пуляешь.
 
Все подходит разобрался Большое Спасибо! Очень давно искал ето действие?
 
Спасибо, очень пригодилось!, удалось решить один затуп
 
  • Спасибо
Реакции: Roman*
Ребят подскажите как найти на странице нужный текст из переменной, выделить его и вставить другой из переменной.
т.е. поиск и замена на странице.
 
Ребят подскажите как найти на странице нужный текст из переменной, выделить его и вставить другой из переменной.
т.е. поиск и замена на странице.
Выделить все и скопировать в переменную, произвести манипуляции по замене, вставить обратно отредактированный текст.
 
Встретился неудобный редактор HTML, с которого не взять полное значение элемента, так что выложу код на C#, которые выделяет, копирует, вставляет (Ctrl+A)(Ctrl+C)(Ctrl+V), думаю в хозяйстве пригодится.
Выделить, копировать, положить в переменную


в многопотоке норм работает?

у меня снипет от дона шампиньона не всегда норм отрабатывает, у меня одновременно работает куча парсеров и постеров, так иногда наблюдаю, что на одном паблике текст разместился, который предназначен для другого паблика, и затуп именно в буфере обмена, а еще не всегда этому сниппету удается вернуть предыдущее состояние буфера и выходит с ошибкой.
 
в многопотоке норм работает?

у меня снипет от дона шампиньона не всегда норм отрабатывает, у меня одновременно работает куча парсеров и постеров, так иногда наблюдаю, что на одном паблике текст разместился, который предназначен для другого паблика, и затуп именно в буфере обмена, а еще не всегда этому сниппету удается вернуть предыдущее состояние буфера и выходит с ошибкой.
Писали, что буфер один и могут быть глюки, я не проверял.
 
  • Спасибо
Реакции: Fedor5588
  • Спасибо
Реакции: Sergodjan и Rimen
Встретился неудобный редактор HTML, с которого не взять полное значение элемента, так что выложу код на C#, которые выделяет, копирует, вставляет (Ctrl+A)(Ctrl+C)(Ctrl+V), думаю в хозяйстве пригодится.
Выделить, копировать, положить в переменную
Код:
Развернуть Свернуть Копировать
instance.ActiveTab.KeyEvent("a","press","ctrl");//выделяем текст
instance.ActiveTab.KeyEvent("c","press","ctrl");//копируем текст в буфер
project.Variables["text"].Value = System.Windows.Forms.Clipboard.GetText();//кладем текст в переменную text
Вставить
Код:
Развернуть Свернуть Копировать
var textcr = project.Variables["text"].Value;
System.Windows.Forms.Clipboard.SetText(textcr);
instance.ActiveTab.KeyEvent("v","press","ctrl");//вставить текст из переменной
А то ведь это самое популярное, чего нет в зенопостере -
выделить Ctrl+a, копировать Ctrl+c, вставить Ctrl+v .
Уууууууу :ay: Супер полезно! Спасибо, выручил!
 
Встретился неудобный редактор HTML, с которого не взять полное значение элемента, так что выложу код на C#, которые выделяет, копирует, вставляет (Ctrl+A)(Ctrl+C)(Ctrl+V), думаю в хозяйстве пригодится.
Выделить, копировать, положить в переменную
Код:
Развернуть Свернуть Копировать
instance.ActiveTab.KeyEvent("a","press","ctrl");//выделяем текст
instance.ActiveTab.KeyEvent("c","press","ctrl");//копируем текст в буфер
project.Variables["text"].Value = System.Windows.Forms.Clipboard.GetText();//кладем текст в переменную text
Вставить
Код:
Развернуть Свернуть Копировать
var textcr = project.Variables["text"].Value;
System.Windows.Forms.Clipboard.SetText(textcr);
instance.ActiveTab.KeyEvent("v","press","ctrl");//вставить текст из переменной
А то ведь это самое популярное, чего нет в зенопостере -
выделить Ctrl+a, копировать Ctrl+c, вставить Ctrl+v .

приветствую только начал заниматься zp я не прогер, можете подсказать как это реализовать а то тыкаю и не получается ничего. Создаем кубик C# вставляем код, а дальше что и как
 
приветствую только начал заниматься zp я не прогер, можете подсказать как это реализовать а то тыкаю и не получается ничего. Создаем кубик C# вставляем код, а дальше что и как
Первый кубик сишарпа копирует текст, а второй вставляет из буфера, курсор вроде должен стоять в начале текста.
 
Способ получился, но в моем случае получается БАГ и вставленный текст не засчитывается и зависает, тоесть дальше моя форма не пускает меня потому что он как будто не видит текст. Можно ли с вами как то связаться и вы посмотрите проект, очень нужно чтоб работало а все не получается почему то(

 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)