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

Beiträge von Scritch

  • Barcodescanner-"Stream" abfangen

    • Scritch
    • 20. Juli 2018 um 09:00

    Hat keiner noch eine Idee wie ich das Vorhaben umsetzen kann?

  • Barcodescanner-"Stream" abfangen

    • Scritch
    • 12. Juli 2018 um 11:18

    Es handelt sich bei dem Programm um eine Terminalanwendung die in Putty läuft.

  • Barcodescanner-"Stream" abfangen

    • Scritch
    • 9. Juli 2018 um 08:49

    Hallo Leute. Mit Abfangen meine ich mitlesen. Es ist ein Fenster einer gewissen Anwendung aktiv wo mit dem Scanner gearbeitet wird. Im Hintergrund möchte ich dann aber den Scan mitlesen.

  • Barcodescanner-"Stream" abfangen

    • Scritch
    • 6. Juli 2018 um 15:38

    Hallo Leute. Wir setzen hier Barcodescanner für verschiedene Dinge ein. Ich möchte nun so einen Barcodescan gerne mit AutoIt abfangen und dann weiterverarbeiten. Wie stelle ich das am einfachsten an?

  • FileCopy kopiert Dateien aus Unterordnern mit

    • Scritch
    • 31. Mai 2018 um 16:42

    Hallo zusammen.Ich habe ein Skript geschrieben, das vereinfacht gesagt Dateien aus C:\ in ein Verzeichnis auf F:\ kopieren soll. Soweit, so einfach. Neben den Dateien im Quellpfad sind auch noch Unterordner vorhanden, in denen sich auch Dateien befinden, die aber nicht mit kopiert werden sollen. Das Skript kopiert aber auch alle Dateien aus den Unterverzeichnissen mit. Ich kann das per setzen von Parametern ja nichtmal unterbinden!

    Kann ich das irgendwie unterbinden?

    C
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <GuiStatusBar.au3>
    #include <GUIConstantsEx.au3>
    #include <ScreenCapture.au3>
    #include <File.au3>
    #include <GUIListView.au3>
    #include <FileConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <WinAPIFiles.au3>
    
    
    
    Global $datei_pfad = "C:\Users\Public\Documents\SSEC\Data"
    Global $adatei_eingelesen
    Global $aalle_dateien_in_pfad
    Dim $arechenearray[1][2]
    Global $rechenvariable
    Global $qoutientenzaehler
    Global $durchschnittswert
    Global $minimalwert = 999 ;dummywert für die Vergleichsroutine. Ansonsten würde beim Vergleich nichts in die Variable geschrieben werden können
    Global $maximalwert = 0 ; hier dasselbe wie bei $minimalwert
    Global $datei_minimalwert
    Global $datei_maximalwert
    Global $pfad_imc_wti = "E:\IMC_WTI_40_nm"
    Global $pfad_htu21 = "E:\HTU21"
    Global $pfad_fir = "E:\FIR"
    Global $pfad_wti_cu = "E:\WTi_Cu_WTi_stack"
    Global $wert_produkt
    Global $wert_los_id
    Global $aalle_dateien_in_quellpfad
    
    
    #Region ### START Koda GUI section ### Form=C:\Users\ihangebr\Desktop\AutoIt\Durchschnittswerte\durchschnittswerte.kxf
    $form_aetzzeitberechnung = GUICreate("Ätzzeitberechnung", 601, 361, 776, 357)
    $statusbar_unten = _GUICtrlStatusBar_Create($form_aetzzeitberechnung)
    ;~ $btn_pfad_waehlen = GUICtrlCreateButton("Pfad wählen", 296, 376, 155, 33)
    GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
    $label_durchschn_aetzzeit = GUICtrlCreateLabel("Avrg. Ätzzeit:", 16, 168, 80, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $label_min_aetzzeit = GUICtrlCreateLabel("Minimale Ätzzeit:", 16, 192, 99, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $label_max_aetzzeit = GUICtrlCreateLabel("Maximale Ätzzeit:", 16, 240, 102, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $btn_werte_berechnen = GUICtrlCreateButton("Kopieren und berechnen", 8, 120, 219, 33)
    GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
    $label_wert_durchschn_aetzzeit = GUICtrlCreateLabel("keine Daten", 120, 168, 62, 17)
    $label_wert_min_aetzzeit = GUICtrlCreateLabel("keine Daten", 120, 192, 62, 17)
    $label_wert_max_aetzzeit = GUICtrlCreateLabel("keine Daten", 120, 240, 62, 17)
    $label_eingelesener_pfad = GUICtrlCreateLabel("Eingelesener Pfad:", 16, 296, 111, 17)
    GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
    $label_wert_eingelesener_pfad = GUICtrlCreateLabel("keine Daten", 152, 296, 430, 17)
    $list_verarbeitete_dateien = GUICtrlCreateListView("Dateiname                                    |Ätzzeit in Sek.", 272, 27, 313, 253)
    $label_verarbeitete_dateien = GUICtrlCreateLabel("Verarbeitete Dateien", 272, 8, 101, 17)
    $label_angemeldeter_benutzer = GUICtrlCreateLabel("Angemeldeter Benutzer:", 16, 320, 139, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $label_wert_angemeldeter_benutzer = GUICtrlCreateLabel("-/-", 152, 320, 50, 17)
    $label_min_gefunden = GUICtrlCreateLabel("Min. gefunden in:", 16, 208, 86, 17)
    $label_max_gefunden = GUICtrlCreateLabel("Max. gefunden in:", 16, 256, 89, 17)
    $label_datei_max_aetzwert = GUICtrlCreateLabel("keine Daten", 120, 256, 150, 17)
    $label_datei_min_aetzwert = GUICtrlCreateLabel("keine Daten", 120, 208, 150, 17)
    $edit_losnummer = GUICtrlCreateInput("Losnummer eingeben", 8, 27, 121, 21)
    $label_losnummer = GUICtrlCreateLabel("Losnummer", 8, 8, 58, 17)
    $combo_produkt = GUICtrlCreateCombo("Produkt wählen", 8, 84, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "IMC_WTI_40_nm|HTU21|FIR|WTi_Cu_WTi_stack")
    $label_produkt = GUICtrlCreateLabel("Produkt wählen", 8, 64, 78, 17)
    GUISetState(@SW_SHOW)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    
    GUICtrlSetData($label_wert_angemeldeter_benutzer, @UserName)
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $btn_werte_berechnen
                _kopieren()
        EndSwitch
    WEnd
    
    Func _kopieren() ;kopiert Daten und erstellt dabei, falls notwendig, neue Verzeichnisse
        _werte_abfragen()
        $aalle_dateien_in_quellpfad = _FileListToArray($datei_pfad)
    
        If $wert_los_id = "Losnummer eingeben" Then ;überprüft ob eine Los-ID angegeben wurde. Falls nicht, wird eine Meldung ausgegeben
            MsgBox(1, "Keine Los-ID angegeben", "Es wurde keine Los-ID angegeben. Kopiervorgang nicht beendet. Bitte Los-ID angeben!")
        ElseIf $wert_produkt = "Produkt wählen" Then ;überprüft ob ein Produkt gewählt wurde. Falls nicht, wird eine Meldung ausgegeben. Falls ID und Produkt gewählt wurden, wird der Kopiervorgang gestartet
            MsgBox(1, "Kein Produkt gewählt", "Es wurde kein Produkt gewählt. Kopiervorgang nicht beendet. Bitte Produkt wählen!")
        Else
            For $i = 0 To UBound($aalle_dateien_in_quellpfad) - 1
                FileCopy($datei_pfad & "\" & $aalle_dateien_in_quellpfad[$i], "E:\" & $wert_produkt & "\" & @MON & "." & @YEAR & "\" & $wert_los_id & "\", 8) ;kopiert alle Daten aus dem Quellverzeichnis in das Zielverzeichnis
            Next
            _werte_berechnen()
        EndIf
    
    EndFunc   ;==>_kopieren
    
    Func _werte_berechnen()
        $aalle_dateien_in_pfad = _FileListToArray($datei_pfad, "*", 1) ;liest alle Dateien aus dem Pfad in ein Array ein
    
        For $i = 1 To UBound($aalle_dateien_in_pfad) - 1 ; sofern bei 0 angefangen wird zu zählen, kommt es zu einem Fehler!!!
    
            Local $filter_avi = StringInStr($aalle_dateien_in_pfad[$i], "avi", 0, 1, StringLen($aalle_dateien_in_pfad[$i]) - 3) ;sucht in dem aktuellen String nach "avi" und . avi-Dateien sollen nicht verarbeitet werden, daher ist diese Info wichtig
            Local $filter_db = StringInStr($aalle_dateien_in_pfad[$i], "db", 0, 1, StringLen($aalle_dateien_in_pfad[$i]) - 2) ;für thumb.db
    
            If $filter_avi < 1 And $filter_db < 1 Then ; wird nur ausgeführt, sofern diese Datei keine .avi und keine .db ist
                $adatei_eingelesen = FileReadToArray($datei_pfad & "\" & $aalle_dateien_in_pfad[$i]) ;liest die Textdatei in das Array
    
                Local $aetzwert = StringLeft($adatei_eingelesen[UBound($adatei_eingelesen) - 1], 3) ;extrahiert den Ätzwert aus der letzten Zeile der eingelesenen Datei
                $rechenvariable = $rechenvariable + $aetzwert
                $qoutientenzaehler = $qoutientenzaehler + 1
                $arechenearray[UBound($arechenearray) - 1][0] = $aalle_dateien_in_pfad[$i]
                $arechenearray[UBound($arechenearray) - 1][1] = $aetzwert ;schreit die Ätzwerte in das Rechenarray
    
                ReDim $arechenearray[UBound($arechenearray) + 1][2]
    
            EndIf
        Next
    
        _ArrayDelete($arechenearray, UBound($arechenearray) - 1) ; löscht den letzten Arrayeintrag (der = 0 ist) damit die Minimalwertberechnung vernünftig abgearbeitet werden kann
    
    
        For $i = 0 To UBound($arechenearray) - 1
            ;Minimalwert
            If $arechenearray[$i][1] < $minimalwert Then
                $minimalwert = $arechenearray[$i][1] ;schreibt den Minimalwert aus dem Array in die Variable
                $datei_minimalwert = $arechenearray[$i][0] ;schreibt den Dateinamen mit dem Minimalwert aus dem Array in die Variable
            EndIf
    
            ;Maximalwert
            If $arechenearray[$i][1] > $maximalwert Then
                $maximalwert = $arechenearray[$i][1] ; wie oben, nur mit dem Maximalwert
                $datei_maximalwert = $arechenearray[$i][0] ;wie oben, nur mit Datei mit Maximalwert
            EndIf
        Next
    
        ; Durchschnittswert
        $durchschnittswert = Round($rechenvariable / $qoutientenzaehler, 2)
    
        _label_aktualisieren()
        _listview_update() ; löscht den vorherigen inhalt aus dem listview
    
        ; Setzt alle Rechenvariablen wieder zurück
        $datei_minimalwert = ""
        $datei_maximalwert = ""
        $durchschnittswert = 0
        $minimalwert = 999 ;standarddummywerte
        $maximalwert = 0
        $qoutientenzaehler = 0 ;Setzt den Qoutientenzähle auf 0 zurück
        $rechenvariable = 0 ;setzt die Rechenvariable nach jedem Rechenvorgang wieder auf 0 zurück
        ReDim $arechenearray[1][2] ; setzt das rechenarray nach jeder Berechnung wieder zurück
    
    
    EndFunc   ;==>_werte_berechnen
    
    Func _pfad_waehlen() ; Mit dieser Funktion, wird der Ordner manuell geladen, der gelesen werden soll und wo die Durchschnittswerte der Ätzzeiten in den Dateien berechnet werden sollen
    
        Local Const $sMessage = "Ordner zum Einlesen wählen"
        Local $gewaehlter_ordner = FileSelectFolder($sMessage, "")
    
        If @error Then
            MsgBox(1, "Kein Ordner ausgewählt", "Kein Ordner gewählt, Durchschnittswerte werden nicht berechnet!")
        Else
            $datei_pfad = $gewaehlter_ordner
    ;~         MsgBox(1,1, $datei_pfad)
        EndIf
    
        GUICtrlSetData($label_wert_eingelesener_pfad, $datei_pfad)
    EndFunc   ;==>_pfad_waehlen
    
    Func _label_aktualisieren()
        GUICtrlSetData($label_wert_durchschn_aetzzeit, $durchschnittswert & " Sek.")
        GUICtrlSetData($label_wert_min_aetzzeit, $minimalwert & " Sek.")
        GUICtrlSetData($label_wert_max_aetzzeit, $maximalwert & " Sek.")
        GUICtrlSetData($label_datei_min_aetzwert, $datei_minimalwert)
        GUICtrlSetData($label_datei_max_aetzwert, $datei_maximalwert)
        GUICtrlSetData($label_wert_eingelesener_pfad, $datei_pfad)
    EndFunc   ;==>_label_aktualisieren
    
    Func _listview_update() ; updated das LisView wenn Änderungen am Array und damit dem ListView vorgenommen wurden
    
        _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($list_verarbeitete_dateien))
        _GUICtrlListView_AddArray($list_verarbeitete_dateien, $arechenearray)
    ;~     _ArrayDisplay($arechenearray)
    EndFunc   ;==>_listview_update
    
    Func _werte_abfragen()
    
        $wert_los_id = GUICtrlRead($edit_losnummer);Holt die Daten aus dem Controls ab
        $wert_produkt = GUICtrlRead($combo_produkt)
    
    EndFunc   ;==>_werte_abfragen
    Alles anzeigen
  • Incorrect Number of subscripts bei _GUICtrlListView_AddArray

    • Scritch
    • 17. April 2018 um 07:21

    Das hat das Problem gelöst, danke!

  • Incorrect Number of subscripts bei _GUICtrlListView_AddArray

    • Scritch
    • 16. April 2018 um 17:25

    Hier ist die aktuelle Version des Skriptes:

    C
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <GuiStatusBar.au3>
    #include <GUIConstantsEx.au3>
    #include <ScreenCapture.au3>
    #include <File.au3>
    #include <GUIListView.au3>
    
    
    
    Global $datei_pfad
    Global $adatei_eingelesen
    Global $aalle_dateien_in_pfad
    dim $arechenearray[1][2]
    Global $rechenvariable
    Global $qoutientenzaehler
    Global $durchschnittswert
    Global $minimalwert = 999 ;dummywert für die Vergleichsroutine. Ansonsten würde beim Vergleich nichts in die Variable geschrieben werden können
    Global $maximalwert = 0 ; hier dasselbe wie bei $minimalwert
    
    
    #Region ### START Koda GUI section ### Form=C:\Users\ihangebr\Desktop\AutoIt\Durchschnittswerte\durchschnittswerte.kxf
    $Form1 = GUICreate("Form1", 601, 367, 434, 232)
    $statusbar_unten = _GUICtrlStatusBar_Create($Form1)
    $btn_pfad_waehlen = GUICtrlCreateButton("Pfad wählen", 8, 8, 155, 33)
    GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
    $label_durchschn_aetzzeit = GUICtrlCreateLabel("Durchschnittliche Ätzzeit:", 8, 96, 149, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $label_min_aetzzeit = GUICtrlCreateLabel("Minimale Ätzzeit:", 8, 120, 99, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $label_max_aetzzeit = GUICtrlCreateLabel("Maximale Ätzzeit:", 8, 144, 102, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $btn_werte_berechnen = GUICtrlCreateButton("Werte berechnen", 8, 48, 155, 33)
    GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
    $label_wert_durchschn_aetzzeit = GUICtrlCreateLabel("keine Daten", 168, 96, 62, 17)
    $label_wert_min_aetzzeit = GUICtrlCreateLabel("keine Daten", 168, 120, 62, 17)
    $label_wert_max_aetzzeit = GUICtrlCreateLabel("keine Daten", 168, 144, 62, 17)
    $label_eingelesener_pfad = GUICtrlCreateLabel("Eingelesener Pfad:", 8, 296, 111, 17)
    GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
    $label_wert_eingelesener_pfad =  GUICtrlCreateLabel("Kein Pfad gewählt", 120, 296, 469, 17)
    $list_verarbeitete_dateien = GUICtrlCreateListView("", 272, 32, 313, 253)
    $label_verarbeitete_dateien = GUICtrlCreateLabel("Verarbeitete Dateien", 272, 8, 101, 17)
    $label_angemeldeter_benutzer = GUICtrlCreateLabel("Angemeldeter Benutzer:", 8, 320, 139, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $label_wert_angemeldeter_benutzer = GUICtrlCreateLabel("-/-", 160, 320, 150, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    
    GUICtrlSetData($label_wert_angemeldeter_benutzer, @UserName)
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $btn_werte_berechnen
                _werte_berechnen()
            Case $btn_pfad_waehlen
                _pfad_waehlen()
        EndSwitch
    WEnd
    
    Func _werte_berechnen()
    
    
    
        $aalle_dateien_in_pfad = _FileListToArray($datei_pfad) ;liest alle Dateien aus dem Pfad in ein Array ein
    
    
        for $i = 1 to UBound($aalle_dateien_in_pfad) - 1 ; sofern bei 0 angefangen wird zu zählen, kommt es zu einem Fehler!!!
    
            Local $filter_avi = StringInStr($aalle_dateien_in_pfad[$i], "avi", 0, 1, StringLen($aalle_dateien_in_pfad[$i]) - 3) ;sucht in dem aktuellen String nach "avi" und . avi-Dateien sollen nicht verarbeitet werden, daher ist diese Info wichtig
            Local $filter_db = StringInStr($aalle_dateien_in_pfad[$i], "db", 0, 1, StringLen($aalle_dateien_in_pfad[$i]) - 2) ;für thumb.db
    
            If $filter_avi < 1 and $filter_db < 1 Then ; wird nur ausgeführt, sofern diese Datei keine .avi und keine .db ist
                $adatei_eingelesen = FileReadToArray($datei_pfad & "\" & $aalle_dateien_in_pfad[$i]) ;liest die Textdatei in das Array
    
                Local $aetzwert = StringLeft($adatei_eingelesen[UBound($adatei_eingelesen) - 1], 3) ;extrahiert den Ätzwert aus der letzten Zeile der eingelesenen Datei
                $rechenvariable = $rechenvariable + $aetzwert
                $qoutientenzaehler = $qoutientenzaehler + 1
                $arechenearray[UBound($arechenearray) - 1][0] = $aalle_dateien_in_pfad[$i]
                $arechenearray[UBound($arechenearray) - 1][1] = $aetzwert ;schreit die Ätzwerte in das Rechenarray
    
                ReDim $arechenearray[UBound($arechenearray) + 1][2]
    
            EndIf
        Next
    
        _ArrayDelete($arechenearray, UBound($arechenearray) - 1) ; löscht den letzten Arrayeintrag (der = 0 ist) damit die Minimalwertberechnung vernünftig abgearbeitet werden kann
    
    
        For $i = 0 to UBound($arechenearray) - 1
            ;Minimalwert
            if $arechenearray[$i][1] < $minimalwert Then
                $minimalwert = $arechenearray[$i][1]
            EndIf
    
            ;Maximalwert
            If $arechenearray[$i][1] > $maximalwert Then
                $maximalwert = $arechenearray[$i][1]
            EndIf
        Next
    
        ; Durchschnittswert
        $durchschnittswert = Round($rechenvariable / $qoutientenzaehler, 2)
    
        _label_aktualisieren()
        _listview_update() ; löscht den vorherigen inhalt aus dem listview
    
        $durchschnittswert = 0
        $minimalwert = 999 ;standarddummywerte
        $maximalwert = 0
        $qoutientenzaehler = 0 ;Setzt den Qoutientenzähle auf 0 zurück
        $rechenvariable = 0 ;setzt die Rechenvariable nach jedem Rechenvorgang wieder auf 0 zurück
        ReDim $arechenearray[1][2] ; setzt das rechenarray nach jeder Berechnung wieder zurück
    EndFunc
    
    Func _pfad_waehlen() ; Mit dieser Funktion, wird der Ordner manuell geladen, der gelesen werden soll und wo die Durchschnittswerte der Ätzzeiten in den Dateien berechnet werden sollen
    
        Local Const $sMessage = "Ordner zum Einlesen wählen"
        Local $gewaehlter_ordner = FileSelectFolder($sMessage, "")
    
        If @error Then
            MsgBox(1, "Kein Ordner ausgewählt", "Kein Ordner gewählt, Durchschnittswerte werden nicht berechnet!")
        Else
            $datei_pfad = $gewaehlter_ordner
    ;~         MsgBox(1,1, $datei_pfad)
        EndIf
    
        GUICtrlSetData($label_wert_eingelesener_pfad, $datei_pfad)
    EndFunc   ;==>Example
    
    Func _label_aktualisieren()
        GUICtrlSetData($label_wert_durchschn_aetzzeit, $durchschnittswert & " Sek.")
        GUICtrlSetData($label_wert_min_aetzzeit, $minimalwert & " Sek.")
        GUICtrlSetData($label_wert_max_aetzzeit, $maximalwert & " Sek.")
    EndFunc
    
    Func _listview_update() ; updated das LisView wenn Änderungen am Array und damit dem ListView vorgenommen wurden
    
    ;~     _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($list_verarbeitete_dateien))
        _GUICtrlListView_AddArray($list_verarbeitete_dateien, $arechenearray)
        _ArrayDisplay($arechenearray)
    EndFunc
    Alles anzeigen
  • Incorrect Number of subscripts bei _GUICtrlListView_AddArray

    • Scritch
    • 16. April 2018 um 15:46

    Okay, ein weiteres Problem habe ich nun immernoch: Zwar füllt er das Listvie offenbar mit Daten, ich sehe ich Daten aber nicht, obwohl ich im ListView scrollen kann.

  • Incorrect Number of subscripts bei _GUICtrlListView_AddArray

    • Scritch
    • 16. April 2018 um 15:32

    Alles klar, vielen Dank!

  • Incorrect Number of subscripts bei _GUICtrlListView_AddArray

    • Scritch
    • 16. April 2018 um 12:18

    Hallo Leute. Ich wollte die Funktion _GUICtrlListView_AddArray() verwenden, wie ich es schon häufiger getan habe. In meinem jetztigen Script meckert aber AutoIt, dass in Line 476 ein Fehler gefunden wurde. "Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.". Das sagt er für das Skript "GUIListView.au3". Das Array um das es geht, hat weniger als 30 Einträge. Was kann das sein? Hier mein Script:

    C
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <GuiStatusBar.au3>
    #include <GUIConstantsEx.au3>
    #include <ScreenCapture.au3>
    #include <File.au3>
    #include <GUIListView.au3>
    
    
    
    Global $datei_pfad
    Global $adatei_eingelesen
    Global $aalle_dateien_in_pfad
    dim $arechenearray[1]
    Global $rechenvariable
    Global $qoutientenzaehler
    Global $durchschnittswert
    Global $minimalwert = 999 ;dummywert für die Vergleichsroutine. Ansonsten würde beim Vergleich nichts in die Variable geschrieben werden können
    Global $maximalwert = 0 ; hier dasselbe wie bei $minimalwert
    
    
    #Region ### START Koda GUI section ### Form=C:\Users\ihangebr\Desktop\AutoIt\Durchschnittswerte\durchschnittswerte.kxf
    $Form1 = GUICreate("Form1", 601, 367, 434, 232)
    $statusbar_unten = _GUICtrlStatusBar_Create($Form1)
    $btn_pfad_waehlen = GUICtrlCreateButton("Pfad wählen", 8, 8, 155, 33)
    GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
    $label_durchschn_aetzzeit = GUICtrlCreateLabel("Durchschnittliche Ätzzeit:", 8, 96, 149, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $label_min_aetzzeit = GUICtrlCreateLabel("Minimale Ätzzeit:", 8, 120, 99, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $label_max_aetzzeit = GUICtrlCreateLabel("Maximale Ätzzeit:", 8, 144, 102, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $btn_werte_berechnen = GUICtrlCreateButton("Werte berechnen", 8, 48, 155, 33)
    GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
    $label_wert_durchschn_aetzzeit = GUICtrlCreateLabel("keine Daten", 168, 96, 62, 17)
    $label_wert_min_aetzzeit = GUICtrlCreateLabel("keine Daten", 168, 120, 62, 17)
    $label_wert_max_aetzzeit = GUICtrlCreateLabel("keine Daten", 168, 144, 62, 17)
    $label_eingelesener_pfad = GUICtrlCreateLabel("Eingelesener Pfad:", 8, 296, 111, 17)
    GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
    $label_wert_eingelesener_pfad =  GUICtrlCreateLabel("Kein Pfad gewählt", 120, 296, 469, 17)
    $list_verarbeitete_dateien = GUICtrlCreateListView("", 272, 32, 313, 253)
    $label_verarbeitete_dateien = GUICtrlCreateLabel("Verarbeitete Dateien", 272, 8, 101, 17)
    $label_angemeldeter_benutzer = GUICtrlCreateLabel("Angemeldeter Benutzer:", 8, 320, 139, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $label_wert_angemeldeter_benutzer = GUICtrlCreateLabel("-/-", 160, 320, 150, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    
    GUICtrlSetData($label_wert_angemeldeter_benutzer, @UserName)
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
    
            Case $btn_werte_berechnen
                _werte_berechnen()
    
            Case $btn_pfad_waehlen
                _pfad_waehlen()
    
    
    
        EndSwitch
    WEnd
    
    Func _werte_berechnen()
    
        _listview_update() ; löscht den vorherigen inhalt aus dem listview
    
        $aalle_dateien_in_pfad = _FileListToArray($datei_pfad) ;liest alle Dateien aus dem Pfad in ein Array ein
    
    
        for $i = 1 to UBound($aalle_dateien_in_pfad) - 1 ; sofern bei 0 angefangen wird zu zählen, kommt es zu einem Fehler!!!
    
            Local $filter_avi = StringInStr($aalle_dateien_in_pfad[$i], "avi", 0, 1, StringLen($aalle_dateien_in_pfad[$i]) - 3) ;sucht in dem aktuellen String nach "avi" und . avi-Dateien sollen nicht verarbeitet werden, daher ist diese Info wichtig
            Local $filter_db = StringInStr($aalle_dateien_in_pfad[$i], "db", 0, 1, StringLen($aalle_dateien_in_pfad[$i]) - 2) ;für thumb.db
    
            If $filter_avi < 1 and $filter_db < 1 Then ; wird nur ausgeführt, sofern diese Datei keine .avi und keine .db ist
                $adatei_eingelesen = FileReadToArray($datei_pfad & "\" & $aalle_dateien_in_pfad[$i]) ;liest die Textdatei in das Array
    
                Local $aetzwert = StringLeft($adatei_eingelesen[UBound($adatei_eingelesen) - 1], 3) ;extrahiert den Ätzwert aus der letzten Zeile der eingelesenen Datei
                $rechenvariable = $rechenvariable + $aetzwert
                $qoutientenzaehler = $qoutientenzaehler + 1
    
                $arechenearray[UBound($arechenearray) - 1] = $aetzwert ;schreit die Ätzwerte in das Rechenarray
                ReDim $arechenearray[UBound($arechenearray) + 1]
    
    ;~             GUICtrlCreateListViewItem($aalle_dateien_in_pfad[$i], $list_verarbeitete_dateien)
            EndIf
        Next
    
        _ArrayDelete($arechenearray, UBound($arechenearray) - 1) ; löscht den letzten Arrayeintrag (der = 0 ist) damit die Minimalwertberechnung vernünftig abgearbeitet werden kann
    
    
        For $i = 0 to UBound($arechenearray) - 1
            ;Minimalwert
            if $arechenearray[$i] < $minimalwert Then
                $minimalwert = $arechenearray[$i]
            EndIf
    
            ;Maximalwert
            If $arechenearray[$i] > $maximalwert Then
                $maximalwert = $arechenearray[$i]
            EndIf
        Next
    
        ; Durchschnittswert
        $durchschnittswert = Round($rechenvariable / $qoutientenzaehler, 2)
    
        _label_aktualisieren()
    ;~     MsgBox(1,"durchschnittswert", $durchschnittswert)
    ;~     MsgBox(1,"minimalwert", $tmp_min_wert)
    ;~     MsgBox(1,"maximalwert", $tmp_max_wert)
    
    
        $durchschnittswert = 0
        $minimalwert = 999 ;standarddummywerte
        $maximalwert = 0
        $qoutientenzaehler = 0 ;Setzt den Qoutientenzähle auf 0 zurück
        $rechenvariable = 0 ;setzt die Rechenvariable nach jedem Rechenvorgang wieder auf 0 zurück
        ReDim $arechenearray[1] ; setzt das rechenarray nach jeder Berechnung wieder zurück
    
    
    
    EndFunc
    
    Func _pfad_waehlen() ; Mit dieser Funktion, wird der Ordner manuell geladen, der gelesen werden soll und wo die Durchschnittswerte der Ätzzeiten in den Dateien berechnet werden sollen
    
        Local Const $sMessage = "Ordner zum Einlesen wählen"
        Local $gewaehlter_ordner = FileSelectFolder($sMessage, "")
    
        If @error Then
            MsgBox(1, "Kein Ordner ausgewählt", "Kein Ordner gewählt, Durchschnittswerte werden nicht berechnet!")
        Else
            $datei_pfad = $gewaehlter_ordner
    ;~         MsgBox(1,1, $datei_pfad)
        EndIf
    
        GUICtrlSetData($label_wert_eingelesener_pfad, $datei_pfad)
    EndFunc   ;==>Example
    
    Func _label_aktualisieren()
        GUICtrlSetData($label_wert_durchschn_aetzzeit, $durchschnittswert & " Sek.")
        GUICtrlSetData($label_wert_min_aetzzeit, $minimalwert & " Sek.")
        GUICtrlSetData($label_wert_max_aetzzeit, $maximalwert & " Sek.")
    EndFunc
    
    Func _listview_update() ; updated das LisView wenn Änderungen am Array und damit dem ListView vorgenommen wurden
    ;~     _ArrayDisplay($aalle_dateien_in_pfad)
        _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($list_verarbeitete_dateien))
        _GUICtrlListView_AddArray($list_verarbeitete_dateien, $arechenearray)
    
    EndFunc
    Alles anzeigen
  • Automatische Mehrfachselektion im ListView

    • Scritch
    • 5. April 2018 um 15:00

    Klappt, perfekt, vielen Dank!

  • Automatische Mehrfachselektion im ListView

    • Scritch
    • 5. April 2018 um 13:48

    Mein Code wäre der folgende. Der Anhang ist eine txt-Datei, die musst du als zur .csv umbennen und im gleichen Verzeichnis haben wie das Script. Eigentlich genügt eine normale Auswahl. Farbige Markierungen wären nett, aber nicht erforderlich.

    C
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <createQRw.au3>
    #include <GUIConstantsEx.au3>
    #include <ScreenCapture.au3>
    #include <File.au3>
    #include <GUIListView.au3>
    
    
    
    Global $pfad_qr_biler = @ScriptDir & "\QR-Code Bilder\"
    Dim $aDB_inhalt[1][3]
    Global $wert_input_seriennummer
    Global $wert_combo_geraetetyp
    Global $wert_input_info
    Global $qr_bild
    Global $datum = @MDAY & "." & @MON & "." & @YEAR & " " & @HOUR & "." & @MIN & "." & @SEC
    Global $acsv_tmp ; ein Array, in dem die eingelesene CSV-Datei (noch unformatiert) zwischengespeichert wird
    Global $aauswahl_fuer_kontext ; in dieses Array werden inhalte geschrieben, wenn etwas aus dem Listview in den Kontext übernommen wird
    Global $atmp_array_kontext ; enthält ein array, welches die Position des markierten Eintrags inm Listview enthält
    Global $auswahl ; enthält den Arrayeintrag der Varibalen $atmp_array_kontext
    Dim $asuchergebnisse[1][2] ; wenn eine Suche gestartet wird, beinhaltet dieses Array die Indicies der Suchergebnisse
    Global $wert_input_suche ; Varbiable in der der Wert gespeichert wird, der in dem Suchfeld eingegeben wurde
    
    _FileReadToArray(@ScriptDir & "\test.csv", $acsv_tmp)
    
    #Region ### START Koda GUI section ### Form=c:\users\ihangebr\desktop\inventarisierung\inventarisierung.kxf
    $form_inventarisierung = GUICreate("Inventarisierung v1.0", 1090, 543, 387, 230)
    GUISetBkColor(0xB9D1EA)
    $input_suche = GUICtrlCreateInput("Suche", 8, 8, 257, 21)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $group_bearbeitung = GUICtrlCreateGroup("BEARBEITUNG", 368, 8, 225, 193)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x000000)
    $input_seriennummer = GUICtrlCreateInput("Seriennummer", 385, 28, 190, 21)
    $btn_neuer_posten = GUICtrlCreateButton("Neuen Posten anlegen", 383, 115, 190, 33)
    $input_info = GUICtrlCreateInput("Standort oder Mitarbeiter", 384, 83, 190, 21)
    $combo_geraetetyp = GUICtrlCreateCombo("Gerätekategorie", 384, 56, 190, 40, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "Desktop PC|Settop PC|Kleinstrechner|Notebook|Smartphone|Mobiles Telefon|Stationäres Telefon|TFT-Monitor 24" & Chr(34) & "|TFT-Monitor sonstige")
    $btn_aendern = GUICtrlCreateButton("Änderungen übernehmen", 383, 153, 190, 33)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $list_datenbankinhalt = GUICtrlCreateListView("", 8, 32, 353, 435)
    $Group3 = GUICtrlCreateGroup("LOG", 832, 8, 233, 201)
    GUICtrlSetFont(-1, 8, 800, 0, "Arial")
    $list_log = GUICtrlCreateListView("", 842, 27, 217, 174)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $btn_suchen = GUICtrlCreateButton("Suchen", 270, 6, 91, 25)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $btn_in_kontext = GUICtrlCreateButton("Auswahl in Kontext übernehmen", 8, 472, 195, 33)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $btn_loeschen = GUICtrlCreateButton("Auswahl löschen", 204, 472, 155, 33)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $group_qr_code = GUICtrlCreateGroup("QR-Code", 600, 8, 225, 329)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $pic_qr_code = GUICtrlCreatePic("C:\Users\ihangebr\Desktop\inventarisierung\beispielcode.JPG", 613, 104, 200, 200)
    $label_qr_inhalt = GUICtrlCreateLabel("Beispielcode", 610, 310, 206, 20, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $btn_speichere_qr = GUICtrlCreateButton("QR-Code speichern", 613, 64, 190, 33)
    $btn_generiere_qr = GUICtrlCreateButton("QR-Code generieren", 612, 28, 190, 33)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    
    #EndRegion ### END Koda GUI section ###
    
    _erstelle_spalten()
    _csv_2_array() ; muss nach dem erstellen aller GUI-Elemente ausgeführt werden, da es sonst Probleme mit dem ListView gibt!
    
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $btn_neuer_posten
                _neuer_posten()
            Case $btn_generiere_qr
                _qr_code_generieren()
            Case $btn_speichere_qr
                _qr_speichern()
            Case $btn_loeschen
                _eintrag_loeschen()
            Case $btn_aendern
                _eintrag_aendern()
            Case $btn_in_kontext
                _in_kontext_ubernehmen()
            Case $btn_suchen
                _suchen()
        EndSwitch
    WEnd
    
    Func _ausgewaehltes_item()
        $atmp_array_kontext = _GUICtrlListView_GetSelectedIndices($list_datenbankinhalt, True) ; Liest welcher Eintrag selektiert wurde und schreibt diesen in ein Array. In Zeile 1 steht die Nummer des selektierten Eintrags
        $auswahl = $atmp_array_kontext[1]
    
    EndFunc   ;==>_ausgewaehltes_item
    
    Func _in_kontext_ubernehmen()
        ; von dem markierten Objekt werden die Inhalte in die Inputfelder geschrieben
        _ausgewaehltes_item()
    
        $aauswahl_fuer_kontext = _GUICtrlListView_GetItemTextArray($list_datenbankinhalt, $auswahl) ; wenn der eintrag markiert wurde dann wird hiermit der Inhalt der markierten Zeile ausgelesen. Es wird ein Array ausgegeben dessen erste Zeile uninteressant ist, da dort geschrieben steht, wieviele Zeilen das Array lang ist.
    
        GUICtrlSetData($input_seriennummer, $aauswahl_fuer_kontext[1]) ; Fügt die Einträge des Arrays den Controls hinzu. Der Inhalt der Controls wird hierbei angepasst und verändert
        GUICtrlSetData($combo_geraetetyp, $aauswahl_fuer_kontext[2])
        GUICtrlSetData($input_info, $aauswahl_fuer_kontext[3])
    
        _qr_code_generieren()
    EndFunc   ;==>_in_kontext_ubernehmen
    
    
    Func _eintrag_aendern()
        _werte_abfragen()
        _ausgewaehltes_item()
    
        ; muss noch komplettiert werden
    
    
    EndFunc   ;==>_eintrag_aendern
    
    Func _suchen()
        _werte_abfragen()
    
        Dim $asucharray_tmp ;definiert ein lokales temporäres Sucharray. Ausdiesem Array werden später die Daten in das finale Array geschrieben
        For $i = 0 To 3 - 1
            $asucharray_tmp = _ArrayFindAll($aDB_inhalt, $wert_input_suche, 0, UBound($aDB_inhalt), 0, 1, $i, 0) ; findet alle Scuhergebnisse im Array und schreibt die Indicies, wo die Suchergebnisse gefunden wurden, in eine separates Array
            If @error Then
                ;Hier kann evt. ein Log-Eintrag erfolgen
    ;~             MsgBox(1, "Keine Suchergebnisse", "In Spalte " & $i & " ergab die Suche keine Treffer.")
            Else
                For $j = 0 To UBound($asucharray_tmp) - 1
                    $asuchergebnisse[UBound($asuchergebnisse) - 1][0] = $asucharray_tmp[$j] ; schreibt den Inhalt des temporären Sucharray für Spalte n in das finale Sucharray
                    $asuchergebnisse[UBound($asuchergebnisse) - 1][1] = $i ; schreibt den Inhalt des temporären Sucharray für Spalte n in das finale Sucharray
                    ReDim $asuchergebnisse[UBound($asuchergebnisse) + 1][2]
                Next
            EndIf
        Next
        _ArrayDisplay($asuchergebnisse)
    
        For $i = 0 To 40 - 1 ;suchergebnisse in liste markieren
            _GUICtrlListView_SetItemSelected($list_datenbankinhalt, $i)
            Sleep(800)
        Next
    
    ;~     ReDim $asucharray_tmp[1]
        ReDim $asuchergebnisse[1][2] ;arrays leeren
    
    EndFunc   ;==>_suchen
    
    
    Func _neuer_posten() ; fügt einen neuen posten in einer neuen zeile dem array hinzu
        _werte_abfragen()
        $aDB_inhalt[UBound($aDB_inhalt) - 1][0] = $wert_input_seriennummer
        $aDB_inhalt[UBound($aDB_inhalt) - 1][1] = $wert_combo_geraetetyp
        $aDB_inhalt[UBound($aDB_inhalt) - 1][2] = $wert_input_info
        ReDim $aDB_inhalt[UBound($aDB_inhalt) + 1][3]
        _listview_update()
    EndFunc   ;==>_neuer_posten
    
    Func _qr_code_generieren()
        _werte_abfragen()
        _createQRw_($wert_input_seriennummer, $pic_qr_code, @ScriptDir & '\~QR_mesale0077.bmp') ; generiert den QR-Code und zeigt ihn im Bereich des Bildes an
        GUICtrlSetData($label_qr_inhalt, $wert_input_seriennummer) ; Passt den Inhalt des Labels an
    EndFunc   ;==>_qr_code_generieren
    
    Func _qr_speichern()
        _werte_abfragen()
        $qr_bild = _ScreenCapture_Capture("", 295, 438, 492, 658) ; Definiert den Bereich, von dem ein Bild gemacht werden soll. Beschränkt wird sich hierbei auf den Bereich, wo der QR-Code ist und dessen beschreibung
        _ScreenCapture_SaveImage(@ScriptDir & "\QR-Code Bilder\" & $wert_combo_geraetetyp & "_" & $wert_input_seriennummer & "_" & $datum & ".jpg", $qr_bild) ;Speichert das Bild unter einem spezifischen namen ab
    EndFunc   ;==>_qr_speichern
    
    
    Func _werte_abfragen() ; in dieser Funktion werden alle Werte aller Controls abgefragt, wo Benutzereingaben getätigt werden können
        $wert_input_seriennummer = GUICtrlRead($input_seriennummer)
        $wert_combo_geraetetyp = GUICtrlRead($combo_geraetetyp)
        $wert_input_info = GUICtrlRead($input_info)
        $wert_input_suche = GUICtrlRead($input_suche)
    EndFunc   ;==>_werte_abfragen
    
    Func _listview_update() ; updated das LisView wenn Änderungen am Array und damit dem ListView vorgenommen wurden
        _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($list_datenbankinhalt))
        _GUICtrlListView_AddArray($list_datenbankinhalt, $aDB_inhalt)
    
    EndFunc   ;==>_listview_update
    
    Func _erstelle_spalten() ;erstellt die Spalten mit Größe und bezeichnung für die ListViews
        _GUICtrlListView_AddColumn($list_datenbankinhalt, "Seriennummer", 100)
        _GUICtrlListView_AddColumn($list_datenbankinhalt, "Typ", 100)
        _GUICtrlListView_AddColumn($list_datenbankinhalt, "Info", 56)
    
    EndFunc   ;==>_erstelle_spalten
    
    Func _eintrag_loeschen() ; löscht den markierten Eintrag aus dem Array
        _ausgewaehltes_item()
        _ArrayDelete($aDB_inhalt, $auswahl)
        _listview_update()
    EndFunc   ;==>_eintrag_loeschen
    
    
    Func _csv_2_array() ; Konvertiert eine eingelesene CSV-Datei in ein Array
        Local $atmp ; temporäres Array, in dem der Inhalt des gesplitteten Strings zwischengespeichert wird
        For $i = 0 To UBound($acsv_tmp) - 1 ;
            $atmp = StringSplit($acsv_tmp[$i], ";")
            For $j = 1 To UBound($atmp) - 1
                $aDB_inhalt[$i][$j - 1] = $atmp[$j] ; speichert jede zeile aus $atmp in jede spalte von $aDB_inhalt
            Next
            ReDim $aDB_inhalt[UBound($aDB_inhalt) + 1][3]
        Next
        _ArrayDelete($aDB_inhalt, 0) ;in der ersten Zeile des Arrays wird die Anzahl der Zeilen mit dargestellt. Dieser Ausdruck löscht diesen Eintrag
        _listview_update()
    EndFunc   ;==>_csv_2_array
    Alles anzeigen


    test.txt

  • Automatische Mehrfachselektion im ListView

    • Scritch
    • 5. April 2018 um 13:02

    Hallo Leute. Ich habe eine Liste, die ich mir in einem ListView in einer GUI anzeigen lasse. Ich habe mir nun einen kleinen Algorythmus gebaut, der eben diese Liste, bzw. das Array aus dem das ListView gespeist wird, durchsucht wird. Es kann durchaus vorkommen dass eine Suchanfrage mehrmals in der Liste gefunden wird. Die indicies der Suchergebnisse werden in einem weiteren Array gespeichert und ich möchte nun gerne alle Zeilen, in denen ein Suchergebnis gefunden wurde, markieren lassen. Wie kann ich das bewerkstelligen?

  • @comspec - Lesen des cmd-Ausgabe

    • Scritch
    • 22. Januar 2018 um 12:18

    Hallo Leute. Ich möchte einen Befehl mit @comspec absetze und gerne mit dem Ausgabewert in AutoIt weiterarbeiten. Wie stelle ich da an?

  • Citrix-Fenster verschieben mit WinMove() nicht möglich

    • Scritch
    • 27. Juli 2017 um 09:27

    Hallo. Ich möchte gerne ein Citrixfenster mit WinMove() verschieben, funktioniert aber nicht. Gibt es eine Möglichkeit wie man das hinbekommen kann?

  • Prozessliste mit Namen erstellen

    • Scritch
    • 27. Juli 2017 um 09:22

    Da habe ich ja was los getreten :D Der zweite Post hat mir schon geholfen, vielen Dank!

  • Prozessliste mit Namen erstellen

    • Scritch
    • 26. Juli 2017 um 13:24

    Hallo miteinander. Ich möchte mir gerne ein Array mit Prozessnamen erstellen lassen. Jetzt denkt ihr sicher "da ist ProcessList() das Richtige für dich!". Ist es aber leider nicht. Habe ich z. B. ein Editorfenster offen zeigt mir ProcessList() nur dass "notepad.exe" gestartet ist. Ich würde aber gerne den Namen des offenen Dokuments herausfinden, nämlich "Berechnung 1.txt" wie es auch in der Anwendungsübersicht im Taskmanager (Windows 7) angezeigt wird. Gibt es dafür eine Möglichkeit unter AutoIt?

  • Kann AutoIt auf Hardwarekomponenten wie Beschleunigungssensoren und Microfone im Laptop zugreifen?

    • Scritch
    • 23. Juni 2017 um 08:29

    Hallo. Mich würde interessieren, ob AutoIt auf Hardwarekomponenten wie Beschleunigungssensoren, Kompass etc. zugreifen kann, die in einem Laptop verbaut sind. Geht das?

  • Windows Kennwort per AutoIt ändern

    • Scritch
    • 18. Oktober 2016 um 13:05

    Hallo. Ich möchte gerne unter Windows 10 das Kennwort von einem User ändern. Geht das ohne stupides Maus-GUI-Geklicke?

  • UDPSend() - einige Fragen

    • Scritch
    • 28. Februar 2016 um 12:28

    Ich habe mir die Hilfe angesehen. Ich kann damit aber so nicht wirklich was anfangen, weshalb ich hier den Thread eröffnet habe. Ich möchte nicht zwischen zwei AutoIt-Skripten kommunizieren, sondern zuerst testweise zwischen einer Smartphone-App und dem AutoIt-Skript. Später dann wollte ich UDP-Daten von dem Skript an einen Arduino-Netzwerkadapter schicken. Aber wie gesagt ist das mit dem Smartphone der erste Schritt. Mit meinem Code funktioniert das allerdings noch nicht.

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™