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

  • Songliste bearbeiten

    • Oscar
    • 29. Juli 2013 um 17:06

    Hier meine Version mit Speicherfunktion:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    $sFilename = @ScriptDir & '\Hitparade2.txt'
    $sSaveFile = @ScriptDir & '\Interpreten-1000.txt'
    $aInterpreten = StringRegExp(FileRead($sFilename), '.+;(\V+)', 3)
    ;~ _ArrayDisplay($aInterpreten)
    $aModal = _ArrayModal($aInterpreten)
    _ArrayDisplay($aModal)
    $hFile = FileOpen($sSaveFile, 2)
    If $hFile <> -1 Then
    For $i = 0 To UBound($aModal) - 1
    FileWriteLine($hFile, $aModal[$i][0] & ';' & $aModal[$i][1])
    Next
    FileClose($hFile)
    EndIf

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

    Func _ArrayModal($w)
    Local Static $oDictionary = ObjCreate('Scripting.Dictionary')
    $oDictionary.CompareMode = 1
    For $i = 0 To UBound($w) - 1
    If $oDictionary.Exists($w[$i]) Then
    $oDictionary.Item($w[$i]) = $oDictionary.Item($w[$i]) + 1
    Else
    $oDictionary.Add($w[$i], 1)
    EndIf
    Next
    Local $aOut[$oDictionary.Count][2], $i = 0, $colKeys
    $colKeys = $oDictionary.Keys
    For $strKey In $colKeys
    $aOut[$i][0] = $strKey
    $aOut[$i][1] = $oDictionary.Item($strKey)
    $i += 1
    Next
    $oDictionary = ''
    _ArraySort($aOut, 1, 0, 0, 1)
    Return $aOut
    EndFunc ;==>_ArrayModal

    [/autoit]
  • Songliste bearbeiten

    • Oscar
    • 29. Juli 2013 um 15:45

    So geht's:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    $sFilename = @ScriptDir & '\Hitparade2.txt'
    $aInterpreten = StringRegExp(FileRead($sFilename), '.+;(.+)', 3)
    ;~ _ArrayDisplay($aInterpreten)
    $aModal = _ArrayModal($aInterpreten)
    _ArrayDisplay($aModal)

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

    Func _ArrayModal($w)
    Local Static $oDictionary = ObjCreate('Scripting.Dictionary')
    $oDictionary.CompareMode = 1
    For $i = 0 To UBound($w) - 1
    If $oDictionary.Exists($w[$i]) Then
    $oDictionary.Item($w[$i]) = $oDictionary.Item($w[$i]) + 1
    Else
    $oDictionary.Add($w[$i], 1)
    EndIf
    Next
    Local $aOut[$oDictionary.Count][2], $i = 0, $colKeys
    $colKeys = $oDictionary.Keys
    For $strKey In $colKeys
    $aOut[$i][0] = $strKey
    $aOut[$i][1] = $oDictionary.Item($strKey)
    $i += 1
    Next
    $oDictionary = ''
    _ArraySort($aOut, 1, 0, 0, 1)
    Return $aOut
    EndFunc ;==>_ArrayModal

    [/autoit]
  • Winhttp Login mit md5?

    • Oscar
    • 28. Juli 2013 um 17:57

    Danke, für die Informationen!
    Damit ist hier Schluß mit der Unterstützung. [Close]

  • bei CheckListBox Checkstatus auslesen oder setzen

    • Oscar
    • 28. Juli 2013 um 12:52

    Wie wäre es, wenn Du mal Dein Script posten würdest?! :rolleyes:
    Ich kann mir jedenfalls nichts unter CheckListboxes vorstellen. Meinst Du ein Listview mit Checkboxen? Oder was sonst?
    Poste Dein Script und beschreibe, was Du ändern willst bzw. wo das Problem liegt, dann kann man Dir auch helfen.

  • RegEx für Dateinamen mit Jahresangaben

    • Oscar
    • 28. Juli 2013 um 10:43

    @James1337: Er meint wohl "...sobald kein Jahr angegeben wird.", weil dann liefert Dein Script kein Ergebnis (RegExp schlägt fehl).

  • RegEx für Dateinamen mit Jahresangaben

    • Oscar
    • 27. Juli 2013 um 16:04

    Vielleicht so:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    $foundedFileReplaced = "Dateiname1 (2012) {Info}"

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

    $splitTitle = StringRegExp($foundedFileReplaced, '(\H+)\h*(\(\d+\))*\h*(\{.+\})*', 3)

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

    _ArrayDisplay($splitTitle)

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

    $foundedFileReplaced = "Dateiname1 (2012)"

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

    $splitTitle = StringRegExp($foundedFileReplaced, '(\H+)\h*(\(\d+\))*\h*(\{.+\})*', 3)

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

    _ArrayDisplay($splitTitle)

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

    $foundedFileReplaced = "Dateiname1"

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

    $splitTitle = StringRegExp($foundedFileReplaced, '(\H+)\h*(\(\d+\))*\h*(\{.+\})*', 3)

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

    _ArrayDisplay($splitTitle)

    [/autoit]
  • ComboBox, Switch und ItemIndex ?

    • Oscar
    • 27. Juli 2013 um 15:33

    Ich verstehe nicht so ganz, was Du eigentlich suchst.
    Es gibt doch _GUICtrlComboBox_GetCurSel():

    Spoiler anzeigen
    [autoit]


    #include <GuiComboBox.au3>
    #include <GUIConstantsEx.au3>

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

    GUICreate("ComboBox: Ermittelt die aktuelle Auswahl", 400, 296)
    $hCombo = GUICtrlCreateCombo("", 2, 2, 396, 296)
    GUISetState()

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

    _GUICtrlComboBox_BeginUpdate($hCombo)
    _GUICtrlComboBox_AddDir($hCombo, @WindowsDir & "\*.exe")
    _GUICtrlComboBox_EndUpdate($hCombo)

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

    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hCombo
    $sSelectText = GUICtrlRead($hCombo)
    $iIndex = _GUICtrlComboBox_GetCurSel($hCombo)
    MsgBox(4160, "Information", "Index Nr.: " & $iIndex & @CR & $sSelectText)
    EndSwitch
    WEnd

    [/autoit]
  • Das etwas andere Problem.

    • Oscar
    • 26. Juli 2013 um 16:14

    Ich habe auch rumprobiert. Entscheidend ist auf jeden Fall der 3. Parameter bei MouseMove. Man kann auch Null einsetzen und einen zusätzlichen Timer benutzen für die Feinabstimmung:

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.8.1
    Author: ThirtySix

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

    Script Function:
    MouseMove

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

    #ce ----------------------------------------------------------------------------

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

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>

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

    Opt("GuiOnEventMode", 1)

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

    #region ### START Koda GUI section ### Form=
    $MouseMove = GUICreate("MouseMove", 227, 124, 461, 286)
    GUISetBkColor(0x9DB9EB)

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

    $Done = GUICtrlCreateButton("Done", 16, 14, 75, 25)
    $Info = GUICtrlCreateButton("Info", 16, 78, 75, 25)

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

    $PressedKey = GUICtrlCreateCombo("", 104, 16, 105, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE))
    GUICtrlSetData(-1, "M1|M2|M3|Shift|CTRL|W|A|S|D|Up|Down|Left|Right|Combo WASD|Combo ARROW")
    GUICtrlSendMsg($PressedKey, 0x1703, 0, "Function")

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

    $PosDir = GUICtrlCreateCombo("", 104, 48, 105, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE))
    GUICtrlSetData(-1, "Up|Down|Left|Right|Combo")
    GUICtrlSendMsg($PosDir, 0x1703, 0, "Direction")

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

    $Far = GUICtrlCreateCombo("", 104, 80, 105, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE))
    GUICtrlSetData(-1, "1|2|5|10|25|50|75|100|150|250|350|500|750|1000|2000|5000|")
    GUICtrlSendMsg($Far, 0x1703, 0, "Distance")

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

    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    GUICtrlSetOnEvent($Done, "_Done")
    GUICtrlSetOnEvent($Info, "_Info")

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

    Global $WKey, $AKey, $SKey, $DKey, $UpKey, $DownKey, $LeftKey, $RightKey, $xKey, $Key, $Dir, $pos, $x, $y, $DLL = DllOpen("user32.dll")
    Global $iSpeed = 0 ; <- Mausgeschwindigkeit von 1 bis 100 (Standard ist 10), 0 = Maus sofort bewegen
    Global $iTimer ; <- wenn $iSpeed = 0, dann den zusätzlichen Timer benutzen, sonst wird die Mausbewegung zu schnell

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

    While 1

    $iTimer = TimerInit()
    Do
    Until TimerDiff($iTimer) > 3 ; <- hier (3) die Geschwindigkeit anpassen, wenn $iSpeed = 0, ansonsten auskommentieren

    If _IsPressed($xKey, $DLL) Then
    $pos = MouseGetPos()
    If $Dir = "Up" Or $Dir = "Left" Then
    MouseMove($pos[0] - $x, $pos[1] - $y, $iSpeed)
    EndIf
    If $Dir = "Down" Or $Dir = "Right" Then
    MouseMove($pos[0] + $x, $pos[1] + $y, $iSpeed)
    EndIf
    EndIf

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

    If _IsPressed($WKey, $DLL) Then
    $pos = MouseGetPos()
    MouseMove($pos[0], $pos[1] - $y, $iSpeed)
    EndIf
    If _IsPressed($AKey, $DLL) Then
    $pos = MouseGetPos()
    MouseMove($pos[0] - $x, $pos[1], $iSpeed)
    EndIf
    If _IsPressed($SKey, $DLL) Then
    $pos = MouseGetPos()
    MouseMove($pos[0], $pos[1] + $y, $iSpeed)
    EndIf
    If _IsPressed($DKey, $DLL) Then
    $pos = MouseGetPos()
    MouseMove($pos[0] + $x, $pos[1], $iSpeed)
    EndIf

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

    If _IsPressed($UpKey, $DLL) Then
    $pos = MouseGetPos()
    MouseMove($pos[0], $pos[1] - $y, $iSpeed)
    EndIf
    If _IsPressed($LeftKey, $DLL) Then
    $pos = MouseGetPos()
    MouseMove($pos[0] - $x, $pos[1], $iSpeed)
    EndIf
    If _IsPressed($DownKey, $DLL) Then
    $pos = MouseGetPos()
    MouseMove($pos[0], $pos[1] + $y, $iSpeed)
    EndIf
    If _IsPressed($RightKey, $DLL) Then
    $pos = MouseGetPos()
    MouseMove($pos[0] + $x, $pos[1], $iSpeed)
    EndIf
    WEnd

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

    Func _Done()
    If GUICtrlRead($Done) = "Done" Then
    If GUICtrlRead($PressedKey) = "" Or GUICtrlRead($PosDir) = "" Or GUICtrlRead($Far) = "" Then
    MsgBox(0, "error", "First: Setup" & @CRLF & "Then: Done")
    Else
    $Key = GUICtrlRead($PressedKey)
    $Dir = GUICtrlRead($PosDir)
    $Farcheck = GUICtrlRead($Far)
    GUICtrlSetData($Done, "Reset")

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

    If $Key = "M1" Then $xKey = 01
    If $Key = "M2" Then $xKey = 02
    If $Key = "M3" Then $xKey = 04
    If $Key = "Shift" Then $xKey = 10
    If $Key = "CTRL" Then $xKey = 11

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

    If $Key = "W" Then $xKey = 57
    If $Key = "A" Then $xKey = 41
    If $Key = "S" Then $xKey = 53
    If $Key = "D" Then $xKey = 44

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

    If $Key = "Up" Then $xKey = 26
    If $Key = "Down" Then $xKey = 28
    If $Key = "Left" Then $xKey = 25
    If $Key = "Right" Then $xKey = 27

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

    If $Key = "Combo WASD" Then
    $WKey = 57
    $AKey = 41
    $SKey = 53
    $DKey = 44
    GUICtrlSetData($PosDir, "Combo")
    $Dir = "ALL"
    EndIf

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

    If $Key = "Combo ARROW" Then
    $UpKey = 26
    $DownKey = 28
    $LeftKey = 25
    $RightKey = 27
    GUICtrlSetData($PosDir, "Combo")
    $Dir = "ALL"
    EndIf

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

    If $Dir = "Up" Or $Dir = "Down" Then $y = $Farcheck
    If $Dir = "Left" Or $Dir = "Right" Then $x = $Farcheck

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

    If $Dir = "ALL" Then
    $x = $Farcheck
    $y = $Farcheck
    EndIf

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

    GUICtrlSetState($PosDir, $GUI_DISABLE)
    GUICtrlSetState($PressedKey, $GUI_DISABLE)
    GUICtrlSetState($Far, $GUI_DISABLE)

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

    ;~ MsgBox(0,"",$WKey&"=W "&$AKey&"=A "&$SKey&"=S "&$DKey&"=D "&$UpKey&"=up "&$DownKey&"=down "&$LeftKey&"=left "&$RightKey&"=right "&$xKey&"=xkey "&$Key&"=key "&$Dir&"=dir "&$x&"=x "&$y&"=y "&$Farcheck&"=FC")
    EndIf
    Else
    $x = ""
    $y = ""
    $Key = ""
    $WKey = ""
    $AKey = ""
    $SKey = ""
    $DKey = ""
    $UpKey = ""
    $DownKey = ""
    $LeftKey = ""
    $RightKey = ""
    $Dir = ""
    $xKey = ""
    $Farcheck = ""
    GUICtrlSetData($Done, "Done")
    GUICtrlSetData($PressedKey, "")
    GUICtrlSetData($PressedKey, "M1|M2|M3|Shift|CTRL|W|A|S|D|Up|Down|Left|Right|Combo WASD|Combo ARROW")
    GUICtrlSetData($PosDir, "")
    GUICtrlSetData($PosDir, "Up|Down|Left|Right|Combo")
    GUICtrlSetData($Far, "")
    GUICtrlSetData($Far, "1|2|5|10|25|50|75|100|150|250|350|500|750|1000|2000|5000|")
    GUICtrlSetState($PosDir, $GUI_ENABLE)
    GUICtrlSetState($PressedKey, $GUI_ENABLE)
    GUICtrlSetState($Far, $GUI_ENABLE)
    EndIf
    EndFunc ;==>_Done

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

    Func _Info()
    MsgBox(0, "MouseMove", "Coded by ThirtySix")
    EndFunc ;==>_Info

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

    Func _Exit()
    DllClose($DLL)
    Exit
    EndFunc ;==>_Exit

    [/autoit]
  • _Pop3-Udf (V1.03)

    • Oscar
    • 25. Juli 2013 um 12:30

    Ich gehe mal von einem T-Online-Problem aus, weil ich mein Programm (POP-Show) ständig verwende (mit mehreren unterschiedlichen Accounts) und es fehlerfrei läuft.
    In dem Programm verwende ich ja Deine UDF. Ich kann aber nicht weiter testen, da ich nicht über einen T-Online-Account verfüge.

  • AutoIt Versions-Archiv und Diskussionsthread (3.3.8.1 bis 3.3.10.2, Stand 30.12.13)

    • Oscar
    • 23. Juli 2013 um 16:35

    Ich würde das nicht überbewerten!
    AFAIR waren die Beta-Versionen immer langsamer als die Stable. Von daher warten wir erstmal ab...

  • frage zu ping- shutdown

    • Oscar
    • 23. Juli 2013 um 16:21

    Statt alle Rechner anzupingen, würde ich lieber ein NetView (alle Rechner im lokalen Netz) benutzen.
    Progandy hat hier eine Funktion gepostet, die bei mir super funktioniert.

  • GroupEx.au3 -- User Group Control, vielseitig modifizierbar

    • Oscar
    • 22. Juli 2013 um 20:07

    RR04: Das funktioniert bei mir (Win7, 64Bit) nicht. Die anderen Lösungen hingegen schon. :)

  • GUI kann "nur" einmal ausgeführt werden

    • Oscar
    • 22. Juli 2013 um 15:29

    Prüfe einfach, ob die entsprechenden Felder ausgefüllt sind und wenn nein, dann verlässt Du die Funktion (mit: Return) ohne die Mail zu verschicken.
    Kannst ja vorher auch noch eine Msgbox ausgeben lassen, damit der Benutzer weiss, was er falsch gemacht hat.

  • GUI kann "nur" einmal ausgeführt werden

    • Oscar
    • 22. Juli 2013 um 14:31

    In Zeile 70 überschreibst Du die Variable $nm_firstname mit dem Inhalt des Inputcontrols. Ein erneutes auslesen mit GUICtrlRead führt dann natürlich zu einem falschen Ergebnis.
    Benutze eine andere Variable zum auslesen.

  • Sortier Funktion macht Probleme

    • Oscar
    • 18. Juli 2013 um 16:27

    Wenn Du wirklich Hilfe haben willst, musst Du schon das ganze Script posten. Mit diesen Brocken kann niemand etwas anfangen.
    Da versagt sogar meine Kristallkugel. :D

  • _SelectFileOrFolder

    • Oscar
    • 16. Juli 2013 um 18:22

    So, es gibt eine neue Version (Post#1)!
    Die Vorschläge sind soweit umgesetzt. Falls ihr noch weitere Vorschläge habt oder Fehler findet, bitte melden! :)

  • Zugriffe auf Datei loggen und/oder blocken?

    • Oscar
    • 14. Juli 2013 um 08:50

    Wieso Sicherheitsrisiko "AutoIt"?
    AutoIt bietet mit der _Crypt-UDF genügend gute Verschlüsselungsmöglichkeiten. Solange das Passwort (ausreichend lang und sicher) vom Benutzer abgefragt wird und nicht mit auf dem Datenträger landet, ist das ein sehr sicheres Verfahren.

  • _SelectFileOrFolder

    • Oscar
    • 13. Juli 2013 um 16:45

    Natürlich kann man damit auch die Unterordner auswählen (einfach auf das Pluszeichen klicken).
    Oder meinst Du eine Vorauswahl (Startordner) festlegen? Das kommt noch. :)
    Multiselect ist schon eingebaut (siehe Post darüber).

  • Caesar Decoder

    • Oscar
    • 13. Juli 2013 um 15:18

    Stimmt, sehr kurze Nachrichten reichen dafür nicht aus, aber bei langen Texten ist das sehr effektiv. Deswegen sollte man die Cäsar-Verschlüsselung auch meiden. Jedenfalls für wichtige Sachen. :)

  • Caesar Decoder

    • Oscar
    • 13. Juli 2013 um 15:05

    Da die Cäsar-Verschlüsselung lediglich eine Verschiebung um "n" Stellen im ASCII-Code beinhaltet, ist die einfachste Methode der Dekodierung die über die Häufigkeitsverteilung der Buchstaben.
    Du nimmst einen beliebigen Text und erstellst ein Häufigkeitsprofil der Buchstaben. Dann machst Du das Gleiche mit dem verschlüsselten Text.
    Der häufigste Buchstabe in deutschen Texten ist das "e". Wenn Du das im verschlüsselten Text findest, hast Du schon die Schrittweite. ;)

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™