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

  • alte Version von SciTE4AutoIt gesucht

    • Oscar
    • 25. Februar 2015 um 09:55

    Hier die Version vom 28.02.2010:
    Für's Forum zu groß, also von meiner Homepage: http://www.technik-hobby.de/download/SciTE4AutoIt3.exe

    Edit: Link geändert!

  • alte Version von SciTE4AutoIt gesucht

    • Oscar
    • 25. Februar 2015 um 08:29

    Ich habe hier gerade noch eine Version gefunden, da wird als Versionsnummer nur "02/28/2010" angezeigt.
    Wenn Du die haben möchtest, sag Bescheid.

  • Script Pause

    • Oscar
    • 23. Februar 2015 um 11:07

    Und warum eine zusätzliche Exit-Funktion und die zweite While-Schleife?
    Du kannst doch einfach:

    [autoit]

    TrayItemSetOnEvent(-1, "_Exit")

    [/autoit]


    schreiben und die Funktion "ExitScript" weglassen.
    Die zweite Schleife sowieso weg, die wird überhaupt nicht aufgerufen.

  • Galgenraten-Spiel (FullHD)

    • Oscar
    • 21. Februar 2015 um 16:51

    So, das Spiel ist jetzt fertig und steht bereit zum download (Post #1).
    Ich habe das Spiel ausgiebig getestet und hoffe, dass ich nichts übersehen habe, sodass das Spiel auch bei euch fehlerfrei laufen wird.
    Falls jemand trotzdem irgendein Fehler bemerkt, bitte melden! :)

  • Zuverlässig eigene IP auslesen?

    • Oscar
    • 19. Februar 2015 um 20:00

    Hier noch eine Möglichkeit, den Benutzer die Auswahl zu überlassen:

    Spoiler anzeigen
    [autoit]


    #include <ComboConstants.au3>
    #include <WindowsConstants.au3>

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

    $sIPAdress = _IPAdressUserInput()
    ConsoleWrite($sIPAdress & @CR)

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

    Func _IPAdressUserInput($hParent = 0)
    Local $sIPAdress = '', $hGui, $idCombo, $idOk, $iOldGuiMode
    $sIPAdress &= @IPAddress1 <> '0.0.0.0' ? @IPAddress1 & '|' : ''
    $sIPAdress &= @IPAddress2 <> '0.0.0.0' ? @IPAddress2 & '|' : ''
    $sIPAdress &= @IPAddress3 <> '0.0.0.0' ? @IPAddress3 & '|' : ''
    $sIPAdress &= @IPAddress4 <> '0.0.0.0' ? @IPAddress4 & '|' : ''
    $sIPAdress = StringTrimRight($sIPAdress, 1)
    ;~ If Not StringInStr($sIPAdress, '|') Then Return $sIPAdress ; <- diese Zeile aktivieren, wenn man bei nur einer IP-Adresse die Auswahlbox nicht anzeigen lassen will
    $hGui = GUICreate('IP-Adresse auswählen', 290, 150, -1, -1, BitOR($WS_CAPTION, $WS_POPUP), -1, $hParent)
    GUISetBkColor(0xDDDDDD)
    GUICtrlCreateGroup('Bitte die richtige IP-Adresse auswählen:', 10, 20, 270, 80)
    GUICtrlSetFont(-1, 10, 400, 0, 'Tahoma', 5)
    $idCombo = GUICtrlCreateCombo('', 50, 50, 190, 36, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, $sIPAdress, StringRegExpReplace($sIPAdress, '(\d+\.\d+\.\d+\.\d+).*', '$1'))
    GUICtrlSetFont(-1, 14, 800, 0, 'Courier New', 5)
    $idOk = GUICtrlCreateButton('Ok', 110, 110, 70, 28)
    GUICtrlSetFont(-1, 12, 400, 0, 'Arial', 5)
    GUISetState()
    $iOldGuiMode = Opt('GUIOnEventMode', 0)
    Do
    Until GUIGetMsg() = $idOk
    $sIPAdress = GUICtrlRead($idCombo)
    GUIDelete($hGui)
    Opt('GUIOnEventMode', $iOldGuiMode)
    Return $sIPAdress
    EndFunc

    [/autoit]
  • GUI mit $WS_POPUP bewegen

    • Oscar
    • 19. Februar 2015 um 17:42

    Zitat aus der Hilfe:

    Zitat

    You can enable window dragging for GUI without $WS_CAPTION by using $WS_EX_CONTROLPARENT in the exStyle parameter.

  • Menü Erstellen

    • Oscar
    • 19. Februar 2015 um 17:38

    So:

    Spoiler anzeigen
    [autoit]


    #Region
    #AutoIt3Wrapper_Icon=\favicon.ico
    #EndRegion

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

    #include <GUIConstants.au3>
    #include <IE.au3>

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

    Opt('GUIOnEventMode', 1)
    Opt('GUICloseOnESC', 0)

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

    Global $pPfad = @ScriptDir & '/data/index.html'
    Global $oIE = _IECreateEmbedded()

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

    Global Const $hGUI = GUICreate('txt', 1130, 900)
    Global $oObjekt = GUICtrlCreateObj($oIE, 0, 0, 1130, 900)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_Exit')
    GUISetState(@SW_SHOW, $hGUI)
    GUISetIcon(@ScriptDir & "\favicon.ico")

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

    $Menu_File = GUICtrlCreateMenu("Info")
    $Menu_File_Item = GUICtrlCreateMenuItem("About", $Menu_File)
    GUICtrlSetOnEvent(-1, '_About')

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

    _IENavigate($oIE, 'file:///' & $pPfad)

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

    While Sleep(1000)
    WEnd

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

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

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

    Func _About()
    Run("about.exe")
    EndFunc ;==>_About

    [/autoit]
  • Pfad-Funktion mit Struktur

    • Oscar
    • 18. Februar 2015 um 17:46

    Schöne Funktion! Gleich mal archivieren! :thumbup:
    Du kannst Dir das #include und _WinAPI_GetFullPathName sparen, wenn Du stattdessen FileGetLongName mit Flag 1 verwendest:

    [autoit]

    $sPath = FileGetLongName($sPath, 1)

    [/autoit]
  • Icon

    • Oscar
    • 17. Februar 2015 um 19:24

    GuiSetIcon darfst Du erst aufrufen, nachdem Du die Gui (mit GuiCreate) erstellt hast.

  • Erste Zahl in String ermitteln

    • Oscar
    • 17. Februar 2015 um 11:10

    So:

    [autoit]


    $var = "In dem String stehen Zahlen wie 1234 oder aber auch 5555."
    $erg = StringRegExpReplace($var, '.*?(\d+).*', '$1')
    MsgBox(0, 'Ergebnis', $erg)

    [/autoit]
  • Schleifen in Switch/Case?

    • Oscar
    • 17. Februar 2015 um 09:58

    Hier noch eine kürzere Version der Funktion "_CheckUserInput":

    Spoiler anzeigen
    [autoit]


    Func _CheckUserInput()
    Local $iCount = 0
    For $Checkbox In $ahCheck
    If BitAND(GUICtrlRead($Checkbox), $GUI_CHECKED) Then $iCount += 1
    Next
    For $Checkbox In $ahCheck
    If Not BitAND(GUICtrlRead($Checkbox), $GUI_CHECKED) Then GUICtrlSetState($Checkbox, ($iCount = 6 ? $GUI_DISABLE : $GUI_ENABLE))
    Next
    EndFunc ;==>_CheckUserInput

    [/autoit]
  • Sonderzeichen und Umlaute ersetzen

    • Oscar
    • 17. Februar 2015 um 09:43

    Ok, das wäre dann noch kürzer. :D

  • Schleifen in Switch/Case?

    • Oscar
    • 17. Februar 2015 um 09:38

    Ich habe mal nur den Check auf 6 Zahlen eingebaut:

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Outfile=LottoChance.exe
    #AutoIt3Wrapper_Res_Description=v1.2.04
    #AutoIt3Wrapper_Res_Comment=Lottochancen-GENERATOR: 6 aus 49
    #AutoIt3Wrapper_Res_Field=Companyname|dk78soft
    #AutoIt3Wrapper_Res_LegalCopyright=dk78soft
    #AutoIt3Wrapper_Res_ProductVersion=1.2.0.4
    #AutoIt3Wrapper_Res_FileVersion=1.2.0.4
    #AutoIt3Wrapper_Res_Language=7
    #AutoIt3Wrapper_UseUpx
    #AutoIt3Wrapper_Au3Check_Parameters=-d -w 2 -w 4 -w 6
    #AutoIt3Wrapper_Icon=lotto.ico
    ;#AutoIt3Wrapper_Res_Icon_Add=cancel.ico
    ;#AutoIt3Wrapper_Res_Icon_Add=ok.ico
    ;#AutoIt3Wrapper_Res_Icon_Add=write.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include <ComboConstants.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiButton.au3>
    #include <WindowsConstants.au3>
    #include <GuiStatusBar.au3>
    #include <Date.au3>
    #include <File.au3>
    HotKeySet('{F9}', '_break')

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

    Global $aLottoNum[49], $timer, $bBreak = False, $iCount = 0
    For $i = 1 To 49
    $aLottoNum[$i - 1] = $i
    Next
    Global $progname = 'LottoChance', $mycompany = 'dkSoftware', $version = '1.02.04'
    Global $breite = 410, $hoehe = 280
    Global $Form1 = GUICreate($progname, $breite, $hoehe, -1, -1, $WS_Border + $WS_POPUP + $WS_CLIPSIBLINGS)
    Global $ribboncontext = GUICtrlCreateMenu("o(°U°)o ")
    Global $idrandom = GUICtrlCreateMenuItem("Zufallsgenerator", $ribboncontext)
    Global $idclean = GUICtrlCreateMenuItem("Tip löschen", $ribboncontext)
    Global $idsim = GUICtrlCreateMenuItem("Simulation starten", $ribboncontext)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateMenuItem("", $ribboncontext)
    Global $ribbonexit = GUICtrlCreateMenuItem("Beenden", $ribboncontext)

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

    Global $ahCheck[49]
    For $i = 0 To 48
    $ahCheck[$i] = GUICtrlCreateCheckbox($i + 1, 5 + Mod($i, 7) * 30, 5 + Int($i / 7) * 30, 30, 30, $BS_PUSHLIKE)
    GUICtrlSetFont(-1, 12, 400, 0, "IMPACT")
    GUICtrlSetTip(-1, "Wählen Sie ihre 6 Zahlen")
    Next

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

    Global $label1 = GUICtrlCreateLabel(' 6 Zahlen auswählen!', 5, 235, 400, 16, 1)
    Global $label3 = GUICtrlCreateLabel('0', 250, 15, 60, 16, 2)
    GUICtrlSetFont(-1, 10, 800, '', 'Tahoma')
    GUICtrlCreateLabel('x 3 Richtige', 312, 17, 70, 15)
    Global $label4 = GUICtrlCreateLabel('0', 250, 35, 60, 16, 2)
    GUICtrlSetFont(-1, 10, 800, '', 'Tahoma')
    GUICtrlCreateLabel('x 4 Richtige', 312, 37, 70, 15)
    Global $label5 = GUICtrlCreateLabel('0', 250, 55, 60, 16, 2)
    GUICtrlSetFont(-1, 10, 800, '', 'Tahoma')
    GUICtrlCreateLabel('x 5 Richtige', 312, 57, 70, 15)
    Global $label6 = GUICtrlCreateLabel('0', 250, 78, 60, 18, 2)
    GUICtrlSetFont(-1, 12, 800, '', 'Tahoma')
    GUICtrlCreateLabel('x 6 Richtige', 312, 82, 70, 15)
    Global $hStatusb = _GUICtrlStatusBar_Create($Form1, -1, "", $SBARS_TOOLTIPS)
    Global $aParts[2] = [$breite - 200, $breite]
    Global $prozess = GUICtrlCreateProgress(15, 220, 380, 8)
    GUICtrlSetState(-1, $GUI_HIDE)
    GUISetState()

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

    _GUICtrlStatusBar_SetMinHeight($hStatusb, 25)
    _GUICtrlStatusBar_SetParts($hStatusb, $aParts)
    Global $hIcon = __WinAPI_ShellExtractIcons(@ScriptFullPath, 0, 16, 16)
    _GUICtrlStatusBar_SetIcon($hStatusb, 0, $hIcon)

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

    _GUICtrlStatusBar_SetText($hStatusb, ' ' & $progname & ' ' & $version, 0)

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

    While 1
    Switch GUIGetMsg()
    Case $ribbonexit
    Exit
    Case $ahCheck[0] To $ahCheck[48]
    _CheckUserInput()
    Case $idrandom
    _Randoming()
    Case $idclean
    _Clear()
    Case $idsim
    _Start()

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

    EndSwitch
    WEnd

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

    Func _CheckUserInput()
    Local $iCount = 0
    For $i = 0 To UBound($ahCheck) - 1
    If BitAND(GUICtrlRead($ahCheck[$i]), $GUI_CHECKED) Then $iCount += 1
    Next
    If $iCount = 6 Then
    For $i = 0 To UBound($ahCheck) - 1
    If Not BitAND(GUICtrlRead($ahCheck[$i]), $GUI_CHECKED) Then GUICtrlSetState($ahCheck[$i], $GUI_DISABLE)
    Next
    Else
    For $i = 0 To UBound($ahCheck) - 1
    If Not BitAND(GUICtrlRead($ahCheck[$i]), $GUI_CHECKED) Then GUICtrlSetState($ahCheck[$i], $GUI_ENABLE)
    Next
    EndIf
    EndFunc ;==>_CheckUserInput

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

    Func _Randoming()
    For $i = 0 To 48
    GUICtrlSetState($ahCheck[$i], $GUI_DISABLE)
    GUICtrlSetState($ahCheck[$i], $GUI_UNCHECKED)
    Next
    Local $result, $zahl
    For $i = 1 To 6
    Do
    $zahl = Random(1, 49, 1)
    GUICtrlSetState($ahCheck[$zahl - 1], $GUI_CHECKED)
    Until StringInStr($result, $zahl) = 0
    $result &= StringRight($zahl, StringLen($zahl) - 1)

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

    Next
    GUICtrlSetState($idsim, $GUI_ENABLE)
    _CheckboxCounter()
    If $iCount <> 6 Then _Randoming()
    AdlibUnRegister()
    EndFunc ;==>_Randoming

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

    Func _Break()
    $bBreak = True
    GUICtrlSetState($idsim, $GUI_DISABLE)
    GUICtrlSetState($idrandom, $GUI_ENABLE)
    GUICtrlSetState($idclean, $GUI_ENABLE)
    GUICtrlSetState($prozess, $GUI_HIDE)
    GUICtrlSetData($label1, ' Start-Button anklicken!')
    EndFunc ;==>_Break

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

    Func _Clear()
    For $i = 0 To 48
    GUICtrlSetState($ahCheck[$i], $GUI_ENABLE)
    GUICtrlSetState($ahCheck[$i], $GUI_UNCHECKED)
    Next
    GUICtrlSetState($idsim, $GUI_DISABLE)
    GUICtrlSetData($label1, ' 6 Zahlen auswählen!')
    EndFunc ;==>_Clear

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

    Func _Start()
    _CheckboxCounter()
    If $iCount <> 6 Then _Randoming()
    GUICtrlSetState($idrandom, $GUI_DISABLE)
    GUICtrlSetState($idclean, $GUI_DISABLE)
    GUICtrlSetState($idsim, $GUI_DISABLE)
    GUICtrlSetData($label3, 0)
    GUICtrlSetData($label4, 0)
    GUICtrlSetData($label5, 0)
    GUICtrlSetData($label6, 0)
    GUICtrlSetState($prozess, $GUI_SHOW)
    GUICtrlSetData($prozess, 0)
    Local $aTip[6], $aDraw, $iWin = StringLeft(6, 1), $i3, $i4, $i5, $i6
    $iCount = 0
    For $i = 0 To 48
    If BitAND(GUICtrlRead($ahCheck[$i]), $GUI_CHECKED) Then
    $aTip[$iCount] = $i + 1
    $iCount += 1
    EndIf
    Next
    $iCount = 0
    GUICtrlSetData($label1, ' Bitte warten...')

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

    $timer = TimerInit()
    AdlibRegister('_DisplayTimer', 500)
    Do

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

    $iCount += 1
    $aDraw = _Lottodraw()
    Switch _Win($aTip, $aDraw)

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

    Case 3
    $i3 += 1
    GUICtrlSetData($label3, $i3)
    If $i3 = 5 Then GUICtrlSetData($prozess, 1)
    If $i3 = 10 Then GUICtrlSetData($prozess, 2)
    If $i3 = 25 Then GUICtrlSetData($prozess, 3)
    If $i3 = 50 Then GUICtrlSetData($prozess, 4)
    If $i3 = 100 Then GUICtrlSetData($prozess, 5)
    If $i3 = 1000 Then GUICtrlSetData($prozess, 10)
    If $i3 = 2000 Then GUICtrlSetData($prozess, 15)
    If $i3 = 3000 Then GUICtrlSetData($prozess, 20)
    If $i3 = 5000 Then GUICtrlSetData($prozess, 30)
    If $i3 = 7500 Then GUICtrlSetData($prozess, 40)
    If $i3 = 10000 Then GUICtrlSetData($prozess, 50)
    If $i3 = 15000 Then GUICtrlSetData($prozess, 60)
    If $i3 = 20000 Then GUICtrlSetData($prozess, 70)
    If $i3 = 30000 Then GUICtrlSetData($prozess, 80)
    If $i3 = 50000 Then GUICtrlSetData($prozess, 90)
    If $i3 = 75000 Then GUICtrlSetData($prozess, 95)
    Case 4
    $i4 += 1
    GUICtrlSetData($label4, $i4)
    Case 5
    $i5 += 1
    GUICtrlSetData($label5, $i5)
    Case 6
    $i6 += 1
    GUICtrlSetData($prozess, 100)
    $bBreak = True
    GUICtrlSetData($label6, $i6)
    GUICtrlSetData($label1, ' Gewonnen!')
    MsgBox(0, 'Lottogewinn', 'Hurra, ' & $iWin & ' Richtige!' & @CRLF & 'Anzahl der Ziehungen: ' _
    & _NumberFormatThousand($iCount) & @CRLF & 'Benötigte Zeit: ' & _NumberFormatThousand(Round(TimerDiff($timer) / 1000)) & ' sek.')
    GUICtrlSetState($prozess, $GUI_HIDE)
    EndSwitch

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

    Until $bBreak
    $bBreak = False
    GUICtrlSetState($idclean, $GUI_ENABLE)
    GUICtrlSetState($idsim, $GUI_ENABLE)
    GUICtrlSetState($idrandom, $GUI_ENABLE)
    AdlibUnRegister()
    EndFunc ;==>_Start

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

    Func _DisplayTimer()
    GUICtrlSetData($label1, ' Bitte warten... ' & _NumberFormatThousand($iCount) & ' Ziehungen')
    EndFunc ;==>_DisplayTimer

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

    Func _Lottodraw()
    Local $aTmp = $aLottoNum, $aDraw[6], $iTmp
    For $i = 0 To 5
    Local $iRandom = Random(0, 48 - $i, 1)
    $aDraw[$i] = $aTmp[$iRandom]
    $aTmp[$iRandom] = $aTmp[48 - $i]
    Next
    _ArraySort($aDraw)
    Return $aDraw
    EndFunc ;==>_Lottodraw

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

    Func _Win($aTip, $aDraw)
    Local $iCount = 0
    For $i = 0 To 5
    If $aTip[$i] = $aDraw[$i] Then $iCount += 1
    Next
    Return $iCount
    EndFunc ;==>_Win

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

    Func _CheckboxCounter()
    Global $iCount = 0
    For $i = 0 To 48
    $iCount += BitAND(GUICtrlRead($ahCheck[$i]), $GUI_CHECKED)
    Next
    GUICtrlSetData($label1, ' ' & 6 - $iCount & ' Zahlen auswählen!')
    If $iCount = 6 Then
    _CheckboxState($GUI_DISABLE)
    GUICtrlSetState($idsim, $GUI_ENABLE)
    GUICtrlSetData($label1, ' Start-Button anklicken!')
    Else
    _CheckboxState($GUI_ENABLE)
    GUICtrlSetState($idsim, $GUI_DISABLE)
    EndIf
    EndFunc ;==>_CheckboxCounter

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

    Func _CheckboxState($State)
    For $i = 0 To 48
    If BitAND(GUICtrlRead($ahCheck[$i]), $GUI_UNCHECKED) Then GUICtrlSetState($ahCheck[$i], $State)
    Next
    EndFunc ;==>_CheckboxState

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

    Func _NumberFormatThousand($vNumber, $ret = 'DE') ; bis 18 Vorkommastellen
    Local $sOut = '', $a = StringRegExp(StringReplace($vNumber, '.', ','), "(-?\d{1,3})(\d{3})?(\d{3})?(\d{3})?(\d{3})?(\d{3})?(?:\Z|(,\d+))", 3)
    For $i = 0 To UBound($a) - 1
    If $a[$i] <> '' Then $sOut &= '.' & $a[$i]
    Next
    If $ret <> 'DE' Then Return StringTrimLeft(StringReplace(StringReplace($sOut, '.', ','), ',,', '.'), 1)
    Return StringTrimLeft(StringReplace($sOut, '.,', ','), 1)
    EndFunc ;==>_NumberFormatThousand

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

    Func __WinAPI_ShellExtractIcons($sIcon, $iIndex, $iWidth, $iHeight)
    Local $ret = DllCall('shell32.dll', 'int', 'SHExtractIconsW', 'wstr', $sIcon, 'int', $iIndex, 'int', $iWidth, 'int', $iHeight, 'ptr*', 0, 'ptr*', 0, 'int', 1, 'int', 0)
    If (@error) Or ($ret[0] = 0) Or ($ret[5] = Ptr(0)) Then Return SetError(1, 0, 0)
    Return $ret[5]
    EndFunc ;==>__WinAPI_ShellExtractIcons

    [/autoit]
  • Sonderzeichen und Umlaute ersetzen

    • Oscar
    • 17. Februar 2015 um 09:24

    Um ein paar Codezeilen einzusparen und mit einem eindimensionalen Array:

    [autoit]


    Local $sString = "Míke"
    Local $sChars = "ÄAe|ÖOe|ÜUe|äae|öoe|üue|ÂA|ÀA|ÁA|âa|áa|àa|ÊE|ÈE|ÉE|êe|ée|èe|ÎI|ÌI|ÍI|îi|íi|ìi|ÔO|ÒO|ÓO|ôo|óo|òo|ÛU|ÙU|ÚU|ûU|úU|ùU|,|.|-|/|\|_"
    Local $aChars = StringSplit($sChars, "|", 2)
    For $i = 0 To UBound($aChars) - 1
    $sString = StringReplace($sString, StringLeft($aChars[$i], 1), StringMid($aChars[$i], 2), 0, 1)
    Next
    ConsoleWrite($sString & @CR)

    [/autoit]
  • Schleifen in Switch/Case?

    • Oscar
    • 17. Februar 2015 um 09:09

    Häh?
    Zeig mal das Script. Das geht sicherlich auch einfacher/besser.

  • Schleifen in Switch/Case?

    • Oscar
    • 17. Februar 2015 um 08:44

    Was soll das für einen Sinn ergeben?
    Warum soll die Case-Anweisung 21 mal abgefragt werden?

  • FritzBox-Anrufmonitor über TCP

    • Oscar
    • 16. Februar 2015 um 18:27

    Bitte!
    Vielleicht solltest Du Dein Script als neuen Thread in "Scripte" erstellen, damit Dein Script leichter gefunden wird. Es ist ja doch etwas umfangreicher als mein obiges Beispielscript.
    Als kleinen Tip:
    Dein benutzen von InetGet erfordert zahlreiche Festplattenzugriffe (langsam und unnötig). Mit "InetRead" und "BinaryToString" geht es schneller und ohne Festplattenzugriffe.

  • User nach Uhrzeit fragen

    • Oscar
    • 16. Februar 2015 um 12:36

    Die UDF benötigt man dafür eigentlich gar nicht. Das geht auch mit dem Standard-Date-Control:

    Spoiler anzeigen
    [autoit]


    #include <DateTimeConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>

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

    GUICreate("Stunden : Minuten", 240, 120)

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

    $idDate = GUICtrlCreateDate("", 40, 20, 90, 30, $DTS_UPDOWN)
    GUICtrlSetFont(-1, 20)

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

    ; to select a specific default format
    $sStyle = "HH:mm"
    GUICtrlSendMsg($idDate, $DTM_SETFORMATW, 0, $sStyle)

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

    GUISetState(@SW_SHOW)
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    MsgBox($MB_SYSTEMMODAL, "Time", GUICtrlRead($idDate))

    [/autoit]
  • GUI sperren/entsperren wärend MSGBOX

    • Oscar
    • 12. Februar 2015 um 17:35

    Bei einer MsgBox reicht es aus, die GUI als Parent zu setzen. So wird aus der MsgBox automatisch ein Childfenster der GUI.
    Beispiel:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    $hGui = GUICreate('test', 400, 300)
    $idOpen = GUICtrlCreateButton('Open MsgBox', 10, 20, 100, 25)
    $idClose = GUICtrlCreateButton('Close GUI', 120, 20, 100, 25)
    GUISetState(@SW_SHOW, $hGui)

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

    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE, $idClose
    Exit
    Case $idOpen
    MsgBox(48, "Fehler!", "Kennwort falsch!", 0, $hGui)
    EndSwitch
    WEnd

    [/autoit]
  • CSV einlesen; Probleme bei Arraygröße

    • Oscar
    • 10. Februar 2015 um 16:43

    Errorhandling sollte in jedem Script vorhanden sein.
    Angefangen mit Deiner Zeile 1, solltest Du gleich prüfen, ob $file auf wirklich ein Filehandle (Wert <> -1) ist.
    Du gibst dort nämlich einen relativen Pfad an. Relativ zum WorkingDir. Einige AutoIt-Befehle ändern das WorkingDir nach dem Aufruf, sodass der Pfad evtl. nicht mehr stimmt und es somit zu der obigen Fehlermeldung kommt.
    Außerdem sollte eine geöffnetet Datei unbedingt auch wieder geschlossen werden (FileClose), weil die Datei ansonsten gelockt ist.

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™