Progressive Wl Generator

« Older   Newer »
  Share  
Th3_F0x
CAT_IMG Posted on 26/4/2010, 18:41     +1   -1




Mi scuso per il ritardo ma oggi ho avuto una giornata mooolto difficile enon ho avuto tempo di sistemare il codice
SPOILER (click to view)
CODICE
HotKeySet("!e","_ESCAPE")
$LETTERE=InputBox("Progressive","Inserisci i caratteri di cui vuoi fare la progressione","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
MsgBox(0,"","Il programma genera sequenze progressive per un numero elevato di ripetizioni,si consiglia di non superare le 10000 ripeetizioni di ciclo, il tasto di esape è ALT+E")
if @error or $LETTERE="" Then
       Exit
       EndIf

if FileExists(@scriptdir&"\a.ini") Then
       FileDelete(@scriptdir&"\a.ini")
       IniWrite(@scriptdir&"\a.ini","CAMPI","LETTERE",$LETTERE)
Else
       IniWrite(@scriptdir&"\a.ini","CAMPI","LETTERE",$LETTERE)
       EndIf
$lunghezza=StringLen(IniRead(@scriptdir&"\a.ini","CAMPI","LETTERE",1))
$a=0
Local $Lettera[$lunghezza+1]
For $i=1 To $lunghezza
       $Lettera[$i]=StringMid(IniRead(@scriptdir&"\a.ini","CAMPI","LETTERE",1),$i,1)
;~         MsgBox(0,"",$Lettera[$i])
Next
;~ Exit
FOR $ciclo=1 To 40000
For $D=1 To $lunghezza
       For $E=1 To $lunghezza
               For $F=1 To $lunghezza
                       For $G=1 To $lunghezza
                               For $H=1 To $lunghezza
                                       For $O=1 To $lunghezza
                                               For $J=1 To $lunghezza
                                                       For $K=1 To $lunghezza
                                                               For $L=1 To $lunghezza



;~ $ci=$lettera[$D]&$lettera[$E]&$lettera[$F]&$lettera[$G]&$lettera[$H]&$lettera[$O]&$lettera[$J]&$lettera[$K]&$lettera[$L]
$ci=$lettera[$l]&$lettera[$k]&$lettera[$j]&$lettera[$o]&$lettera[$h]&$lettera[$g]&$lettera[$f]&$lettera[$e]&$lettera[$d]
$A+=1
IniWrite(@scriptdir&"\a.ini","CAMPI","str"&$a,$ci)
ToolTip("Riga N°:"&$A,MouseGetPos(0)+10,MouseGetPos(1)+10)



Next
Next
Next
Next
Next
Next
Next
Next
Next
Next

Func _ESCAPE()
       Exit
       EndFunc
 
Top
xdmisterx
CAT_IMG Posted on 26/4/2010, 19:18     +1   -1




g00d work :)
Questo era il programma che abbiamo usato all'area? xD
 
Top
Kurt_Black_hat 2.0
CAT_IMG Posted on 26/4/2010, 20:13     +1   -1




CITAZIONE (xdmisterx @ 26/4/2010, 20:18)
g00d work :)
Questo era il programma che abbiamo usato all'area? xD

Sì.

Comunque buono :D
 
Top
MatteoJug
CAT_IMG Posted on 26/4/2010, 22:10     +1   -1




Scusate ma la vista di tutti quei for annidati mi faceva davvero paura :S
Ho modificato un paio di cosucce (spero non vi sentiate offesi)
CODICE
HotKeySet("!e", "_ESCAPE")
$LETTERE = InputBox("Progressive", "Inserisci i caratteri di cui vuoi fare la progressione", "abc")
if @error then Exit
Global Const $ARRAY = _GetArray($LETTERE); C style!!
$LENGTH = InputBox("Progressive", "Inserisci la lunghezza della stringa", 5)
if @error then Exit
MsgBox(0, "", "Il programma genera sequenze progressive per un numero elevato di ripetizioni,si consiglia di non superare le 10000 ripeetizioni di ciclo, il tasto di esape è ALT+E")
dim $STRINGA[$LENGTH]
for $i = 1 to $LENGTH
       $STRINGA[$i-1]=0
Next
$loop = 1
FileDelete("lista.txt")
FileWriteLine("Lista.txt",_assemble($STRINGA))
While True
       $loop+=1
       $a = _Incrementa($STRINGA)
       if $a==-1 then ExitLoop
       $tmp = _assemble($STRINGA)
       FileWriteLine("Lista.txt",$tmp)
       ToolTip($loop & ":=" & $tmp)
WEnd
Func _Incrementa(ByRef $str, $index = 0)
       if $index=$LENGTH then
               return -1
       EndIf
       $str[$index]+=1
       if $str[$index]=UBound($ARRAY) Then
               $str[$index] = 0
               return _Incrementa($str,$index+1)
       EndIf
EndFunc
Func _assemble($str)
       Local $ret = ""
       for $i = 0 to UBound($str)-1
               $ret&=$ARRAY[$str[$i]]
       Next
       return $ret
EndFunc
Func _GetArray($str)
       Local $ret[StringLen($str)]
       for $i = 0 to UBound($ret)-1
               $ret[$i] = StringMid($str,$i+1,1)
       Next
       return $ret
EndFunc
Func _ESCAPE()
       Exit
EndFunc   ;==>_ESCAPE

Fa la stessa identica cosa di prima solo che la lunghezza è variabile e viene chiesta all'inizio e usa la ricorsione per fare un pò di pulizia ^^
 
Top
Th3_F0x
CAT_IMG Posted on 27/4/2010, 09:19     +1   -1




g00d grazie , ora è moooolto + pulito xD io per la pulizia e l'identazione nei source sono negato asd
 
Top
4 replies since 26/4/2010, 18:41   86 views
  Share