|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Генерация комбинаций |
|
[решено] Генерация комбинаций
|
![]() Старожил Сообщения: 398 |
Скажите пожалуйста, можно ли средствами автоита сгенереровать .тхт документ с всеми возможными комбинациями клавиатуры от 6 до 20 символов, на каждой новой строчке новая комбинация?
|
|
------- Отправлено: 21:43, 23-01-2009 |
Пользователь Сообщения: 67
|
Профиль | Отправить PM | Цитировать На данный момент финальная версия такова:
HotKeySet("{esc}","es") $file=FileOpen("comb.txt",2) Dim $symb_array[69] $symb_array[0]="" $symb_array_start=$symb_array[0] $symb_array_end=68 $wlength=InputBox("","Введите максимальную длину перебираемых слов") Dim $out[$wlength] $outlength=$wlength-1 $c=1 for $i=48 To 57 Step 1 afill($i) Next for $i=97 To 122 Step 1 afill($i) Next for $i=224 to 255 Step 1 afill($i) Next $n_up=0 For $i=0 To $outlength Step 1 $out[$i]=$symb_array_start Next While 1 $out[$outlength]=fpp($outlength) flwr() check();=1 Then Exit WEnd ;~ ################################################### Func es() if MsgBox(4,"&","Выходим?")=6 Then Exit EndFunc Func fpp($index) For $i=0 To $symb_array_end Step 1 if $symb_array[$i]=$out[$index] Then Return $symb_array[$i+1] Next EndFunc Func flwr() $tofile="" For $j=0 To $outlength Step 1 $tofile&=$out[$j] Next FileWrite($file,$tofile&@CRLF) EndFunc Func check() if $out[$outlength]=$symb_array[$symb_array_end] And $n_up=0 Then ; $n_up+=1 offset($outlength) EndIf EndFunc Func offset($i) ;~ MsgBox(0,"","offset($i)="&$i) if $i<1 Then Exit if $out[$i-1]<>$symb_array[$symb_array_end] Then $out[$i-1]=fpp($i-1) For $j=$i to $outlength Step 1 $out[$j]=$symb_array[1] if $j=$outlength Then $out[$j]=$symb_array_start Next Else $n_up+=1 offset($i-1);$n_up);+1) EndIf $n_up-=1 EndFunc Func afill($char) $symb_array[$c]=Chr($char) $c+=1 EndFunc |
Отправлено: 17:23, 28-01-2009 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата 266903582:
![]() |
|
------- Отправлено: 00:37, 29-01-2009 | #12 |
![]() Старожил Сообщения: 398
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо всем! А как ещё изменить это:
Цитата 266903582:
|
|
------- Последний раз редактировалось morgan1991, 08-02-2009 в 00:16. Отправлено: 15:05, 29-01-2009 | #13 |
Пользователь Сообщения: 67
|
Профиль | Отправить PM | Цитировать morgan1991, Без русских так:
HotKeySet("{esc}","es") $file=FileOpen("comb.txt",2) Dim $symb_array[37] $symb_array[0]="" $symb_array_start=$symb_array[0] $symb_array_end=36 $wlength=InputBox("","Введите максимальную длину перебираемых слов") Dim $out[$wlength] $outlength=$wlength-1 $c=1 for $i=48 To 57 Step 1 afill($i) Next for $i=97 To 122 Step 1 afill($i) Next $n_up=0 For $i=0 To $outlength Step 1 $out[$i]=$symb_array_start Next While 1 $out[$outlength]=fpp($outlength) flwr() check() WEnd ;~ ################################################### Func es() if MsgBox(4,"&","Выходим?")=6 Then Exit EndFunc Func fpp($index) For $i=0 To $symb_array_end Step 1 if $symb_array[$i]=$out[$index] Then Return $symb_array[$i+1] Next EndFunc Func flwr() $tofile="" For $j=0 To $outlength Step 1 $tofile&=$out[$j] Next FileWrite($file,$tofile&@CRLF) EndFunc Func check() if $out[$outlength]=$symb_array[$symb_array_end] And $n_up=0 Then ; $n_up+=1 offset($outlength) EndIf EndFunc Func offset($i) if $i<1 Then Exit if $out[$i-1]<>$symb_array[$symb_array_end] Then $out[$i-1]=fpp($i-1) For $j=$i to $outlength Step 1 $out[$j]=$symb_array[1] if $j=$outlength Then $out[$j]=$symb_array_start Next Else $n_up+=1 offset($i-1) EndIf $n_up-=1 EndFunc Func afill($char) $symb_array[$c]=Chr($char) $c+=1 EndFunc |
Отправлено: 23:33, 29-01-2009 | #14 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] генерация fileinstall | morgan1991 | AutoIt | 3 | 30-03-2009 18:53 | |
[решено] JavaScript. Генерация html-кода. | System Failure | Вебмастеру | 3 | 20-07-2007 15:28 | |
генерация новых ключей для ikey | rivera | Защита компьютерных систем | 0 | 19-01-2006 09:49 | |
Генерация кода <a>. Perl. | benya | Вебмастеру | 1 | 18-08-2005 19:54 | |
*Решено* | Задача по комбинаторике. Генератор комбинаций | Surround | Программирование и базы данных | 14 | 18-02-2005 02:16 |
|