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

Beiträge von Mikki

  • Inputbox, Inhalt wird nicht dargestellt

    • Mikki
    • 23. Januar 2018 um 08:52

    Guten Morgen,

    Oscar : ja Ich habe verstanden was du meinst. Ich habe tatsächlich Label über den Boxen. Ich habe zumindest bei den Inputboxen keine Höhe angegeben.

    Ich werde das heute Abend mal ausprobieren. Falls das auch nicht hilft, poste ich mal ein abgespecktes Script.

    Danke.

    LG Mikki

  • Inputbox, Inhalt wird nicht dargestellt

    • Mikki
    • 22. Januar 2018 um 21:38

    Guten Abend zusammen,

    wisst ihr woran es liegen kann, dass der Inhalt einer Inputbox nicht angezeigt wird? Also ich trage per copy&paste einen Pfad ein, und er wird nicht dargestellt. Markiere ich aber z.B. den Pfad in der Inputbox mit Strg+A dann wird er mir angezeigt.

    Ich habe die Inputboxen folgendermaßen erstellt:

    Deklariert:

    Global $aInputbox[25]

    Erstellt:

    $aInputbox[14] = GUICtrlCreateInput("", 610, 570, 570)

    Das Phänomen tritt aber auch nicht immer auf. Sondern nur dann, wenn ich vorher ein zweites Fenster in einem anderen Abschnitt öffne, dieses schließe, und dann wieder das "alte" Fenster öffne.

    Kann man da nicht in irgendeiner Art und Weise einen Reset schreiben, der bei jedem neuen erzeugen einer Inputbox den Status auf 0 setzt? Oder Standard? Oder Default? Oder oder?

    Oder kann man da schon vorbeugen? (Ein Trick damit so etwas nicht passiert?

    Ich würde jetzt nur ungern den kompletten Code hier posten.

    Danke im Vorraus.

  • Dateinamen vergleichen

    • Mikki
    • 5. Dezember 2017 um 16:39

    Hallo @Musashi

    danke für den Tipp. Das wusste ich nicht. Wie du schon geschrieben hast, bin ich auch davon ausgegangen, dass die Suche am Anfang beginnt.

    Charmant hin oder her. Wenn´s denn funktioniert ^^

    Danke dir.

    LG Mikki

  • Dateinamen vergleichen

    • Mikki
    • 4. Dezember 2017 um 16:34

    Hallo,

    erstmal vielen Dank für eure Mühen. Die Lösung von autoiter funktioniert genauso wie es sein soll.

    @Musashi : autoiter hat Recht. Hab´s gerade probiert. Wenn ich aus 2803-0 eine 2803-1 mache, zeigt er die trotzdem als Übereinstimmung an.

    Wenn ich aus StringLeft ein StringMid mache, funktioniert es. Da durchsucht er ja die ersten 6 Zeichen.

    Vielen lieben Dank euch zwei. So kann ich nun weiter machen.:)

    LG Mikki

  • Dateinamen vergleichen

    • Mikki
    • 4. Dezember 2017 um 15:23

    Hilft leider auch nicht. Noch eine Idee?

    Ein weiteres Problem: meine Dateien fangen beispielsweise mit 2800-0 im Dest Ordner an. Wenn ich im Source Ordner 2800-1 schreibe, findet er trotzdem eine Übereinstimmung un gibt weiterhin eine Fehlermeldung aus. Die Meldung in der Konsole besteht weiterhin.

  • Dateinamen vergleichen

    • Mikki
    • 4. Dezember 2017 um 14:53

    Hallo zusammen,

    danke für die Antwort autoiter. Ich habe das jetzt mal so übernommen:

    C
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <File.au3>
    
    
    Global $Window_Main
    Global $Button
    
    Global $aFileList_Source, $aFileList_Dest
    Global $Vergleich, $Suche
    Global $Source = "C:\Users\Mikki\Desktop\source", $Dest = "C:\Users\Mikki\Desktop\dest"
    Global $Plannummern_Source, $Plannummern_Dest
    
    ;~  Startfenster erzeugen
        Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
        $Window_Main = GUICreate("Standard", 200, 60)
        GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Main")
    
        $Button = GUICtrlCreateButton("Dateien wählen", 10, 10, 180, 40)
        GUICtrlSetOnEvent($Button, "Button_clicked")
    
        GUISetState(@SW_SHOW)
    
    
        While 1
        Wend
    
        Func Button_clicked()
    
        $aFileList_Source = _FileListToArray($Source, "*.*", $FLTA_FILES)
        $aFileList_Dest = _FileListToArray($Dest, "*.*", $FLTA_FILES)
    
        For $i = 0 To UBound($aFileList_Source)
    
        $Plannummern_Source = StringLeft($aFileList_Source[$i], 6)
        $Plannummern_Dest = StringLeft($aFileList_Dest[$i], 6)
    
        $Vergleich = _ArraySearch($Plannummern_Dest, $Plannummern_Source)
    
        If @error Then
            Msgbox(0, "Error", "Achtung! Es ist ein Fehler aufgetreten:  " & @error)
            EndIf
    
        If $Vergleich Then
            MsgBox(0, "Error", "Folgende Dateien wurden gefunden: " & $aFileList_Dest[$i])
            EndIf
    
        Next
    
        EndFunc
    
        Func CLOSE_clicked_Window_Main()
        Exit
        EndFunc
    Alles anzeigen


    Allerdings kommt dann diese Meldung hier: ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:

    $Plannummern_Dest = StringLeft($aFileList_Dest[$i], 6)

    $Plannummern_Dest = StringLeft(^ ERROR


    Bei dem Errorhandling von $Vergleich tritt dann der Fehler 1 auf. bei _Arraysearch heißt 1: $aArray ist kein Array

    Wo liegt denn das Problem? Es ist doch durch _FilelisttoArray als Array eingelesen?!.

  • Dateinamen vergleichen

    • Mikki
    • 4. Dezember 2017 um 14:00

    Hallo zusammen,

    und erst mal eine schöne Adventszeit.:)

    Ich habe eine Frage zum oben stehenden Thema. Kleine Ergänzung: Ich möchte nur die ersten 6 Zeichen von Dateien vergleichen.

    Die Dateien liegen einmal in einem Ordern "Source" und einmal in "Dest". Nun möchte ich von beiden Pfaden, von jeder Datei die ersten 6 Zeichen miteinander vergleichen. Bei Gleichheit soll dann eine MsgBox erscheinen, die Datei im Ordner "Dest" anzeigt.

    Hier mal das was ich bis jetzt habe:

    C
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <File.au3>
    
    
    Global $Window_Main
    Global $Button
    
    Global $aFileList_Source, $aFileList_Dest
    Global $Vergleich
    Global $Source = "C:\Users\Mikki\Desktop\source", $Dest = "C:\Users\Mikki\Desktop\dest"
    Global $Plannummern_Source, $Plannummern_Dest
    
    ;~  Startfenster erzeugen
        Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
        $Window_Main = GUICreate("Standard", 200, 60)
        GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Main")
    
        $Button = GUICtrlCreateButton("Dateien wählen", 10, 10, 180, 40)
        GUICtrlSetOnEvent($Button, "Button_clicked")
    
        GUISetState(@SW_SHOW)
    
    
        While 1
        Wend
    
        Func Button_clicked()
    
        $aFileList_Source= _FileListToArray($Source, "*.*", $FLTA_FILES)
        $aFileList_Dest = _FileListToArray($Dest, "*.*", $FLTA_FILES)
    
        For $i = 1 To UBound($aFileList_Source & $aFileList_Dest) 
    
        $Plannummern_Source = StringMid($aFileList_Source[$i], 1, 6)
        $Plannummern_Dest = StringMid($aFileList_Dest[$i], 1, 6)
    
        MsgBox(0, "", "Folgende Datei wurde gefunden: " & $Plannummern_Source[$i])
    
        Next
    
        EndFunc
    
        Func CLOSE_clicked_Window_Main()
        Exit
        EndFunc
    Alles anzeigen


    Ich stehe leider auf dem Schlauch, wie ich das alles abarbeiten soll.

    Könntet Ihr mir da mal helfen?:)

    Danke im Voraus.

    LG Mikki

  • Prüfen ob Datei schon vorhanden

    • Mikki
    • 26. November 2017 um 15:03

    Hallo,

    super hat funktioniert Danke :)

    Den Rest habe ich mir dann damit zurecht gebastelt.

    LG Mikki

  • Prüfen ob Datei schon vorhanden

    • Mikki
    • 26. November 2017 um 10:53

    Guten Morgen zusammen,

    ich habe mal folgendes vor.

    Ich möchte bei meinem FileCopy gerne vorher prüfen, ob Dateien, die sich im Quellordner befinden, auch schon im Zielordner vorkommen. Also wie Windows das macht. Wenn eine Datei dann doppelt vorkommen würde, soll eine Fehlermeldung erscheinen, die mich drauf hinweist. Das gleiche auch dann für mehrere Dateien.

    Ich weiß allerdings nicht, wie die Schleife aussehen soll, die beide Verzeichnisse + deren Inhalt miteinander abgleicht.

    Ich schätze mal ich muss erst den jeweiligen Ordnerinhalt mit _FileListToArray() auflisten und dann abgleichen?

    Könnt ihr mir da bitte helfen?

    Danke im Voraus.

    LG Mikki

  • Progressbar

    • Mikki
    • 21. Oktober 2017 um 11:43

    Hallo zusammen,

    wie oben genannt, handelt es sich bei diesem Thema um die Progressbar.

    Wie kann ich mir den Fortschritt eines Filecopy / FileMove in der Progressbar anzeigen lassen.

    Vorab: Ja ich habe schon in Google gesucht. Nur leider bin ich aus den gefundenen Ergebnissen nicht schlau geworden.

    Meine Frage. Hat jemand ein ganz simples Script, was mir den Fortschritt eines Prozesses in der Progressbar anzeigt? Oder hat jemand Zeit und Lust mir das mal zu erklären?

    LG Mikki

  • Prüfen, ob eine Datei geöffnet ist

    • Mikki
    • 7. Oktober 2017 um 20:38

    Hallo @Musashi

    Ouh ja da steht es, sehe es gerade... Gut okay. Erst schauen, dann fragen.

    Danke für eure Hilfe :)

    Gruß Mikki

  • Prüfen, ob eine Datei geöffnet ist

    • Mikki
    • 7. Oktober 2017 um 20:23

    Genau das suche ich. Danke @Musashi

    Ich hätte dazu noch eine Frage:

    For $i = 1 To $aFileMoveList[0]

    Warum steht dort [0]?

    Oscar : Ja genau. Und zwar wollte ich das so handhaben, dass man in dieser "Auftragsdatei" nur die Pfade angibt. Den Rest sollte er sich selbst suchen.

    LG Mikki

  • Prüfen, ob eine Datei geöffnet ist

    • Mikki
    • 7. Oktober 2017 um 19:34

    [1.Quelle]

    Quellverzeichnis=C:\Users\Mikki\Documents

    [2.Ziel]

    Zielverzeichnis=C:\Users\Mikki\Desktop

    Wenn _WinAPI_FileInUse keine Wildcards unterstützt, wie soll dann eine Dateiprüfung speziell für xlsx-Dateien funktionieren?

    Gibt es nicht noch eine andere Möglichkeit?

    LG Mikki

  • Prüfen, ob eine Datei geöffnet ist

    • Mikki
    • 7. Oktober 2017 um 19:21

    Hallo zusammen,

    ich habe jetzt mal weiter probiert und mir ist folgendes aufgefallen. Unten steht mein Code, den ich jetzt auf das wesentliche reduziert habe.

    C
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <WinAPIFiles.au3>
    #include <ButtonConstants.au3>
    
    
    
    Global $Window_Main
    Global $Button
    
    Global $SECTION_1 = "1.Quelle", $SECTION_2 = "2.Ziel"
    Global $KEY_1 = "Quellverzeichnis", $KEY_2 = "Zielverzeichnis"
    
    Global $INI_READ_SECTION_1, $INI_READ_SECTION_2, $INI_READ_KEY_1, $INI_READ_KEY_2
    
    Global $File_Check
    
    
    ;~  Startfenster erzeugen
        Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
        $Window_Main = GUICreate("Movetest", 200, 60)
        GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Main")
        GUISetBkColor(0xffffff, $Window_Main)
    
        $Button = GUICtrlCreateButton("Test", 10, 20, 180, 30, $BS_DEFPUSHBUTTON)
        GUICtrlSetOnEvent($Button, "File_Move")
        GUISetState(@SW_SHOW)
    
        While 1
        Wend
    
        Func File_Move()
    
            $INI_READ_SECTION_1 = IniRead("C:\Users\Mikki\Desktop\move_test.ini", $SECTION_1, $KEY_1, "Error")
            MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @CRLF & '$INI_READ_SECTION_1' & @CRLF & @CRLF & 'Return:' & @CRLF & $INI_READ_SECTION_1) ;### Debug MSGBOX
            $INI_READ_SECTION_2 = IniRead("C:\Users\Mikki\Desktop\move_test.ini", $SECTION_2, $KEY_2, "Error")
            MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @CRLF & '$INI_READ_SECTION_2' & @CRLF & @CRLF & 'Return:' & @CRLF & $INI_READ_SECTION_2) ;### Debug MSGBOX
    
    
            $File_Check = _WinAPI_FileInUse($INI_READ_SECTION_1 & "\*.xlsx")
            MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @CRLF & '$File_Check' & @CRLF & @CRLF & 'Return:' & @CRLF & $File_Check) ;### Debug MSGBOX
    
        EndFunc
    
        Func CLOSE_clicked_Window_Main()
        Exit
        EndFunc
    Alles anzeigen


    Bei $File_Check = _WinAPI_FileInUse($INI_READ_SECTION_1 & "\*.xlsx") bekomme ich als Rückgabewert eine 0, egal ob eine Liste geöffnet ist oder nicht.

    Schreibe ich allerdings den kompletten Pfad mit Endung hin: $File_Check = _WinAPI_FileInUse("C:\Users\Mikki\Documents\test.xlsx") funktioniert es wie gewollt.

    Meine Frage ist nun: Ist _WinAPI_FileInUse die richtige Wahl? Denn es wäre schön, wenn das Script mit den variablen Dateien umgehen könnte.

    LG Mikki

  • Prüfen, ob eine Datei geöffnet ist

    • Mikki
    • 7. Oktober 2017 um 17:57

    @Musashi Oscar : Ja $INI_READ_SECTION_1 ist eine Variable. Ich nenne die deshalb so, damit ich direkt erkenne, zu was die gehört, bzw. was die für eine Funktion hat. Ich komme damit am besten zurecht. Andere Schreibweisen bringen mich durcheinander.

    Ich habe es aber bis jetzt noch nicht geschafft.

    LG Mikki

  • Prüfen, ob eine Datei geöffnet ist

    • Mikki
    • 7. Oktober 2017 um 14:35

    Okay die Vorgehensweise habe ich verstanden. Danke

    Ich versuch´ mich mal dran.

    LG Mikki

  • Prüfen, ob eine Datei geöffnet ist

    • Mikki
    • 7. Oktober 2017 um 13:41

    Hallo Oscar,

    habe mich falsch ausgedrückt. Ich meine, wenn ich als Beispiel 10 Dateien habe. Im FileMove ist ein Filter gesetzt, der z.B. die 10 .xlsx-Dateien verschieben soll.

    Beispiel für den Filter: FileMove($INI_READ_Section_1 & "\*.xlsx", $INI_READ_Section_2)

    Wie bekomme ich nun raus, welche von den 10 .xlsx-Dateien geöffnet ist?

    Wenn ich die Prüfung: Local $Check = _WinAPI_FileInUse($INI_READ_Section_1 & "\*.xlsx") ausführe dann bekomme ich in der MsgBox nur den Wert 0 zurück. Aber nicht, welche Datei geöffnet ist.

    Das sollte wie bei dem Vorgang sein, wenn ich Dateien in Windows verschiebe. Da sagt er mir ja auch, welche geöffnet ist, und ob ich den Vorgang für den Rest dennoch fortsetzen soll.

    Hoffe du verstehst was ich meine?:)^^

    LG Mikki

  • Prüfen, ob eine Datei geöffnet ist

    • Mikki
    • 7. Oktober 2017 um 13:11

    Hallo nochmal ^^,

    eine Frage bleibt dennoch. Wie bekomme ich denn nun raus, welche Datei geöffnet ist?

    LG Mikki

  • Prüfen, ob eine Datei geöffnet ist

    • Mikki
    • 7. Oktober 2017 um 11:10

    Hallo zusammen,

    so jetzt habe ich mal wieder Zeit gefunden hier zu antworten und die Vorschläge mal auszuprobieren.

    Mit _WinAPI_FileInUse hat es funktioniet. Es geht hier um .xlsx Dateien. Also Excel scheint ein FileLock zu setzen. Danke Oscar :)

    @Musashi : Vielen Dank für den Tipp/Nachtrag. Das wusste ich nämlich nicht, dass viele Programme einen Filelock setzten, damit sie nicht verschoben werden können. Wieder was dazugelernt;):).

    LG Mikki

  • Prüfen, ob eine Datei geöffnet ist

    • Mikki
    • 4. Oktober 2017 um 14:44

    Hallooo,

    oh doch so einfach? ^^

    Ich probier´s nach Feierabend aus und gebe Bescheid.

    Danke schon mal für die Antworten.

    LG Mikki

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™