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

Beiträge von Tweaky

  • Minimale größe des Fensters setzen

    • Tweaky
    • 28. Juni 2009 um 13:37

    dies hier ist von Xeno

    Spoiler anzeigen
    [autoit]

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

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

    $breite_min = 830
    $breite_max = 930
    $hoehe_min = 430
    $hoehe_max = 930

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

    GUICreate("GUI", $breite_max, $hoehe_max, -1, -1, $WS_THICKFRAME)
    GUISetState()

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

    GUIRegisterMsg($WM_GETMINMAXINFO, "MY_WM_GETMINMAXINFO")

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()

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

    Func MY_WM_GETMINMAXINFO($hWnd, $msg, $wParam, $lParam)
    $minmaxinfo = DllStructCreate("int;int;int;int;int;int;int;int;int;int", $lParam)
    DllStructSetData($minmaxinfo, 7, $breite_min) ; min X
    DllStructSetData($minmaxinfo, 8, $hoehe_min) ; min Y
    DllStructSetData($minmaxinfo, 9, $breite_max) ; max X
    DllStructSetData($minmaxinfo, 10, $hoehe_max) ; max Y
    Return 0
    EndFunc ;==>MY_WM_GETMINMAXINFO

    [/autoit]
  • Funktionen mit GUI's AN/AUS schalten

    • Tweaky
    • 22. Juni 2009 um 22:10

    Bots sind hier nicht erlaubt
    :cursing: Siehe Forenregeln :cursing:

  • Rekursive Datei/Ordner Auflistung

    • Tweaky
    • 21. Juni 2009 um 11:18

    So wie es aussieht hängt es stark mit der CPU zusammen.

    Zitat

    PC Quad 4x2,83GHz
    Oscar 4.24 Sekunden 14429
    eigen 8.58 Sekunden 14429
    BugFix 22.23 Sekunden 14429

    PC Single 1x3,2GHz
    Oscar 4.9 Sekunden 14379
    BugFix 29.28 Sekunden 14379
    eigen 30.31 Sekunden 14379

    Alles anzeigen

    gemessen jeweils nach einem Neustart

  • Rekursive Datei/Ordner Auflistung

    • Tweaky
    • 20. Juni 2009 um 21:48

    so jetzt aber,
    ich habe jetzt jedes einzeln nach einem Neustart getestet:

    Zitat

    Oscar 4.24 Sekunden 14429
    eigen 8.58 Sekunden 14429
    BugFix 22.23 Sekunden 14429

    Meines soll immernoch deutlich schneller sein als das von BugFix.

    So hab ich es aufgerufen

    Spoiler anzeigen
    [autoit]

    $pfad = @WindowsDir

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

    $begin3 = TimerInit()
    $dateien3 = _RecursiveFileListToArray($pfad, '', 1)
    $dif3 = TimerDiff($begin3)
    ConsoleWrite("Oscar" & @TAB & Round($dif3 / 1000, 2) & " Sekunden" & @TAB & UBound($dateien3) - 1 & @CRLF)

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

    $begin1 = TimerInit()
    $dateien1 = _ordner_rekursiv($pfad, 1)
    $dif1 = TimerDiff($begin1)
    ConsoleWrite("eigen" & @TAB & Round($dif1 / 1000, 2) & " Sekunden" & @TAB & UBound($dateien1) - 1 & @CRLF)

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

    $begin2 = TimerInit()
    $dateien2 = _GetFilesFolder_Rekursiv($pfad, '*', 0)
    $dif2 = TimerDiff($begin2)
    ConsoleWrite("BugFix" & @TAB & Round($dif2 / 1000, 2) & " Sekunden" & @TAB & UBound($dateien2) - 1 & @CRLF)

    [/autoit]

    Kann es vielleicht am PC liegen, dass meines und euer Ergebnis so unterschiedlich ist?
    Ich habe einen Quad Q9550 :D

  • Mousewheel updown

    • Tweaky
    • 20. Juni 2009 um 21:18

    schau mal hier
    [ offen ] Maus Scroll
    [ offen ] wie ist die taste - MAUSrad nach vorne/hoch ?

  • Rekursive Datei/Ordner Auflistung

    • Tweaky
    • 20. Juni 2009 um 18:29

    bei mir werden so nur 10 Dateien angezeigt.
    Deshalb kann ich es nicht testen.

    Mal schauen was die anderen meinen.

    PS: gib doch mal @WindowsDir an.

  • Rekursive Datei/Ordner Auflistung

    • Tweaky
    • 20. Juni 2009 um 18:09

    Was meinst du mit Desktop als Pfad?
    Was hast du da genau eingegeben?

    Nur 1 Sekunde bei 7000 Dateien - hm ist bei mir deutlich mehr 8|

    Der Ordner Papierkorb und System Volume Information wird nicht erfasst

    Bsp: Ordner "C:\windows"
    eigen 4.32 Sekunden 14443 Dateien
    BugFix 19.34 Sekunden 14443 Dateien

  • Rekursive Datei/Ordner Auflistung

    • Tweaky
    • 20. Juni 2009 um 17:50

    Hi,
    ich habe vor einer Zeit mal eine UDF für mich erstellt, mit der ich alle Dateien in Unterordnern auflisten kann.
    Diese habe ich nun generalüberholt.
    Schaut sie euch mal an.
    Was kann ich noch verbessern?

    Warum ist meine UDF viel schneller als die von BugFix (teilweise bis zu 10 Mal :D )

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <Array.au3>
    #include <File.au3>

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

    ;*******************************************************************************************************************************************************************************************************************************************
    ; Funktion _ordner_rekursiv($udf_quellordner[, $udf_Ordner_Dateien[, $udf_unterordner=True[, $udf_spalte_datum=False[, $udf_dateityp = "*"[, $udf_auslassen = ""]]]]])
    ; Beschreibung ermittelt alle Dateien/Ordner des angegebenen Verzeichnisses
    ; Parameter $udf_quellordner: der zu durchsuchende Ordner (Angabe: einzelner Ordner als String oder mehrere Ordner im Array beginnend bei 1)
    ; optional $udf_Ordner_Dateien: 1 = Dateien auflisten (Standard) 2 = Ordner auflisten
    ; optional $udf_unterordner: True = Unterordner miteinbeziehen (Standard) False = Unterordner nicht miteinbeziehen
    ; optional $udf_spalte_datum: True = Änderungsdatum der Datei ermitteln False = Änderungsdatum der Datei nicht ermitteln (Standard)
    ; optional $udf_dateityp: einzuschließende Dateitypen (mehrere Typen durch | trennen) "*" >>> alle (Standard)
    ; optional $udf_auslassen: Wörter, die im Pfad oder Dateinamen vorkommen, auslassen (mehrere durch | trennen) "" <<< Standard
    ; Rückgabewert Erfolg: Gibt ein Array mit 3 Spalten zurück (Dateiname, Dateipfad, Änderungsdatum)
    ; Fehler: 0 setzt @error
    ; @error = 1 mindestens 1 Pfad existiert nicht
    ; Autor Tweaky (http://www.autoit.de)
    ;*******************************************************************************************************************************************************************************************************************************************

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

    ;********************************************
    ; Ordner rekursiv (Hauptfunktion) *
    ;********************************************

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

    Func _ordner_rekursiv($udf_quellordner, $udf_Ordner_Dateien = 1, $udf_unterordner = True, $udf_spalte_datum = False, $udf_dateityp = "*", $udf_auslassen = "")
    Local $verzeichnisse_alle[1] ;Array für die Ordner
    Local $array_alles[1000000][3] ;Array für die Ordner und Dateien
    Local $szDrive, $szDir, $szFName, $szExt

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

    If Not IsArray($udf_quellordner) Then ;Falls der Quellordner kein Array ist, ein Array erstellen
    $udf_quellordner_tmp = $udf_quellordner
    Dim $udf_quellordner[2]
    $udf_quellordner[0] = 1
    $udf_quellordner[1] = $udf_quellordner_tmp
    EndIf

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

    For $i = 1 To UBound($udf_quellordner) - 1
    If Not FileExists($udf_quellordner[$i]) Or Not StringInStr($udf_quellordner[$i], ":") Then
    SetError(1) ;mindestens 1 Pfad existiert nicht
    Return 0
    EndIf

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

    If StringRight($udf_quellordner[$i], 1) <> "\" Then $udf_quellordner[$i] &= "\"

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

    $udf_quellordner_einzeln = $udf_quellordner[$i]

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

    If $udf_unterordner = True Then ;mit Unterordner
    _ordner_rekursiv_mit_unterordner($udf_quellordner_einzeln, $verzeichnisse_alle)
    _ArrayAdd($verzeichnisse_alle, $udf_quellordner_einzeln)
    Else ;ohne Unterordner
    $verzeichnisse_alle = $udf_quellordner
    EndIf
    Next

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

    If IsArray($verzeichnisse_alle) Then $verzeichnisse_alle[0] = UBound($verzeichnisse_alle) - 1 ;In die erste Zeile die Anzahl der Dateien schreiben

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

    $zaehler_fortlaufend = 0

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

    If $udf_Ordner_Dateien = 1 Then ;Dateien auflisten

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

    If Not IsArray($verzeichnisse_alle) Then
    $verzeichnisse_alle_tmp = $verzeichnisse_alle
    Local $verzeichnisse_alle[2] ;Array für die Ordner
    $verzeichnisse_alle[1] = $verzeichnisse_alle_tmp
    EndIf

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

    For $u = 1 To UBound($verzeichnisse_alle) - 1
    $array_alle_dateien = _FileListToArray($verzeichnisse_alle[$u], "*", 1)

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

    For $k = 1 To UBound($array_alle_dateien) - 1
    $kriterien_ok = 0

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

    If $udf_dateityp = "*" Then ;Dateityp nicht angegeben oder alle Dateien
    $kriterien_ok = 1
    Else ;1 oder mehrere Dateitypen angegeben
    $dateityp_split = StringSplit($udf_dateityp, "|")
    $udf_dateiendung_array = _PathSplit($array_alle_dateien[$k], $szDrive, $szDir, $szFName, $szExt)
    $udf_dateiendung = $udf_dateiendung_array[4]
    For $i = 1 To UBound($dateityp_split) - 1
    If "." & $dateityp_split[$i] = StringRight($array_alle_dateien[$k], StringLen($udf_dateiendung)) Then
    $kriterien_ok = 1
    ExitLoop
    EndIf
    Next
    EndIf

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

    If $udf_auslassen <> "" Then ;Wörter in dem Pfad und Datei auslassen
    $auslassen_split = StringSplit($udf_auslassen, "|")
    For $i = 1 To UBound($auslassen_split) - 1
    If StringInStr($array_alle_dateien[$k], $auslassen_split[$i]) Or StringInStr($verzeichnisse_alle[$u], $auslassen_split[$i]) Then
    $kriterien_ok = 0
    ExitLoop
    EndIf
    Next
    EndIf

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

    ;Papierkorb und System Volume Information wird nicht aufgelistet
    If StringInStr($array_alle_dateien[$k], 'RECYCLER') Or StringInStr($verzeichnisse_alle[$u], 'RECYCLER') _
    Or StringInStr($array_alle_dateien[$k], 'RECYCLED') Or StringInStr($verzeichnisse_alle[$u], 'RECYCLED') _
    Or StringInStr($array_alle_dateien[$k], 'System Volume Information') Or StringInStr($verzeichnisse_alle[$u], 'System Volume Information') _
    Or StringInStr($array_alle_dateien[$k], '$RECYCLE.BIN') Or StringInStr($verzeichnisse_alle[$u], '$RECYCLE.BIN') Then
    $kriterien_ok = 0
    ExitLoop
    EndIf

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

    ;wenn der Dateityp passt und die Datei bzw. der Ordner nicht ausgelassen werden soll
    If $kriterien_ok = 1 Then
    $zaehler_fortlaufend += 1
    $array_alles[$zaehler_fortlaufend][0] = $verzeichnisse_alle[$u]
    $array_alles[$zaehler_fortlaufend][1] = $array_alle_dateien[$k]
    If $udf_spalte_datum = True Then $array_alles[$zaehler_fortlaufend][2] = FileGetTime($verzeichnisse_alle[$u] & $array_alle_dateien[$k], 0, 1)
    EndIf
    Next
    Next

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

    Else ;Ordner auflisten
    For $i = 1 To UBound($verzeichnisse_alle) - 1
    $kriterien_ok = 1

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

    ;Papierkorb und System Volume Information wird nicht aufgelistet
    If StringInStr($verzeichnisse_alle[$i], 'RECYCLER') Or StringInStr($verzeichnisse_alle[$i], 'RECYCLED') _
    Or StringInStr($verzeichnisse_alle[$i], 'System Volume Information') Or StringInStr($verzeichnisse_alle[$i], '$RECYCLE.BIN') Then
    $kriterien_ok = 0
    ExitLoop
    EndIf

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

    If $kriterien_ok = 1 Then
    $zaehler_fortlaufend += 1
    $array_alles[$zaehler_fortlaufend][0] = $verzeichnisse_alle[$i]
    EndIf
    Next
    EndIf

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

    ;Leere Zeilen am Ende löschen
    ReDim $array_alles[$zaehler_fortlaufend + 1][3]

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

    ;In die erste Zeile die Anzahl der Dateien schreiben
    If IsArray($array_alles) Then $array_alles[0][0] = UBound($array_alles) - 1

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

    $verzeichnisse_alle = 0 ;Array löschen

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

    Return $array_alles ;Array zurückgeben
    EndFunc ;==>_ordner_rekursiv

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

    ;**************************************
    ; Unterordner durchsuchen *
    ;**************************************

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

    Func _ordner_rekursiv_mit_unterordner($udf_quellordner, ByRef $verzeichnisse_alle)
    $verzeichnisse = _FileListToArray($udf_quellordner, "*", 2)

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

    For $i = 1 To UBound($verzeichnisse) - 1
    $verzeichnisse[$i] = $udf_quellordner & $verzeichnisse[$i] & "\"
    _ArrayAdd($verzeichnisse_alle, $verzeichnisse[$i])
    _ordner_rekursiv_mit_unterordner($verzeichnisse[$i], $verzeichnisse_alle)
    Next
    EndFunc ;==>_ordner_rekursiv_mit_unterordner

    [/autoit]

    PS: Hoffe es gefällt mein Skriptstil.
    Ist denke ich nicht der beste, aber ich blick durch :P
    Fehlerhändling ist nicht so mein Ding :whistling:

  • Wie findet ihr die deutsche Hilfe zu AutoIt?

    • Tweaky
    • 18. Juni 2009 um 21:21

    Hi,
    ich wollte einfach mal eure Stimmung zur deutschen Hilfe erfahren.

    Dazu habe ich die Umfrage gestartet.

    Mir sind spontan diese 11 Punkte eingefallen.

    Gerne könnt ihr auch eure eigene Meinung dazu posten.

    Antwort von L3viathan2142 ergänzt :)

    EDIT: Wer "ich würde helfen zu übersetzen" auswählt bitte bei mir melden :thumbup:

  • Link zur History der Beta veraltet

    • Tweaky
    • 14. Juni 2009 um 13:40

    Hi,
    der Link unter "AutoIt Downloads" bei "Beta" ist veraltet.

    Der neue Link lautet

    http://www.autoitscript.com/forum/index.php?showtopic=95366

    bitte aktualisieren

  • Problem mit Arrays und Edit

    • Tweaky
    • 9. Juni 2009 um 18:08

    Hi,
    denke ich habe dich richtig verstanden.
    Du musst das ganze durch eine Schlaufe laufen lassen

    Spoiler anzeigen
    [autoit]

    #include <GuiEdit.au3>
    #include <GUIConstantsEx.au3>
    #include <Array.au3>

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

    $Form1 = GUICreate("Form1", 539, 394, 193, 125)
    $Edit1 = GUICtrlCreateEdit("", 56, 32, 377, 273)
    GUICtrlSetData(-1, "Edit1" & @CRLF & "Edit2" & @CRLF & "Edit3" & @CRLF & "Edit4" & @CRLF & "Edit5")
    $Button1 = GUICtrlCreateButton("go!", 144, 344, 75, 25, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $linien = _GUICtrlEdit_GetLineCount($Edit1)
    ConsoleWrite($linien & @CRLF)

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

    Global $insgesamt[$linien]
    For $i = 0 To $linien - 1
    $insgesamt[$i] = _GUICtrlEdit_GetLine($Edit1, $i)
    Next

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

    _ArrayDisplay($insgesamt)
    EndSwitch
    WEnd

    [/autoit]
  • HTML Help Workshop

    • Tweaky
    • 7. Juni 2009 um 22:06

    also wir wollen das Skript nicht verbreiten.

    Aber ich denke du hast mittlerweile genug Antworten zu Alternativen erhalten ;)

  • HTML Help Workshop

    • Tweaky
    • 7. Juni 2009 um 17:28

    Es sind mehrere Skripte zum erstellen :D

    Müsste ich mal pee fragen ob man es weitergeben darf.
    Für was brauchste es denn?

  • HTML Help Workshop

    • Tweaky
    • 7. Juni 2009 um 17:07

    Hi,
    ich habe mal in dem Skript geschaut, wo die Seiten für die Hilfe erstellt werden.
    Dort steht u. a.

    [autoit]

    $example = $example & @CRLF & _
    '<br><OBJECT id=hhctrl type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" width=58 height=57>' & @CRLF & _
    '<PARAM name="Command" value="ShortCut">' & @CRLF & _
    '<PARAM name="Button" value="Text:Dieses Skript öffnen">' & @CRLF & _
    '<PARAM name="Item1" value=",Examples\HelpFile\' & StringReplace($Filename, ".txt", ".au3") & ',">' & @CRLF & _
    '</OBJECT>'
    $example = $example & @CRLF
    EndIf

    [/autoit]
  • "Zahlenkette" ins richtige Format für _DateDiff() bringen

    • Tweaky
    • 6. Juni 2009 um 22:29

    ich würds so machen

    [autoit]

    #include <String.au3>
    $date = "20090607203500"

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

    $date_ok = _StringInsert($date, "/", 4)
    $date_ok = _StringInsert($date_ok, "/", 7)
    $date_ok = _StringInsert($date_ok, " ", 10)
    $date_ok = _StringInsert($date_ok, ":", 13)
    $date_ok = _StringInsert($date_ok, ":", 16)

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

    ConsoleWrite($date & @CRLF)
    ConsoleWrite($date_ok & @CRLF)

    [/autoit]
  • LAN Verbindung deaktivieren !

    • Tweaky
    • 5. Juni 2009 um 17:32

    Ja dies würde reichen

  • LAN Verbindung deaktivieren !

    • Tweaky
    • 5. Juni 2009 um 17:20

    Also bei mir klappts mittlerweile
    siehe [ gelöst ] Netzwerkkarte deaktivieren - über Devcon und Gerätemanager klappts nicht

  • Welchen Internet Browser nutzt ihr - Umfrage ?

    • Tweaky
    • 2. Juni 2009 um 23:41

    Nun dürfen bis zu 3 Browser ausgewählt werden, gell Alina ;)
    Apple Safari ergänzt

  • Welchen Internet Browser nutzt ihr - Umfrage ?

    • Tweaky
    • 2. Juni 2009 um 22:48

    Hi,
    wollte einfach mal eine Umfrage starten, welchen Internet Browser ihr hauptsächlich nutzt.
    Falls euer fehlen sollte, bitte einfach antworten

    EDIT:
    Nun dürfen bis zu 4 Browser ausgewählt werden, gell Alina ;)
    Apple Safari ergänzt
    Iron ergänzt
    Maxthon ergänzt
    Konquerer ergänzt
    Jaessy ergänzt
    Google Chrome ergänzt

  • Buttons und Label ?

    • Tweaky
    • 1. Juni 2009 um 16:28

    das erstellen der Buttons und Labels kannst du z. B. so machen

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Dim $Button[11]
    Dim $Label[11]

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

    GUICreate("Mein GUI Button")

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

    For $i = 1 To 10
    $Button[$i] = GUICtrlCreateButton($i, 10, 30 + $i * 30, 100)
    $Label[$i] = GUICtrlCreateLabel("leer", 200, 30 + $i * 30, 100)
    Next

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect

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

    For $i = 1 To UBound($Button) - 1
    If $msg = $Button[$i] Then MsgBox(0, "", "Button " & $i & " wurde angeklickt")
    Next

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

    Sleep(20)
    WEnd

    [/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™