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

  • PrintReminder

    • Oscar
    • 14. Juni 2012 um 20:15

    Es gibt nochmal ein Update. :)

    Änderungen:
    - Man kann jetzt diverse Einstellungen vornehmen (Autostart, Anzahl der Tage ( 2 bis 28 ), ab der erinnert wird und ob zusätzlich ein Systemsound ausgegeben werden soll).
    - Beim auswählen des Testdrucks erscheint jetzt noch ein Vorschaufenster.
    - Die Hilfeseite nochmal geändert (Links sind nun anklickbar).

    Neue Version in Post#1.

  • PrintReminder

    • Oscar
    • 12. Juni 2012 um 20:16

    Ein Update war nötig, da mein Programm gar nicht mitbekommt, wenn die 7 Tage um sind. Das geschah nur beim Programmstart.
    Ich habe jetzt auch noch die Möglichkeit zum ausdrucken einer Testseite hinzugefügt. Neue Version in Post #1.

  • Suche gewerbliches Systemhaus / Programmierer für Autoit-Unterstützung

    • Oscar
    • 12. Juni 2012 um 16:13

    [verschoben nach: Programmieranfragen]

  • PrintReminder

    • Oscar
    • 10. Juni 2012 um 22:37

    Naja, so genau kann ich das nicht beschreiben (das stammt aus einem Beispiel aus dem engl. Forum).
    Jedenfalls wird dort eine Funktion ("MY_SHNOTIFY") registriert, die aufgerufen wird, wenn sich etwas im Verzeichnis ("@WindowsDir & '\system32\spool\PRINTERS'") ändert.
    So kann mein Script im Sleep-Modus bleiben, bis sich dort etwas tut.

  • Zeilenumbruch in ComboBox

    • Oscar
    • 8. Juni 2012 um 13:49

    Ich weiß leider auch keine Lösung, aber mal etwas zum grundsätzlichen Problem: Ich halte es nicht gerade für einen guten Bedienkomfort einer GUI, wenn in einer Combobox derart lange Einträge vorhanden sind.
    Wenn ich erst einen so "langen" Text lesen soll, um eine Option auszuwählen, dann würde ich das Programm für "nicht durchdacht" halten. Kannst Du da nicht kürzere Texte verwenden?

  • PrintReminder

    • Oscar
    • 8. Juni 2012 um 12:32

    Das Problem bei Tintenstrahldruckern ist ja, dass deren Druckkopf eintrocknet, wenn längere Zeit nichts gedruckt wird.
    Deshalb habe ich dieses Programm geschrieben. :)

    Mein Programm erstellt ein Trayicon und überwacht dann den PRINTER-Ordner von Windows.
    Wird etwas ausgedruckt, aktualisiert Windows das Datum des Ordners und mein Programm berechnet die Differenz zum aktuellen Datum.
    Ist die Differenz größer als die eingestellte Menge an Tagen ( 2 bis 28 ), so fängt das Tray-Icon an zu blinken, um den Benutzer darauf aufmerksam zu machen, mal wieder etwas auszudrucken.

    Neu in Version 1.2 (14.06.2012) :
    - Man kann jetzt diverse Einstellungen vornehmen (Autostart, Anzahl der Tage ( 2 bis 28 ), ab der erinnert wird und ob zusätzlich ein Systemsound ausgegeben werden soll).
    - Beim auswählen des Testdrucks erscheint jetzt noch ein Vorschaufenster.
    - Die Hilfeseite nochmal geändert (Links sind nun anklickbar).

    Neu in Version 1.1 (12.06.2012) :
    - Fehler beseitigt! Mein Programm hat nur beim Programmstart mitbekommen, ob die 7 Tage schon um sind. Abfrage erfolgt jetzt alle 5 Sekunden.
    - Im Traymenü ist ein Punkt hinzugekommen: man kann jetzt eine Testseite (Testbild im img-Ordner) ausdrucken.
    - Die Hilfeseite überarbeitet.

    Script, Icon, Testbild und Exe befinden sich im ZIP-Archiv (Anhang).

    Dateien

    PrintReminder_v12.zip 784,1 kB – 386 Downloads
  • Konfigurationsdateien (INI) aktualisieren

    • Oscar
    • 6. Juni 2012 um 18:40

    Ich würde die Programmversion mit in die Inidatei schreiben.
    Wenn das Programm nun neuer ist als die Ini, dann die alten Iniwerte auslesen, die Inidatei löschen und neu erstellen lassen mit den alten Werten.

  • DirGetSize Ergebnis verkürzen

    • Oscar
    • 4. Juni 2012 um 21:31

    Vielleicht suchst Du sowas:

    Spoiler anzeigen
    [autoit]


    #include <String.au3>
    MsgBox(0, 'Beispiel 1', _ByteAutoSize(54225976, 0, 2, False)) ; ohne Tausendertrennzeichen

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

    MsgBox(0, 'Beispiel 2', _ByteAutoSize(54225976, 0, 2, True)) ; mit Tausendertrennzeichen

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

    MsgBox(0, 'Beispiel 3', _ByteAutoSize(DriveSpaceTotal('c:') * 2 ^ 20)) ; DriveSpaceTotal gibt den Wert in MByte zurück, deshalb "* 2 ^ 20"

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

    ;===============================================================================
    ; Function Name: _ByteAutoSize($iSize[, $iRound][, $iFormat][, $bThousands])
    ; Description:: Gibt einen Bytewert in einer bestimmten Einheit zurück
    ; Parameter(s): $iSize = Größe in Byte übergeben
    ; $iRound = Anzahl der Nachkommastellen (0...8)
    ; $iFormat = bestimmt den Rückgabewert
    ; 0 = Automatisch (je nach übergebenen Wert)
    ; 1 = in Byte
    ; 2 = in KByte
    ; 3 = in MByte
    ; 4 = in GByte
    ; $bThousands = Rückgabe mit Tausendertrennzeichen (True/False)
    ; Requirement(s): #include <String.au3>
    ; Author(s): Oscar (http://www.autoit.de)
    ;===============================================================================
    Func _ByteAutoSize($iSize, $iRound = 2, $iFormat = 0, $bThousands = True)
    Local $aSize[4] = [' Byte', ' KByte', ' MByte', ' GByte'], $sReturn
    If $iFormat < 0 Or $iFormat > 4 Then $iFormat = 0
    If $iRound < 0 Or $iRound > 8 Then $iRound = 2
    If Not IsBool($bThousands) Then $bThousands = False
    $iSize = Abs($iSize)
    If $iFormat = 0 Then
    For $i = 30 To 0 Step -10
    If $iSize > (2 ^ $i) Then
    $iFormat = $i / 10 + 1
    ExitLoop
    EndIf
    Next
    EndIf
    If $iFormat = 0 Then $iFormat = 1
    $sReturn = StringFormat('%.' & $iRound & 'f', Round($iSize / (2 ^ (($iFormat - 1) * 10)), $iRound))
    If $bThousands Then $sReturn = _StringAddThousandsSep($sReturn, '.', ',')
    Return $sReturn & $aSize[$iFormat - 1]
    EndFunc ;==>_ByteAutoSize

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _StringAddThousandsSep
    ; Description ...: Returns the original numbered string with the Thousands delimiter inserted.
    ; Syntax.........: _StringAddThousandsSep($sString[, $sThousands = -1[, $sDecimal = -1]])
    ; Parameters ....: $sString - The string to be converted.
    ; $sThousands - Optional: The Thousands delimiter
    ; $sDecimal - Optional: The decimal delimiter
    ; Return values .: Success - The string with Thousands delimiter added.
    ; Author ........: SmOke_N (orignal _StringAddComma
    ; Modified.......: Valik (complete re-write, new function name)
    ; ===============================================================================================================================
    Func _StringAddThousandsSep($sString, $sThousands = -1, $sDecimal = -1)
    Local $sResult = "" ; Force string
    Local $rKey = "HKCU\Control Panel\International"
    If $sDecimal = -1 Then $sDecimal = RegRead($rKey, "sDecimal")
    If $sThousands = -1 Then $sThousands = RegRead($rKey, "sThousand")
    Local $aNumber = StringRegExp($sString, "(\D?\d+)\D?(\d*)", 1) ; This one works for negatives.
    If UBound($aNumber) = 2 Then
    Local $sLeft = $aNumber[0]
    While StringLen($sLeft)
    $sResult = $sThousands & StringRight($sLeft, 3) & $sResult
    $sLeft = StringTrimRight($sLeft, 3)
    WEnd
    $sResult = StringTrimLeft($sResult, StringLen($sThousands)) ; Strip leading thousands separator
    If $aNumber[1] <> "" Then $sResult &= $sDecimal & $aNumber[1]
    EndIf
    Return $sResult
    EndFunc ;==>_StringAddThousandsSep

    [/autoit]
  • Windows - Letzter Druckauftrag - Wann?

    • Oscar
    • 4. Juni 2012 um 17:26

    Nicht so gut, weil das Eventlog in der Größe begrenzt ist und man Adminrechte braucht. :S

    Ich habe jetzt aber rausgefunden, dass Windows den Timestamp vom PRINTERS-Verzeichnis modifiziert.
    Das heißt, es funktioniert das hier:

    [autoit]


    #include <Date.au3>
    #AutoIt3Wrapper_UseX64=y ; <- für x86-Systeme hier 'n' eintragen
    $sPrinterSpoolDir = @SystemDir & '\spool\PRINTERS'
    $sLastModified = FileGetTime($sPrinterSpoolDir, 0, 1)
    If @error Then Exit MsgBox(0, 'Fehler', 'FileGetTime')
    $sLastModified = StringRegExpReplace($sLastModified, '(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})', '$1/$2/$3 $4:$5:$6')
    ConsoleWrite('Letzter Druckauftrag = ' & $sLastModified & @CR)
    $sDiffDays = _DateDiff('D', $sLastModified, _NowCalc())
    ConsoleWrite('Differenz in Tagen = ' & $sDiffDays & @CR)

    [/autoit]

    Zur Not genügt mir das. Wenn es allerdings eine Möglichkeit für jeden Drucker einzeln gäbe, wäre ich noch interessiert. :)

  • Windows - Letzter Druckauftrag - Wann?

    • Oscar
    • 4. Juni 2012 um 16:40

    Mich interessiert, ob man mit AutoIt herausfinden kann, wann der letzte Druckauftrag für einen bestimmten Drucker passiert ist.
    Wenn nicht für einen bestimmten Drucker, dann würde es mir auch reichen, wann der letzte Druckauftrag insgesamt passierte?
    Wird das irgendwo in der Registry eingetragen? Oder muss ich den Spools-Ordner permanent überwachen? Letzteres wäre nicht so schön.

    Man kann zwar die Druckaufträge nach dem drucken nicht löschen lassen und anhand des Dateidatums nachsehen, aber ich möchte nach Möglichkeit nichts an den Druckereinstellungen ändern müssen.

    Jemand eine Idee?

  • Dynamische Oberfläche

    • Oscar
    • 4. Juni 2012 um 16:24

    Meinst Du das so:

    Spoiler anzeigen
    [autoit]


    #include <String.au3>
    #include <GUIConstantsEx.au3>
    #include <Clipboard.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GuiStatusBar.au3>
    #include <StaticConstants.au3>
    Opt("WinTitleMatchMode", 4)
    Opt("TrayIconDebug", 1)
    #include <Array.au3>
    Global $sTB, $sIni = @ScriptDir & "\TextBausteine.ini"
    Global $var = IniReadSection($sIni, "Bausteine")
    If @error Then Exit MsgBox(4096, "", StringFormat("Es ist ein Fehler aufgetreten.\nWarscheinlich keine INI Datei vorhanden."))
    Global $idButton[$var[0][0]], $idEdit[$var[0][0]]

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

    Global $Oben = 80
    Global $Links = 10
    Global $Spalten = 2
    Global $Buttonbreite = 500
    Global $Buttonhoehe = 50

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

    Global $x_counter = 0
    Global $y_counter = 0
    Global $hide_state = 0, $btn_state = 0, $side = "left"
    Global $Button_[8], $Label_[8], $idButton[20]
    Global $text[1], $text2, $text3, $text4, $text5, $text6, $text7

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

    $hwnd = GUICreate("Sliding Toolbar", ($Links + $Buttonbreite + 90) * $Spalten, 500, -1, -1, Default, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
    $Show = GUICtrlCreateButton(">", 595, 8, 17, 70, BitOR($BS_CENTER, $BS_FLAT))
    $author = GUICtrlCreateLabel(" By... Simucal && Valuater", 120, 25, 400, 40)
    GUICtrlSetFont(-1, 20, 700)
    GUISetState(@SW_HIDE, $hwnd)

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

    For $i = 1 To $var[0][0]
    $idEdit[$i - 1] = GUICtrlCreateEdit($var[$i][1], $Links + ($Buttonbreite + 90) * $x_counter, $Oben + ($Buttonhoehe + 5) * $y_counter, $Buttonbreite, $Buttonhoehe, $ES_MULTILINE)
    $write1 = $var[$i][0]
    $write1 = StringReplace($write1, "_%CRLF%_", @CRLF)
    $write1 = StringReplace($write1, "_%CR%_", @CR)
    $write1 = StringReplace($write1, "_%LF%_", @LF)
    $idButton[$i - 1] = GUICtrlCreateButton($write1, $Links + $Buttonbreite + ($Buttonbreite + 90) * $x_counter, $Oben + ($Buttonhoehe + 7) * $y_counter, 80, 40)
    $x_counter += 1
    If $x_counter >= $Spalten Then
    $y_counter += 1
    $x_counter = 0
    EndIf
    Next

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

    GUISetState()
    While 1
    $msg1 = GUIGetMsg()
    If $msg1 = $GUI_EVENT_CLOSE Then Exit
    WEnd

    [/autoit]
  • Dynamische Oberfläche

    • Oscar
    • 4. Juni 2012 um 13:21

    IniReadSection liefert ein zweidimensionales Array zurück. Bei Bedarf mal das Tutorial von BugFix durchlesen. ^^
    Wenn Du aber mal Deine Ini (oder eine entsprechende Test-Ini) posten würdest, gäbe es hier bestimmt auch Leute, die Dir das Script anpassen.

  • Gui schliessen

    • Oscar
    • 4. Juni 2012 um 12:38

    Meiner Meinung nach, ist es (bei mehreren Fenstern) einfacher den OnEventMode zu verwenden.
    Hier mal ein Beispiel:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    Opt('GUIOnEventMode', 1)

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

    Global $ahGui[5]

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

    For $i = 0 To UBound($ahGui) - 1
    $ahGui[$i] = GUICreate('Test' & $i, 640, 480)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseGui')
    Next

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

    For $i = 0 To UBound($ahGui) - 1
    ConsoleWrite('öffne Fenster Nr.' & $i & @cr)
    GUISetState(@SW_SHOW, $ahGui[$i])
    WinWaitClose($ahGui[$i])
    Next

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

    Func _CloseGui()
    GUIDelete(@GUI_WinHandle)
    EndFunc

    [/autoit]
  • Fehler in DriveStatus

    • Oscar
    • 31. Mai 2012 um 08:55

    Hmm...das ist nicht so schön. Vor allem, da man nun den Status von Laufwerken im Netzwerk nicht mehr abfragen kann.
    Gibt es eine Alternative dazu?

  • Fehler in DriveStatus

    • Oscar
    • 31. Mai 2012 um 07:26

    Mir ist gerade ein Fehler im Befehl "DriveStatus" aufgefallen.
    Laut Befehlsbeschreibung kann man auch einen kompletten Pfad zu einem Verzeichnis angeben:

    Zitat

    DriveStatus may even work when a complete directory path (which exists) is given.


    Genau das funktioniert aber mit der Version 3.3.8.1 und auch mit der Betaversion 3.3.9.4 nicht mehr.
    Hier mal zum testen:

    [autoit]


    $sPath = 'c:\Windows\'
    ConsoleWrite(DriveStatus($sPath) & @CR)

    [/autoit]


    Das führt zum Ergebnis "invalid", obwohl der Pfad existiert.
    Genau das Gleiche passiert beim angeben eines Netzwerkpfades:

    [autoit]


    $sPath = '\\Server\d\'
    ConsoleWrite(DriveStatus($sPath) & @CR)

    [/autoit]


    Auch hier existiert der Pfad (bei mir).
    Mit der alten Version von AutoIt klappte das auch problemlos. Könnt ihr das nachvollziehen?

  • Clipboard befüllen

    • Oscar
    • 30. Mai 2012 um 22:06

    Ich hatte mal ein Beispiel mit der Clipboard.au3 geschrieben.
    Vielleicht hilft Dir das weiter:

    Spoiler anzeigen
    [autoit]


    #include <Clipboard.au3>
    #include <GUIConstantsEx.au3>
    #include <SendMessage.au3>
    #include <WindowsConstants.au3>

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

    Opt('GUIOnEventMode', 1)

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

    $hGui = GUICreate('Clipboard-Edit', 600, 300)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    $hEdit = GUICtrlCreateEdit('', 10, 10, 580, 240)
    $hSave = GUICtrlCreateButton('Save to file...', 10, 260, 120, 22)
    GUICtrlSetOnEvent(-1, '_SaveEdit')
    GUISetState()
    WinSetOnTop($hGui, '', 1)
    Global $hNext = _ClipBoard_SetViewer($hGui)
    GUIRegisterMsg($WM_CHANGECBCHAIN, 'WM_CHANGECBCHAIN')
    GUIRegisterMsg($WM_DRAWCLIPBOARD, 'WM_DRAWCLIPBOARD')
    GUIRegisterMsg($WM_PAINTCLIPBOARD, 'WM_PAINTCLIPBOARD')

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

    While Sleep(1000)
    WEnd

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

    Func _End()
    _ClipBoard_ChangeChain($hGui, $hNext)
    Exit
    EndFunc ;==>_End

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

    Func _SaveEdit()
    Local $sPath, $hFile
    $sPath = FileSaveDialog('Choose a name', @ScriptDir, 'Text (*.txt)', 16 + 2, 'Clipboard.txt', $hGui)
    If @error Then Return
    $hFile = FileOpen($sPath, 2)
    If $hFile <> -1 Then
    FileWrite($hFile, GUICtrlRead($hEdit))
    FileClose($hFile)
    EndIf
    EndFunc ;==>_SaveEdit

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

    Func WM_PAINTCLIPBOARD($hWnd, $iMsg, $iwParam, $ilParam)
    ConsoleWrite($ilParam & @cr)
    Return $GUI_RUNDEFMSG
    EndFunc

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

    Func WM_CHANGECBCHAIN($hWnd, $iMsg, $iwParam, $ilParam)
    If $iwParam = $hNext Then
    $hNext = $ilParam
    ElseIf $hNext <> 0 Then
    _SendMessage($hNext, $WM_CHANGECBCHAIN, $iwParam, $ilParam, 0, 'hwnd', 'hwnd')
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_CHANGECBCHAIN

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

    Func WM_DRAWCLIPBOARD($hWnd, $iMsg, $iwParam, $ilParam)
    Local $clip = ClipGet()
    If Not @error Then
    $clip = StringRegExpReplace($clip, '(\S)(\n)', '$1' & @CRLF)
    If StringRight($clip, 2) <> @CRLF Then $clip &= @CRLF
    GUICtrlSetData($hEdit, GUICtrlRead($hEdit) & $clip)
    EndIf
    If $hNext <> 0 Then _SendMessage($hNext, $WM_DRAWCLIPBOARD, $iwParam, $ilParam)
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_DRAWCLIPBOARD

    [/autoit]
  • Frage zur GUI

    • Oscar
    • 30. Mai 2012 um 17:05

    Mist, da war name22 schneller mit dem Beispiel. ^^
    Egal, da ich es jetzt schonmal erstellt habe, hier noch meins:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>

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

    Global $ahChildGui[6], $aMsg, $iReadInput

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

    $hMainGui = GUICreate('Main', 240, 80)
    GUICtrlCreateLabel('Fenster Nr.:', 10, 12, 80, 20)
    GUICtrlSetFont(-1, 10, 400, 0, 'Arial')
    $idInput = GUICtrlCreateInput('', 90, 12, 40, 20)
    $idStart = GUICtrlCreateButton('öffnen...', 140, 10, 80, 25, $BS_DEFPUSHBUTTON)
    GUISetState(@SW_SHOW, $hMainGui)
    For $i = 0 To 5
    $ahChildGui[$i] = GUICreate('Fenster ' & $i + 1, 320, 240)
    Next

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

    While True
    $aMsg = GUIGetMsg(1)
    Switch $aMsg[0]
    Case $GUI_EVENT_CLOSE
    If $aMsg[1] = $hMainGui Then
    Exit
    Else
    GUISetState(@SW_HIDE, $ahChildGui[$iReadInput - 1])
    GUICtrlSetState($idInput, $GUI_FOCUS)
    EndIf
    Case $idStart
    $iReadInput = GUICtrlRead($idInput)
    If $iReadInput > 0 And $iReadInput < 7 Then
    GUISetState(@SW_SHOW, $ahChildGui[$iReadInput - 1])
    GUICtrlSetData($idInput, '')
    Else
    MsgBox(0, 'Fehler', 'Bitte nur Zahlen von 1...6 eingeben!')
    GUICtrlSetData($idInput, '')
    GUICtrlSetState($idInput, $GUI_FOCUS)
    EndIf
    EndSwitch
    WEnd

    [/autoit]
  • Label über Progressbar

    • Oscar
    • 30. Mai 2012 um 16:01

    funkey: Unter Windows 7 flackert Dein Beispiel ziemlich doll. Ich würde da eher den klassischen Stil benutzen:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>

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

    GUICreate("Progress", 520, 60)

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

    $gui_progress1 = GUICtrlCreateProgress(10, 10, 500, 45, $PBS_SMOOTH)
    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle(-1), "wstr", "", "wstr", ""); Progress im Classic-Style
    GUICtrlSetColor(-1, 0x44FF44) ; Progress Vordergrundfarbe
    GUICtrlSetBkColor(-1, 0xBBBBBB) ; Progress Hintergrundfarbe

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

    $gui_progress1_status = GUICtrlCreateLabel("", 150, 25, 200, 15)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Label transparent

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

    GUISetState()

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

    Global $iProgress = 0, $iUpDown = 1
    AdlibRegister("_Update", 100)

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

    Do
    Until GUIGetMsg() = -3

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

    Func _Update()
    $iProgress += $iUpDown
    GUICtrlSetData($gui_progress1, $iProgress)
    GUICtrlSetData($gui_progress1_status, "Dateien werden vorbereitet: " & $iProgress & "%")
    If $iProgress >= 100 Or $iProgress <= 0 Then $iUpDown = -$iUpDown
    EndFunc

    [/autoit]
  • Programmierer frage

    • Oscar
    • 28. Mai 2012 um 06:49

    [verschoben nach H&U]

  • UDF - Sammlung

    • Oscar
    • 27. Mai 2012 um 18:04

    Die Funktion "FileOrFolder" kann man zu einem Einzeiler kürzen:

    [autoit]


    Func _FileOrFolder($sPath)
    Return StringInStr(FileGetAttrib($sPath), 'D') = 1
    EndFunc

    [/autoit]

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™