1 (изменено: Вадим, 2011-09-11 15:28:41)

Тема: AHK: массив

Нужен скрипт, который при нажатии на клавиши от ALT+1 до ALT+9 переименовывает в text_[1..9]

Array := []

Loop 9            
   Array[A_Index] := A_Index
for i in Array
!%array.i%::
send {f2}
send text_%array.i%
return

примерный текст.

2

Re: AHK: массив

Вадим, заголовок темы должен отражать суть задачи, отредактируй. Сама задача тоже неясна. Что переименовывать-то?

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

3

Re: AHK: массив

а я не знаю как назвать.
Задача: после нажатия alt+1, alt+2, alt+3 и так до 9, что переименовывало выделенный файл (т.е. просто команда send {f2}) в файл "trn%x%"
x - это число от 1 до 9, какое было нажато раньше.

4 (изменено: Вадим, 2011-09-11 15:53:35)

Re: AHK: массив

т.е. эта задача, только короче

!1::
StringLower, TextLow, Clipboard
send {f2}
send %TextLow%_trn1
Return

!2::
StringLower, TextLow, Clipboard
send {f2}
send %TextLow%_trn2
Return

!3::
StringLower, TextLow, Clipboard
send {f2}
send %TextLow%_trn3
Return

!4::
StringLower, TextLow, Clipboard
send {f2}
send %TextLow%_trn1
Return

!5::
StringLower, TextLow, Clipboard
send {f2}
send %TextLow%_trn1
Return

!6::
StringLower, TextLow, Clipboard
send {f2}
send %TextLow%_trn6
Return

!7::
StringLower, TextLow, Clipboard
send {f2}
send %TextLow%_trn7
Return

!8::
StringLower, TextLow, Clipboard
send {f2}
send %TextLow%_trn8
Return

!9::
StringLower, TextLow, Clipboard
send {f2}
send %TextLow%_trn9
Return

5 (изменено: creature.ws, 2011-09-11 17:49:36)

Re: AHK: массив

Так как задача предоставлена в виде примера скрипта, позволю себе вольную трактовку

Если желаемое действие при нажатии горячей клавиши - переименование папки/файла под курсором в окне проводника  windows так, как это представлено в скрипте выше, то можно использовать подобный скрипт:


F1::
INPUT, SecondKey, T1 ,,1,2,3,4,5,6,7,8,9,0
If (ErrorLevel = "Match") {
  Send {F2}
  Send ^{Insert}  ; эти строки следует удалить
  ClipWait        ; если желаемое имя файла/папки уже в буфере обмена
  StringLower, TextLow, Clipboard
  SendInput %TextLow%_trn%SecondKey%
  Send {Enter}
}

В течении секунды после нажатия (и отпускания)  F1 ожидается ввод цифры, после чего происходит переименование по нужному шаблону.
Если есть желание использовать именно alt+цифра то вот еще пример:


!1::
!2::
!3::
!4::
!5::
!6::
!7::
!8::
!9::
  Send {F2}
  Send ^{Insert}  ; эти строки следует удалить
  ClipWait        ; если желаемое имя файла/папки уже в буфере обмена
  StringLower, TextLow, Clipboard
  SendInput % TextLow . "_trn" . SubStr(A_ThisHotkey, 0, 1)
  Send {Enter}
Return

да простят меня специалисты за подобное извращение

Если цель — переименовать некие файлы/папки автоматически — лучше воспользоваться Loop (file)