1

Тема: AHK: Обрамление выделенного текста тегами

Здравствуйте. Как настроить горячие клавиши для работы с html разметкой
при нажатии Ctrl+P выделенный текст (в админке сайта или блокноте) должен обернутся в тег

<p>текст</p>

Ctrl+B

<strong>текст</strong>

и так далее
возможно ли это вобще сделать?

2

Re: AHK: Обрамление выделенного текста тегами

Как-нибудь так.

^p::
Send ^c
clipboard = <p>%clipboard%</p>
Send ^v
Return

^b::
Send ^c
clipboard = <strong>%clipboard%</strong>
Send ^v
Return

3

Re: AHK: Обрамление выделенного текста тегами

все работает. Огромное спасибо!

4

Re: AHK: Обрамление выделенного текста тегами

Только вместо

Send ^c
Send ^v

лучше

Send ^{vk43}
Send ^{vk56}

иначе может не работать при русской раскладке клавиатуры.

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

5

Re: AHK: Обрамление выделенного текста тегами

да, в русской раскладке не работало, сейчас все отлично.
Спасибо!

6

Re: AHK: Обрамление выделенного текста тегами

Еще один маленькая загвоздка.
Как вставить текст кирилицей?

^b::
Send ^{vk43}
clipboard = вечер
Send ^{vk56}
Return

получается - вечер

7 (изменено: Selja8, 2014-07-28 08:29:34)

Re: AHK: Обрамление выделенного текста тегами

http://forum.script-coding.com/viewtopic.php?id=5251

8

Re: AHK: Обрамление выделенного текста тегами

Думаю надо просто использовать не анси, а юникод AutoHotkey.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: AHK: Обрамление выделенного текста тегами

Огромное человеческое Спасибо. Заработало!

10

Re: AHK: Обрамление выделенного текста тегами

еще раз извиняюсь, помогите чайнику!
как вставить пробел и тексты с новой строки

^[::
Send ^{vk43}
clipboard = вечером
Было утро.
Оптовая цена 9000 руб.
Более 10 000 аксессуаров!
Send ^{vk56}
Return

^]::
Send ^{vk43}
clipboard = вечером (пробел)
Send ^{vk56}
Return

11 (изменено: Selja8, 2014-07-28 13:21:41)

Re: AHK: Обрамление выделенного текста тегами

Msgbox Текст `r`n текст с новой строки.

`t (табуляция), `n (перевод строки) и `r (возврат каретки).

12 (изменено: Selja8, 2014-07-28 13:49:09)

Re: AHK: Обрамление выделенного текста тегами

HideArr := Object()
text .= "Вечером `r`n Было утро."
;Можно и по словам отдельно разбить.
text1 .= "Вечером"
text2 .= "Было утро"
Textsort .= "555"
Sort, Textsort
Textsort := "Отсортированый текст" ":`r`n" Text1 ",`r`n" Text2 ".`r`n" Textsort
msgbox %text% `n %textsort%

Как-то так.

13

Re: AHK: Обрамление выделенного текста тегами

ked2802, оформите код правильно!

14

Re: AHK: Обрамление выделенного текста тегами

Selja8 пишет:

HideArr := Object()

Магия?!

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

15

Re: AHK: Обрамление выделенного текста тегами

serzh82saratov пишет:

Магия?!

Да, как то так.

16

Re: AHK: Обрамление выделенного текста тегами

Огромное спасибо! У меня после этого все заработало.



Utf8ToAnsi(Utf8String, CodePage = 1251)
{
    If (NumGet(Utf8String) & 0xFFFFFF) = 0xBFBBEF
        BOM = 3
    Else
        BOM = 0

    UniSize := DllCall("MultiByteToWideChar", "UInt", 65001, "UInt", 0
                                            , "UInt", &Utf8String + BOM, "Int", -1
                                            , "Int", 0, "Int", 0)
    VarSetCapacity(UniBuf, UniSize * 2)
    DllCall("MultiByteToWideChar", "UInt", 65001, "UInt", 0
                                 , "UInt", &Utf8String + BOM, "Int", -1
                                 , "UInt", &UniBuf, "Int", UniSize)

    AnsiSize := DllCall("WideCharToMultiByte", "UInt", CodePage, "UInt", 0
                                             , "UInt", &UniBuf, "Int", -1
                                             , "Int", 0, "Int", 0
                                             , "Int", 0, "Int", 0)
    VarSetCapacity(AnsiString, AnsiSize)
    DllCall("WideCharToMultiByte", "UInt", CodePage, "UInt", 0
                                 , "UInt", &UniBuf, "Int", -1
                                 , "Str", AnsiString, "Int", AnsiSize
                                 , "Int", 0, "Int", 0)
    Return AnsiString
}
^p::
Send ^{vk43}
clipboard = Текст1 `r`nТекст 2. `r`nТекст3 `r`Текст 4
Send ^{vk56}
Return

^b::
Send ^{vk43}
clipboard = Текст `n
Send ^{vk56}
Return