Hi,
ich habe in meiner Homepage ein jQuery Switcher. Funktioniert auch wunderbar.
Allerdings kann ich maximal ein Switcher pro Seite verwenden. Ich würde diese gerne mehrfach untereinander oder verschachtelt verwenden. Ich glaube man muss aus der ID eine Class machen, aber ich bin zufaul bzw. hab dafür zuwenig Zeit, die beiden jQuery Dateien zu durchforsten. Wer kann das für mich herausfinden und sagen worauf es lag?
10 Euro an den ersten der es schafft oder alternativ 2 DDR-512-SODIMM oder mehrere P3-CPUS / SD-Ram-Module oder einen guten 19 CRT Röhrenmonitor könnte ich dafür anbieten.
Beiträge von mille86
-
-
Leiber spät als nie... danke für den Idee-Anstoß!
-
Hi,
im neuen AutoIt gibt es ja jetzt mehr Optionen, Dateien zu editieren.
Bisher mache ich es ja so: Die komplette Datei in einem String eingelesen, mit StrRepl, dann bestimmte Werte geändert, und dann den ganzen String reingeschrieben und dann abgespeichert. Nur kommt es mir ein bisschen umständlich vor, die kompletten 2000 Zeilen zu kopieren, das Wort zu ersetzen und dann die Datei mit 2000 Zeilen neu anzulegen.
Mit FileSetPos, FileFlush ist ja jetzt gleichzeitiges Lesen und schreiben möglich. Ich kann damit bestimmte Textstellen gezielt herauslesen, ich kann an bestimmten Stellen Text gezielt einfügen. Aber ich kann nichts gezielt ändern? So bleibt mir wieder nichts übrig als den ganzen Text in einem String zu schreiben und die komplette Datei komplett neu anzulegen ?! Vermutlich macht es bei einer Speicherung aber keinen Unterschied wieviel ich ändere, da die Größe identisch ist ??
Soviele Fragen, ich weiß...
EDIT:
In dieser Stunde habe ich dann doch noch selbst was gefunden für die Anforderungen:Code$datei = FileOpen('temp2.txt', 1) FileSetPos($datei, 40, 0) $a = FileRead($datei, 25) $b = StringRegExpReplace($a, '(?m)(?i:^wert1.*$)', 'wert1 = AndererWert ', 1) ; bei "bis-Zeilenende-ersetzen" sollte nach dem zu schreibenden Wert ein Leerzeichen folgen ! FileSetPos($datei, 40, 0) FileWrite($datei, $b) FileClose($datei)
-
Danke an dieser Stelle für das Nikolausgeschenk
-
Moin,
[autoit]
also ich nutze die GUIGetMsg() Funktion.
Unter anderem ist dann folgender Code enthalten:Case $GUI_menu[6]
[/autoit]
ShellExecute($ini[6][2])
Case $GUI_menu[7]
ShellExecute($ini[7][2])
Case $GUI_menu[8]
ShellExecute($ini[8][2])
Case $GUI_menu[9]
ShellExecute($ini[9][2])
Case $GUI_menu[10]
ShellExecute($ini[10][2])
Case $GUI_menu[11]
ShellExecute($ini[11][2])
Case $GUI_menu[12]
ShellExecute($ini[12][2])
Case $GUI_menu[13]
ShellExecute($ini[13][2])
Case $GUI_menu[14]
ShellExecute($ini[14][2])
Case $GUI_menu[15]
ShellExecute($ini[15][2])
Case $GUI_menu[16]
ShellExecute($ini[16][2])
Case $GUI_menu[17]
ShellExecute($ini[17][2])
Case $GUI_menu[18]
ShellExecute($ini[18][2])Im Grunde also ist im jedem Case die notwendige Variable schon enthalten. Ich glaube man könnte sowas nicht in einer Schleife lösen? Oder dass ich zumindest den Wert immer nur einmal schreiben muss und die Fehlerwahrscheinlichkeit kürzt.
-
Den Fehler find ich jetzt auch nicht, aber die Computersperre hat keinerlei Auswirkung auf Windows 7.
-
Schon fast zwei Jahre alt, aber wen ebenfalls die Suchfunktion hier verschlagen hat:
[autoit]
Das Flickern lässt sich leicht lösen. Man muss einfach vor UND nach dem SetData(Progressbar) das Label aktualisieren, also z.B. so:
[/autoit]
For $i = 0 To 10
GUICtrlSetData($balkenlabel, $i * 10)
GUICtrlSetData($balken, $i * 10)
GUICtrlSetData($balkenlabel, $i * 10)
Sleep(100)
Next -
Und wie macht man das, Bugfix?
-
Moin BugFix,
deines habe ich mir schon reingezogen.
Aber meines arbeitet mit absoluten statt relativen Pfaden und ist ca. 3* schneller, dafür aber ohne Dateifilter. -
Moin,
wolltet ihr nicht schon immer alle Dateien und / oder Ordner eines Pfades ermitteln? Hiermit könnt ihr das xD
Wer will, kann auch ein Dateifilter einbauen, aber ich überprüfe das immer nachträglich, und so ist die Funktion richtig schön schnell =)Spoiler anzeigen
[autoit]Func ZeigeDateien($pfad, $typ = 0, $maxAnz = 50000) ; typ=0: Dateien, typ=1: Ordner, typ=2: Alles
[/autoit]
If $typ < 2 Then
Local $ordner[$maxAnz + 1], $i = 1
If $typ = 0 Then Local $datei[$maxAnz + 1], $k = 1
$ordner[0] = $pfad
For $j = 0 To $maxAnz
$suchhandle = FileFindFirstFile($ordner[$j] & '\*.*')
$ordner[$j] &= '\'
Do
$objekt = FileFindNextFile($suchhandle)
If @error Then ExitLoop ; Keine Daten mehr vorhanden
If StringInStr(FileGetAttrib($ordner[$j] & $objekt), 'D', 2) Then ; Ordner
If Not StringInStr($ordner[$j] & $objekt, $pfad, 2) Then ExitLoop 2
$ordner[$i] = $ordner[$j] & $objekt
$i += 1
ElseIf $typ = 0 Then
$datei[$k] = $ordner[$j] & $objekt
$k += 1
EndIf
Until False
$ordner[$j] = StringTrimRight($ordner[$j], 1) ; entfernt '/' am Ende
FileClose($suchhandle)
Next
If $typ = 0 Then
ReDim $datei[$k]
$datei[0] = $k - 1
Return $datei
Else
ReDim $ordner[$j]
$ordner[0] = $j - 1
Return $ordner
EndIf
Else
Local $a = ZeigeDateien($pfad, 0)
Local $b = ZeigeDateien($pfad, 1)
Local $c[UBound($a) + UBound($b)]
For $i = 0 To UBound($a) - 1
$c[$i] = $a[$i]
Next
ReDim $b[UBound($b) + 1]
For $i = UBound($a) To UBound($c) - 1
$c[$i] = $b[$i - UBound($a) + 1]
Next
ReDim $c[UBound($c) - 1]
$c[0] = UBound($c) - 1
Return $c
EndIf
EndFunc -
@ Autobert: Genau das was ich gesucht habe, danke =)
EDIT: Ich habe an deinem Code bissel rumgespielt, es geht sogar dann ohne Adlib:Spoiler anzeigen
[autoit]Func HotKey_Ende()
[/autoit]
If Mod($hotkey_ende, 2) = 0 Then
SplashTextOn("Ausschalten", "Rechner wird anschließend heruntergefahren", 110, 70, Default, Default, 1, "", 9)
Else
SplashTextOn("Programm Beenden", "Rechner bleibt anschließend im Betrieb", 110, 70, Default, Default, 1, "", 9)
EndIf
$hotkey_ende += 1
Sleep(2000)
SplashOff()
EndFunc
Das nennt man Teamwork -
Hi,
danke für die Antworten, aber leider funktionieren beide Beispiele nicht:
Im ersten Beispiel bleibt der Splashtext dauerhaft, statt nach 2 Sek. zu verschwinden und das 2. Beispiel ist im Verhalten meinem Code identisch.
Ich knobel noch weiter -
Moin moin,
[autoit]
ich habe ein Hotkey mit zwei Splashtext belegt: 1. Druck: "Text A", 2. Druck: "Text B", 3. Druck "Text A", 4. Druck "Text B" usw.
Funktioniert auch fastFunc HotKey_Ende()
[/autoit]
If Mod($hotkey_ende, 2) = 0 Then
SplashTextOn("Ausschalten", "Rechner wird anschließend heruntergefahren", 110, 70, Default, Default, 1, "", 9)
Else
SplashTextOn("Programm Beenden", "Rechner bleibt anschließend im Betrieb", 110, 70, Default, Default, 1, "", 9)
EndIf
Sleep(2000)
SplashOff()
$hotkey_ende += 1
bzw. alternativ
[autoit]Func HotKey_Ende()
[/autoit]
If Mod($hotkey_ende, 2) = 0 Then
SplashTextOn("Ausschalten", "Rechner wird anschließend heruntergefahren", 110, 70, Default, Default, 1, "", 9)
Else
SplashTextOn("Programm Beenden", "Rechner bleibt anschließend im Betrieb", 110, 70, Default, Default, 1, "", 9)
EndIf
Sleep(2000)
SplashOff()
$hotkey_ende += 1
EndFunc
Nur ändert sich die Anzeige während des Slp(2) nicht, aber der Tastendruck wird registriert. Wie könnte man zur gleichen Zeit den Text ändern? Habs ne Stunde mit allerlei Schleifen probiert, klappt bei mir irgendwie nicht -
Hier mein Quelltext:
Spoiler anzeigen
#include
#includeIf $CmdLine[0] > 0 Then
$passwort = $CmdLine[1]
Else
$passwort = 'test123'
EndIfIf $CmdLine[0] > 1 Then
$cpu = $CmdLine[2]
Else
$cpu = 'Quadcore running at ~ 3.002 Mhz'
EndIf$tmp = 0
; Tray-Menü
TraySetState(1); GUI - Oberfläche
GUISetIcon('skull.ico')
$gui_a = GUICreate('OS PASS RECOVERY TOOL bY noobZ', 500, 400, -1, -1) ; $WS_POPUPWINDOW
GUISetBkColor(0x000000)
GUICtrlCreateLabel('OS PASS RECOVERY TOOL :' & @CRLF & '************************' & @CRLF & '!!USE OF YOUR OWN RISK!!' & @CRLF & @CRLF & 'PRESS [SPACE] TO START', 5, 10, 300, 100)
GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
GUICtrlSetColor(-1, 0xffffff)
GUISetState(); GUI - Interaktion
HotKeySet('{Space}', 'HotKey_Space')
Do
$aktion = GUIGetMsg()
Switch $aktion
Case - 3
Exit
EndSwitch
Until FalseFunc HotKey_Space()
GUIDelete($gui_a)
$gui_a = GUICreate('ANALYSING....', 550, 400, -1, -1) ; $WS_POPUPWINDOW
GUISetBkColor(0x000000)
Global $a[20]
For $i = 1 To 8 ; WICHTIG +1
$a[$i] = GUICtrlCreateLabel('', 5, $tmp, 550, 25)
GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
GUICtrlSetColor(-1, 0xffffff)
$tmp += 20
Next
GUISetState()
GUICtrlSetData($a[1], '')
Warten(3000, $a[1])
GUICtrlSetData($a[2], 'CPU Architecture: ' & @CPUArch & ' ' & $cpu)
Warten(500, $a[2])
GUICtrlSetData($a[3], 'Temporary Process ID: ' & @AutoItPID)
Warten(1000, $a[3])
GUICtrlSetData($a[4], 'OS Type: ' & @OSType)
Warten(500, $a[4])
GUICtrlSetData($a[5], 'OS Version: ' & @OSVersion)
Warten(200, $a[5])
GUICtrlSetData($a[6], 'OS Build: ' & @OSBuild)
Warten(1000, $a[6])
GUICtrlSetData($a[7], 'CPU Service Pack: ' & @OSServicePack)
Warten(2000, $a[7], 1)
GUIDelete($gui_a)$gui_a = GUICreate('BRUTE FORCE....', 550, 70, -1, -1, $WS_POPUPWINDOW)
GUISetBkColor(0xff0000)
$a[0] = GUICtrlCreateLabel('BRUTE FORCE.... Take a Coffee', 5, 10, 550, 25)
GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
GUICtrlSetColor(-1, 0xffffff)
$a[1] = GUICtrlCreateLabel('', 5, 30, 550, 25)
GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
GUICtrlSetColor(-1, 0xffffff)
$a[2] = GUICtrlCreateLabel('', 5, 50, 550, 25)
GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
GUICtrlSetColor(-1, 0xffffff)
$a[3] = GUICtrlCreateLabel('', 5, 50, 550, 25)
GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
GUICtrlSetColor(-1, 0xffffff)
GUISetState()Local $tmp3, $tmp4
For $l = 1 To 150
$tmp3 = ''
$tmp4 = ''
$tmp5 = ''For $i = 0 To 58
$tmp3 &= String(Random(0, 1, 1))
$tmp4 &= String(Random(0, 1, 1))
$tmp5 &= Chr(Random(65, 122,1 ))
GUICtrlSetData($a[1], $tmp3)
GUICtrlSetData($a[2], $tmp4)
GUICtrlSetData($a[3], $tmp5)
Next
Sleep(80)
NextBeep()
InputBox('FOUND', 'YOUR PASSWORD: ', $passwort)
Exit
EndFunc ;==>HotKey_SpaceFunc Warten($zeit, $i, $b = 0)
$tmp3 = 0
$tmp2 = TimerInit()
While $tmp3 < $zeit
If $b = 1 Then
GUICtrlSetData($a[$i] - 1, 'Pass Location Detected!')
GUICtrlSetBkColor($a[$i] - 1, 0xff0000)
Sleep(500)
GUICtrlSetBkColor($a[$i] - 1, 0x000000)
Sleep(200)
Else
GUICtrlSetData($a[$i] - 1, 'Detecting...')
GUICtrlSetBkColor($a[$i] - 1, 0xff0000)
Sleep(100)
GUICtrlSetBkColor($a[$i] - 1, 0x00ff00)
Sleep(100)
EndIf
$tmp3 = TimerDiff($tmp2)
WEnd
GUICtrlSetBkColor($a[$i] - 1, 0x000000)
EndFunc ;==>Warten[/autoit]
Gruß -
Hey,
Matrix hatte ich auch mein erster Gedanke xD
wow - so viel Arbeit... und das um 1 Uhr nachts - das ist ja echtSoviel Glück kann man net fassen xD
Wenn ich ihn anpasse, stelle ich natürlich auch rein.
Danke =) -
Moin,
wir in der Ausbildung bekommen neue Rechner und müssen sie für die breite Masse zeigen, wie schnell die doch sind. Dazu habe ich die aufgabe bekommen, ein DOS-Fenster zu erstellen, was simuliert, das ich das des PCs Passwort knacke.
Momentan so: Läuft an, dann slp(10) dann erscheint der erste Buchstabe dann wieder slp(10) dann erscheint der 2. Buchstabe des "Passwortes" usw.
Ziemlich trocken also.
Jemand Ideen, wie man Animieren könnte etc? -
Danke understood, jetzt weiß ich auch wie es mit der Syntax geht.
[autoit]
EDIT: Hier noch eine optimierte VersionFunc _findkey($current_key, $regex, $maxAnz = 1, $joker_key = 0, $next_key = '')
[/autoit]
RegRead($current_key, '') ; Schlüsselexistenzprüfung
If @error <> -1 Then Return SetError(1)
$joker_key += $maxAnz
Local $valid_key[$maxAnz + 1], $j = 1
For $i = 1 To $joker_key
If StringRegExp(RegEnumKey($current_key, $i), $regex) And $j <= $maxAnz Then ; Schlüssel gefunden und Begrenzung auf maxAnz
$valid_key[$j] = $current_key & '\' & RegEnumKey($current_key, $i) & '\' & $next_key ; !unsauber!
$j += 1
EndIf
Next
$valid_key[0] = $j - 1 ; Menge gültige Schlüssel
ReDim $valid_key[$j]
Return $valid_key
EndFunc -
Zweck: Man weiß, dass ein oder mehrere Schlüssel Werte enthalten, die man auslesen möchte. Das Problem ist aber, dass jeder Schlüssel einmalig ist, man kennt nur seine Struktur.
Z.B. Will ich von Outlook Express den Speicherort der Mails erfahren. Dieser befindet sich unter
HKEY_CURRENT_USER\Identities\{04353495-3245234ABS-435}\software\microsoft\outlook express\5.0\store root
Um alle Identitäten herauszubekommen, verwendet man nun einfach
1. Parameter: Schlüssel, von wo aus gesucht werden soll
2. Parameter: Regulärer Suchausdruck
3. Parameter (optional): Maximale Trefferzahl (default 1)
4. Parameter (optional): Menge an möglicher unwichtiger Schlüssel (default 0)
Es wird als Array zurückgegeben, wobei das erste Index die Anzahl der Treffer enthält. Sollte der Schlüssel ungültig sein, so wird @error auf 1 gesetzt.CodeFunc _regfilter($current_key, $regex, $maxAnz = 1, $joker_key = 0) $joker_key += $maxAnz Local $valid_key[$maxAnz+1], $j = 1 RegRead($current_key, '') ; Schlüsselexistenzprüfung If @error <> -1 Then Return SetError(1) For $i = 1 To $joker_key If StringRegExp(RegEnumKey($current_key, $i), $regex) And $j <= $maxAnz Then ; Schlüssel gefunden und Begrenzung auf maxAnz $valid_key[$j] = RegEnumKey($current_key, $i) $j += 1 EndIfNext$valid_key[0] = $j-1 ; Menge gültige Schlüssel ReDim $valid_key[$j] Return $valid_keyEndFunc
Have fun -
-