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

  • Time-Based File Eraser

    • Oscar
    • 24. Juni 2009 um 21:01

    Version 1.1 ( 25.06.09 )

    Beschreibung:
    Das Programm "Time-Based File Eraser" (kurz: TBFE) löscht Dateien/Verzeichnisse nach Ablauf einer anzugebenen Zeit bzw. zu einem bestimmten Datum.
    Dabei kann man angeben, ob vor dem Löschen noch eine Nachfrage stattfinden soll.

    Bedienung:
    Man zieht einfach die zu löschenden Dateien/Verzeichnisse aus dem Explorer auf das TBFE-Drop-Icon oder direkt auf die Lösch-Liste. Es erscheint dann ein Fenster, in dem man die Lösch-Einstellungen vornehmen kann.
    Mit dem Button "übernehmen" werden die Dateien/Verzeichnisse mit den vorgenommenen Einstellungen in die Lösch-Liste übernommen. Der Button "abbrechen" verwirft die Einstellungen.

    Wenn ein neuer Eintrag einen Konflikt mit einem bereits bestehenden Eintrag hervorruft, so wird man per MsgBox darauf hingewiesen. So ein Konflikt kann z.B. dann auftreten, wenn sich in der Lösch-Liste bereits eine Datei aus einem Verzeichnis befindet und man nun versucht das ganze Verzeichnis hinzuzufügen oder auch im umgekehrten Fall.

    Befinden sich Einträge in der Lösch-Liste so erkennt man das bereits am Drop-Icon, denn dort wird die Anzahl der Einträge angezeigt.
    Über das Kontextmenü des Drop-Icons oder im Traymenü kann man sich die Lösch-Liste anzeigen lassen und kann dort dann einzelne/mehrere Einträge wieder aus der Liste entfernen.

    Wenn das Löschdatum eines Eintrags erreicht ist, wird die Löschfunktion aufgerufen (je nach Einstellung mit/ohne vorherige Nachfrage). Das überprüfen der Lösch-Liste findet einmal pro Stunde (Timer) statt oder wenn der Benutzer die Funktion manuell aufruft (über: "Einträge jetzt prüfen").

    Alle Lösch-Vorgänge werden in einer Log-Datei gespeichert. Diese befindet sich hier: @AppDataDir & "\TBFE\del.log" (bei WinXP: "C:\Dokumente und Einstellungen\[User]\Anwendungsdaten\TBFE\del.log")

    Wem das Drop-Icon zu groß ist, der kann in der Inidatei (bei WinXP: "C:\Dokumente und Einstellungen\[User]\Anwendungsdaten\TBFE\tbfe.ini") den Wert hinter "MiniDropIcon=" von 0 auf 1 ändern. Die Größe wird dann auf die Hälfte reduziert.

    Wichtige Hinweise:
    1. Das Löschen ohne vorherige Nachfrage birgt ein großes Risiko: Wenn irgendein Programm oder der Benutzer selbst das Systemdatum verstellt und gerade dann die Überprüfung stattfindet, werden die Einträge u.U. zu früh gelöscht. Beim Löschen mit Nachfrage ist man hier auf der sicheren Seite (weshalb der Haken auch standardmäßig gesetzt ist).

    2. Werden der Lösch-Liste Verzeichnisse hinzugefügt, so werden diese, beim erreichen des Löschdatums, rekursiv (d.h. inkl. aller Unterverzeichnisse und darin enthaltenen Dateien) gelöscht. Deshalb gibt es im Einstellungsfenster einen zusätzlichen Hinweis, wenn man Verzeichnisse hinzufügen will.


    History


    Version 1.1 ( 25.06.09 )
    - Drag & Drop der zu löschenden Dateien/Verzeichnisse jetzt auch auf die Lösch-Liste möglich
    - Auswahlmöglichkeit ob großes oder kleines Drop-Icon (per Inidatei-Änderung)
    - Position der Lösch-Liste wird abgespeichert und beim nächsten Start wieder dort geöffnet.
    - einige kleinere Änderungen am Quellcode

    Version 1.0 ( 25.06.09 )
    - erste funktionierende Version

  • TLFS

    • Oscar
    • 24. Juni 2009 um 20:57

    Ich kann ja mal einen Thread in "Skripte" aufmachen und das Skript posten, dann kannst Du schonmal schauen. :)

  • GuiCtrlCreateEdit Text Auslesen!

    • Oscar
    • 24. Juni 2009 um 20:49

    Beispiel:

    [autoit]


    #include <GUIConstantsEx.au3>

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

    $hGui = GUICreate('Test', 600, 400)
    $hEdit = GUICtrlCreateEdit('adefrbfgrhrtbnfdb rgrgerg eefe rgergergerg bregere thtzjnrtghethtzhn thzkiuliulzw', 10, 10, 580, 350)

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

    GUISetState()
    Do
    $SelText = ControlCommand($hGui, "", $hEdit, "GetSelected", "")
    ToolTip($SelText)
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]
  • GuiCtrlCreateEdit Text Auslesen!

    • Oscar
    • 24. Juni 2009 um 20:38

    So:

    [autoit]


    $SelText = ControlCommand($hGui, "", $hEdit, "GetSelected", "")

    [/autoit]
  • prog soll text datei per email schicken

    • Oscar
    • 24. Juni 2009 um 20:29

    Und tschüss!
    Wir unterstützen hier kein Keylogger! :cursing:
    [Thread closed]

  • Suche Helfer für ein "AutoIt Kinderpaket" - Jeder ist herzlichst eingeladen!

    • Oscar
    • 24. Juni 2009 um 20:08

    Bitte Fehlermeldungen zu Wortsturz direkt an mich. :)
    Der Fehler (Programm beendet sich sofort) liegt an dem letzten @crlf in der Wortliste.

    Bitte die aktuelle Version (1.3) von "Wortsturz" benutzen! Die 0.9 war nur eine Vorab-Version.

  • TLFS

    • Oscar
    • 24. Juni 2009 um 19:28

    Es geht voran! ;)

    Erledigt:
    - Alle GUIs sind fertig
    - Hinzufügen (per Drag & Drop) von mehreren Dateien/Verzeichnissen gleichzeitig
    - Erkennen von Konflikten mit bereits bestehenden Einträgen (mit Info-Msgbox an den Benutzer)
    - Entfernen von Einträgen aus der Lösch-Liste vor dem Lösch-Datum

  • _GUICtrlTreeView_CreateDirectory (erstellt ein TreeView mit Verzeichnissen +Dateien)

    • Oscar
    • 24. Juni 2009 um 16:59

    Ich bin mir nicht ganz sicher, aber ich meine die neuen UDFs gibt es seit 3.2.5.0 oder so.
    Wieso möchtest Du die aktuelle Version (3.3.0.0) nicht benutzen?

  • Wortsturz (Spiel für Kinder)

    • Oscar
    • 23. Juni 2009 um 19:42

    Neue Version vorhanden (siehe Post #1).

    Neu:
    "Mute"-Taste, Wikipedia-Link und Erweiterung der Wortliste.

  • Doppelte Namen aussortieren.

    • Oscar
    • 23. Juni 2009 um 18:50

    Geht auch mit String (und Array):

    [autoit]


    $string = 'scipio Saddle%20Magic Flat%20Tire DuckyChickenLady Macallan DuckyChickenLady euricomatos Flat%20Tire euricomatos Flat%20Tire DuckyChickenLady Saddle%20Magic Flat%20Tire Macallan DuckyChickenLady Cruncher Macallan scipio Cruncher rmccabe916 Cruncher rmccabe916 Cruncher klingoncowboy4 Cruncher euricomatos Vukzen Vukzen Flat%20Tire Vukzen Cruncher euricomatos Macallan Vukzen rmccabe916 klingoncowboy4 euricomatos Yas bontzy Cruncher Vukzen St0le Yas rmccabe916 Cruncher rmccabe916'
    $array = StringSplit($string, ' ')
    $out = ''
    For $i = 1 To $array[0]
    If Not StringInStr($out, $array[$i]) Then $out &= $array[$i] & @CRLF
    Next
    MsgBox(0, 0, $out)

    [/autoit]
  • [Button] Darstellungsproblem

    • Oscar
    • 23. Juni 2009 um 18:43

    Das liegt daran, dass AutoIt den ButtonStyle verändert, sobald Du eine Vorder- und/oder Hintergrundfarbe angibst.
    Das kann man sehen, wenn man gleich beim erstellen des Buttons bereits die Vordergrundfarbe setzt:

    Spoiler anzeigen
    [autoit]


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

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

    Global $test, $tab0_button0

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

    main()

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

    While (1)
    $stateGUI = GUIGetMsg()
    Switch $stateGUI
    Case $GUI_EVENT_CLOSE
    Exit
    Case $tab0_button0
    test()
    EndSwitch
    Sleep(1)
    WEnd

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

    Func main()
    $hGUI = GUICreate("test", 400, 300)
    $tab = GUICtrlCreateTab(0, 0, 400, 300)
    $tab0 = GUICtrlCreateTabItem("test!")
    $tab0_button0 = GUICtrlCreateButton("testen", 25, 185, 350, 90, $BS_CENTER)
    GUICtrlSetFont(-1, 44, 400, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0x000000) ; <--- Hier
    GUICtrlSetTip(-1, "hiermit teste ich was")
    $tab1 = GUICtrlCreateTabItem("test2")
    GUISetState()
    EndFunc ;==>main

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

    Func test()
    $test = Not $test
    If $test Then
    GUICtrlSetColor($tab0_button0, 0xff0000)
    Else
    GUICtrlSetColor($tab0_button0, 0x000000)
    EndIf
    EndFunc ;==>test

    [/autoit]

    Einzige Abhilfe, die mir einfällt, wäre das benutzen eines Bildes (Icon oder BMP) für den Button.

  • Doppelte Namen aussortieren.

    • Oscar
    • 23. Juni 2009 um 18:30

    Schau Dir mal _ArrayUnique an.

  • Alle DAteien im angewählteen Ordner anzeigen

    • Oscar
    • 23. Juni 2009 um 18:18

    Ich habe sowas mal als Treeview gemacht: _GUICtrlTreeView_CreateDirectory (erstellt ein TreeView mit Verzeichnissen +Dateien)

  • Eigene Systemvariable beim Setup benutzen

    • Oscar
    • 23. Juni 2009 um 15:31

    Analog zu EnvGet gibt es auch EnvSet. ;)

  • Vergleichen der Benutzerdefinierten [Sektion]

    • Oscar
    • 23. Juni 2009 um 15:26

    Zweimal GUIGetMsg in der Do...Until-Schleife. Das ist der Fehler, warum Du die Buttons öfter anklicken musst.
    Einmal reicht.

  • 2 arrays nach gleichen werten absuchen

    • Oscar
    • 23. Juni 2009 um 12:35

    Keine Ahnung, ob das jetzt Vor- oder Nachteile hat. Habe die beiden Varianten nicht gegeneinander antreten lassen.
    Ich hatte mir nur die Aufgabenstellung durchgelesen und dazu einen Lösungsansatz programmiert. :)

  • Analogen wehrt aus lesen

    • Oscar
    • 22. Juni 2009 um 16:03

    @smersch:
    Woraus?
    Erzähle möglichst genau was Du machen willst und wie Du AutoIt dabei einsetzen willst.
    Dann poste Dein bisheriges Script und schreib dazu, was nicht funktioniert bzw. was anders laufen soll und dann schauen wir mal, ob und wie wir Dir helfen können.
    Aber mit dem bisher von Dir geposteten kann niemand etwas anfangen.

  • Analogen wehrt aus lesen

    • Oscar
    • 22. Juni 2009 um 15:52

    "analoge Klemmen", "digitale Klemmen", "VM Maschine" :?::?::?:

    Gibt's in AutoIt alles nicht. :D

    Was möchtest Du uns damit mitteilen?

  • Word Dokument drucken

    • Oscar
    • 22. Juni 2009 um 15:39

    Ein FileClose vor dem Zugriff mit _WordAttach sollte ausreichen.

  • 2 arrays nach gleichen werten absuchen

    • Oscar
    • 22. Juni 2009 um 15:35

    Ich würde das mit einem Scripting.Dictionary-Objekt lösen:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    ; Zufallswerte zum testen erstellen
    $n = Random(50, 99, 1)
    Dim $w[$n]
    For $i = 0 To $n - 1
    $w[$i] = Random(0, 9, 1)
    Next
    ; Zufallswerte zum testen erstellen
    _ArrayDisplay($w) ; Zufallswerte anzeigen

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

    $aModal = _ArrayModal($w)
    _ArrayDisplay($aModal)

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

    Func _ArrayModal($w)
    $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 = $oDictionary.Keys
    $str = ''
    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]

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™