1 (изменено: stealzy, 2017-04-09 10:38:28)

Тема: AHK: Удвоение перносов строк в команде Send

Скопируйте несколько строк с переносами строки в стиле windows — CL;RF и запустите этот нехитрый скрипт:

text:=Clipboard
Loop, parse,text
{
    r := r . A_LoopField 
}
Send % r

Заметно удвоение переносов.
Видимо и CL и RF считаются отдельными переносами, даже если идут друг за другом.
Что делать?
---------------------------
UPD:

teadrinker пишет:

просто Send вместо `r посылает Enter. Посмотреть можно так:
Запускаем код:

#Persistent
Send `r

Кликаем дважды по иконке скрипта в трее, смотрим меню View -> Key history and script info

teadrinker пишет:

Loop, parse, Clipboard,, `r
    r .= A_LoopField

SendRaw % r

0xFFFFFF
0xFF0000
0xFFFFFF

2 (изменено: Alectric, 2014-11-10 18:13:44)

Re: AHK: Удвоение перносов строк в команде Send

Добавить очистку от лишних переносов:

    StringReplace,a,A_LoopField,`n,,all
    r := r . a
Win 7 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

3

Re: AHK: Удвоение перносов строк в команде Send

stealzy пишет:

Что делать? Может запостить на английский форум?

Справку читать, и примеры использования смотреть.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4 (изменено: stealzy, 2014-11-24 11:38:25)

Re: AHK: Удвоение перносов строк в команде Send

Окей, проблему решил удалением лишних переносов

text:=Clipboard
Loop, parse,text,`n
{
    r := r . A_LoopField 
}
SendRaw % r

Но все равно это баг(справку читал). Если файл не в Windows формате, получится ппц.

0xFFFFFF
0xFF0000
0xFFFFFF

5

Re: AHK: Удвоение перносов строк в команде Send

Loop, parse, Clipboard,, `r
    r .= A_LoopField 

SendRaw % r

А в чём баг-то?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6 (изменено: stealzy, 2014-11-24 11:34:19)

Re: AHK: Удвоение перносов строк в команде Send

`r

OmitChars — Необязательный список символов (чувствителен к регистру), которые должны убираться с начала и с конца каждой подстроки

Но ведь текст получается как был. Откуда переносы там появились, чтобы их потом удалять?
Почему текст в мак(RF) или юникс(CL) формате обрабатывается без костылей?
И как мне писать универсальный скрипт? Распозновать в каком формате текст? Расскажете как?

0xFFFFFF
0xFF0000
0xFFFFFF

7

Re: AHK: Удвоение перносов строк в команде Send

stealzy пишет:

Откуда переносы там появились, чтобы их потом удалять?

Так в буфер обмена записывается, AHK здесь не причём, думаю. А юникод воспринимает `r`n как два переноса.

Расскажете как?

Вот так:

Loop, parse, Clipboard,, `r
    r .= A_LoopField 

SendRaw % r
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8 (изменено: stealzy, 2014-11-24 14:29:06)

Re: AHK: Удвоение перносов строк в команде Send

Точно, это вина команды Send

SendRaw % Clipboard

Спасибо, тут http://forum.script-coding.com/viewtopic.php?id=10182
та же проблема была.

Ссылка оформляется тегом "URL".
Извините, у меня userjs автоматом http ссылками делает, забыл

0xFFFFFF
0xFF0000
0xFFFFFF

9

Re: AHK: Удвоение перносов строк в команде Send

Можно привести все переносы к одному виду:

SendRaw % RegExReplace(Clipboard, "\R", "`n")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

10

Re: AHK: Удвоение перносов строк в команде Send

Нет, не в юникоде дело оказалось, просто Send вместо `r посылает Enter. Посмотреть можно так:
Запускаем код:

#Persistent
Send `r

Кликаем дважды по иконке скрипта в трее, смотрим меню View -> Key history and script info.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK: Удвоение перносов строк в команде Send

stealzy, языком конференции является русский (п. 3.3 Правил). Измените заголовок темы.

12

Re: AHK: Удвоение перносов строк в команде Send

Я бы "жука" заменил на "баг".

13

Re: AHK: Удвоение перносов строк в команде Send

Не смешно, есть русский аналог:
bug - ошибка, недочёт