1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. UEZ

Beiträge von UEZ

  • _SplashTextOnEx UDF build 2015-05-10

    • UEZ
    • 15. März 2015 um 15:21

    Welche AutoIt Version benutzt du?

  • _SplashTextOnEx UDF build 2015-05-10

    • UEZ
    • 14. März 2015 um 20:07

    Hier eine kleine UDF zum Anzeigen eines Splash Screens wie die Built-in Funktion SplashTextOn, aber mit GDI+ erweitert.

    AutoSave_20150510_103300.jpg AutoSave_20150510_103317.jpg

    AutoSave_20150510_103311.jpg AutoSave_20150510_103332.jpg


    Benötigt AutoIt Version 3.3.12.0 oder höher!


    Download UDF: _SplashTextOnEx

    Beispiel: Example

  • Steganografie für Bild- und Sounddateien

    • UEZ
    • 3. März 2015 um 19:13

    Nimm lieber dieser Version: http://www.autoitscript.com/forum/topic/11…ldrdll-library/

    Gruß,
    UEZ

  • Zahlenwert aus .txt durch neuen Zahlenwert ersetzen

    • UEZ
    • 3. März 2015 um 16:45

    Hier meine Version:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $sText = FileRead(@ScriptDir & "\C_01.cli")

    [/autoit] [autoit][/autoit] [autoit]

    $aText = StringSplitW($sText, " ")
    For $i = 0 To UBound($aText) - 1
    $aText[$i][4] += 2
    $aText[$i][5] += 2
    Next
    _ArrayDisplay($aText)

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ========================================================================================================================================
    ; Name .................: StringSplitW()
    ; Description ..........: Splits a string into columns instead of rows as it is done by SplitString(), like a csv file to a 2d array ;)
    ; Syntax ...............: StringSplitW($sString[, $sDelimiter = ";"[, $bStripWS = True[, $sQuotationMark = '"'[, $sDummy = "¦"[, $iWidthLen = 256]]]]])
    ; Parameters ...........: $sString - A string value.
    ; $sDelimiter - [optional] A string value. Default is ";".
    ; $bStripWS - [optional] A binary value. Default is True.
    ; $sQuotationMark - [optional] A string value. Default is '"'.
    ; $sDummy - [optional] A string value. Default is "¦".
    ; $iWidthLen - [optional] An integer value. Default is 256.
    ; Return values .......: Success - 2d array
    ; Error 1 - $sStringis not set
    ; Error 2 - $delimter is not set
    ; Error 3 - error splitting string
    ; Error 4 - array width exceeded
    ;
    ; Version .............: v0.97 build 2015-03-03 beta
    ; Author ..............: UEZ
    ; Modified ............:
    ; Remarks .............: RegEx take from http://stackoverflow.com/questions/4476…r-within-quotes
    ; Related .............: StringSplit, StringReplace, StringRegExpReplace, StringLen, StringStripCR
    ; ===================================================================================================================================================
    Func StringSplitW($sString, $sDelimiter = ";", $bStripWS = True, $sQuotationMark = '"', $sDummy = "¦", $iWidthLen = 256)
    If $sString = "" Then Return SetError(1, 0, 0)
    If $sDelimiter = "" Then Return SetError(2, 0, 0)
    Local $aSplit = StringSplit(StringStripCR($sString), @LF)
    If @error Then Return SetError(3, 0, 0)
    Local $chk, $iWidth, $i, $j, $k, $iLen, $iMax = 1, $iMaxWidth, $iSum = 0
    Local $aPos[1], $l = 0
    Local $aVertical[$aSplit[0]][$iWidthLen], $iDelimiterLen = StringLen($sDelimiter) - 1, $sLine
    For $k = 1 To $aSplit[0]
    $iLen = StringLen($aSplit[$k])
    If $iLen > 1 Then
    Switch $bStripWS
    Case True
    $sLine = StringRegExpReplace(StringStripWS($aSplit[$k], 4), '(?m)\' & $sDelimiter & '(?=[^' & $sQuotationMark & ']*' & $sQuotationMark & '(?:[^' & $sQuotationMark & '\r\n]*' & $sQuotationMark & '[^' & $sQuotationMark & ']*' & $sQuotationMark & ')*[^' & $sQuotationMark & '\r\n]*$)', $sDummy)
    Case False
    $sLine = StringRegExpReplace($aSplit[$k], '(?m)\' & $sDelimiter & '(?=[^' & $sQuotationMark & ']*' & $sQuotationMark & '(?:[^' & $sQuotationMark & '\r\n]*' & $sQuotationMark & '[^' & $sQuotationMark & ']*' & $sQuotationMark & ')*[^' & $sQuotationMark & '\r\n]*$)', $sDummy)
    EndSwitch
    $chk = StringReplace($sLine, $sDelimiter, $sDelimiter)
    $iWidth = @extended
    $iSum += $iWidth
    If $iWidth > $iWidthLen Then Return SetError(4, 0, 0)
    If $iWidth >= $iMax Then $iMax = $iWidth + 1
    Switch $iWidth
    Case 0
    $aVertical[$l][0] = $sLine
    Case Else
    Dim $aPos[$iWidth * 2 + 2]
    $j = 1
    $aPos[0] = 1
    For $i = 0 To $iWidth - 1
    $aPos[$j] = StringInStr($sLine, $sDelimiter, 0, $i + 1) - 1
    $aPos[$j + 1] = $aPos[$j] + 2 + $iDelimiterLen
    $j += 2
    Next
    $aPos[UBound($aPos) - 1] = StringLen($sLine)
    $j = 0
    For $i = 0 To UBound($aPos) - 1 Step 2
    $aVertical[$l][$j] = StringMid(StringReplace($sLine, $sDummy, $sDelimiter), $aPos[$i], $aPos[$i + 1] - $aPos[$i] + 1)
    $j += 1
    Next
    EndSwitch
    $l += 1
    EndIf
    Next
    ReDim $aVertical[$l][$iMax]
    Return $aVertical
    EndFunc

    [/autoit]

    Gruß,
    UEZ

  • Happy Birthday GDI+ Meister Eukalyptus

    • UEZ
    • 2. März 2015 um 15:42

    Alles Gute zum Geburtstag, viel Gesundheit und viel GDI+ Inspiration für die Zukunft!


    [Blockierte Grafik: http://www.mdr.de/sachsen/geburtstag120_v-teaserTop_zc-11a84362.jpg]

    Gruß,
    UEZ :party:

  • Steganografie für Bild- und Sounddateien

    • UEZ
    • 27. Februar 2015 um 21:17

    Gefällt mir ganz gut, und wenn ich die Bitmap mit dem Geheimtext in einem anderen Programm speichere, bleibt sogar die Geheimschrift intakt.

    Lehrreiche ASM Codes! :thumbup:

    Nur sind die Links in deinem Post kaum erkennbar.


    Gruß,
    UEZ

  • Progressbar beim anklicken verstellen

    • UEZ
    • 23. Februar 2015 um 20:30

    Hier ein Ansatz:

    [autoit]

    #Include <GUIConstantsEx.au3>
    #Include <WindowsConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    AutoItSetOption("MouseCoordMode", 2)

    [/autoit][autoit][/autoit][autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Mp3 Player", 333, 437, -1, -1, BitOR($WS_MINIMIZEBOX,$WS_SYSMENU,$WS_POPUP,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Progress1 = GUICtrlCreateProgress(8, 100, 319, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    Global $iProgress = 0, $bMP = False, $iProgressMax = 319

    [/autoit][autoit][/autoit][autoit]

    AdlibRegister("Playing")

    [/autoit][autoit][/autoit][autoit]

    Do
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    AdlibUnRegister("Playing")
    GUIDelete()
    Exit
    EndSwitch
    $a = GUIGetCursorInfo ($Form1)
    If $a[4] = $Progress1 And $a[2] Then
    $bMP = True
    $aPos = ControlGetPos($Form1, "", $Progress1)
    $iProgress = Int((-8 + MouseGetPos(0)) / $iProgressMax * 100)
    GUICtrlSetData($Progress1, $iProgress)
    Else
    $bMP = False
    EndIf
    Until False

    [/autoit][autoit][/autoit][autoit]

    Func Playing()
    If Not $bMP Then
    GUICtrlSetData($Progress1, $iProgress)
    $iProgress += 0.25
    If $iProgress > 100 Then AdlibUnRegister("Playing")
    EndIf
    EndFunc

    [/autoit]

    Gruß,
    UEZ

  • Zuverlässig eigene IP auslesen?

    • UEZ
    • 19. Februar 2015 um 22:30

    Alternativ probiere mal dies aus:

    [autoit]

    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True AND NOT Description LIKE '%Virtual%' AND DNSDomain<>''", "WQL", 0x30)

    [/autoit]

    Hier werden die virtuellen Adapter ausgelassen und DNSDomain darf nicht leer sein.

    IPConnectionMetric scheint nicht akkurat zu sein.

    Edit: habe noch DNSDomain<>'' hinzugefügt.

    Gruß,
    UEZ

  • Zuverlässig eigene IP auslesen?

    • UEZ
    • 19. Februar 2015 um 22:13

    Es scheint, als ob bei dir die IPConnectionMetric nicht 25 ist.

    Bei mir sind 4 Adapter gelistet, wobei nur die Aktive auf 25 steht und der Rest auf 20.

    Du kannst ja mal Scriptomatic anschmeißen und sehen, was bei dir gelistet wird.

    Gruß,
    UEZ

  • Zuverlässig eigene IP auslesen?

    • UEZ
    • 19. Februar 2015 um 21:37

    Kannst ja dies mal testen:

    [autoit]


    $sHost = @ComputerName
    MsgBox(0, "Test", "IP: " & WMI_GetIPFromActiveNetworkAdapters($sHost))

    [/autoit][autoit][/autoit][autoit]

    Func WMI_GetIPFromActiveNetworkAdapters($sHost)
    Local $objWMIService = ObjGet("winmgmts:\\" & $sHost & "\root\cimv2")
    If @error Then Return SetError(1, 0, 0)
    $colItems = $objWMIService.ExecQuery("SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True AND IPConnectionMetric=25", "WQL", 0x30)
    If IsObj($colItems) Then
    For $objItem in $colItems
    With $objItem
    If IsArray(.IPAddress) Then Return .IPAddress[0]
    EndWith
    Next
    Else
    Return SetError(2, 0, 0)
    EndIf
    EndFunc

    [/autoit]

    Auf meiner Kiste mit WLAN, LAN, VMware und VirtualBox funktioniert es, wobei die WLAN nur aktiv ist.

    Gruß,
    UEZ

  • Kompilieres Script kommuniziert ungebeten mit mail.autoscript.com

    • UEZ
    • 16. Februar 2015 um 00:18

    Sieht aus wie der Windows Ressourcenmonitor.

    Gruß,
    UEZ

  • Kompilieres Script kommuniziert ungebeten mit mail.autoscript.com

    • UEZ
    • 15. Februar 2015 um 23:01

    Öffne doch einfach eine CMD Box und gibt Zeile 1 / 5 ein...


    Gruß,
    UEZ

  • Kompilieres Script kommuniziert ungebeten mit mail.autoscript.com

    • UEZ
    • 15. Februar 2015 um 13:32

    Ich habe letztens ein Tool für die Firma programmiert, wo ich eine MySQL Datenbank ausgelesen habe und mich wunderte, warum das Tool so unterschiedlich lange benötigt, bis es startet.

    Grund war eben immer der Download der DLL.

    Hier der Code aus SQLite.au3

    [autoit]


    Func __SQLite_Download_SQLite3File(ByRef $sFilePath, $sFileName, $sVersion, $sFileExt, $bDownload = False, $iScripLineNumber = @ScriptLineNumber)
    Local $sRetFile = $sFileName & $sVersion & $sFileExt
    Local $sTempfile = $sFilePath & $sRetFile
    If $bDownload And FileExists($sTempfile) Then Return $sTempfile

    [/autoit][autoit][/autoit][autoit]

    Local $sURL = "http://www.autoitscript.com/autoit3/files/beta/autoit/archive/sqlite/"
    Local $iInetRet = InetGet($sURL & $sRetFile, $sTempfile, $INET_FORCERELOAD)
    Local $iError = @error
    If @error And StringInStr($sTempfile, @SystemDir) Then
    $sFilePath = @TempDir & "\"
    $sTempfile = _TempFile(@TempDir, "~", ".dll")
    _ArrayAdd($__g_aTempFiles_SQLite, $sTempfile)
    OnAutoItExitRegister("_SQLite_Shutdown") ; in case the script exit without calling _SQLite_Shutdown()
    $iInetRet = InetGet($sURL & $sRetFile, $sTempfile, $INET_FORCERELOAD)
    $iError = @error
    Local $iPos = StringInStr($sTempfile, "\", 0, -1)
    $sRetFile = StringTrimLeft($sTempFile, $iPos)
    EndIf
    If $iError Then __SQLite_Print('@@ Debug(' & $iScripLineNumber & ') : __SQLite_Download_SQLite3File : $URL = ' & $sURL & $sFileName & $sFileExt & @CRLF & @TAB & '$sTempfile = ' & $sTempfile & @CRLF & '>Error: ' & $iError & @CRLF)

    [/autoit][autoit][/autoit][autoit]

    Local $sModifiedTime = Call('__SQLite_Inline_Modified')
    If Not @error Then FileSetTime($sTempfile, $sModifiedTime, 0) ; update filetime if defined

    [/autoit][autoit][/autoit][autoit]

    Return SetError($iError, $iInetRet, $sRetFile)
    EndFunc ;==>__SQLite_Download_SQLite3File

    [/autoit]

    Am Besten die DLL in das Skript integrieren...

    Gruß,
    UEZ

  • Kompilieres Script kommuniziert ungebeten mit mail.autoscript.com

    • UEZ
    • 13. Februar 2015 um 18:43
    Zitat von Raupi

    @UEZ, woher kommt der Codegenerator?

    Guckst du hier: File to Base64 String Code Generator v1.20 Build 2015-01-20


    Gruß,
    UEZ

  • Kompilieres Script kommuniziert ungebeten mit mail.autoscript.com

    • UEZ
    • 13. Februar 2015 um 14:49

    Hier die SQLite3.dll als Binärstring: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.


    Gruß,
    UEZ

  • guictrlcreatepic Fehler

    • UEZ
    • 11. Februar 2015 um 11:06

    Probiere es mal damit:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ComboConstants.au3>
    #include <StaticConstants.au3>
    #include <Array.au3>
    #include <IE.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Haus1 = 1
    $Haus2 = 1
    $Haus3 = 1
    $Haus4 = 1
    $Baum1 = 1
    $Baums1 = 1
    Global $MAP

    [/autoit] [autoit][/autoit] [autoit]

    func _map_kulsav()
    $MAP = GUICtrlCreatePic("kulsav.bmp", 0, 0, 850, 600) ; Map
    $Haus1 = GUICtrlCreatePic("Haus1_wiese.bmp", 640, 35, 116, 156) ; Oben rechts
    $Haus2 = GUICtrlCreatePic("Haus1_wiese.bmp", 99, 60, 116, 156) ; Oben Links
    $Haus3 = GUICtrlCreatePic("Haus1_wiese.bmp", 99, 322, 116, 156) ; Unten Links
    $Haus4 = GUICtrlCreatePic("Haus1_wiese.bmp", 640, 322, 116, 156) ; Unten Rechts
    $Baum1 = GUICtrlCreatePic("Baum_wiese.bmp", 272, 216, 108, 124) ; Baum 1
    GUICtrlSetState($MAP, $GUI_DISABLE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _baum1()
    GUICtrlDelete($Baum1)
    GUICtrlSetState($MAP, $GUI_ENABLE)
    $Baums1 = GUICtrlCreatePic("Baumstamm_wiese.bmp", 296, 304, 52, 36) ; Baumstamm 1
    GUICtrlSetState($MAP, $GUI_DISABLE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    $TG = GUICreate("The Cold", 850, 600, -1, -1, BitOR($WS_MAXIMIZEBOX,$WS_SYSMENU,$WS_POPUP,$WS_TABSTOP))
    GUISetBkColor(0x000000)
    $Start = GUICtrlCreateButton("Start", 350, 16, 163, 57)
    GUICtrlSetBkColor(-1,0x000000)
    GUICtrlSetColor(-1,0xff0000)
    $Profil = GUICtrlCreateButton("Profil", 350, 88, 163, 57)
    GUICtrlSetBkColor(-1,0x000000)
    GUICtrlSetColor(-1,0xff0000)
    $Exit = GUICtrlCreateButton("Exit", 350, 160, 163, 57)
    GUICtrlSetBkColor(-1,0x000000)
    GUICtrlSetColor(-1,0xff0000)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $Exit
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    ;;;;;;;;;;;;;;;;;;;;;;;; START ;;;;;;;;;;;;;;;;;;;;
    Case $start
    GUICtrlDelete($Start)
    GUICtrlDelete($Profil)
    GUICtrlDelete($Exit)
    _map_kulsav()
    $Exit = GUICtrlCreateButton("X", 808, 0, 27, 25)
    GUICtrlSetBkColor(-1,0x000000)
    GUICtrlSetColor(-1,0xff0000)

    [/autoit] [autoit][/autoit] [autoit]

    Case $Haus1
    MsgBox(0,"x","x1")

    [/autoit] [autoit][/autoit] [autoit]

    Case $Haus2
    MsgBox(0,"x","x2")

    [/autoit] [autoit][/autoit] [autoit]

    Case $Haus3
    MsgBox(0,"x","x3")

    [/autoit] [autoit][/autoit] [autoit]

    Case $Haus4
    MsgBox(0,"x","x4")

    [/autoit] [autoit][/autoit] [autoit]

    Case $Baum1
    _baum1()

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]

    Gruß,
    UEZ

  • _ArrayDisplayConsole v0.92 build 2015-01-25 beta

    • UEZ
    • 31. Januar 2015 um 18:55

    Bitte sehr wakillon.

    Merci.

    Gruß,
    UEZ

  • FritzBox-Anrufmonitor über TCP

    • UEZ
    • 30. Januar 2015 um 22:42

    Funzt auch bei mir auf meiner Fritz!Box 7362 SL.

    Gruß,
    UEZ

  • Txt ändern und Info Fenster anzeigen lassen

    • UEZ
    • 28. Januar 2015 um 09:15
    Zitat von Alina

    @UEZ
    Gute Umsetzung.
    Nur was ist, wenn eine Zeile zwei mal vorhanden ist, dann wird nur der erste Treffer ersetzt.

    Die Nachtmaus im Nachtmodus ;)

    _ArraySearch findet leider nur den ersten Eintrag, aber man kann die Funktion ZeileSuchenUndErsetzen() solange aufrufen, bis nichts mehr gefunden wird.

    Gruß,
    UEZ ;)

  • Txt ändern und Info Fenster anzeigen lassen

    • UEZ
    • 27. Januar 2015 um 23:53

    Dann probiere mal dies aus:

    [autoit]

    #include <Array.au3>
    $sTest = "Zeile1" & @CRLF & _
    "Zeile2" & @CRLF & _
    "Zeile3" & @CRLF & _
    "Zeile4" & @CRLF & _
    "Zeile5" & @CRLF & _
    "Zeile6"
    $hFile = FileOpen(@ScriptDir & "\Settings.txt", 2)
    FileWrite($hFile, $sTest)
    FileClose($hFile)

    [/autoit][autoit][/autoit][autoit]

    ZeileSuchenUndErsetzen(@ScriptDir & "\Settings.txt", "Zeile4", "Zeile444")

    [/autoit][autoit][/autoit][autoit]

    Func ZeileSuchenUndErsetzen($sDatei, $sZeileSuchen, $sErsetzen, $bUeberschreiben = True)
    Local $aZeilen = FileReadToArray($sDatei)
    If Not IsArray($aZeilen) Or UBound($aZeilen) < 2 Then Return SetError(1, 0, "")
    Local $iPos = _ArraySearch($aZeilen, $sZeileSuchen)
    If Not $iPos Then Return SetError(2, 0, "")
    $aZeilen[$iPos] = $sErsetzen
    Local $sNeu = _ArrayToString($aZeilen, @CRLF)
    If $bUeberschreiben Then
    Local $hFile = FileOpen($sDatei, 2)
    If @error Then Return SetError(3, 0, "")
    FileWrite($hFile, $sNeu)
    FileClose($hFile)
    EndIf
    Return $sNeu
    EndFunc

    [/autoit]


    _FileWriteToLine macht im Prinzip das Gleiche...

    Gruß,
    UEZ

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™