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

Beiträge von bernd670

  • Farbe Speichern in Ini

    • bernd670
    • 24. Mai 2009 um 07:39

    Hallo,

    die Funktion Hex gibt immer nur den Wert ohne "0x" zurück!
    Du kannst aber einfach "0x" davor schreiben.

    Spoiler anzeigen
    [autoit]

    $farbe = 0x0055E6
    $wait = 100

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

    Opt('PixelCoordMode', 2)
    Opt('MouseCoordMode', 2)

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

    HotKeySet("{F5}", "Start")
    HotKeySet("{ESC}", "Ende")

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

    While 1
    Sleep(100)
    WEnd

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

    Func Ende()
    Exit
    EndFunc ;==>Ende

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

    Func Start()
    $zafa = IniRead(@ScriptDir & "\test.ini", "Saves", "Farbe", 0)

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

    If $zafa = 0 Then
    IniWrite(@ScriptDir & "\test.ini", "Saves", "Farbe", "0x" & Hex($farbe, 6))
    Sleep($wait)
    EndIf

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

    $zafa5 = IniRead(@ScriptDir & "\test.ini", "Saves", "Farbe", 0)
    $pix = PixelSearch(0, 0, 1000, 1000, $zafa5)
    EndFunc ;==>Start

    [/autoit]

    @srules, StringTrimLeft sollte man nicht unbedingt bei Farbwerten machen, da sonst immer der Rotwert gelöscht wird.

  • Ordner nach Anzahl löschen

    • bernd670
    • 23. Mai 2009 um 12:24

    Hallo,

    schau dir die Funktion mal in der Hilfe an - da wird deine Frage bestimmt beantwortet! ;)

  • Mehrere Timer

    • bernd670
    • 22. Mai 2009 um 16:48

    Hallo,

    schau dir mal die Funktion _Timer_SetTimer an.

  • Allgemeine anfrage BMC Remedy

    • bernd670
    • 19. Mai 2009 um 20:54

    Remedy

  • Allgemeine anfrage BMC Remedy

    • bernd670
    • 19. Mai 2009 um 20:49

    Hallo,

    was soll es für einen Sinn machen Massentickets zu erstellen?

  • Dateien und/oder Ordner rekursiv auflisten

    • bernd670
    • 19. Mai 2009 um 06:24

    Hallo,

    Oscar Fehler ist behoben und im Post 1 korrigiert.

    Greenhorn, wenn man eine Funktion nicht versteht sollte man fragen bevor man anfängt grundlegende Änderungen daran vorzunehmen!
    Ich habe sie jetzt FileListRecursiv genannt damit die Funktion etwas deutlicher wird.

  • schleife abbrechen (do...until)

    • bernd670
    • 18. Mai 2009 um 22:59

    Hallo,

    du must die Prüfung in der Loop-Funktion nur an der richtigen Stelle machen dann gehts auch direkt. Du prüfst ja nur alle 3 sek. ob der Stop-Button angeklickt wurde.


    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <Misc.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)

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

    $Form1 = GUICreate("Form1", 105, 78, 401, 258)
    $Start = GUICtrlCreateButton("start", 16, 8, 73, 25, 0)
    $Stop = GUICtrlCreateButton("stop", 16, 40, 73, 25, 0)
    GUICtrlSetOnEvent($Start, "loop")
    GUICtrlSetOnEvent($Stop, "stop")
    GUISetState()

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

    While 1
    Sleep(100)
    WEnd

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

    Func loop()
    $timer = TimerInit()
    $i = 0
    Do
    $st = GUIGetCursorInfo()
    if $st[4] = $Stop And $st[2] = "1" Then
    ExitLoop
    EndIf

    If TimerDiff($timer) > 3000 Then
    $timer = TimerInit()
    $i = $i + 1
    MsgBox(0, "counter", $i)
    EndIf
    Until $i = 3
    Sleep(100)
    EndFunc ;==>loop

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

    Func stop()
    Exit
    EndFunc ;==>stop

    [/autoit]
  • C++ bereich

    • bernd670
    • 17. Mai 2009 um 21:13

    Hallo,

    ich habe auch für Nein gestimmt.

    Ich finde c/c++ foren gibt es schon mehr als genug und ausserdem ist die Sprache zu umfangreich, um sie in einem Unterforum, mal eben so nebenbei abzuhandeln.

  • Buch

    • bernd670
    • 17. Mai 2009 um 19:27

    Hallo,

    ich habe mal die Kapitel 1 - 4 Quergelesen

    hier mein Ergebnis (auch wenn manches hier schon genannt wurde)

    Kapitel 1.1 Abs. 2 Zeile 1
    Beispielquelltext wird an geeigneten Stellen abgedruckt und erklärt.

    Kapitel 2.1 Abs. 2 Zeile 5-6
    Deshalb ist das Programm heute nur noch Freeware.

    Kapitel 3.2 Abs. 1 Zeile 1
    Das bedeutet, dass es ohne

    Kapitel 4.2 Abs. 2 Zeile 3 (Satzaufbau)
    Alternativ sind auch die Kurzformen #cs und #ce möglich

    Kapitel 4.4.2 Abs. 1 Zeile 1
    Werte weist man Variablen mit dem Operator = zu
    Zeile 2
    Der Ausdruck auf der rechten Seite wird dabei solange ausgewertet

    Kapitel 4.4.3 Abs. 3 Zeile 1
    Beim Auswerten eines Ausdruckes wird der Variablenname von links nach rechts durch dessen

    Kapitel 4.8.1 Listing 4.21
    Bei den Worten Ausdruck fehlt das u
    Abs. 3 Zeile 1
    Ein Ausdruck kann in AutoIt sehr vielfältig gestaltet sein
    Zeile 3
    so ist der Ausdruck wahr und
    Abs. 6 Zeile 1-2
    Damit kann man komplexe Ausdrucke darstellen
    Zeile 4
    sie fördern in jedem Fall die Übersicht

    Kapitel 4.8.2 Listing 4.26
    Bei den Worten Ausdruck fehlt das u
    Abs. 2 Zeile 1
    Ist der Ausdruck hinter dem ersten Case wahr
    Zeile 2-3 (Satzaufbau)
    Die anderen Cases werden nicht ausgeführt, auch wenn der Ausdruck dahinter wahr sein sollte
    Abs. 3 Zeile 1
    Ist der Ausdruck hinter dem ersten Case nicht wahr
    Zeile 3
    also vorher kein Ausdruck wahr
    Abs. 4 Zeile 1
    der Reaktion auf einen wahren Ausdruck die restlichen

    Kapitel 4.8.3 Listing 4.27
    Bei den Worten Ausdruck fehlt das u

    Kapitel 4.9.2 Abs. 4 Zeile 1
    nach ContinueLoop wird

    Kapitel 4.9.3 Abs.3 Zeile 2
    Nach ContinueLoop wird unabhängig

    edit: hier die restlichen Kapitel

    Kapitel 5.2 Abs. 3 Zeile 5
    Für einige Fälle kann so direkt mit ShellExecute gedruckt werden
    Abs. 4 Zeile 2
    dann bietet sich ShellExecuteWait an
    Abs. 5 Zeile 2-3
    steichen -> Opt("RunErrorsFatal", 0) gibt es nicht mehr

    Kapitel 5.3 Abs. 1 Zeile 2-3
    alle Aktionen, die per Hand mit der Maus oder der Tastatur

    Kapitel 5.4.1 Abs. 1 (Satzaufbau)
    Tabelle 5.6 (zu breit)
    Hinweise - Hinweis 4 - bei entspräche fehlt das t
    Gelbe Box unter Tabelle 5.10 - 4 Sondermodus - Ausdruckes

    Kapitel 5.6.1.2 Abs. 2 Zeile 1
    Auch wenn man den genauen Aufbau einer Ini-Datei nicht kennt oder nicht vorhersagen kann

    Kapitel 5.6.3.2 Abs. 1 Zeile 1
    Das Lesen aus einer Textdatei erfolgt vom

    Kapitel 5.7.1 Abs. 3 Zeile 4
    aber davon nicht abschrecken, die

    Kapitel 5.8.2 Abs. 1 Zeile 3
    und lassen sich auch für eigene Funktionen

    Kapitel 5.8.3 Abs. 2 Zeile 2
    wird die Funktion beendet und der angegebene Ausdruck zurückgegeben

    Kapitel 5.14.2 Abs. 1 Zeile 3
    schwerer zu entdecken
    Zeile 4
    bestimmten Voraussetzungen

    Kapitel 5.14.3 Abs. 3 Zeile 2
    Array komplett durchlaufen

    Kapitel 10.10 Abs. 1
    Der von BASIC und AutoIt vor Version 3 bekannte Befehl goto, der innerhalb des Quelltextes
    an definierte Stellen springen konnte, ist in AutoIt 3 nicht mehr enthalten.

  • datein auflisten

    • bernd670
    • 16. Mai 2009 um 16:07

    Hallo,

    Auswahlmöglichkeit ist drin und unter Scirpte gepostet!

  • Dateien und/oder Ordner rekursiv auflisten

    • bernd670
    • 16. Mai 2009 um 16:05

    Auf besonderen Wunsch von Oscar poste ich hier mal meine Funktion zum rekursiven Suchen von Datein und/oder Odnern.

    Spoiler anzeigen
    [autoit]


    ;===============================================================================
    ; Name: FileListRecursive
    ; Description: Sucht rekursiv nach Dateien und Ordnern
    ; Parameter(s): $szStartPath = Path ab dem gesucht werden soll
    ; $szFileName = Datei nach der gesucht werden soll
    ; $iFlag (optional) = Gibt an was zurückgegeben werden soll
    ; 0 = Dateien und Ordner (default)
    ; 1 = nur Dateien
    ; 2 = nur Ordner (ignoriert $szFileName)
    ; $iRetFormat (optional) = Rückgabeformat
    ; 0 = als String (default)
    ; 1 = als Array
    ; $szDelim (optional) = Trennzeichen wenn $iRetFormat = 0 (@CRLF ist default)
    ; Requirement(s): keine
    ; Return Value(s): bei Erfolg: Ergebnis als String oder Array
    ; bei Fehler:
    ; Author(s): bernd670
    ;
    ;===============================================================================
    Func FileListRecursive($szStartPath, $szFileName, $iFlag = 0, $iRetFormat = 0, $szDelim = @CRLF)
    Local $hFF, $szFindName, $szRetValue = ""

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

    If $iFlag = Default Then $iFlag = 0
    If $iRetFormat = Default Then $iRetFormat = 0
    If $szDelim = Default Then $szDelim = @CRLF

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

    If StringRight($szStartPath, 1) <> "\" Then $szStartPath &= "\"

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

    If $iFlag < 2 Then
    $hFF = FileFindFirstFile($szStartPath & $szFileName)

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

    If $hFF <> -1 Then
    While True
    $szFindName = FileFindNextFile($hFF)
    If @error Then
    FileClose($hFF)
    ExitLoop
    EndIf
    If ($szRetValue <> "") And (StringRight($szRetValue, StringLen($szDelim)) <> $szDelim) Then $szRetValue &= $szDelim
    $szRetValue &= $szStartPath & $szFindName
    WEnd
    EndIf
    EndIf
    $hFF = FileFindFirstFile($szStartPath & "*.*")

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

    If $hFF = -1 Then Return $szRetValue

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

    While True
    $szFindName = FileFindNextFile($hFF)
    If @error Then
    FileClose($hFF)
    ExitLoop
    EndIf

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

    If StringInStr(FileGetAttrib($szStartPath & $szFindName), "d") Then
    If ($szRetValue <> "") And (StringRight($szRetValue, StringLen($szDelim)) <> $szDelim) Then $szRetValue &= $szDelim
    If ($iFlag = 0) Or ($iFlag = 2) Then $szRetValue &= $szStartPath & $szFindName & "\" & $szDelim
    $szRetValue &= FileListRecursive($szStartPath & $szFindName & "\", $szFileName, $iFlag, 0, $szDelim)
    EndIf
    WEnd

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

    If StringRight($szRetValue, StringLen($szDelim)) = $szDelim Then $szRetValue = StringTrimRight($szRetValue, StringLen($szDelim))
    If $iRetFormat = 0 Then
    Return $szRetValue
    Else
    Return StringSplit($szRetValue, $szDelim, 1)
    EndIf
    EndFunc ;==>FileListRecursive

    [/autoit]
  • Script, was ´sachen aufzeichnet?

    • bernd670
    • 16. Mai 2009 um 15:15

    Wurde wohl alles gesagt, Closed!

  • datein auflisten

    • bernd670
    • 16. Mai 2009 um 14:40

    Hallo,

    ich weiß nicht ob man sowas unbedingt per Objekt lösen soll, die Funktion mit Objekt braucht ca. 5 mal solange
    wie meine Funktion mit FileFindFirstFile und FileFindNextFile.

    Spoiler anzeigen
    [autoit]

    ;===============================================================================
    ; Name: FileFindRecursive
    ; Description: Sucht rekursiv nach Dateien
    ; Parameter(s): $szStartPath = Path ab dem gesucht werden soll
    ; $szFileName = Datei nach der gesucht werden soll
    ; $iRetFormat (optional) = Rückgabeformat
    ; 0 = als String (default)
    ; 1 = als Array
    ; $szDelim (optional) = Trennzeichen wenn $iRetFormat = 0 (@CRLF ist default)
    ; Requirement(s): keine
    ; Return Value(s): bei Erfolg: Ergebnis als String oder Array
    ; bei Fehler:
    ; Author(s): bernd670
    ;
    ;===============================================================================
    Func FileFindRecursive($szStartPath, $szFileName, $iRetFormat = 0, $szDelim = @CRLF)
    Local $hFF, $szFindName, $szRetValue = ""

    If $iRetFormat = Default Then $iRetFormat = 0
    If $szDelim = Default Then $szDelim = @CRLF

    $hFF = FileFindFirstFile($szStartPath & $szFileName)

    If $hFF <> -1 Then
    While True
    $szFindName = FileFindNextFile($hFF)
    If @error Then
    FileClose($hFF)
    ExitLoop
    EndIf
    If $szRetValue <> "" Then $szRetValue &= $szDelim
    $szRetValue &= $szStartPath & $szFindName
    WEnd
    EndIf

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

    $hFF = FileFindFirstFile($szStartPath & "*.*")

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

    If $hFF = -1 Then Return $szRetValue

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

    While True
    $szFindName = FileFindNextFile($hFF)
    If @error Then
    FileClose($hFF)
    ExitLoop
    EndIf

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

    If StringInStr(FileGetAttrib($szStartPath & $szFindName), "d") Then
    If ($szRetValue <> "") And (StringRight($szRetValue, StringLen($szDelim)) <> $szDelim) Then $szRetValue &= $szDelim
    $szRetValue &= FileFindRecursive($szStartPath & $szFindName & "\", $szFileName, 0, $szDelim)
    EndIf
    WEnd

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

    If $iRetFormat = 0 Then
    Return $szRetValue
    Else
    Return StringSplit($szRetValue, $szDelim, 1)
    EndIf
    EndFunc ;==>FileFindRecursive

    [/autoit]
  • Echtzeitschutz

    • bernd670
    • 16. Mai 2009 um 12:26

    Hallo,

    wäre es nicht sinnvoller, da es ja ein Echtzeitschutz werden soll, nur auf bestimmten Laufwerkstypen nach den Dateien zu suchen. Ich glaube es macht keinen Sinn jedesmal alle Netzlaufwerke nach einer autorun.inf zu durchsuchen, allein die Datenmenge die durchsucht werden muss verhindert das je ein Echtzeitschutz wird. Ich würde micht auf die Typen Removable, RamDisk (falls vorhanden) und evtl. CDROM (löschen kann man da sowieso nicht) beschränken.

    Es muss auch nicht ständig laufen, man kann ja mit WM_DEVICECHANGE überwachen ob ein neues Gerät angeschlossen bzw. ein Datenträger gewechselt wurde.

  • Screenshot eines Fensterinhalts

    • bernd670
    • 9. Mai 2009 um 20:10

    Hallo,

    einfach mit WinGetPos die koordinaten des Fensters auslesen und dann bei _ScreenCapture_Capture die Parameter $iLeft, $iTop, $iRight und $iBottom angeben oder schau dir mal die Funktion _ScreenCapture_CaptureWnd an.

  • sata oder sas im server?

    • bernd670
    • 19. April 2009 um 17:59

    Hallo,

    man muss aber davon ausgehen das auch Nicht-Admins diesen Beitrag lesen und für die sind solche Informationen evtl. wichtig.

  • sata oder sas im server?

    • bernd670
    • 18. April 2009 um 22:56

    Hallo,

    wichtig ist nur das es Platten sind die für den Server-Einsatz (Dauerbetrieb) geeingnet sind.

  • Bestimmen, wie lang das Script maximal brauchen darf, um einmal komplett durch zu sein

    • bernd670
    • 18. April 2009 um 22:33

    Hallo,

    So wird nach >60 Sekunden das Programm beendet.

    Spoiler anzeigen
    [autoit]

    ShellExecute("http://www.google.de")
    Sleep(3000)
    $tstart = TimerInit()
    While Not WinExists("Google - Mozilla Firefox")
    If TimerDiff($tstart) > 60000 Then Exit
    Send("{F5}")
    Sleep(3000)
    WEnd
    If Not WinActive("Google - Mozilla Firefox") Then WinActivate("Google - Mozilla Firefox")

    [/autoit]

    Sithlord95: Dieses If benötigt kein EndIf und die Reihenfolge ist auch ok.

  • Wie kann ich eine zufällige 4stellige Zahl erstellen?

    • bernd670
    • 18. April 2009 um 13:46

    Hallo,

    ich glaube ohne Array geht etwas schneller ;)

    Spoiler anzeigen
    [autoit]

    Global $sNumbers = FileRead(@ScriptDir & '\numbers.txt') ; vorhandenen Nummern lesen

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

    Do
    $sRandom = StringFormat('%04s', Random(0, 9999, 1)) ; 4stellige Zufallszahl erzeugen
    Until Not StringInStr($sNumbers, $sRandom) ; Funktion zum überprüfen aufrufen. Falls doppelt (True), Schleife wiederholen

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

    $hFile = FileOpen(@ScriptDir & '\numbers.txt', 1) ; Datei zum schreiben öffnen (Append-Mode)
    If $hFile <> -1 Then ; überprüfen, ob Datei erfolgreich geöffnet werden konnte
    FileWriteLine($hFile, $sRandom) ; Zufallszahl in neue Zeile schreiben
    FileClose($hFile) ; Datei schließen
    EndIf

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

    MsgBox(0, 'Zufallszahl', $sRandom) ; Zahl ausgeben

    [/autoit]
  • grundlegendes zu StringRegExp

    • bernd670
    • 16. April 2009 um 22:32

    Hallo,

    \w findet auch 0-9, da wurde wohl bei der Übersetzung was vergessen.

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™