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

Beiträge von BugFix

  • Zahlen aus der momentanigen Bildschirmanzeige lesen

    • BugFix
    • 2. Juni 2012 um 10:48
    Zitat von Spielie

    in der Schule arbeiten wir in Informatik derzeit mit AutoIt und wir sollen nun ein Programm schreiben, welches 4 Zahlen (größe usw. ist bekannt)


    Sorry, aber das halte ich für wenig wahrscheinlich. Ich vermute hier eine umschriebene Form um Hilfestellung beim Capture-Lesen zu erhalten. Denn solch eine Aufgabe von einem Informatiklehrer?? Auch dem wird die Problematik der Captures bekannt sein.

    Sollte ich mich irren.. OK.
    Irre ich mich? :whistling:

  • Listview Alternativen ??

    • BugFix
    • 1. Juni 2012 um 22:11

    Du wirst keine Lösung finden, in der das "ohne weiteres" machbar ist. Es lassen sich verschiedene Controls zu solch einem Gebilde verknüpfen, aber ein nicht unerheblicher Aufwand für die Koordination ist notwendig.

  • Vorgaben in Input-Felder mit Enter übernehmen

    • BugFix
    • 28. Mai 2012 um 20:16

    Schau mal in diesen Post: https://autoit.de/index.php?page…4347#post254347
    Analog kannst du vorgehen, ENTER ist in der WM_COMMAND-Funktion der $iCode = 0x0
    Bei der Abfrage von ENTER darfst du aber NICHT das Fensterhandle mit abfragen, denn dieses ist bei ENTER immer 0!

  • Überweisung nach China. Erfahrungen?

    • BugFix
    • 27. Mai 2012 um 10:08
    Zitat von peethebee

    Was zur Hölle kaufst du dir da zum Geburtstag?


    Na hoffentlich nicht den China-Tablet-Klon. :pinch:
    Habe das Teil schon live erlebt - den Touchpad-Effekt erreicht man da nur mit gezieltem Schlag eines Gummi-Hammers. :rofl:
    Und der Preis von 130 (?) Euro rechtfertigt auch keine Erwartungen an hochentwickelte Technik. :D

  • Send Firefox (Shortcut)

    • BugFix
    • 26. Mai 2012 um 13:33
    Zitat von Ilse

    Das V ist unterstrichen, aber Alt + V geht nicht.


    Wenn das Kontextmenü aktiviert wurde, brauchst du kein Alt, sondern nur den unterstrichenen Buchstaben um den Shortcut auszuführen. ;)

  • Pixel eines Icons einfärben

    • BugFix
    • 26. Mai 2012 um 08:17

    Nur mal im Bezug zur Aufwandsoptimierung betrachtet:
    Wäre es nicht wesentlich einfacher, wenn man die (begrenzte) Anzahl an Iconvarianten vorab erstellt und bei Bedarf wechselt?

  • Text Link funktioniert nicht richtig

    • BugFix
    • 26. Mai 2012 um 08:11

    Füge eine Fehlerabfrage in die Funktion _link ein:

    [autoit]

    $ret = GUIGetCursorInfo()
    If Not IsArray($ret) Then Return ; <== wenn CursorInfo fehlschlägt, wird die Funktion verlassen

    [/autoit]
  • Automatisierter und beinahe sicherer Zugang zum Internet-Banking

    • BugFix
    • 25. Mai 2012 um 21:04

    HalleMike
    Als erstes Herzlich Willkommen im Forum ( du bist übrigens ca. 80 km Luftlinie von mir entfernt ;) )
    Sei bitte nicht zu dünnhäutig. Niemand will dich hier von oben abbügeln oder Ähnliches. Wärs dir lieber, wenn man die vorhandenen Kritikpunkte ( die du ja einforderst ) in einem Zuckerteig einbackt, damit es süß zu verdauen ist. :whistling:
    Wir sind direkt, ehrlich und bis auf seltene Ausahmen korrekt im Ton. ( Wenn sich da jemand stark daneben benimmt, greifen wir auch ein )
    Wer hier postet, läßt i.A. etwas aus seinem Wissensstand und seinen Erfahrungen einfließen. Das macht die Arbeit eines Forums aus - es entsteht eine Art kollektives Wissen ( aber wir sind keine Borg :rofl: )
    Also greife Hinweise ruhig auf und versuche daraus für deine Projekte einen Gewinn zu erzielen.

    Viel Spaß noch bei uns im Forum.

  • Ordner in einer bestimmten Verzeichnisebenentiefe relativ zum Startordner ermitteln

    • BugFix
    • 24. Mai 2012 um 22:50

    Also mal etwas genauer erklärt:

    Du hast einen Startpfad und möchtest alle Ordner die 2 Ebenen unterhalb dieses Pfades liegen auslesen.
    z.B. folgende Struktur:

    Code
    STARTPFAD         EBENE_1         EBENE_2
    C:\Projekte\      Projekt1\       Source1
                                      Images1
    C:\Projekte\      Projekt2\       Source2
                                      Images2
    [autoit]

    $aFolder = _GetFolderInRelativeDepth("C:\Projekte", 2)
    ; Inhalt $aFolder:
    ; Source1, Images1, Source2, Images2

    [/autoit]

    Gewöhnlich legt man Dateien zu einem bestimmten Programm in Verzeichnisbäumen ab. Wenn du aber nach Dateien suchst, hangelst du dich immer durch einen gesamten Zweig, kehrst dann zurück zum Root und suchst im nächsten Zweig. Hiermit erhälst du sofort alle Ordner einer bestimmten Tiefe und kannst dann ganz gezielt dort suchen.
    Als andere Einsatzmöglichkeit wäre auch das Zusammenstellen von Ordnern/Dateien für Datensicherungen denkbar, da liegen die Userdaten oft auch unterhalb eines Root in bestimmter Tiefe.

  • _Multi_FileListToArray == _FileListToArray extended

    • BugFix
    • 23. Mai 2012 um 18:45

    Die Funktion _FileListToArray hat einige Nachteile:
    - bei gesetztem Dateifilter werden keine Ordner ausgegeben
    - es ist nur ein Dateifilter möglich
    - der Dateifilter arbeitet ungenau ("*.log" erkennt auch "*.log_1" etc.)

    Meine Funktion _Multi_FileListToArray ist von der Grundstruktur und den ersten Parametern, sowie den Fehlerausgaben der Funktion _FileListToArray angepasst.
    Die Unterschiede:
    - bei gesetztem Filter können wahlweise auch die Ordner mit ausgegeben werden
    - der Filter kann mit mehreren Suffixen bestückt werden (z.B. "jpg,jpeg,gif,png,bmp"), Syntax ohne "*."!
    - als Wildcard gilt "*"
    - die Dateiendung wird auf genaue Übereinstimmung geprüft (ausgenommen Groß- /Kleinschreibung)
    - wahlweise kann der gesamte Pfad zurückgegeben werden (nützlich, wenn man mit Dateioperationen weiterarbeiten möchte)
    - um bei gemeinsamer Ausgabe von Ordnern und Dateien diese deutlich unterscheiden zu können, kann wahlweise ein Präfix vor die Ausgabe der Ordner gesetzt werden (z.B. "[D] ")

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    $s = @ScriptDir
    $a = _Multi_FileListToArray($s, 'au3', 0, 0, '[D] ') ; == au3-Dateien und Ordner
    _ArrayDisplay($a, "au3-Dateien und Ordner")

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

    $a = _Multi_FileListToArray($s, 'au3', 1) ; == au3-Dateien ohne Ordner
    _ArrayDisplay($a, "au3-Dateien ohne Ordner")

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

    $a = _Multi_FileListToArray($s, 'au3', 0, 1, '[D] ') ; == au3-Dateien und Ordner, FullPath
    _ArrayDisplay($a, "au3-Dateien und Ordner, FullPath")

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

    $a = _Multi_FileListToArray($s, '*', 0, 0, '[D] ') ; == alle Dateien und Ordner
    _ArrayDisplay($a, "alle Dateien und Ordner")

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

    $a = _Multi_FileListToArray($s, 'jpg,jpeg,gif,png,bmp') ; == alle Bild-Dateien
    _ArrayDisplay($a, "alle Bild-Dateien ")

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

    ;===============================================================================
    ; Function Name....: _Multi_FileListToArray
    ; Description......: Dateien und/oder Ordner eines Pfades auflisten, mehrere Wildcards möglich
    ; Parameter(s).....: $_sPath Pfad für Auflistung
    ; .................: $_sFilter Filter für Dateityp(en), Wildcard ist "*" (Standard), mehrere Filter möglich, trennen mit "," z.B. "jpg,jpeg,gif,png,bmp"
    ; .................: $_iFlag 0 (Standard) = Dateien u. Ordner, 1 = nur Dateien, 2 = nur Ordner
    ; .................: $_fFullPath 0 (Standard) = nur Datei/Ordnername, 1 = kpl. Pfad
    ; .......optional..: $_sDirChar Standard "", Zeichen(folge), die einer Ordnerausgabe vorangestellt werden kann (z.B. "[D] ")
    ; Return Value(s)..: Erfolg Array mit den Dateien/Ordnern, Anzahl an $a[0]
    ; .................: Fehler 0 @error: 1-Pfad existiert nicht; 2-Filter fehlerhaft; 3-Flag fehlerhaft; 4-nichts gefunden
    ; Author(s)........: BugFix ( [email='bugfix@autoit.de'][/email] )
    ;===============================================================================
    Func _Multi_FileListToArray($_sPath, $_sFilter='*', $_iFlag=0, $_fFullPath=0, $_sDirChar='')
    If Not FileExists($_sPath) Then Return SetError(1,0,0)
    If StringRegExp($_sFilter, '[.;\s]') Then Return SetError(2,0,0)
    If $_iFlag < 0 Or $_iFlag > 2 Then Return SetError(3,0,0)
    If StringRight($_sPath, 1) <> '\' Then $_sPath &= '\'
    Local $fAll = False, $sFiles = '', $aFilter[2] = [1,'*'], $hSearch, $sFound, $aRet, $sSuffix, $sPath = ''
    If $_fFullPath Then $sPath = $_sPath
    If $_sFilter = '*' Then $fAll = True
    If Not $fAll Then $aFilter = StringSplit($_sFilter, ',')
    $hSearch = FileFindFirstFile($_sPath & '*.*')
    While True
    $sFound = FileFindNextFile($hSearch)
    If @error Then ExitLoop
    Switch $_iFlag
    Case 0
    If StringInStr(FileGetAttrib($_sPath & $sFound), 'D') Then ; == alle Ordner
    $sFiles &= $_sDirChar & $sPath & $sFound & Chr(0)
    Else ; == Dateien Filtern
    If $fAll Then
    $sFiles &= $sPath & $sFound & Chr(0) ; == alle Dateien
    Else
    For $i = 1 To $aFilter[0] ; == Dateien aus Filter
    $sSuffix = StringTrimLeft($sFound, StringInStr($sFound, '.', 1, -1))
    If $aFilter[$i] = $sSuffix Then
    $sFiles &= $sPath & $sFound & Chr(0)
    ExitLoop
    EndIf
    Next
    EndIf
    EndIf
    Case 1 ; == Dateien
    If StringInStr(FileGetAttrib($_sPath & $sFound), 'D') Then ContinueLoop
    If $fAll Then
    $sFiles &= $sPath & $sFound & Chr(0) ; == alle Dateien
    Else
    For $i = 1 To $aFilter[0] ; == Dateien aus Filter
    $sSuffix = StringTrimLeft($sFound, StringInStr($sFound, '.', 1, -1))
    If $aFilter[$i] = $sSuffix Then
    $sFiles &= $sPath & $sFound & Chr(0)
    ExitLoop
    EndIf
    Next
    EndIf
    Case 2 ; == Ordner
    If Not StringInStr(FileGetAttrib($_sPath & $sFound), 'D') Then ContinueLoop
    $sFiles &= $_sDirChar & $sPath & $sFound & Chr(0)
    EndSwitch
    WEnd
    $aRet = StringSplit(StringTrimRight($sFiles, 1), Chr(0))
    If @error Then Return SetError(4,0,0)
    Return $aRet
    EndFunc ;==> _Multi_FileListToArray

    [/autoit]
  • Zeilen im Script löschen

    • BugFix
    • 23. Mai 2012 um 18:32

    Wenn ich das richtig verstanden habe möchtest du Kommentarzeilen löschen?
    Dann schau mal hier: https://autoit.de/index.php?page…3195#post243195

  • Diskussion zu "TV - Stream aufnehmen und speichern"

    • BugFix
    • 23. Mai 2012 um 08:29
    Zitat von ProblemUser

    Dieser sagte, das das aufnehmen von TV-Sendungen, Radio Sendungen legal sind.


    Das ist auch korrekt. Jedoch ist diese Aufzeichnung schon passiert, wenn du den Stream siehst, die Daten werden ja gepuffert, bevor dein Player sie anzeigen kann (auch wenn du später keinen Zugriff mehr darauf hast). Schon allein deshalb ist jede weitere Form der Aufzeichnung weder authorisiert noch zulässig. Es sei denn, der Anbieter gestattet es ausdrücklich, dann werden gewöhnlich die Daten aber direkt zum Download angeboten (s. Mediathek).

  • Taschenrechner will nicht wirklich

    • BugFix
    • 22. Mai 2012 um 17:58
    [autoit]

    If BitAND(GUICtrlRead($radio1), $GUI_CHECKED) = $GUI_CHECKED Then

    [/autoit]

    Das ist unnötig, da BitAND, wenn es $GUI_CHECKED nicht im Status findet, "0" liefert. Somit reicht völlig:

    [autoit]

    If BitAND(GUICtrlRead($radio1), $GUI_CHECKED) Then

    [/autoit]

    ;)

  • Diskussion zu "TV - Stream aufnehmen und speichern"

    • BugFix
    • 22. Mai 2012 um 12:45

    Das, was du meinst was Recht ist, muss nicht zwangsläufig auch der geltenden Rechtssprechung genügen.
    Wir sind hier ein Forum und müssen versuchen "unantastbar" zu sein. D.h. alle potentiell illegalen Inhalte sollten tunlichst vermieden werden.
    Das Aufzeichnen von TV-Streams ist nach meiner Lesart der deutschen Gesetze ganz eindeutig illegal! Und somit werde ich auch ganz rigoros jeden Thread, der sich dieses Inhalts annimmt ins Nirvana befördern.
    Hier gilt nicht "Im Zweifel für den Angeklagten", sondern immer "Im Zweifel gegen den Angeklagten". Nur so können wir uns selbst schützen.

  • ISN AutoIt Studio

    • BugFix
    • 22. Mai 2012 um 09:13
    Zitat von DaX

    Vielleicht kann er ja, sobald eine Zeile abgeschlossen ist, den Syntax mit Au3Check.exe überprüfen.


    Eine OnTheFly-Syntaxüberprüfung halte ich für wenig sinnvoll. Wer jemals in VB / VBA gecodet hat kennt dieses rotzige Verhalten:
    Man schreibt einen Befehl, möchte schnell in einer anderen Zeile etwas abändern und prompt erhält man den Hinweis auf Syntaxfehler. Auch das einfache Unterbrechen des Schreibens um mal schnell einen Parameter nachzuschlagen oder eine Konstante zu suchen wird dabei nett mit rotgefärbten Meldungen begleitet. DAS macht definitiv keine Freude und ist u.A. ein Grund warum ich VB habe links liegen lassen.

  • Script funktioniert nicht, wenn noch eine IE-Instanz bereits läuft

    • BugFix
    • 21. Mai 2012 um 20:59

    Arbeite doch mit der IE.au3 (in der Hilfe: UDF - IE Management)
    Mit _IEAttach kannst du auf eine existierende Instance zugreifen.

  • Transparenz bei MouseOver switchen

    • BugFix
    • 21. Mai 2012 um 19:47

    Ersetze einfach in der Step-Berechnung Int mit Ceiling. Klappt auch. ;)

  • Script funktioniert nicht, wenn noch eine IE-Instanz bereits läuft

    • BugFix
    • 21. Mai 2012 um 19:20

    Frag doch einfach ab ob eine IE-Instanz offen ist und beende diese falls vorhanden.

  • Transparenz bei MouseOver switchen

    • BugFix
    • 21. Mai 2012 um 19:08
    Zitat von Tweaky

    Vielleicht könntest du noch einbauen, dass das Fenster sich langsam ändert :whistling:

    Dem Wunsch konnte Rechnung getragen werden. 8o

  • Input vergrößern

    • BugFix
    • 21. Mai 2012 um 14:47

    Ich hab dir mal eine Lösung gebastelt, positionieren und Größe kannst du ja noch anpassen.
    - Bei Schreibbeginn im Input öffnet sich das große Input
    - Bei ENTER wird das große Input geschlossen und der Inhalt in das kleine übernommen.

    Spoiler anzeigen
    [autoit]

    $hLargeInput = GUICreate('', @DesktopWidth-120, 20, -1, -1, BitOR($WS_POPUP,$WS_THICKFRAME))
    $inLarge = GUICtrlCreateInput("", -1, -1, @DesktopWidth-120, @DesktopHeight/2)
    $hLargeIn = GUICtrlGetHandle($inLarge)

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

    $hGUI = GUICreate('TEST')
    $input = GUICtrlCreateInput('', 40, 30, 60, 20)
    $hIn = GUICtrlGetHandle($input)
    GUISetState(@SW_SHOW, $hGUI)

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

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

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

    While True
    Switch GUIGetMsg()
    Case -3
    Exit
    EndSwitch
    WEnd

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg
    Local $hWndFrom, $iIDFrom, $iCode
    $hWndFrom = $ilParam
    $iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
    $iCode = BitShift($iwParam, 16) ; Hi Word
    Select
    Case $hWndFrom = $hIn And $iCode = $EN_CHANGE
    GUISetState(@SW_HIDE, $hGUI)
    GUISetState(@SW_SHOW, $hLargeInput)
    GUICtrlSetData($inLarge, GUICtrlRead($input))
    ControlFocus($hLargeInput, '', $inLarge)
    Case $iCode = 0x0
    If WinActive($hLargeInput) Then
    GUISetState(@SW_SHOW, $hGUI)
    GUISetState(@SW_HIDE, $hLargeInput)
    GUICtrlSetData($input, GUICtrlRead($inLarge))
    ControlFocus($hGUI, '', $input)
    EndIf
    EndSelect
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_COMMAND

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