Beispiel für ein 2 Dimensionales Array:
[autoit]Global $aTest[2][2] = [["Wert A1", "Wert A2"], ["Wert B1", "Wert B2"]]
[/autoit]
In der Hilfe zu Dim/Local/Global steht das allerdings auch ;).
Beispiel für ein 2 Dimensionales Array:
[autoit]Global $aTest[2][2] = [["Wert A1", "Wert A2"], ["Wert B1", "Wert B2"]]
[/autoit]
In der Hilfe zu Dim/Local/Global steht das allerdings auch ;).
Es gibt eine UDF für ID3 v1 und v2 Tags im englischen Forum, aber die scheint nicht richtig zu funktionieren
.
Wozu der ganze Aufwand? Ließ es doch einfach so aus ;).
[autoit]BinaryToString(InetRead("http://www.autoit.de"), 4))
[/autoit] Zitat
Kennt jemand ein Programm wie dieses http://www.tuneupmedia.com/index.php , welches allerdings kostenlos ist. (Also ein Programm was mp3 dateien automatisch mit den richtigen ID3 Tags versieht)?
Ja, z.B. "Anotha UD3 Editor".
Zitatund die
zeilenumbrüche ändern sich je nach programm mit dem ich es starte
Das hängt vermutlich damit zusammen, was für die Programme ein Zeilenumbruch ist... Editor hat da zum Beispiel andere Ansichten als NotePad++ ;). Ich würde dir empfehlen NotePad++ zu benutzen.
Yay, das ist eindeutig ein Grund zum feiern
! Wir sollten mal ein Script schreiben, das die Anzahl der Beiträge und Themen auf besondere Werte überprüft (20000, 111111 etc.) ![]()
Der Code innerhalb einer Fuktion wird über den Funktionsnamen aufgerufen ;). Also entweder musst du das Func - EndFunc entfernen oder die Funktion auch aufrufen.
Jetzt ist es mit Raupis Post identisch... ![]()
Ineluki Das macht das Gegenteil von dem was er wollte
. Außerdem scheint mir das Problem hier schon mehr als gelöst zu sein...
Von wo aus soll das Script verschoben werden? Aus dem selben Script? Dann dürfte dir FileCopy weiterhelfen. Wenn du willst, dass die Originaldatei nach ausführen gelöscht wird dann gib mal in Scite selfdelete ein und drücke danach die Leertaste. ![]()
Nein, das Array ist immer noch eindimensional. UBound($list, 1) gibt die Größe der ersten Dimension aus ;).
ZitatNur bei Programmen im Vollbildmodus wandert es in den Hintergrund. Das ist das problem jetzt grade. Mit dem Skript von oben.
Bei manchen Programmen/Spielen geht das dann so wahrscheinlich nicht. Das Fenster ist immer vor allen anderen Topmost Fenstern (z.B. TaskManager) mehr geht auf diese Weise nicht. Dann müsste man wohl direkt in das Fenster des Spiels zeichnen, was mit AutoIt vermutlich nur schwer realisierbar wäre.
ZitatMich würde jetzt noch interresieren wie das genau mit der GUI+ funktioniert
Was meinst du? Die GUI in meinem Script ist ein mehrschichtiges Fenster, also mit dem Stil $WS_EX_LAYERED. Durch den Befehl _WinAPI_UpdateLayeredWindow kann man eine Bitmap in das Fenster reinkopieren und die transparenten Bereiche bleiben auch im Fenster transparent.
Klar, du musst nur den Pfad in dem gesucht wurde und die gefundenen Dateinamen kombinieren. ![]()
For $x = 1 to $OST_OSA[0]
Msgbox(0,'Record:', $filepath & "\" & $OST_OSA[$x],1)
Next
Das liegt daran, dass du nach Anzeige einer MsgBox das Script beendest wenn @error <> 0 ist. Also funktioniert das Script nur so wie es soll wenn in dem Pfad sowohl .jpg als auch .gif Dateien sind ;).
Wieso verwendest du auch $OST_OSA wenn du diese Variable nie deklariert hast? Und wieso gibst du der Zählervariable in der For Schleife den Wert 2? Damit wird die erste gefundene Datei einfach übersprungen und wenn nur eine Datei gefunden wurde wird die For Schleife nicht einmal ausgeführt.
Kann sein, dass ich das jetzt falsch verstehe aber wäre es nicht einfacher das Array direkt um 4 Stellen zu rotieren? Ich habe dafür nämlich mal eine Funktion gemacht...
; #FUNCTION# ====================================================================================================================
; Name...........: _ArrayShift
; Description ...: Verschiebt den Inhalt eines Array um die angegebene Zahl nach links oder rechts
; Syntax.........: _ArrayShift(ByRef $aShift, $iShift)
; Parameters ....: $aShift - Zu bearbeitendes Array
; $iShift - Integerzahl um die verschoben werden soll (Bei $iShift < 0 wird nach links verschoben)
; Return values .: Erfolg - 1
; Fehler - 0, setzt @error:
; |-1 - $aShift ist kein Array
; |-2 - $iShift ist keine Integerzahl
; Author ........: name22, clezZ
; ===============================================================================================================================
Func _ArrayShift(ByRef $aShift, $iShift)
If Not IsInt($iShift) Then Return SetError(-2, 0, 0)
If Not IsArray($aShift) Then Return SetError(-1, 0, 0)
$iShift *= -1
Local $iSize = UBound($aShift)
If $iShift < 0 Then
$iShift *= -1
$iShift = $iSize - $iShift
EndIf
If $iShift > $iSize Then
While $iShift > $iSize
$iShift -= $iSize
WEnd
EndIf
Local $aBuffer[$iSize]
For $i = 0 To $iSize - 1
$iNew = $i + $iShift
If $iNew > $iSize - 1 Then $iNew -= $iSize
$aBuffer[$i] = $aShift[$iNew]
Next
$aShift = $aBuffer
Return 1
EndFunc ;==>_ArrayShift
Beispiel:
HotKeySet("s", "_Set")
[/autoit] [autoit][/autoit] [autoit]$bZustand = False
[/autoit] [autoit][/autoit] [autoit]While True
If $bZustand Then
$Timer = TimerInit()
While $bZustand And Sleep(20)
If TimerDiff($Timer) > 60000 * 3 Then
_Test() ;3 Minuten
ExitLoop
EndIf
WEnd
EndIf
WEnd
Func _Test()
MsgBox(0, "", "Zustand für 3 Minuten True gewesen")
EndFunc
Func _Set()
$bZustand = True
EndFunc
So bekommst du die Maße des Fensters recht zuverlässig.
[autoit]$aPos = WinGetPos($hWnd)
$iX = $aPos[0]
$iY = $aPos[1]
$iWidth = _WinAPI_GetClientWidth($hWnd)
$iWidth = _WinAPI_GetClientHeight($hWnd)
Unter Windows Vista Home Premium 32 Bit sind die Buttons der Laufwerke auch zu klein...