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. Oscar

Beiträge von Oscar

  • AutoIt-Heise-Newsticker

    • Oscar
    • 9. Juli 2017 um 09:15
    Zitat von bazii

    Hättest Du ein einfaches Beispiel ohne Internetfunktionalität und mit ruckelfreier Schrift und Ansicht bei Größenänderung der Gui parat?

    Klar! Ich habe mal die dafür notwendigen Sachen rauskopiert:

    Spoiler anzeigen
    AutoIt
    #include <GDIPlus.au3>
    #include <GDIPlusConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Math.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    
    
    Opt('GUIOnEventMode', 1)
    
    
    ; Ein Array mit den Scroll-Texten erstellen (kann beliebig erweitert werden, das Ende wird per UBound abgefragt)
    Global $aNewsText[] = ['(1/2) Dieser Text hier wird über den Bildschirm gescrollt.', '(2/2) Und dieser Text folgt als Nächstes']
    
    
    Global Const $iMainWidth = 800, $iMainHeight = 210 ; die Groesse des Fensters
    Global Const $iMarqueeWidth = 4000 ; Die Breite, die hier angegeben wird, muss groesser als die Fensterbreite sein, weil der Scrolltext komplett hineinpassen muss
    Global Const $iMarqueeHeight = 50 ; Die Hoehe der Laufschrift
    Global Const $iMarqueeLeft = 40, $iMarqueeTop = 30 ; die Position, an der die Laufschrift auf dem Fenster angezeigt werden soll
    _GDIPlus_Startup()
    
    
    Global $hMarqueeGui = GUICreate('Laufschrift-Beispiel', $iMainWidth, $iMainHeight)
    GUISetBkColor(0x000000) ; Hintergrundfarbe des Fensters (RGB)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseMarqueeGui')
    
    
    Global $hDC_Marquee = _WinAPI_GetDC($hMarqueeGui)
    Global $hDC_MarqueeBB = _WinAPI_CreateCompatibleDC($hDC_Marquee)
    Global $hBMP_Marquee = _WinAPI_CreateCompatibleBitmap($hDC_Marquee, $iMarqueeWidth, $iMarqueeHeight)
    Global $hBMP_Old = _WinAPI_SelectObject($hDC_MarqueeBB, $hBMP_Marquee)
    Global $hGC_Marquee = _GDIPlus_GraphicsCreateFromHDC($hDC_MarqueeBB)
    _GDIPlus_GraphicsClear($hGC_Marquee, 0xFFFFFFFF) ; Hintergrundfarbe der Laufschrift (ARGB)
    _GDIPlus_GraphicsSetSmoothingMode($hGC_Marquee, $GDIP_SMOOTHINGMODE_HIGHQUALITY)
    _GDIPlus_GraphicsSetPixelOffsetMode($hGC_Marquee, $GDIP_PIXELOFFSETMODE_HIGHQUALITY)
    _GDIPlus_GraphicsSetTextRenderingHint($hGC_Marquee, 5)
    
    
    GUISetState(@SW_SHOW, $hMarqueeGui)
    _WinAPI_BitBlt($hDC_Marquee, $iMarqueeLeft, $iMarqueeTop, $iMainWidth - $iMarqueeLeft * 2, $iMarqueeHeight, $hDC_MarqueeBB, 0, 0, $SRCCOPY)
    
    
    Global $iMarqueeX = $iMainWidth - $iMarqueeLeft, $iNewsCount = 0
    Global $iTextWidth = _SetMarqueeText($aNewsText[$iNewsCount])
    While Sleep(10)
    	_MarqueeScroll()
    WEnd
    
    
    Func _CloseMarqueeGui()
    	_WinAPI_SelectObject($hDC_MarqueeBB, $hBMP_Old)
    	_WinAPI_DeleteObject($hBMP_Marquee)
    	_WinAPI_DeleteDC($hDC_MarqueeBB)
    	_WinAPI_ReleaseDC($hMarqueeGui, $hDC_Marquee)
    	_GDIPlus_GraphicsDispose($hGC_Marquee)
    	_GDIPlus_Shutdown()
    	GUIDelete($hMarqueeGui)
    	Exit
    EndFunc   ;==>_CloseMarqueeGui
    
    
    Func _MarqueeScroll()
    	_WinAPI_BitBlt($hDC_Marquee, ($iMarqueeX > $iMarqueeLeft ? $iMarqueeX : $iMarqueeLeft), $iMarqueeTop, $iMainWidth - $iMarqueeLeft - ($iMarqueeX > $iMarqueeLeft ? $iMarqueeX : $iMarqueeLeft), $iMarqueeHeight, $hDC_MarqueeBB, ($iMarqueeX > $iMarqueeLeft ? 0 : $iMarqueeLeft - $iMarqueeX), 0, $SRCCOPY)
    	$iMarqueeX -= 1
    	If $iMarqueeX < -$iTextWidth Then
    		$iMarqueeX = $iMainWidth
    		$iNewsCount += 1
    		If $iNewsCount = UBound($aNewsText) Then $iNewsCount = 0
    		$iTextWidth = _SetMarqueeText($aNewsText[$iNewsCount])
    	EndIf
    EndFunc   ;==>_MarqueeScroll
    
    
    Func _SetMarqueeText($sText, $iTextColor = 0x000000, $iBkColor = 0xFFFFFF)
    	Local $hBrush = _GDIPlus_BrushCreateSolid(BitOR(0xFF000000, $iTextColor))
    	Local $hFormat = _GDIPlus_StringFormatCreate()
    	Local $hFamily = _GDIPlus_FontFamilyCreate('Times New Roman')
    	Local $hFont = _GDIPlus_FontCreate($hFamily, 24, 3)
    	Local $tLayout = _GDIPlus_RectFCreate(0, 6, $iMarqueeWidth, 40)
    	Local $aInfo = _GDIPlus_GraphicsMeasureString($hGC_Marquee, $sText, $hFont, $tLayout, $hFormat)
    	Local $iTextWidth = Ceiling(DllStructGetData($aInfo[0], 'Width'))
    	Local $hPen = _GDIPlus_PenCreate(0xFF000000, 8)
    	_GDIPlus_PenSetDashStyle($hPen, $GDIP_DASHSTYLEDASHDOT)
    	_GDIPlus_PenSetDashCap($hPen, $GDIP_DASHCAPTRIANGLE)
    	_GDIPlus_GraphicsClear($hGC_Marquee, BitOR(0xFF000000, $iBkColor))
    	_GDIPlus_GraphicsDrawLine($hGC_Marquee, 0, 0, $iTextWidth, 0, $hPen)
    	_GDIPlus_GraphicsDrawLine($hGC_Marquee, 0, $iMarqueeHeight - 0, $iTextWidth, $iMarqueeHeight - 0, $hPen)
    	_GDIPlus_GraphicsDrawStringEx($hGC_Marquee, $sText, $hFont, $aInfo[0], $hFormat, $hBrush)
    	_GDIPlus_PenDispose($hPen)
    	_GDIPlus_FontDispose($hFont)
    	_GDIPlus_FontFamilyDispose($hFamily)
    	_GDIPlus_StringFormatDispose($hFormat)
    	_GDIPlus_BrushDispose($hBrush)
    	Return $iTextWidth
    EndFunc   ;==>_SetMarqueeText
    Alles anzeigen
  • AutoIt-Heise-Newsticker

    • Oscar
    • 8. Juli 2017 um 19:06

    Das da ein paar exotische AntiVirusprogramme "false positiv"-Meldungen raushauen, ist fast unvermeidbar. Die melden alles, wo AutoIt drin vorkommt.
    Im übrigen kann ich alle beruhigen! Das AutoIt-Script befindet sich ebenfalls im ZIP-Archiv. Ihr könnt die beiliegende Exe weghauen und das Script selbst compilieren.

  • AutoIt-Heise-Newsticker

    • Oscar
    • 8. Juli 2017 um 18:31

    Ich habe schon zwei AutoIt-Programme bei Heise. Jetzt habe ich auch den Newsticker hochgeladen (muss noch freigeschaltet werden).
    Ohne UPX-Packer kommen da auch keine Antivirus-Meldungen. Außerdem liegt der Sourcecode bei.

    Es gibt jetzt auch eine neue Version (wie die bei Heise). Siehe Post#1.

  • AutoIt-Heise-Newsticker

    • Oscar
    • 8. Juli 2017 um 08:36
    Zitat von autoiter

    Beim Mousover bleibt die Laufschrift stehen.

    That's not a bug! It's a Feature! ^^
    Das ist so gewollt, deswegen die beiden von Dir genannten Zeilen.
    Wenn Du nicht willst, dass beim Mousehover die Laufschrift stehenbleibt, dann die beiden Zeilen entfernen.

  • AutoIt-Heise-Newsticker

    • Oscar
    • 7. Juli 2017 um 18:32

    Eigentlich wollte ich nur eine Laufschrift programmieren, aber als ich dann nach Texten zum scollen gesucht habe, dachte ich mir, nehme ich die News von der Heise-Homepage (wenn man nur die Überschriften übernimmt und den Link im neuen Browserfenster öffnet, dann ist das legal).
    Jedenfalls ist so der "AutoIt-Heise-Newsticker" entstanden. :D
    Wer lediglich eine Laufschrift für die eigene GUI braucht, kann sich von dem Script aber gern inspirieren lassen.

    Screenshot:
    AutoIt-Heise-Newsticker_Screenshot.png

    Dateien

    AutoIt-Heise-Newsticker__v1_1_0_0.zip 993,93 kB – 326 Downloads
  • GUI / Fenster Größenänderung - wie geht das mit GDIPlus Elementen?

    • Oscar
    • 6. Juli 2017 um 18:14
    Zitat von BLinz

    Die GUI an sich funktioniert, auch das hinzufügen weiterer Dateipfade (und das entfernen dieser wenn der Platz nicht mehr reicht).

    Aber wie macht man das mit dem Bild-Preview welches per GDIPlus erstellt wird? Ich hatte schon verstanden das dieses ja sowieso bei der kleinsten Änderung wieder neu gezeichnet werden muss (WM_PAINT),
    ergo dachte ich das es nach Änderung der GUI-Größe dann halt auch einfach in einer neuen Größe gezeichnet wird.

    So wie ich das damals gemacht habe, würde ich das heute nicht mehr machen. Vor allem nicht, wenn die GUI größenveränderbar sein soll.
    Eine größenveränderbare GUI ist sowieso schon eine große Aufgabe und wenn Du dann auch noch die Windows-DPI mit einbeziehen willst... :rolleyes:
    Jedenfalls musst Du das GDI+ Previewbild nicht einfach nur löschen und dann neu erstellen. Du musst das neuzeichnen selbst vornehmen.
    Das heißt, dass Du zuerst den alten Inhalt löschen musst (mit der Hintergrundfarbe übermalen). Erst dann kannst Du die Bitmap und Graphic löschen und neu erstellen.

    Man kann das Ganze aber auch Windwos überlassen, indem man ein Pic-Control verwendet und die GDI+ Bitmap in eine HBITMAP (GDI ohne Plus) wandelt und dann an das Pic-Control sendet.
    Allerdings wird dann das Breiten-/Höhenverhältnis des angezeigten Bildes nicht mehr eingehalten. Will man das beibehalten, dann muss man per WM_SIZE das Bild neu berechnen.
    Ich habe mal ein kleines Beispielscript geschrieben:

    Spoiler anzeigen
    AutoIt
    #include <GDIPlus.au3>
    #include <GDIPlusConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Math.au3>
    #include <StaticConstants.au3>
    #include <WinAPI.au3>
    #include <WinAPIConstants.au3>
    #include <WinAPIGdi.au3>
    #include <WindowsConstants.au3>
    
    
    Opt('GUIOnEventMode', 1)
    Opt('GUICloseOnESC', 0)
    
    
    Global $bZilpzalp = _zilpzalp() ; Binaerdaten von einem JPG-Bild
    
    
    Global $hMainGui = GUICreate('Pic-Preview', 1000, 640, -1, -1, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_TABSTOP), $WS_EX_ACCEPTFILES)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseMainGui')
    Global $idPic = GUICtrlCreatePic('', 10, 10, 620, 620)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT+$GUI_DOCKBOTTOM+$GUI_DOCKTOP)
    GUISetState(@SW_SHOW)
    _GuiCtrlSetImageEx($idPic, $bZilpzalp)
    GUIRegisterMsg($WM_SIZE, '_WM_SIZE')
    
    
    WinWaitClose($hMainGui)
    Exit
    
    
    Func _CloseMainGui()
    	GUIDelete($hMainGui)
    EndFunc
    
    
    Func _WM_SIZE($hWnd, $iMsg, $wParam, $lParam)
    	_GuiCtrlSetImageEx($idPic, $bZilpzalp, True, 0xFF000000)
    	Return $GUI_RUNDEFMSG
    EndFunc
    
    
    ;===============================================================================
    ; Name:             : _GuiCtrlSetImageEx
    ; Description:		: Funktion zum laden von Grafikdateien (alle die GDI+ unterstützt) in ein Pic-Control
    ;                     Dabei werden die Grafikdateien proportional in das Pic-Control eingepasst (skaliert)
    ;                     Die Grafikdatei darf auch als Variable mit Binärdaten übergeben werden.
    ; Syntax:           : _GuiCtrlSetImageEx([$idPic][, $sImgFile][, $fUpscale][, $iBkColor][, $fDebugInfo])
    ; Parameter(s):		: $idPic = ID des Pic-Control (kann auch "Default" oder "-1" sein)
    ;                     $sImgFile = der Pfad und Dateiname der Grafikdatei oder die Grafikdatei als Variable mit Binärdaten
    ;                     $fUpscale = falls TRUE, wird die Grafikdatei auf die Maße des Pic-Control hochscaliert
    ;                     $iBkColor = Hintergrundfarbe (Format: ARGB) für das Pic-Control
    ;                     $fDebugInfo = falls TRUE, werden ein paar Debugdaten in der Console angezeigt
    ; Requirement:		: oben stehende Includes und AutoIt-Version >= v3.3.12.0
    ; Return Value(s):	: Im Erfolgsfall wird TRUE zurückgegeben (@error = 0). Ansonsten:
    ;                     @error = 1 wenn das Pic-Control nicht existiert
    ;                     @error = 2 wenn die Abmessungen des Pic-Control nicht gelesen werden konnten
    ;                     @error = 3 wenn die Grafikdatei nicht geladen werden konnte
    ; Author(s):		: Oscar (www.autoit.de)
    ; Version / Date:   : 1.1.0.0 / 14.07.2015
    ;===============================================================================
    Func _GuiCtrlSetImageEx($idPic = Default, $sImgFile = '', $fUpscale = False, $iBkColor = 0x00000000, $fDebugInfo = False)
    	Local $hPic, $hParent, $aPos, $hGfx, $hImage, $hBitmap, $hGfxCtxt, $iImgWidth, $iImgHeight, $hBitmapScaled, $hBMP
    	Local $iScalefactor = 1, $iFactorW, $iFactorH, $iScaleWidth, $iScaleHeight, $iError = 0
    	If $idPic = Default Or $idPic <= 0 Then $idPic = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle($idPic))
    	$hPic = GUICtrlGetHandle($idPic) ; das Handle vom Pic-Control holen
    	If Not IsHWnd($hPic) Then Return SetError(1, 0, 0) ; wenn kein Handle, dann Funktion mit Fehlermeldung verlassen
    	$hParent = _WinAPI_GetParent($hPic) ; das Fenster des Pic-Controls ermitteln
    	$aPos = ControlGetPos($hParent, '', $idPic) ; die Koordinaten und Abmessungen des Pic-Control ermitteln
    	_GDIPlus_Startup() ; GDI-Plus starten
    	$hBitmap = _GDIPlus_BitmapCreateFromScan0($aPos[2], $aPos[3]) ; Eine Bitmap erstellen
    	$hGfxCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap) ; Graphic-Context der Bitmap holen
    	_GDIPlus_GraphicsSetInterpolationMode($hGfxCtxt, $GDIP_INTERPOLATIONMODE_HIGHQUALITYBICUBIC)
    	_GDIPlus_GraphicsClear($hGfxCtxt, $iBkColor) ; Die Bitmap mit der Hintergrundfarbe füllen
    	If IsBinary($sImgFile) Then ; wenn die Grafikdatei als Binärdaten übergeben wurde, dann...
    		$hImage = _GDIPlus_BitmapCreateFromMemory($sImgFile) ; die Grafikdatei aus den Binärdaten laden
    		If @error Then $iError = 3 ; wenn das laden der Binärdaten fehlgeschlagen ist, dann Errorcode speichern
    	Else ; sonst (Grafikdatei befindet sich auf Datenträger)...
    		$hImage = _GDIPlus_BitmapCreateFromFile($sImgFile) ; die Grafikdatei laden
    		If @error Then $iError = 3 ; wenn das laden der Datei fehlgeschlagen ist, dann Errorcode speichern
    	EndIf
    	If Not $iError Then ; wenn kein Fehler aufgetreten ist, dann...
    		$iImgWidth = _GDIPlus_ImageGetWidth($hImage) ; die Breite der Grafikdatei holen
    		$iImgHeight = _GDIPlus_ImageGetHeight($hImage) ; die Höhe der Grafikdatei holen
    		; wenn die Größe des Pic-Controls kleiner als die Grafikdatei ist oder $fUpscale = True,
    		; dann muss die Grafikdatei skaliert werden (Scalefactor berechnen):
    		If ($aPos[2] < $iImgWidth Or $aPos[3] < $iImgHeight) Or ($fUpscale = True) Then
    			$iFactorW = $aPos[2] / $iImgWidth
    			$iFactorH = $aPos[3] / $iImgHeight
    			$iScalefactor = ($iFactorW > $iFactorH ? $iFactorH : $iFactorW)
    		EndIf
    		$iScaleWidth = Int($iImgWidth * $iScalefactor) ; die Breite der skalierten Grafikdatei berechnen
    		$iScaleHeight = Int($iImgHeight * $iScalefactor) ; die Höhe der skalierten Grafikdatei berechnen
    		If $fDebugInfo Then ; Debuginformationen ausgeben, wenn gewünscht:
    			ConsoleWrite(StringFormat('Ctrl-Size: %i x %i\n', $aPos[2], $aPos[3]))
    			ConsoleWrite(StringFormat('Img-Size: %i x %i\n', $iImgWidth, $iImgHeight))
    			ConsoleWrite(StringFormat('Scale-Factor: %f\n', $iScalefactor))
    			ConsoleWrite(StringFormat('Scale-Size: %i x %i\n\n', $iScaleWidth, $iScaleHeight))
    		EndIf
    		$hBitmapScaled = _GDIPlus_ImageResize($hImage, $iScaleWidth, $iScaleHeight) ; die Grafikdatei skalieren
    		; und zentriert in die Bitmap zeichnen:
    		_GDIPlus_GraphicsDrawImageRect($hGfxCtxt, $hBitmapScaled, ($aPos[2] - $iScaleWidth) / 2, ($aPos[3] - $iScaleHeight) / 2, $iScaleWidth, $iScaleHeight)
    	EndIf
    	_WinAPI_LockWindowUpdate($hParent)
    	$hBMP = _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap) ; HBitmap von der Bitmap erstellen
    	_WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hBMP)) ; und an das Pic-Control senden
    	_WinAPI_LockWindowUpdate(0)
    	; zum Schluss noch aufräumen...
    	_WinAPI_DeleteObject($hBMP)
    	_GDIPlus_BitmapDispose($hBitmapScaled)
    	_GDIPlus_GraphicsDispose($hGfxCtxt)
    	_GDIPlus_BitmapDispose($hBitmap)
    	_GDIPlus_GraphicsDispose($hGfx)
    	_GDIPlus_BitmapDispose($hImage)
    	_GDIPlus_Shutdown()
    	Return SetError($iError, 0, $iError = 0)
    EndFunc   ;==>_GuiCtrlSetImageEx
    
    
    ;Code below was generated by: 'File to Base64 String' Code Generator v1.20 Build 2015-09-19
    
    
    Func _zilpzalp($bSaveBinary = False, $sSavePath = @ScriptDir)
    	Local $zilpzalp
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= 'SdciMAA9R2+lUbrXLgAN3IPtKBFy5QBRQMe645IPpQBg4MyimmYj6gAzKxMKmMMpcgDgBue5x2zVNwC8M8hkcmSQfACKIRt8xP7rHgD/AFqlo9TW6gDkkNzJuRQjRQBsOGKAsSfTPwCNdbBHbXNkVwA+TczqY4JOhQCP93HcUpMp2gAo5ueycRqjyAB+SQ88ASEdhwB81U+zAK2ZUgBXlba20bio6wCOehp81tSkxwCbe0BZmSRpEQC3rk52irEf2QDjeJ/s0ao2CwCNwIl9uOlaLQBNVe2pZjvFKwAuBiJmbcQFJgA19KzLnV4hDACLCkylFIRVIwD3g/ve1BWpUADdh7ZJE3eaEAA23cT5Z9eazwCXUJzIxdZQ0gAMFgcbR646cwBArdxqXUzMFwDJ/z+UAE7FY7sj1phivrghEQks/wAwcY2jsPagTv0Z02nwSInlTrkxnBC9x9K9F8L6idLuFMxkjiLFYvKXOSaqna9mNvTQ9stNb8I6ppqWN/NcQywc3G+YFXkByGKn8uK4zxPoehahM0tte2Rmcb2Lsq+UOwx3z7V6DSasjmu07nkfiHw3arKI4bm3kDKC+HBBPcjvXCXGh2cPmIrb5MhVU8j/AHj60k3sjpi29zEm0eNAysMqrFcrkgH+8fSs650hivmKwzs3YU9R6fpTaKMGW3AVUAUbTkuOMn0zULLKqkZwjEfMMDmpAijyvmqx2rngkck+lK5h2LtGVZsbyDlT6UARMVUgoVYDsTUThpMynKEMAoHHSgBRuLbtpX1yuePSmyW2FL4+VuQowce9AFrKJFsEWHKA7iM5PriqyxokpfyyshA74yfWgCEBpFbeuME5IyeKRo7fu0m89yM4PpTvYBDF5gaKMZY4JXAHHrTNigbZVddinYTzzRqwBWZ1+7yp5Zh+opXaNiFKkb1IBwRQ7dAGJEioy/IrkjadpFOCyAbg/wB0kEjnn1pAM3bFKOxZichh1+lODLwGjCtg8v3/ABoAh25OzzWClic9OPSpCwiJXjcB1Ynk+tADyUmPmNvYFcZVu/pVOUFTl0OFB+XI596AIyzygBVyNvzDGPxFRhJNwJUBTxjGOKAJQVUsCccYz6Cmybd+VC4xg5OM0AI+Nv8AEqgcrnOD60+KdUDYZhIwzszkfWgB7Sjyk3BRJ7dfrQCruo3MH2hsuMc0D1ZbiikmISNRlTktxzT3sgwYsGXAJDtz+IoD1Ot8JSXOl6jp1/Yxg3lhqNtfWm/BBkjlWQP83Gcrxnviv6M/2u/ih4J+O/wh/Z81nwN41f4h65b6PbaR4+1i+0EW0/hq/KqrWEx2gYjYjBBYEHhua+a4jqxw0IzktDzMwg21JHzTrvhnWfhxJ4km+IT6J47sf+EehtfCul61cy2aWcjLzMgT5nZc/KTxkV4bpHxG0zxTpmsaNq2i3Ot6X4d01/7Inku2Bs5P7mWOeOmBnIr5ajFYx+0Wx1YNKS5j4O8XXSnWb2WKNolaYtBACG8pc9M96taL4mFvGy3ama3JCskO0MB357V9XLDutTS/E6JpSep6P8R/iP4X1/wn4e0Pw1o13pK6Tbsl5PNf7heuw5JCgcf72TXzNJYpIGkVkJOcJgn9aeW4L6jFre73IhBQVkY9xaSIRG2WYqeEGMCqLWmYtuwbsliYxk4r2jWO9mRG0kWMgR8YOA3GKijgMQLtExXI5PrQacqGhGlfcoZFRskvnketb9treq2cPlJM0kOCEXeflHrUTgp7g4rcxrqaSadpzJlj8/ToajaeZMFJWVmwTsyA3saago7C5U9Sq7SSSLk89frUMofd8/8AGcDPY1qn0E4pIbtyDzyOST/KnxllDbMZ5IAGfxzVN22IasQK8wYgYVnJOGzyPWpVWYHcMZI6g9D6U3bqI9W8FeD7vVI11C5tg1rHIMbwBuFfVPi34xeNdK8A6D4Ct/FGv6Z4S0GGVdL8IWuu3C2tuZARIwtc+Wu4EknGSTmvmcdXjXqKnvbo'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '2008x4lkWnjrA6TSvcQccTY1eiFzAkZ9hD0UrQnOM/Eyzzkjl8nadLR5VWCMGEKK/BkLapzgyv8AE1BvU4GPmcmW7WeqhtJWRxxBjQAMORO1PiNNGVz6vaJ0+KZc7m468xzDKqxwl7abaOkV88YHWBo09WfUQD1mPrPFL7f8M7R8dYhXrLqrhZuLMDnk9Zpj4crN0tR6TV11CxQnXvDrWqAJPP6PUs7NY7ZbOTkzQ0uodrVDNkDHWX6+s1Rwb1NDJuVH9L4J+IGy6uigLVnd3MavvXyX3YyRPN3arZbYuN3GBz0MeOPtODsjYXxbbUFblh395FPjQFhFgyvsDPOtazHkyAYf/Nil6+vxNKGNiWLsdfUjDII+RIXUojCzS2eg9Bnlc9vtPKh2aaekpZQAOS0zz8XrOz3pp1qll2SPmN622oKpK7z9uJivqH09pQHBEk+IlH9fKkdveZzHL4WzTXV9RQq//rIN4GCEAI46dom2s8wZVQJdN7rnbkZ6iaav1OzP8WgJBAxiU/8AI1nG5FOPf2grNLZs34OJmaitwTkGaY4b+q1HpKbdLapJFRJOD856GEGk07HAqHqbIwc8jrPGlnToSPzhavENTSxK2HJ/aa/x5fKPV6x9FpjlSmM94B/CtM2AM4HXiYNfjeqQgk7veMr/AOorg+SgPMWs4PU+3gtWc7gQYJvA1I4dcwH/APkJ2kbPtxKt482cqnOMRf8A6fg1Vm8DYA4Iz8GZ+r0h0tmywhT25zGL/Gr7R6fTmZzMzsWZiSepJmmHvvlUjpBkyJobhLKZGJOIEIMGSRKLxLxaAbiDFeTDYzCV1g4j3oy/kzimI95XEE6gHmR7I2Gh9MsBI3e04NJSuDiaGl1WUKN78TMMJU+1wfaTlNk9O5469pRrAHUxStt67t2R7ZkK+XnPexs21gBIgXrrer1KMnvKWfeUa3aojlpFr9CF/wAOTRRbUjP2AjCPuaHJyqiV7bnIJ0vufJ6w2cmVKLSzP2PQSuSQT7yaE7skIo5J5MvacHAPTiQhUMGPaUz5jZgHaysXafAHIGRPPWrtYiekVvUAegmN4hXttJHQzbxZc6VjSU6dOnQ0dOnTsQDh8x7Q2BSQAeepilZUH1A4+I0nltgCwKPaTkGmhyAZbhhz+kCLAQNvSFXgzmyhwrqdOoq2oOrZP2iNSZvJPQczWuHBxE/MQZxwe8eOV0LA7afM+CJCoiDBBJ94UPk4Erx95Ut6Lp6V2CgwHnKQVaVsWwnuZ1ekdzkzHHHbPaUVSciNVMg6nmVOkG3GcHtFWV0bD/r2MvnEHrHVhmvgwItBPPBkKw29cmL6lCV3LnI/ePZ7P26ddRo2K8meb2mqznsf0m3oNV/LYew6TO1Krba+33zN8bNOjx8n9BaHSPq2BMLQOarSp95shuMiS6O4X1Wur04LMQPkzF1Xj64IqUk+5jHjy7qMj3nlX6ww8GN5rnyx1Wh/5O93ZvMIJ64lfOdm3FiTnOYgp5h6zNvTGdRNOLYWbLEknqTLhosMmEUEHJOJnYgYnMo6ZHElXBPWWMXRB15QEjjEZTWhfeBJ9JgwvvDUvZm7dc3Kg5I6MIiTuJzOnSpJOidiTIlhzGDfh9XmXDPvNhrK6NoXn7RHwyterNtzx95pLo62ZgSSO05PJd3SKyta++7zB+KUJDKpx2htUgUOvXYesWz/ACwfbiOFEhADkGMVahq+MnHxF1bPSXHPaF57M6dfZtG39IGzUeZ9aLmTTVvHMIlAY4zyPeZzKYgm1VTnkYlP4JWbg/aaB0uGwRCJp1XrkHtK/n0fJH/wzFeCJC+EOMhhNQGxR6SDiMU3ngPiTf8AIpzbFPhDZ+kyP/Et7Gel3jGc4HzI8+oAkkYXrFPPkeq8y3hbjtKN4e47T0japDYVC5x8dZQXK24mtdo6TWeTyX4qSvL2aOxeggfKcdRPUCypyQ1YGe4PaUbRoxyvK++Jpj5MutDVea2EDpOm1dRUTgce5IiV'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= 'mVPcCU1AdrgV5RRJ83FeBuBJwSJcY9OGBzMMscp8Z3Gw1pwrJ8wWqseywKhGxep9zL3N/LVU4LHkj2nJX26zK/kJ1ak9e/EMEFBD7sA9j3+0q2FYYOW/pAavU6ap1bUXBSB06k/lCTXEEmx7We4YP0+2ZxdKK/rCAcs5PA/5mRf47WNODQMuxIwew+ZlvqbdSS9rlif2muPiyvNVMf1tP4rSq5rXe2fxf3gqdba14vsYYz09/iZA6xi641jYvJH7Sr4pOILx0bu1fqJd/wBIq+t7IBn3MSdnY5bqZyDmXPFJ2k3ZqHsHqMqG4gxCAcR6kUjzcSy3GV2cztuOkfDMTh+soy45kA4hlIZcGE4ECrbt2MKrMgwIaqivqeslqFzwYrYYA46zs46SMHvLAGCnLYwPBMpYC465MMKyRntOCYPSLpUtgaszBUbJxwIV0WvhzgnpCV1BkYYwQOssBXerLa22wfSff7wtlVvYHm5OQ35SG1Nm4EHHYy6aXccZ56YMmzTGobhgzL+u0XccFttO8cQ6Vv8AiIi9bWg8eqXFzqSpBEjKXqAyC6+k4ce0V1lIYGxVZWHUHoYQWpkFj+QhHrr1Kna5Q/PSGGVxq8azGJKA5EipCW4hLKGps2OJYenGJ07/ABGdhhMImCZYWZMW3EmXUGZ6rPZxbQo46zq+XJi3Qw1Z9UQ2fZsVRUAky7MSoE5Thcwt2a6thMSP4euxfUolQdxjAHphKCD6ZarA45A4P2kaxK1VWTIJ6x1VD5U9+Ijqq3rYK/09jNMbTV/iS9QRyT8xlH31qfbgxXT0i1ip9uIVVahsE5HvMfLjvoGUY03+YgzxNBLjcnqQEfMzN3Qg9OI1VeFrUdJfiy/rteKdVXWamIBB9pnKvqmuEW5eSQp445iT6crc1aZYj4lXefMFk+Bt6gBjAEhmRUyeTD06dmPq4PtDfwZ/EvEPT7SY5sSs5ZRuJ4yIIb9QwxnE1tV4ctwyOGEpTo/J64/KPckIhfpClW894upFdFjFckAY4+Zu3JvqImC4Fti0jOAeZp4s9tMKtp9EPELTY4wgwFUdST0iJo3XOiL9LFZrU3+ULdPVguwGCDjHH9oWnSppwoI9TcsT7zo3pq7QqlVRRVG4DljGNpA9XWcBVny1I5zzC2L6QSeR7SbVFnrO3J6DtBlSPt/WMuuUGOhgmGBEapDeWRng9oTTg7MdhIUcjPfvDFguFHAEQEPAAxIb1L0gy5fHYfEnceP+4jhIZMDIkqV2+rtODcYEGR7R0CKRv47fvCYXHHvg/pF1PtLVWesBumR368yQq2B0EjORxL2LxnvBgyqYijsZO0jPvKrxxCg/GRIAQ4biEBBP9pV1yciULBsDowOQYwIUDfME9bL05H9JZiwIbGQRzCI4K5YRkX2889xyINhbWxGSynsYzdtG1kPWUR1LFW6GAQllqJu+odAYLV+Kto61Gwl3GZa1nptxjKnp7ETtRSmoq8p/oblG7qZnl4cMrtFwl5Yuo8W1VxP8zYOmE4xESxYkk8mF1ND0WsjjDCBmuOOOPUZ3hMYpHpi8YoJCwy6IT6WnC/8A0iUbvAg8zOY7KmGO89JwBkKTLE5MRSJUSxsxK8BeYIt6otDIyrzi0CGk7otIXJl0OIHdzLqYiNI594ZWJHeLVnJzGlXIEiwwQwzhhmaGh/gn9F2UY9CTxGtf4FbQdyAOO2Igujds4HI7Ga5YZY1rcdG7/D2wWqG5B3HMX/hyBkgjEJTptSlQuouatgcYB/tGH1DP/L1tWD3dOPzkWfos/CYtpqtPBYEcwdh01vGHU+4Eas8PG3zKmFlZ7iLsgq9W3OO0jmFFS5dcjkj6to6/M4OxBWxTg95YgLZlSAGGR9pOSuMkYPeYZWWnQFVqmxg4PeH3dCf6Spc/SSMSBbjKkRXdLSLagRvRRweQZdCpAw3lsew6Symwg4XPEGGpb0ldrfEN2zSoNfX51ODjcv0mZ7dfV1jljFQGIwvTcvT8'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= 'W17u46Cc2law71br7SvlkWsyErnkj5kiqw8jeB8GHH4DXhrJo6zQg9Gc8zTruDjBAIEzSgrI3DHzL6e6pslT3I++J27d+j1qKynacA9QZjajw192/TtjnoZqCz/Mcj3ltw24B6SrZS0zr/DWFfm1HnGSB2ldJr301m1wdvt7TRV2TkMdo6xfVaau/lOCZlcJ3jwn11006LarwHQ/dZZgc5YYxMCi63RWANnHzN3T6tLqgQAfg9pphnvi9qQyqTyOTOIwOeR7HmV1NtFFLWuSgU5OOcCW0up0+sQtp7BYvTIHT7y+OgDZpktUhSUY/mIr/A2Dcrqtq84GMg/7TStXyiRyVb9pTYSQwzxyI9DbD1uhapw9RZAeQV5xAfxdlQVddQHQdLqxnH3HWeiesqQ7D7HtB2U06gqXQZ7ERf8AT3SFd1jVCyqxL6cZB+ofr1H7wF+n0Wqr3MgpY/i3DH/9un6iFu8GFVvnaJ3rb3rfaf8AY/nANbcjEazTl+xtqUK/5jo37RFZKR1PgN9WWqxYvUbep/3/ACmc1bVkqQQR2Im9Xc9CbtJcrJ0IQZHxuQ8iWr1Ok8Ud6yireg+ixcffB6iZ5YxnfDvp58E7oZBzHNVpNPTea3NumbsbBuQ//sORBanQ30qGGHU8gqc8faZXC/GN8WUQuMwzNtAxE1L1ttsVlPsRgyWtJyBIss7TrRuu8HiX8zJ6xOpSTzGlQ4iLlexFdYoylDxHAJzIriA0UR+eTgRqrV1qcHJHviAegAyVVPaOcCcNDbXfQbEYYHPIxn4i24eo94NCoONxAx0zOIPXtC3Z0t4gc1VDPvERkdI1r/p9PMRSwjgxScFU3vlVOPpbMf0Gup8saXWHavRLPb7xIruQ+x4lAoasE8no06vFP66ro8fTV1CZA2sGZT9S9D8zjh6hYByeCPmZVOpfTEDANe7JHwes1qmVbDWTlLOh+e01nDUAMVbIjdtOw/fpFXUhiD+cONaprVLR6k4z7iMnad9lvlu2FYcZ94/XjDVN36TOvqJOYbT2lyqEnIBwYqBSTU4PtJW3JyPznE7+G6/1i5Vq7Aw+xh2DIAYMR3MXdzWeehk2ZxuRsHviDL7l2v1ENh12xwCp5g8ADI6zmUA+mWpwxKk8jtJt2Y1INpCkfeTdUKzsUxrRIFVnI6cQWrKgnHU9ZWMLfLvOSuoIuDj2iWqtLgywGSYCzJfpKAKqSYzXWT2lUU+0cpTjMVoXqXGDK2EhS2OW4EMAcYxyYFh5t20fSsjswyvl1ZH1ESrE4WofW3Lf7Qrjdd19Ccn7ytYK7ryPU3Cj5gEqvmWhR9Ff9e5lbmF9wX8CcmFt/wDbaZVX63OIKtNoFZ4z6nPsPaIBapyKsDhrThQOywmnqxpgF+qw7R9otk6nVFgOM7UHxHntWhLbRyKl8use7GVQVYr5tlSNlU9P3lqK8vk9MwSqun0XmMMu52r/AFMZTP8ACeZYVRWyMfaPoVeht72Wt+IRTWnLpjsT/SGptD1sU+kcc+8WvBZlPYGBNRCK6lJ7qDn8pTfloVQDWEflcAfaLXUuv0cg9Jx5z8cmXbG17A3NjpmC0+pencEOMy+rrZHO7rFV5mkkuKvjT0+vcMN/I+Y3bdVZgAjMjw/SaPW6dT5jLcOGU9/tDnwmpvSthV+mGGP3mV8c7lTulG0gYZEc0WhOnBZgA3fntO09T1KanIznAjfqK4J52zPd6K6VTlAw4PSWsQ43A52jJ+0rWLK2yRlCMZhA4UknkRSfpOq22V78YA7CVsGamtXsM/lOQeWTsHpznBlfUgBzweMfEeoF0sVawwwSOojNbKUBPP2MQrrDFlx+UJXWCnXErGiUTV2nyWG8FgCRzyREPDdZS2kXYxzkgg8cyLju3cD4xMLRX/wuqtouUmtjyPmdOM29CvUJq2BIz+kIutJ43fbMxhfjmpiU/wBXOPgy41IbhhtPxzAbbtWry2G7iEa5UxkbhMau4jHcf1jS6g2Ab3JP'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= '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'
    	$zilpzalp &= 'E5gFi2J24mDnQMTfxzJ3AdDiCk5hoxxdjhgCPcS2Es6GLZEgHByDF6nsc1snTOJGQZVb2XvmED1v14MOT2oR+U4iGCg9gf2MqVAz/eHsewCozmErI4zsGPxEcySvuJVlGJW9mao8U1VAKrYrqfw2qGH+8Yp8Uqdtuqp8vP46+g/KZZU4leRx1+8XrKr2rfFQtr36ewWL8c4/2k171425/PEw6Lnqs31u1Te6zVp17OM2kH3ZBIuGlTI71ILKR8wlbphiXC4PUmVqVr1zpdUX91/3EF5VqtwG3dOsk9mhYMZ3KwPdTkZl1uGOhiYHOe47Swb4MVqpUWIt1TL1BHET0lG1iCMc9I0uamA/D3+IdUHn8dxnic/hysunAHbSPL5EwNcoVjPT6kYrM8rr2JsM68LutIS6yQJZBkxyvTbsYxNrdK0DRWSY2W2rtEnyvKX5METkyLdleHSyrmdWu44Edr0/pziRllpBYYTkyt9mUGIPWOQ+0Qakt1jxm+VYrKPeFrTJ6cSqLGAQqx5VeXCGYVrE7bixnX2bjgHiBhjj9rMWrJOJ6TwnTjYGBnmqjhhPSeFapK0wxjyumuHZXx/cj9MZ4mCes9P48BbTuUZx1nmWUjnEMOiz7VnTp0pDpdELdBmUA56RupcVdCD3iyuoVqUGwYJyZbdxB4lsTG8p27PEofURnGBLESAI4NoMqRL4nYhsByDxLESCMyjQfYSplsSJUCuJJkidiM1ZYTtsnbGHCWlcS6jPWIkYyeJfaZxMtuHEQUC4MsB2xJJB5HWVyR1jDjlftOFnvJRu2ZU7SDkcwCQw7zsg/Bg8exlwMQCwz3lgcCUnMTAOd8kCVK5OZQnJl1MQUYEGRDEDvKHHtGFJ07BE6IOnTu8nEAjE6SZEA6d2k4nQPahEjBhMZkbY9jamJGcQhUyhUwNZLSp6wy6gdHEWxiRCyU9tKpqznGMSxpRxwcTMVipyDiMV6ll6yLhfhjvQ6jKjcPiAYe4xGa9UCc5hT5dv1ARe1nY2QIxyJxyoyjEZ44jVlGPo5EXceX9SnPaXMpVbDR2R9yllYchlJBE0KPGb1bOoRdRnqzHDfrEQMnrJKcSrJTlekq1Wn1Y/lC0MfpyQc/BnNpbhjAOCMjK4nmTlRwTDVeJ66isV16q1UHQZziZ3DfSpY32ZDZsVwxA7f7S9BCuOeOkyfEHavxNbUBGVGTn6ppVevFg6EcicXpcdZRzaN60fyjPKa1P5hzPT6liajmec1nqswJ1eK8qIIDuE0KbCq8wVVIxkyzEA4E2y5PelrbCxg15MjrD6ekuZPSbR9JXlxmaTqFp6QOmoas5IjGoU+TgDrMcpbVSTW2BdWbLiRzJTTuO3M3dL4f6ckSorQXMAOOk36mlYY2scDb1GIPUW4G0TQ8QrVMNjEx7m3NmGt0ZzVUM6dOlIShwZoUWEY+JnCNUcxVWL0dfl36Mqx6jmee1xrQeWnJzzH6ritZXPB4mNcc2N95OMu1Z2aDhK6i/xKAjMbQAKNsrK6ZVKoExg4OOTLZz3zKfEkDA4mNu07SBzJyB0lTn35lecwJY4M7tIHPSQTjrALdpHbrK5nZyI9G44lTgSDIMqQOPM7E7kycSzVHEnMkidiAdidJVSZO2AcAMZnciTOHTECQeeZXdL54kekwNXdLqweLQAIwZVlWQB7GAAHMMHKmdgnmQA7fYyQMQCBxIAeZBnZgFgTKsAHjrLSjcwCoEALA4kdp2OYgsAhsyeO0r9pMAAIMgjEsZHJ6QAYUEmTj5kRB0A3k4xOnYgHScAbJxLBcxEqFkA2BiEUeqFTTsA2nCKTj2i2WwAsFzJ8v4mmngATcK9zbVEbo8ACEtH1MfciL0A5C9nnzXmDNYAR2np6/CavUsAuDYP1H+0K3gARpTWDll4574AI/5MTmTyO2QAFZs2eEWbzs0ArDPHPWKW6OwAqbDIRHM5elQAyJKCDDLY46EA3YlvIOekr5QAynIyDHeVTIYAr1OS'
    	$zilpzalp &= 'Af3hiUsAFwwzBeWrJlgAervKbWT6WyMA2MjU+HuDNpgAY9JgShRsNJUA1BQ85X+kKtoAlgwxzDeU7UAAYB7ypQfEO+kAgwypgzS4ONoAZUyg3Gz4lpgAgLkqyqcq6nIACIzoqyaSMc4AMiJeFuzLbS0Aym0tj2I9pqYAg+kH/vWYya8A6srNKYFtRB4ApHP3mPfp/LsAirjPsfea9o0AlZZeCLWH5SkAqVD6Ziw5AyIARMrhdHvVYdoAQvCxZicwjnIATKkTph2uTkwA2PC6stzMmocAM3PDOqyMrqoAWpZpwK+BKjQAu9lGOk0KwCMAmFrRRk4h920ApClta00EDjgAmIgLMWM2fE0AiKGxMev/AAwAmVOV4dkPFyQAqMe8xj1mn4gAuws29plnrLwAWfk7dOndp0YAhKgkx/RUF2wAHMQQ+oTZ8PcAJYdJOV0rCboAPZoHVMjmYl8AUy2MMT2iAMkAgzzOvAGuYAcAGIplpeeOptkA6VHrj9YZMgcAOB8CSx5lR7wAm5bYWrEiduAAO8pnrJA4MnQAlJbniVJM7tMAu8YTnjEjE6QA4jCBO7SehlcAMDQZXntJM6UAwI5k8yTIjNIADOHWcJJ4MCQA9p0rniSIg4gA9pXkSwMnrjMA3jNQNOIBnEAAkQDuSJIkjpIA/Y/EQROMgGcAdYEidJ6iRA0AIkNJkHkZjCsAJEgdcSwEkkgAkgTscyRyD9oAAQffEjrJ/wAAaTAK4nEQmBwAzlALDPeMBkQAkA+3MYFa+3YAmhToaX0j2ncABlGRg8QpWkIArSOyl2GFAzkAmh/AVVgbi2AA9CP6QtQDVNkA54xKqxZVYnkAMwudSpRpazcA5Kegdj3jqlQA3EKAoBxxArwAE4jFQzRnvkEAzM7bQaYb+MYAEXtmU8zy3O0AHU5lN7c89ZQABzaQekKBQxYAPo6ZMhlY2d0AgCMmF0qgFgMApk/1lVJXcAcAoYGlEHmMQegAeD8SuqRWUAoAhvuJakbzyTwAkw748rkA4HEAkSfivTjZFdIAUlCTRWB9pS4A8P0zADyvLJ4A6xssUYAQxUMA1eok9JcysPEAxjzGv0b6QdcAch6ETPGS09EA+MKDoN/OQ4AAB2HWecB6zXAAy3Ds0ucHtBEAUD6TtML2gXMALhyrrY6dR+kALfxJ7rz94EEAOJLHBj1Fbf8A2Q=='
    	$zilpzalp = _WinAPI_Base64Decode($zilpzalp)
    	If @error Then Return SetError(1, 0, 0)
    	Local $tSource = DllStructCreate('byte[' & BinaryLen($zilpzalp) & ']')
    	DllStructSetData($tSource, 1, $zilpzalp)
    	Local $tDecompress
    	_WinAPI_LZNTDecompress($tSource, $tDecompress, 74745)
    	If @error Then Return SetError(3, 0, 0)
    	$tSource = 0
    	Local Const $bString = Binary(DllStructGetData($tDecompress, 1))
    	If $bSaveBinary Then
    		Local Const $hFile = FileOpen($sSavePath & "\zilpzalp.jpg", 18)
    		If @error Then Return SetError(2, 0, $bString)
    		FileWrite($hFile, $bString)
    		FileClose($hFile)
    	EndIf
    	Return $bString
    EndFunc   ;==>_zilpzalp
    
    
    Func _WinAPI_Base64Decode($sB64String)
    	Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    	If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    	Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    	$aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    	If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    	Return DllStructGetData($bBuffer, 1)
    EndFunc   ;==>_WinAPI_Base64Decode
    
    
    Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize)
    	$tOutput = DllStructCreate("byte[" & $iBufferSize & "]")
    	If @error Then Return SetError(1, 0, 0)
    	Local $aRet = DllCall("ntdll.dll", "uint", "RtlDecompressBuffer", "ushort", 0x0002, "struct*", $tOutput, "ulong", $iBufferSize, "struct*", $tInput, "ulong", DllStructGetSize($tInput), "ulong*", 0)
    	If @error Then Return SetError(2, 0, 0)
    	If $aRet[0] Then Return SetError(3, $aRet[0], 0)
    	Return $aRet[6]
    EndFunc   ;==>_WinAPI_LZNTDecompress
    Alles anzeigen
  • FotoSort

    • Oscar
    • 5. Juli 2017 um 18:09
    Zitat von BLinz

    Jemand müsste mir mal bitte den Befehl Mod() erklären.

    Das ist ganz einfach: Mod($x, $y) ergibt den Rest der Division von $x und $y.
    Wenn $x = 11 und $y = 5, dann ist die Rückgabe = 11 geteilt durch 5 macht 2, 2 mal 5 ergibt 10, 11 minus 10 ergibt 1 also 1.
    Oder als AutoIt-Funktion:

    AutoIt
    For $i = 31 To 39
    	ConsoleWrite(_Mod($i - 1, 5) & '  ')
    	ConsoleWrite(Mod($i - 1, 5) & @CR)
    Next
    
    
    Func _Mod($x, $y)
    	Return $x - (Int($x / $y) * $y)
    EndFunc
  • GIF-Animation mit GDI+

    • Oscar
    • 5. Juli 2017 um 05:05
    Zitat von olfibits

    pack die anim lieber in eine child gui mit aktivierungsbuttons in der parent gui, man sieht so rein gar nix vom beschreibungstext

    Äh, lies Dir den "Beschreibungstext" doch nochmal durch. ^^

    Zitat von UEZ

    Ich hatte vor längerer Zeit eine GIF UDF gebastelt, aber nie richtig veröffentlicht

    Vielen Dank, dass Du sie nun doch veröffentlichst.
    Bei Deinen Scripten findet man immer so viele Inspirationen. :rock:

    Zitat von BLinz

    Ich nutze seit langen dazu die GIFAnimation.au3

    Die wollte ich auch testen, aber der Download funktioniert dort nicht mehr.

  • GIF-Animation mit GDI+

    • Oscar
    • 4. Juli 2017 um 19:18

    Ich hatte mir mal vor einiger Zeit Scripte zum Thema "GIF-Animation" angeschaut. Viele davon lassen die Animation ganz schön flackern.
    Also habe ich mir aus diversen Scripten etwas zusammengesucht und hier und da noch etwas abgeändert und schon klappt das auch mit der GIF-Animation in GDI+.
    HIer mal ein Beispielscript, bei dem sich zwei GIF-Animation am Ende des Scripts als Binaerdaten (BASE64 kodiert) befinden. Je nachdem, ob "_penguin()" oder "_falter()" auskommentiert ist, wird die jeweilige Animation geladen und angezeigt.
    Alle Einzelbilder der GIF-Animation werden in ein Array als GDI+ Bitmaps geladen und dann mit Backbuffer in einer Layered-GUI (transparent) angezeigt. Dabei werden auch die gespeicherten Frame-Delays berücksichtigt. Danke an Prog@ndy!

    Dateien

    GIF-Anim.au3 1,2 MB – 876 Downloads
  • FotoSort

    • Oscar
    • 4. Juli 2017 um 09:41
    Zitat von BLinz

    Vielleicht eine Option wie "Wenn Ziel und Quelle gleich sind, überspringen". Gleich im Sinne von beide Dateien gleicher Inhalt.

    Das ist bei Bildern nicht ganz so einfach. Kleine Änderungen führen nicht zwangsläufig zu einer geänderten Dateigröße.
    Und wenn man den Vergleich über die Checksumme macht, dann dauert das recht lange.

    Zitat von BLinz

    Ein "Fehler" wäre da noch beim Zähler (1) anhängen:

    Stimmt! Mehrere Punkte innerhalb des Dateinamens habe ich nicht berücksichtigt. Das werde ich ändern!

    Zitat von BLinz

    Wenn Gifs angezeigt werden könnten bei diesen auch die Animationen angezeigt werden

    Dafür hatte ich mal einiges aus dem Netz zusammengesucht und ein Script erstellt.
    Mal schauen, ob ich das da einbauen kann.

  • Autoit3 Internal Process Piping | Pipe

    • Oscar
    • 4. Juli 2017 um 08:10

    Zu den "NamedPipe" hat m-obi im April 2013 mal ein funktionierendes Script erstellt: Interprozesskommunikation

  • UDF _FolderIsWriteable

    • Oscar
    • 2. Juli 2017 um 17:23

    Das mit den Verzeichnissen auf CD stimmt ja sogar! Das war mir gar nicht bewusst (habe ich bisher nicht gebraucht).
    Aber Du solltest in Deiner Funktion auch testen, ob der übergebene Pfad auch wirklich ein Verzeichnis ist, ansonsten wird u.U. sowas ("C:\folder\datei.txt\isWriteable.tmp') erstellt.
    Außerdem brauchst Du nicht wirklich etwas in die temporäre Datei speichern. Wenn FileOpen fehlschlägt, dann schreibgeschützt, ansonsten beschreibbar.
    Das könnte man dann auf wenige Zeilen kürzen:

    AutoIt
    $sFolder = @ScriptDir & '\TestFolder'
    If _PathIsWritable($sFolder) Then
    	ConsoleWrite('Fehler: ' & @error & @CR)
    	ConsoleWrite('Verzeichnis ist beschreibbar!' & @CR)
    Else
    	ConsoleWrite('Fehler: ' & @error & @CR)
    	ConsoleWrite('Verzeichnis ist schreibgeschützt!' & @CR)
    EndIf
    
    
    Func _PathIsWritable($sPath)
    	If Not StringInStr(FileGetAttrib($sPath), 'D') Then Return SetError(2, 0, 0) ; wenn kein Verzeichnis, dann Fehler 2
    	If StringRight($sPath, 1) <> '\' Then $sPath &= '\' ; Backslash hinzufuegen, falls nicht vorhanden
    	Local $hFile = FileOpen($sPath & 'PathIsWritable.tmp', 2), $iError = $hFile = -1 ; wenn FileOpen fehlschlaegt, dann Fehler 1
    	FileClose($hFile) ; Datei wieder schliessen
    	Return SetError($iError, 0, FileDelete($sPath & 'PathIsWritable.tmp')) ; Rueckgabe je nach FileDelete True oder False
    EndFunc
    Alles anzeigen
  • FotoSort

    • Oscar
    • 2. Juli 2017 um 08:47

    Ups! Irgendwie muss ich diese Nachrichten hier völlig übersehen haben. Aber vom 11. bis 14. Mai lag ich auch im Krankenhaus.

    Jedenfalls habe ich jetzt mal eine neue Version des Scripts gepostet (Post#1), das auch mit der aktuellen Version von AutoIt funktioniert.

  • Verständnisfrage - RAMVerbrauch

    • Oscar
    • 29. Juni 2017 um 14:36
    Zitat von Sonderbaar

    Wie sage ich dem Script, dass es den Arbeitsspeicher auch wieder frei machen soll?

    Es wäre hilfreich, wenn Du das besagte Script mal posten würdest, dann könnte man konkretere Antworten liefern.

  • Programm mit vielen AdlibRegister() aufrufen / Performance / NICHT Multithreading/Parallelprozessing

    • Oscar
    • 29. Juni 2017 um 14:33
    Zitat von BLinz

    Dein Beispiel hat aber einen "Fehler". Der Tooltip in der Hauptschleife fängt erst an zu laufen nachdem die GUI geschlossen wurde, sprich die Hauptschleife wird ignoriert und das Exit aus der Funktion greift nicht.

    Äh, da muss bei Dir etwas falsch laufen, denn das obige Script funktioniert bei mir einwandfrei.

  • Ping funktioniert in AutoIt nicht zuverlässig. In der CMD aber problemlos.

    • Oscar
    • 29. Juni 2017 um 10:36
    Zitat von chrisbyRRC

    Und ein kompletter Port-Scan im gesamten Netz würde wahrscheinlich auch lange brauchen, oder?

    Es wird ja nur Port 445 (Datei- und Druckerfreigabe) gescannt.
    Das geht ziemlich schnell im lokalen Netz. Schneller als Ping auf alle Fälle.

  • Programm mit vielen AdlibRegister() aufrufen / Performance / NICHT Multithreading/Parallelprozessing

    • Oscar
    • 28. Juni 2017 um 18:48

    Die AdlibRegister-Funktion muss schneller durchlaufen werden, als deren Aufruf, ansonsten hängt sich AutoIt irgendwann auf.
    Wenn Du zeitkritische Funktionen hast, dann ab damit in die Hauptschleife (beim OnEventMode). Dort können sie so lange brauchen, wie sie wollen.
    Etwas MultiThreading bekommst Du mit "_Timer_SetTimer". Die werden auch bei einem Sleep oder einer MsgBox oder sonstigen blockierenden GUI-Kram aufgerufen (Fenster bewegen).
    Hier mal ein kleines Testscript:

    AutoIt
    #include <Date.au3>
    #include <GUIConstantsEx.au3>
    #include <Timers.au3>
    #include <WindowsConstants.au3>
    
    
    Opt('GUIOnEventMode', 1)
    
    
    Global $iCounter = 0, $fBlink = True
    Global $hGui = GUICreate('Timer-Test', 300, 200)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseMainGui')
    Global $idCounter = GUICtrlCreateLabel($iCounter, 10, 10, 100, 20)
    GUICtrlSetFont(-1, 16, 400, 0, 'Arial')
    Global $idBlinker = GUICtrlCreateLabel('', 10, 50, 20, 20, Default, $WS_EX_STATICEDGE)
    GUICtrlSetBkColor($idBlinker, 0xFF0000)
    GUISetState()
    
    
    _Timer_SetTimer($hGui, 10, '_SetCounter')
    _Timer_SetTimer($hGui, 500, '_Blinker')
    
    
    While Sleep(500)
    	For $i = 0 To 9999
    		ToolTip($i)
    		Sleep(250)
    	Next
    WEnd
    
    
    Func _CloseMainGui()
    	_Timer_KillAllTimers($hGui)
    	GUIDelete($hGui)
    	Exit
    EndFunc
    
    
    Func _Blinker($hWnd, $iMsg, $iIDTimer, $iTime)
    	$fBlink = Not $fBlink
    	GUICtrlSetBkColor($idBlinker, $fBlink ? 0xFF0000 : 0x00FF00)
    EndFunc
    
    
    Func _SetCounter($hWnd, $iMsg, $iIDTimer, $iTime)
    	$iCounter += 1
    	GUICtrlSetData($idCounter, $iCounter)
    EndFunc
    Alles anzeigen
  • Ping funktioniert in AutoIt nicht zuverlässig. In der CMD aber problemlos.

    • Oscar
    • 28. Juni 2017 um 15:46

    Sind das eigentlich alles Windows-PCs mit Datei- und Druckerfreigabe?
    Dann könnte man mit einem Portscan auf den IP-Bereich die entsprechenden Rechner finden:

    AutoIt
    #include <Inet.au3>
    Opt("TCPTimeout", 20)
    TCPStartup()
    Global $iSocket, $sIP, $sIP_Range = '192.168.178.'
    For $i = 1 To 255
    	$sIP = $sIP_Range & $i
    	$iSocket = TCPConnect($sIP, 445)
    	If $iSocket > -1 Then
    		ConsoleWrite($sIP & '   ' & _TCPIpToName($sIP) & @CR)
    		TCPCloseSocket($iSocket)
    	EndIf
    	ToolTip($i)
    Next
    TCPShutdown()
    Alles anzeigen
  • Ping funktioniert in AutoIt nicht zuverlässig. In der CMD aber problemlos.

    • Oscar
    • 28. Juni 2017 um 14:00

    Hast Du es schonmal mit NetServerEnum versucht:

    AutoIt
    #include <Array.au3>
    
    
    Global Const $SV_TYPE_WORKSTATION = 0x1
    Global Const $SV_TYPE_SERVER = 0x2
    Global Const $SV_TYPE_SQLSERVER = 0x4
    Global Const $SV_TYPE_DOMAIN_CTRL = 0x8
    Global Const $SV_TYPE_DOMAIN_BAKCTRL = 0x10
    Global Const $SV_TYPE_TIME_SOURCE = 0x20
    Global Const $SV_TYPE_AFP = 0x40
    Global Const $SV_TYPE_NOVELL = 0x80
    Global Const $SV_TYPE_DOMAIN_MEMBER = 0x100
    Global Const $SV_TYPE_PRINTQ_SERVER = 0x200
    Global Const $SV_TYPE_DIALIN_SERVER = 0x400
    Global Const $SV_TYPE_XENIX_SERVER = 0x800
    Global Const $SV_TYPE_NT = 0x1000
    Global Const $SV_TYPE_WFW = 0x2000
    Global Const $SV_TYPE_SERVER_MFPN = 0x4000
    Global Const $SV_TYPE_SERVER_NT = 0x8000
    Global Const $SV_TYPE_POTENTIAL_BROWSER = 0x10000
    Global Const $SV_TYPE_BACKUP_BROWSER = 0x20000
    Global Const $SV_TYPE_MASTER_BROWSER = 0x40000
    Global Const $SV_TYPE_DOMAIN_MASTER = 0x80000
    Global Const $SV_TYPE_WINDOWS = 0x400000
    Global Const $SV_TYPE_CLUSTER_NT = 0x1000000
    Global Const $SV_TYPE_TERMINALSERVER = 0x2000000
    Global Const $SV_TYPE_CLUSTER_VS_NT = 0x4000000
    Global Const $SV_TYPE_LOCAL_LIST_ONLY = 0x40000000
    Global Const $SV_TYPE_DOMAIN_ENUM = 0x80000000
    Global Const $SV_TYPE_ALL = 0xFFFFFFFF
    
    
    $aCompList = _NetServerEnum($SV_TYPE_WORKSTATION)
    
    
    _ArrayDisplay($aCompList)
    
    
    Func _NetServerEnum($iSrvType = -1, $sDomain = '')
    	Local $uBufPtr = DllStructCreate("ptr;int;int"), $res[1] = [0], $i
    	Local $uRecord = DllStructCreate("dword;ptr"), $iRecLen = DllStructGetSize($uRecord)
    	Local $uString = DllStructCreate("char[16]")
    	Local $uDomain = DllStructCreate("byte[32]"), $pDomain = 0
    	If Not ($sDomain = '' Or $sDomain = '*') Then
    		DllStructSetData($uDomain, 1, StringToBinary($sDomain, 2))
    		$pDomain = DllStructGetPtr($uDomain)
    	EndIf
    	Local $ret = DllCall("netapi32.dll", "int", "NetServerEnum", _
    			"ptr", 0, "int", 100, _
    			"ptr", DllStructGetPtr($uBufPtr, 1), "int", -1, _
    			"ptr", DllStructGetPtr($uBufPtr, 2), _
    			"ptr", DllStructGetPtr($uBufPtr, 3), _
    			"int", $iSrvType, "ptr", $pDomain, "int", 0)
    	If $ret[0] Then Return SetError(1, $ret[0], '')
    	Local $res[DllStructGetData($uBufPtr, 3) + 1] = [DllStructGetData($uBufPtr, 3)]
    	For $i = 1 To DllStructGetData($uBufPtr, 3)
    		Local $uRecord = DllStructCreate("dword;ptr", DllStructGetData($uBufPtr, 1) + ($i - 1) * $iRecLen)
    		Local $sNBName = DllStructCreate("byte[32]", DllStructGetData($uRecord, 2))
    		DllStructSetData($uString, 1, BinaryToString(DllStructGetData($sNBName, 1), 2))
    		$res[$i] = DllStructGetData($uString, 1)
    	Next
    	$ret = DllCall("netapi32.dll", "int", "NetApiBufferFree", "ptr", DllStructGetData($uBufPtr, 1))
    	Return $res
    EndFunc   ;==>_NetServerEnum
    Alles anzeigen
  • GUICtrlClock

    • Oscar
    • 28. Juni 2017 um 13:14

    Bei der UDF "GUICtrlClock" handelt es sich um eine Digitaluhr, die man in einer "fast" beliebigen Größe auf der eigenen GUI erstellen kann.
    Die Größe, die man übergibt bestimmt die Fontgröße. Außerdem kann man die X- und Y-Position auf der GUI angeben und die Farbe der Ziffern bestimmen.
    Man kann auch unterschiedliche Uhrzeiten anzeigen lassen und Größe, Position und Farbe auch noch nach dem erstellen verändern.

    Edit 27.09.17: Ich hatte die neuere Version noch gar nicht hochgeladen.

    Screenshot:
    GUICtrlClock_Screenshot.png

    Die UDF und ein Beispiel-Script findet ihr im ZIP-Archiv im Anhang.

    Dateien

    _GUICtrlClock.zip 126 kB – 459 Downloads

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™