1 (изменено: BgoN, 2013-02-15 03:58:16)

Тема: AHK: Сохранить выделенный текст в файл

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

F5::
Send, ^{vk43}
     FileAppend, %clipboard%, C:\My Text File.vkp
         FileReadLine, OutputVar, C:\My Text File.vkp, 2
                 FileMove, C:\My Text File.vkp, с:\%OutputVar%.vkp 
MsgBox, Работа окончена.
return

2 (изменено: serzh82saratov, 2013-02-15 04:06:54)

Re: AHK: Сохранить выделенный текст в файл

F5::
Send, ^{vk43}
     FileAppend, %clipboard%, C:\My Text File.vkp
         FileReadLine, OutputVar, C:\My Text File.vkp, 2
                 FileMove, C:\My Text File.vkp, C:\%OutputVar%.vkp 
MsgBox, Работа окончена.
return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: Сохранить выделенный текст в файл

serzh82saratov, большое спасибо.

4

Re: AHK: Сохранить выделенный текст в файл

Также учитывайте недопустимые в имени символы:  \ / | : ? * " < >
Их бы лучше заменять перед сохранением.

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

5

Re: AHK: Сохранить выделенный текст в файл

Короткие тексты не успевает переименовать, так и сохраняет "My Text File"

6

Re: AHK: Сохранить выделенный текст в файл

Короткие тексты не успевает переименовать

А, что это значит?

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

7

Re: AHK: Сохранить выделенный текст в файл

Когда нажимаю F5, сохраняется файл "My Text File" и больше ничего не происходит, похоже на то что не успевает переименовать.

8

Re: AHK: Сохранить выделенный текст в файл

Не успевает - значит с паузами пробуйте, средство отладки оно же MsgBox, есть:

F5::
Send, ^{vk43}
FileAppend, %clipboard%, C:\My Text File.vkp
Sleep 100
FileReadLine, String, C:\My Text File.vkp, 2
MsgBox Имя файла будет:`r "C:\%String%.vkp"
Sleep 100
FileMove, C:\My Text File.vkp, C:\%String%.vkp 
MsgBox, Работа окончена.
return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: AHK: Сохранить выделенный текст в файл

Я был не прав, а вы правы. Нужно было исключить недопустимые символы, натыкается на них и из за этого проблемы.

10

Re: AHK: Сохранить выделенный текст в файл


F5::
clipboard=
Send, ^{vk43}
String = %clipboard%
String := RegExReplace(String, "[\\""/|:?*<>]", "¦")
FileAppend, %String%, C:\My Text File.vkp
Sleep 100
FileReadLine, String, C:\My Text File.vkp, 2
MsgBox Имя файла будет:`r"C:\%String%.vkp"
Sleep 100
FileMove, C:\My Text File.vkp, C:\%String%.vkp 
MsgBox, Работа окончена.
return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

11

Re: AHK: Сохранить выделенный текст в файл

Может иногда со старым именем совпадение, переписывайте файл:

FileMove, C:\My Text File.vkp, C:\%String%.vkp, 1
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

12

Re: AHK: Сохранить выделенный текст в файл

Ещё вопрос: а зачем вы сначала создаёте файл с одним именем, и сразу его переименовываете. Создайте сразу с нужным именем.

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

13

Re: AHK: Сохранить выделенный текст в файл

Работает, только не получается заменить символ "¦" на простой пробел.

14 (изменено: BgoN, 2013-02-15 05:06:31)

Re: AHK: Сохранить выделенный текст в файл

serzh82saratov пишет:

Ещё вопрос: а зачем вы сначала создаёте файл с одним именем, и сразу его переименовываете. Создайте сразу с нужным именем.

Да я так и хотел, но только так у меня что-то получалось... Из буфера не мог выдернуть имя файла.

15 (изменено: serzh82saratov, 2013-02-15 16:51:24)

Re: AHK: Сохранить выделенный текст в файл


F5:: 
Send, ^{vk43} 
RegExMatch(clipboard, "`am)(?:.*\R){1}\K.+$", Str)
MsgBox, 36, Вы хотите создать файл с именем:,  % Str := RegExReplace(Str, "[\\""/|:?*<>]", " ") . ".vkp"
IfMsgBox Yes
FileAppend, %clipboard%, C:\%Str%
return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

16

Re: AHK: Сохранить выделенный текст в файл

serzh82saratov, спасибо еще раз, этот вариант прекрасно работает.

17 (изменено: serzh82saratov, 2013-02-15 17:31:17)

Re: AHK: Сохранить выделенный текст в файл

Немного сократил код #15 (спасибо creature.ws), и добавил подтверждение на создание файла.

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

18 (изменено: creature.ws, 2013-02-15 17:36:06)

Re: AHK: Сохранить выделенный текст в файл

RegExMatch(clipboard, "`am)(?:.*\R){1}\K.+$", Str)

Лучше заменить на что-то вроде

loop, Parse, Clipboard, `n, `r
    if (A_index = 2) {
        str := A_LoopField
        break
    }

19

Re: AHK: Сохранить выделенный текст в файл

Лучше заменить на что-то вроде

Так и было, буква в букву
А почему заменить?
У вас сомнения по счёт RegExMatch.

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

20 (изменено: creature.ws, 2013-02-15 18:08:31)

Re: AHK: Сохранить выделенный текст в файл

А почему заменить?

А что, решение данной задачи требует применения регулярных выражений?

Лучше заменить потому, что иначе можно встать на путь «решение всех задач со строками при помощи регулярных выражений»

21 (изменено: serzh82saratov, 2013-02-15 20:59:40)

Re: AHK: Сохранить выделенный текст в файл

«решение всех задач со строками при помощи регулярных выражений»

Так в этом и вопрос, почему-бы и нет? По моей догадке RegEx должны работать быстрее нежели построчный перебор, особенно если искомое находится на двухтысячной строке. Ну и просто это красиво и познавательно (в плане создания паттернов).

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