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

  • Treeview mit Mausklick ausgewähltes Item auslesen?

    • Oscar
    • 22. Juni 2009 um 11:59
    Zitat von chip

    Öhm was ist das?

    Ich denke, er meint diese Threads:
    http://www.autoit.de/index.php?page=Thread&postID=70416#post70416
    http://www.autoit.de/index.php?page=Thread&postID=71038#post71038

  • Inhalt einer html datei löschen und neuen inhalt einfügen?

    • Oscar
    • 22. Juni 2009 um 04:10

    Ich hab ihn wiederhergestellt.

  • Minutenzähler

    • Oscar
    • 21. Juni 2009 um 14:25

    Eigentlich gibt es dafür ja bereits eine Funktion in den UDFs: _TicksToTime()

    Wenn man sich die Funktion aber mal anschaut:

    [autoit]


    Func _TicksToTime($iTicks, ByRef $iHours, ByRef $iMins, ByRef $iSecs)
    If Number($iTicks) > 0 Then
    $iTicks = Round($iTicks / 1000)
    $iHours = Int($iTicks / 3600)
    $iTicks = Mod($iTicks, 3600)
    $iMins = Int($iTicks / 60)
    $iSecs = Round(Mod($iTicks, 60))
    ; If $iHours = 0 then $iHours = 24
    Return 1
    ElseIf Number($iTicks) = 0 Then
    $iHours = 0
    $iTicks = 0
    $iMins = 0
    $iSecs = 0
    Return 1
    Else
    SetError(1)
    Return 0
    EndIf
    EndFunc ;==>_TicksToTime

    [/autoit]


    muss ich sagen, dass ist irgendwie ziemlich umständlich.
    Ich finde das so wesentlich besser:

    [autoit]


    Func _TicksToTime($iTicks)
    Local $iHours, $iMins, $iSecs = Int($iTicks / 1000)
    $iHours = Int($iSecs / 3600)
    $iSecs = Mod($iSecs, 3600)
    $iMins = Int($iSecs / 60)
    $iSecs = Mod($iSecs, 60)
    Return StringFormat('%02i:%02i:%02i', $iHours, $iMins, $iSecs)
    EndFunc ;==>_TicksToTime

    [/autoit]
  • Wortsturz (Spiel für Kinder)

    • Oscar
    • 21. Juni 2009 um 12:31

    Es gibt eine neue Version (siehe Post #1).

  • Rekursive Datei/Ordner Auflistung

    • Oscar
    • 21. Juni 2009 um 07:09

    Die absoluten Unterschiede könnten am Prozessor (und der Festplatte) liegen, aber relativ (alle Tests auf demselben Rechner) müssten die Unterschiede vergleichbar sein.

    Ich habe die Tests nicht jeweils nach einem Neustart gemacht, dass heißt bei meinen Tests spielte die Geschwindigkeit des mehrmaligen Aufrufs eine Rolle.
    Wenn BugFix's Version bei Dir so schlecht abschneidet, hat das vermutlich mit dem "Scripting.FileSystemObject" zu tun. :S
    Vielleicht muss das Object erst einmal aufgerufen worden sein (weil da von Windows noch irgendwas geladen wird)?

  • Turbo Messer

    • Oscar
    • 20. Juni 2009 um 21:15

    Was man hingegen beachten sollte, ist die Tatsache, dass nicht jedes Programm auch mehrere Kerne unterstützt.
    Und dann kann es evtl. durchaus sinnvoll sein einen schnelleren DualCore einem langsamer getakteten QuadCore vorzuziehen. Es kann also sein, dass ein 2x3.2 GHz DualCore schneller ist, als ein 4x3.0 GHz QuadCore.
    Das kommt im wesentlichen auf die Programme an.

    Um genau zu sein, ist nicht nur die Taktfrequenz entscheidend. Die Prozessor-Architektur (Befehlssatz, Caches, usw.) spielt da auch eine große Rolle.

  • Rekursive Datei/Ordner Auflistung

    • Oscar
    • 20. Juni 2009 um 20:48

    Das spielt eine große Rolle, denn wenn man bereits einmal alle Dateien durchgescannt hat, dann befinden sich diese beim zweiten Scan im Festplatten-Cache und der zweite Scan geht dann wesentlich schneller.
    Also entweder mehrere Durchläufe machen und das Ergebnis mitteln oder gleiche Anfangsbedingungen schaffen (z.B. jeweils nach einem Neustart).

    Edit:
    Tweaky: Ich kann Dein Ergebnis nicht bestätigen. BugFix's Version ist bei meinen Tests (jeweils mehrere Scans hintereinander) etwas schneller als Deine Version. Noch schneller ist allerdings meine Version ;)

    Spoiler anzeigen
    [autoit]


    ;===============================================================================
    ; Function Name: _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
    ; Description:: gibt Verzeichnisse und/oder Dateien (rekursiv) zurück, die
    ; einem RegExp-Pattern entsprechen
    ; Parameter(s): $sPath = Startverzeichnis
    ; $sPattern = ein beliebiges RexExp-Pattern für die Auswahl
    ; $iFlag = Auswahl
    ; 0 = Dateien & Verzeichnisse
    ; 1 = nur Dateien
    ; 2 = nur Verzeichnisse
    ; $iFormat = Rückgabeformat
    ; 0 = String
    ; 1 = Array mit [0] = Anzahl
    ; 2 = Nullbasiertes Array
    ; $sDelim = Trennzeichen für die String-Rückgabe
    ; Requirement(s): AutoIt 3.3.0.0
    ; Return Value(s): Array/String mit den gefundenen Dateien/Verzeichnissen
    ; Author(s): Oscar (http://www.autoit.de)
    ; Anregungen von: bernd670 (http://www.autoit.de)
    ;===============================================================================
    Func _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
    Local $hSearch, $sFile, $sReturn = ''
    If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
    $hSearch = FileFindFirstFile($sPath & '*.*')
    If @error Or $hSearch = -1 Then Return SetError(0, 0, $sReturn)
    While True
    $sFile = FileFindNextFile($hSearch)
    If @error Then ExitLoop
    If StringInStr(FileGetAttrib($sPath & $sFile), 'D') Then
    If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim
    $sReturn &= _RecursiveFileListToArray($sPath & $sFile & '\', $sPattern, $iFlag, 0)
    ContinueLoop
    EndIf
    If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim
    WEnd
    FileClose($hSearch)
    If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat)
    Return $sReturn
    EndFunc

    [/autoit]

    Jeweils so aufgerufen (Funktionsaufruf natürlich entsprechend):

    [autoit]


    $iTimer = TimerInit()
    $a = _RecursiveFileListToArray(@WindowsDir, '', 1)
    ConsoleWrite(TimerDiff($iTimer) & @CRLF)
    _ArrayDisplay($a)

    [/autoit]
  • Turbo Messer

    • Oscar
    • 20. Juni 2009 um 20:41

    Natürlich läuft jeder einzelne Kern mit der angegeben Taktfrequenz. Mein QuadCore z.B. mit 4x3.0 GHz.

  • Online Game Browser + Login Box

    • Oscar
    • 20. Juni 2009 um 04:19

    AGBs des Anbieters lesen...

    Zitat

    5.3 Dem Nutzer ist es darüber hinaus untersagt, das Online-Spiel (einschließlich aller einzelner Internetseiten) mit anderen Programmen außer dem Internet-Browser oder dem zur Verfügung gestellten Client-Programm aufzurufen. Dies bezieht sich insbesondere auf so genannte Bots sowie andere Tools, die das Webinterface ersetzen oder ergänzen sollen.

    ...und unsere Forenregeln beachten!

    Zitat

    Automatisierung von Webseiten oder Tools, die das in ihren AGBs verbieten

    [Thread closed]

  • Wortsturz (Spiel für Kinder)

    • Oscar
    • 19. Juni 2009 um 20:27

    Ich habe gerade das hier gefunden: http://msdn.microsoft.com/de-de/library/k7d53k7e(VS.80).aspx
    Kann es sein, das der Debugger läuft, obwohl Du nicht als Administrator angemeldet bist?

  • Wortsturz (Spiel für Kinder)

    • Oscar
    • 19. Juni 2009 um 18:35

    Ich habe nochmal eine neue Version hochgeladen. Den ganzen _IsPressed-Kram habe ich jetzt entsorgt und alles mit Events gemacht (warum eigentlich nicht gleich? :S ).
    So nebenbei gibt es jetzt noch drei neue Icons (Pfeile).

    @DevilsCry: Teste doch mal, ob das mit der neuen Version immer noch der Fall ist. An XP kann es nicht liegen, das habe ich auch. :thumbup:

  • Wortsturz (Spiel für Kinder)

    • Oscar
    • 19. Juni 2009 um 17:28

    funkey: Achso! Jetzt verstehe ich! Nee, das ist so nicht gewollt. Ok, wird behoben...

    @DevilsCry: Hmmm...und was soll mir das jetzt sagen? Was ist denn eine "unbehandelte Win32-Ausnahme"?

  • Internet seite in EditBox

    • Oscar
    • 19. Juni 2009 um 15:00

    Doch, ich: 42 :D

    Wie lautete die Frage zu Deinem Problem eigentlich?

  • Wortsturz (Spiel für Kinder)

    • Oscar
    • 19. Juni 2009 um 14:51

    So, Version 1.0 ist fertig!
    Die Farben habe ich noch etwas angepasst und es gibt jetzt auf der linken Seite ein Hintergrundbild. Außerdem gibt es noch ein paar zusätzliche Sounds und den Vorschlag von BugFix bezüglich der Zusatzpunkte habe ich mit eingebaut.
    Eine "Pause"-Taste ist auch noch dazugekommen.

    @DevilsCry: Das mit dem Debugger verstehe ich nicht so ganz?!

    funkey: Das mit der Leertaste ist so eigentlich nicht vorgesehen. Das passiert bloß, weil der Focus auf der "Start"-Taste liegt. Man wechselt auch eigentlich nicht zum nächsten Wort, sondern startet das Spiel von vorn.
    Diese Funktionalität möchte ich aber eigentlich beibehalten. Man kann übrigens auch während des spielens die Wortlänge wechseln. Das Programm generiert dann das nächste Wort mit der neuen Wortlänge.

  • Wortsturz (Spiel für Kinder)

    • Oscar
    • 17. Juni 2009 um 20:56

    Ich wusste doch, dass ich mich auf euch verlassen kann. :)
    Ihr habt immer tolle Verbesserungsvorschläge. Werde ich noch einbauen. :thumbup:

    @Commander21: Nachdem man die "Pfeil nach unten"-Taste gedrückt hat, soll man den Buchstaben nicht mehr bewegen können. Das ist so gewollt! Icons sind von Iconspedia.

    Die Version 0.9 hat übrigens noch einen Bug (gerade entdeckt): Wenn man alle Wörter einer Schwierigkeitsstufe (Wortlänge) durch hat, kommt als Wort eine "1" und danach stürzt das Script ab (Array-Fehler). Ist in der nächsten Version gefixt.

  • {Enter} an einen prozess senden der im hintergrund läuft

    • Oscar
    • 17. Juni 2009 um 20:28

    [Thread closed]

  • Wortsturz (Spiel für Kinder)

    • Oscar
    • 17. Juni 2009 um 20:23

    Ja, Inspiration war Lettris!
    Und wegen diesem Thread wollte ich sowas in der Art machen.
    Halt mal ein Spiel für die Kleinen. Wobei mich mal interessieren würde, ob die Geschwindigkeit der herabfallenden Buchstaben so in Ordnung ist oder ob die zu schnell fallen.

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

    • Oscar
    • 17. Juni 2009 um 19:26

    Mein Beitrag zum "Kinder-Paket": Wortsturz (Spiel für Kinder)

  • Wortsturz (Spiel für Kinder)

    • Oscar
    • 17. Juni 2009 um 19:25

    Hier mal ein Programm für Kinder:

    Wortsturz
    Version 1.4 ( 27.06.09 )

    Änderungen:
    - Play-Button hinzugefügt (kann auch über die "s"-Taste aufgerufen werden. Beim Aufruf des Buttuns wird das Wort, das sich unten rechts befindet, ausgesprochen.
    Dazu muss aber das deutsche Sprachpaket vom MS.Reader installiert sein (von hier downloaden). Damit man nicht auch noch den MS.Reader installieren muss, kann man dieses kurze Script von progandy verwenden:

    Spoiler anzeigen
    [autoit]


    RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ebook","Version")
    If @error Then
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ebook","Version","REG_SZ","2.2")
    MsgBox(0, 'SAPI German Install Patch', "Installieren sie jetzt das deutsche Sprachpaket von " & @CRLF & "http://www.microsoft.com/reader/de/downloads/tts.mspx" & @CRLF & "Klicken sie danach auf OK.")
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ebook")
    Else
    MsgBox(0, 'SAPI German Install Patch', "Sie haben den Microsoft Reader installiert und benötigen keinen Patch. "&@CRLF&"Gegebenenfalls müssen sie auf die neueste Version updaten über "&@CRLF&"http://www.microsoft.com/reader/de")
    EndIf

    [/autoit]



    Spielerklärung:
    Bei dem Spiel geht es darum, die Buchstaben von zufällig ausgewählten Wörtern in die richtige Reihenfolge zu bringen.
    Das aktuelle Wort wird unten rechts angezeigt und die Buchstaben fallen von oben (Tetris-like) in zufälliger Reihenfolge herunter.
    Mit den Cursor-Tasten (links & rechts) kann man den Buchstaben um eine Spalte nach links oder rechts bewegen. Die "Pfeil nach unten"-Taste beschleunigt den "Sturz".
    Hat man die Buchstaben in der richtigen Reihenfolge zusammengesetzt, so erhält man so viele Punkte, wie das Wort Buchstaben hatte und der Zähler für die "richtigen Wörter" wird um eins erhöht.
    Bonuspunkte bekommt man, wenn man auf die "Pfeil nach unten"-Taste drückt. Je früher und umso öfter pro Wort, umso mehr Zusatzpunkte gibt es (Danke, BugFix!).
    Bei falscher Reihenfolge bekommt man keine Punkte und der Zähler für die "falschen Wörter" wird um eins erhöht.


    Wer möchte, kann die Wortliste noch erweitern. Die Datei "Wortliste.txt" enthält die Wörter.
    Der Aufbau der Datei ist relativ einfach:
    Für die Wortlängen (3, 4, 5, 6, 7, 8, 9 und 10 Buchstaben) gibt es jeweils eine Zeile und die Wörter sind innerhalb der Zeile mit Kommata (keine zusätzlichen Leerzeichen!) getrennt.


    Screenshots:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Programm, Script, Wörterliste, Sounds und Icons befinden sich im ZIP-Archiv (Anhang).

  • Balken während Kopieren

    • Oscar
    • 17. Juni 2009 um 15:10

    Doch! Hiermit: _MultiFileCopy

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™