Sieht so aus als wäre es mit Autoit nicht ganz so einfach.
Ich kenne mich da nicht wirklich aus, hab aber einen etwas älteren Link dazugefunden, der dir vllt ein bischen weiterhilft.
Beiträge von funkey
-
-
http://www.autoitscript.com/forum/index.php?showtopic=46894
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
MsgBox(0,"", _UnicodeURLEncode("ß"));===============================================================================
[/autoit] [autoit][/autoit] [autoit]
; _UnicodeURLEncode()
; Description: : Encodes an unicode string to be URL-friendly
; Parameter(s): : $UnicodeURL - The Unicode String to Encode
; Return Value(s): : The URL encoded string
; Author(s): : Dhilip89
; Note(s): : -
;
;===============================================================================Func _UnicodeURLEncode($UnicodeURL)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$UnicodeBinary = StringToBinary ($UnicodeURL, 4)
$UnicodeBinary2 = StringReplace($UnicodeBinary, '0x', '', 1)
$UnicodeBinaryLength = StringLen($UnicodeBinary2)
Local $EncodedString
For $i = 1 To $UnicodeBinaryLength Step 2
$UnicodeBinaryChar = StringMid($UnicodeBinary2, $i, 2)
If StringInStr("$-_.+!*'(),;/?:@=&abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", BinaryToString ('0x' & $UnicodeBinaryChar, 4)) Then
$EncodedString &= BinaryToString ('0x' & $UnicodeBinaryChar)
Else
$EncodedString &= '%' & $UnicodeBinaryChar
EndIf
Next
Return $EncodedString
EndFunc ;==>_UnicodeURLEncode;===============================================================================
[/autoit]
; _UnicodeURLDecode()
; Description: : Tranlates a URL-friendly string to a normal string
; Parameter(s): : $toDecode - The URL-friendly string to decode
; Return Value(s): : The URL decoded string
; Author(s): : nfwu, Dhilip89
; Note(s): : Modified from _URLDecode() that's only support non-unicode.
;
;===============================================================================
Func _UnicodeURLDecode($toDecode)
Local $strChar = "", $iOne, $iTwo
Local $aryHex = StringSplit($toDecode, "")
For $i = 1 To $aryHex[0]
If $aryHex[$i] = "%" Then
$i = $i + 1
$iOne = $aryHex[$i]
$i = $i + 1
$iTwo = $aryHex[$i]
$strChar = $strChar & Chr(Dec($iOne & $iTwo))
Else
$strChar = $strChar & $aryHex[$i]
EndIf
Next
$Process = StringToBinary (StringReplace($strChar, "+", " "))
$DecodedString = BinaryToString ($Process, 4)
Return $DecodedString
EndFunc ;==>_UnicodeURLDecode
#endregionEdit: UPS, zu langsam mit suchen

-
So irgendwie.
Spoiler anzeigen
[autoit]If Not IsAdmin() Then Exit MsgBox(64, "Kein Recht!", "Sie müssen Administrator sein um dieses Programm fortzusetzen!")
[/autoit] [autoit][/autoit] [autoit]
Local $RegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{FBE371D7-5430-4485-B0EC-529BF08C10CA}"
Local $IsInstalled = RegRead($RegKey, "")
If $IsInstalled = "" Then
;installieren
Else
If MsgBox(36, "Neuinstallation?", "Das Programm ist bereits installiert. Soll es neuinsalliert werden?") = 6 Then
;deinstallieren
RunWait('msiexec /x {FBE371D7-5430-4485-B0EC-529BF08C10CA} /qn /norestart');installieren
[/autoit]
Else
MsgBox(64, "Abbruch!", "Abbruch der Installation")
EndIf
EndIf -
-
Wieso wird die Version bei den Downloads nicht aktualisiert?
-
Herzlich willkommen hier! Freu mich schon darauf dir irgendwann mal helfen zu können!
( Jetzt fühl ich mich gleich viel jünger hier
) -
Du kannst das mittels der Mausposition ermitteln.
Hab mal schnell eine Funktion dazu geschrieben.
Spoiler anzeigen
[autoit]Run("calc.exe")
[/autoit] [autoit][/autoit] [autoit]
WinWait("[Class:SciCalc]")
$hWnd = WinGetHandle("[Class:SciCalc]")
SendKeepActive("[Class:SciCalc]")
Send("!as") ;Umschalten auf Standard-Ansicht
$hCtrl = "Button1" ;Button 'MC'While WinExists("[Class:SciCalc]")
[/autoit] [autoit][/autoit] [autoit]
ToolTip(_MouseOverCtrl($hWnd, $hCtrl))
Sleep(10)
WEndFunc _MouseOverCtrl($hWnd, $hCtrl)
[/autoit]
;funkey 16.10.2009
If Not WinActive($hWnd) Then Return 0
Local $WndPos = WinGetPos($hWnd), $ClientSize = WinGetClientSize($hWnd)
Local $CtrlPos = ControlGetPos($hWnd, "", $hCtrl)
Local $Rahmen = ($WndPos[2] - $ClientSize[0]) / 2
Local $x = $WndPos[0] + $Rahmen + $CtrlPos[0]
Local $y = $WndPos[1] + $WndPos[3] - $ClientSize[1] + $CtrlPos[1] - $Rahmen
Local $Pos[4] = [$x, $y, $x + $CtrlPos[2], $y + $CtrlPos[3]]
Local $MousePos = MouseGetPos()
If $Pos[0] < $MousePos[0] And $Pos[2] > $MousePos[0] And $Pos[1] < $MousePos[1] And $Pos[3] > $MousePos[1] Then Return 1
Return 0
EndFunc -
Vielen Dank peethebee!!
Jetzt läuft es einwandfrei! Die erste Unwandlung war nur dazu gedacht überflüssige * aus dem Pattern zu filtern. Ich hatte vorher versucht das Problem durch einen anderen (umständlicheren) Weg zu lösen.
Ich hoffe, dass die Funktion mal jemand brauchen kann, da ich sie ziemlich nützlich finde.
Hier noch mal ohne überflüssige Kommentare.
Spoiler anzeigen
[autoit]ConsoleWrite(_StringInWildCard("Autoit.au3", "*.au3") & @CR)
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite(_StringInWildCard("Autoit", "*.au3") & @CR)
ConsoleWrite(_StringInWildCard("Autoit.au", "*.au3") & @CR)
ConsoleWrite(_StringInWildCard("TestFile.au3", "*.au3") & @CR)
ConsoleWrite(_StringInWildCard("AutoitScript.au3", "A*.au3") & @CR)
ConsoleWrite(_StringInWildCard("Script.au3", "A*.au3") & @CR)
ConsoleWrite(_StringInWildCard("Script[1].au3", "Script[?].au3") & @CR)
ConsoleWrite(_StringInWildCard("Script[10].au3", "Script[?].au3") & @CR)
ConsoleWrite(_StringInWildCard("Script[10].au3", "Script[*].au3") & @CR)
ConsoleWrite(_StringInWildCard("AutoitScript[10].au3", "Script*.au3") & @CR)
ConsoleWrite(_StringInWildCard("Aut.au3", "???.au3") & @CR)Func _StringInWildCard($sTest, $sWildCard)
[/autoit]
;funkey 14.10.2009
Local $sPattern = "^" & $sWildCard & "$" ; Muss von Anfang (^)bis Ende ($) passen
$sPattern = StringReplace($sPattern, ".", "\.")
$sPattern = StringReplace($sPattern, "[", "\[")
$sPattern = StringReplace($sPattern, "]", "\]")
$sPattern = StringReplace($sPattern, "+", "\+")
$sPattern = StringReplace($sPattern, "*", ".*")
$sPattern = StringReplace($sPattern, "?", ".")
;~ ConsoleWrite($sPattern & @CR)
Return StringRegExp($sTest, $sPattern)
EndFunc -
Ich glaube das war $CBS_DROPDOWNLIST
-
Hallo!
Hab mir gerade eine Funktion geschrieben, mittels derer ich WildCards überprüfen kann. Das ganze funktioniert auch schon so wie es soll bis auf eine Ausnahme.Gibt es da eine Lösung?
Spoiler anzeigen
[autoit]ConsoleWrite(_WildCard("Autoit.au3", "*.au3") & @CR)
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite(_WildCard("Autoit", "*.au3") & @CR)
ConsoleWrite(_WildCard("Autoit.au", "*.au3") & @CR)
ConsoleWrite(_WildCard("TestFile.au3", "*.au3") & @CR)
ConsoleWrite(_WildCard("AutoitScript.au3", "A*.au3") & @CR)
ConsoleWrite(_WildCard("Script.au3", "A*.au3") & @CR)
ConsoleWrite(_WildCard("Script[1].au3", "Script[?].au3") & @CR)
ConsoleWrite(_WildCard("Script[10].au3", "Script[?].au3") & @CR)
ConsoleWrite(_WildCard("Script[10].au3", "Script[*].au3") & @CR)ConsoleWrite(@CR)
[/autoit] [autoit][/autoit] [autoit]#Region Problemzone
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite(_WildCard("AutoitScript[10].au3", "Script*.au3") & @CR) ; <-- soll 0 zurückgeben
ConsoleWrite(_WildCard("Autoit.au3", "???.au3") & @CR) ; <-- soll 0 zurückgeben
#EndRegionFunc _WildCard($sTest, $sWildCard)
[/autoit]
;funkey 14.10.2009
Local $sPattern = $sWildCard
$sPattern = StringRegExpReplace($sPattern, "\*+", "*")
$sPattern = StringReplace($sPattern, ".", "\.")
$sPattern = StringReplace($sPattern, "[", "\[")
$sPattern = StringReplace($sPattern, "]", "\]")
$sPattern = StringReplace($sPattern, "+", "\+")
$sPattern = StringReplace($sPattern, "*", ".*")
$sPattern = StringReplace($sPattern, "?", ".")
;~ ConsoleWrite($sPattern & @CR)
Return StringRegExp($sTest, "(" & $sPattern & ")")
EndFunc -
Herzlich willkommen.
Einen Allrounder wie dich können wir hier sehr gut gebrauchen! -
Auch von mir alles Gute zum Geburtstag!!
Vielen Dank für deine immerwährenden kompetenden Hilfestellungen. Bleib so wie du bist!
-
Herzlich willkommen!
Bei uns bist du richtig!
-
Notfalls könnte man es ja mit OCR probieren. K.A. wie leserlich die Schrift in der SideBar ist, aber es könnte klappen.
Such mal mach dem Skript "QWidgets auslesen" oder so von mir.
-
Siehe Zeile 3 im Code von Post 6.
-
[autoit]
PixelGetColor
[/autoit] -
z.B. so
Spoiler anzeigen
[autoit]$PatIP = "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
[/autoit] [autoit][/autoit] [autoit]
$ips = StringRegExp("bitte schauen sie hier nach 127.0.0.0 127.255.255.255 und hier ist noch mehr sinnlostext", '('&$PatIP&' - '& $PatIP & ')|(' & $PatIP&' '&$PatIP&')' , 3)
$ips = $ips[UBound($ips)-1]MsgBox(0,"", $ips)
[/autoit] [autoit][/autoit] [autoit][/autoit] -
Spoiler anzeigen
[autoit]#include <GuiStatusBar.au3>
[/autoit] [autoit][/autoit] [autoit]Local $aParts[3] = [100, 200, 300]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]GUISetState()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$hGui = GUICreate("StatusBar-Beispiel", 300)
[/autoit] [autoit][/autoit] [autoit]
$hStatus = _GUICtrlStatusBar_Create ($hGUI)_GUICtrlStatusBar_SetParts ($hStatus, $aParts)
[/autoit] [autoit][/autoit] [autoit]$Datum = _GUICtrlStatusBar_SetText($hStatus, @MDAY & "." & @MON & "." & @YEAR, 1)
[/autoit] [autoit][/autoit] [autoit]
$Zeit = _GUICtrlStatusBar_SetText($hStatus, @HOUR & ":" & @MIN & ":" & @SEC, 2)
GUISetState (@SW_SHOW, $hGui)AdlibEnable("_UpdateTime", 1000)
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Until GUIGetMsg() = -3Func _UpdateTime()
[/autoit]
_GUICtrlStatusBar_SetText($hStatus, @HOUR & ":" & @MIN & ":" & @SEC, 2)
EndFunc -
Post mal das was du schon hast! Ich will mir nicht extra ein Beispielskript basteln um dir zu helfen.
Kennst du das schon?
[autoit]_GUICtrlStatusBar_SetText
[/autoit] -
z.B.
Spoiler anzeigen
[autoit]ElseIf StringRight($File, 4) = ".rar" And StringInStr($File, ".part01") Then
[/autoit]
ScanFolder($FullFilePath)
ElseIf StringRight($File, 4) = ".rar" And Not StringInStr($File, ".part") Then
ScanFolder($FullFilePath)