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

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

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

> Описание: Иероглифе при вставке из буфера
kunni
Отправлено: 27 Июня, 2016 - 00:01:40
Post Id



Пользователь
Наблюдатель


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




День добрый!
Написал скрипт и собрал под ХР. Выполняется без нареканий.
При тестировании под вин7 сбой кодировки в русских символах в последовательности команд:

копировать в буфер("фраза на русском");
контрл+V;//вставить

Использовать команду key("фраза", ...) нет возможности.

Как можно исправить без изменения текста скрипта? Или собрать под вин7? Что делать?
(Добавление)
Пересобрал под вин7. То же самое.
Протестировал такую комбинацию под вин7 - при любых сочетаниях в блокнот, в браузер и т.д. из буфера обмена текст вставляется в неверной кодировке.
CODE:
writeclipboard("всем привет");
pause(1500);
ctrl_v();

//CTRL+V вставить
function ctrl_v(){keydown (CONTROL); key ('v'); keyup (CONTROL);}


Кстати, под вин7 версия 5,11, под ХР версия не обновляется и до сих пор стоит 5,06

(Отредактировано автором: 27 Июня, 2016 - 00:02:03)

 
 Top
Kibor
Отправлено: 27 Июня, 2016 - 06:51:20
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8094
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




это не ошибка.
следите что бы при такой операции если есть руские символы в кибор и блокноте(программе) стояли русские раскладки. то же самое касается при ручном копирование кода.
заблаговременно установите раскладку с помощью sendlanguage
 
 Top
kunni
Отправлено: 27 Июня, 2016 - 21:38:50
Post Id



Пользователь
Наблюдатель


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




Как это не ошибка?
Странно как-то получается.
Вот я запускаю собранный exe. Открывает окно с кнопкой ПУСК. Язык стоит русский. В целевом окне (пусть будет блокнот) стоит русский. Для верности добавим команду перед вставкой:
CODE:
win w=window (-1, "Edit", window ("тест.txt — Блокнот", "Notepad", -1));

writeclipboard("всем привет");
pause(1500);
ctrl_v();

//CTRL+V вставить
function ctrl_v(){sendlanguage("00000419", w); keydown (CONTROL); key ('v'); keyup (CONTROL);}

Жмем кнопку пуск. В блокнот вставляется русское сообщение, все хорошо. Скрипт заканчивает свою работу и возвращает окно с кнопкой ПУСК. Язык уже стоит Английский (в exe кибор). Повторный запуск - вставляются иероглифы.
Это как? Это зачем он вернулся к английскому? Ладно в редакторе, а в собранном exe зачем?
Я понял, как с помощью sendlanguage поменять язык в целевом для вставке окне (в блокноте). Как поменять язык до запуска exe кибор?
Пример. Пользователь скачивает мой exe и запускает его. Это ему нужно проверять, чтобы перед запуском exe скрипта у него стоял русский язык?

(Отредактировано автором: 27 Июня, 2016 - 21:44:45)

 
 Top
Kibor
Отправлено: 27 Июня, 2016 - 22:09:15
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8094
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 kunni пишет:
Как это не ошибка?

Нет.. Конечно безусловно ошибка.. ошибка программирования.
CODE:
win w=window ("Безымянный — Блокнот", "Notepad", -1);
sendlanguage("00000419", w);

writeclipboard("всем привет");
pause(1500);
ctrl_v();

//CTRL+V вставить
function ctrl_v()
{
keydown (CONTROL); key ('v'); keyup (CONTROL);
}


Блокнот один должен быть. указатель не на edit. он на окно быть должен......
 
 Top
kunni
Отправлено: 27 Июня, 2016 - 22:23:21
Post Id



Пользователь
Наблюдатель


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




 Kibor пишет:
Нет.. Конечно безусловно ошибка.. ошибка программирования.

Прошу прощения. Делал проверочный скрипт на скорую руку. Безусловно, edit тут ни при чем. С вашим вариантом работает.
Все тонкости кибор мне еще предстоит познать! Очень нуждаюсь в более подробных статьях по старым функциям (например window), те, что на сайте в учебнике, очень сложны для понимания. Все функции, описанные на форуме, было гораздо проще осмыслить, в них куча примеров, разъяснений и способов применения.

В очередной ннадцатый раз большое СПАСИБО!

З.Ы. В моем скрипте, из-за которого мне пришлось создать эту тему, действительно в какой-то момент происходит переключение языка на английский, хотя это не требуется. Буду искать и для верности перед КОНТРЛ+В добавлю sendlanguage
(Добавление)
А вот и собственно то самое переключение раскладки посреди скрипта, из-за которого весь сыр-бор:

key ('v', 1, 1, w); вместо key ('v', 1, 0, w); или лучше key ('м', 1, 1, w);// м-русское

Так что и sendlanguage не понадобился!

(Отредактировано автором: 27 Июня, 2016 - 22:29:20)

 
 Top
v0id
Отправлено: 22 Февраля, 2017 - 00:03:00
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2016  
Репутация: 0




Мне эта тема помогла решить проблему, когда я из другого редактора копировал текст в кибр. При любой кодировке выдовало крякозябры. Но стоило переключить раскладку на русский и все заработало нормально. Может мой вопрос не коректен, но все же интересно, не лучше ли бы было привязывать копирование текста к кодировке копируемого текста, а не к раскладке Растерялся ?
 
 Top
Medvedev
Отправлено: 01 Февраля, 2018 - 11:13:15
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2015  
Репутация: 0




А если текст копируется не из программы, а читается из файла? Кодировку файла в моём случае изменять нельзя, т.к. он генерируется другой программой (игрой).
 
 Top
Zireael
Отправлено: 01 Февраля, 2018 - 15:39:24
Post Id



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


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




Какая кодировка используется? Можно через командную строку скопировать содержимое файла в другой файл в ansi.
 
 Top
Medvedev
Отправлено: 02 Февраля, 2018 - 21:38:29
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2015  
Репутация: 0




Zireael , Можно подробнее, как сменить кодировку командной строкой? Желательно через bat. В моем случае cp1251
 
 Top
Zireael
Отправлено: 02 Февраля, 2018 - 22:17:45
Post Id



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


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




 Цитата:
В моем случае cp1251

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


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




Powered by