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

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

    • Mikki
    • 4. Oktober 2017 um 13:47

    Hallo,

    es geht um ein FileMove. Ich möchte vorher wissen ob die Datei geöffnet ist, um hinterher nicht festzustellen, dass es nicht funktioniert hat.

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

    • Mikki
    • 4. Oktober 2017 um 12:57

    Hallo zusammen,

    wie das Thema schon zeigt, möchte ich gern wissen, ob und wie es möglich ist, zu prüfen, ob eine Datei geöffnet ist.

    Könnt Ihr mir da ein Beispiel zeigen, wie das funktioniert?:)

    MfG Mikki

  • 7-Zip und AutoIt

    • Mikki
    • 23. September 2017 um 17:13

    Hallo,

    @Musashi super vielen Dank hat Einwandfrei funktioniert :) genau das was ich brauche.

    Ist auch recht einfach gehalten und hab´s verstanden ;)

    BugFix : ich werde die Funktion morgen mal in Ruhe testen, da ich heute Abend noch was vor habe ;) werde berichten.

    Gruß Mikki

  • 7-Zip und AutoIt

    • Mikki
    • 23. September 2017 um 13:44

    Hallo zusammen,

    danke für die schnellen Antworten. Nein es muss natürlich keine UDF sein.

    Die Idee mit Komandozeilensteuerung bzw mit der Windows eigenen Zip-Funktion finde ich gut, und würde für meine Zwecke völlig ausreichen. Dazu aber noch ein paar Fragen:

    BugFix : Der Code von der _BuildInZip. Was genau muss ich denn damit machen? Den Code in einer .au3-Datei speichern und einbinden?

    @Musashi , oh-ha : Die stand-alone muss aber dann auf jedem Rechner vorhanden sein, richtig? Und wie übergebe ich Pfade an die Kommandozeile? Hat jemand ein Beispiel indem z.B. ganze Ordner samt Inhalt gepackt werden? Habe so etwas leider noch nie gemacht.

    Tuxedo : Danke :) Jaaa mein Englisch ist jetzt auch nicht soo das beste, zugegeben. Aber ja die Seite habe ich auch schon gefunden und ausprobiert. Bin aber leider dran gescheitert diese UDF für meine Zwecke einzusetzen.

    Gruß Mikki

  • 7-Zip und AutoIt

    • Mikki
    • 23. September 2017 um 11:16

    Guten Morgen zusammen,

    ich habe eine Frage zu zum oben genannten Thema mit 7Zip. Kann mir jemand eine funktionierende 7Zip UDF zeigen / zukommen lassen? Und wie installiere ich eine UDF? Oder reicht es wenn ich die per #include einbinde? Ich schätze aber mal da erscheinen dann keine Vorschläge, wenn ich einen Befehl / Funktion eingebe?

    Noch eine Frage: Ist es dort dann auch möglich, einen Ordner zu verpacken, indem wiederum Ordner und Dateien existieren?

    Bsp: 01 Lieferungen -> 01 Lieferungen Meier, zweiter Ordner 02 Lieferungen Müller. Und in diesen Ordnern wiederum sind Dateien enthalten.

    Danke im Voraus :)

    LG Mikki

  • Frage zu DirMove

    • Mikki
    • 29. August 2017 um 18:42

    Hi Musashi.

    Ja dann wünsche ich mal viel spass :D

    Okay ich versuche es weiter. Zerlege den code weiter bis ich nur die eigentliche funktion habe und hoffentlich den fehler finde.
    Ich lasse das thema mal ungelöst.

    Gruß Mikki

  • Frage zu DirMove

    • Mikki
    • 29. August 2017 um 14:05

    Hi @Musashi

    Richtig. Es gibt ein Verzeichnis wo die Ordner ncblech-ts700 und nprofil-ts700 liegen.

    Die .ini Datei liegt irgendwo. Diese dient praktisch als "Auftragsdatei". Ich speichere 1x die Pfade ab. Das hat folgenden Hintergrund: In einem Bauvorhaben gibt es viele Teilsysteme, in denen Stützen, Kantteile etc. enthalten sind. Und für jedes Teilsystem gibt es ein Fertigungspaket. So ein Bauvorhaben benötigt mehrere Monate, bis es komplett abgearbeitet ist. Daher auch viele Fertigungspakete. Deshalb werden die Pfade, die so oder so immer gleich sind, in der .ini Datei gespeichert.

    Ich kopierie von A nach B und verschiebe dann von A nach C. Die Daten werden nämlich lokal in einer bestimmten Struktur abgelegt und dann auf den Server kopiert, damit diese für alle zugänglich sind. (Qualitätsmanagement halt)

    Ja okay hab´s gesehen. Wer lesen kann ist klar im Vorteil. Wollte es eig auf @ScriptDir setzen.

    Ich dachte außerdem, ich muss beim IniWrite das "\*.ini*" nochmal hinschreiben. Gut okay danke für den Hinweis. Falsch gedacht :D

    Gruß Mikki.

  • Frage zu DirMove

    • Mikki
    • 29. August 2017 um 08:17

    Guten Morgen zusammen,


    also hier der Code:

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <File.au3>
    #include <Date.au3>
    
    
    ;~  Window
    Global $Window_Main, $Window_Auftrag_hinzufuegen, $Window_Teilsystemname_hinzufuegen
    
    
    ;~  Button
    Global $Button_Auftrag_hinzufuegen, $Button_Auftrag_waehlen, $Button_Auftrag_Anlegen, $Button_Teilsystemname_hinzufuegen
    
    
    Global $Inputbox_NCDaten_Fertigungspaket, $Inputbox_Zielverzeichnis_Fertigungspaket, $Inputbox_Teilsystemname_hinzufuegen
    
    
    Global $SECTION_3_Data = "3.Quellverzeichnis NC-Daten", $SECTION_4_Data = "4.Zielverzeichnis für das Fertigungspaket"
    
    
    Global $INI_READ_SECTION_3_Data
    
    
    Global $READ_Checkbox_Lokal_ablegen, $READ_Inputbox_Teilsystemname_hinzufuegen
    
    
    ;~  Vorbereitung für DirMove
    Global $sEntryName, $hSearch
    
    
    Global $sFileSaveDialog_Auftrag, $sMessage
    
    
    
    
    	Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
    	$Window_Main = GUICreate("Walter", 220, 100)
    	GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Main")
    	$Button_Auftrag_hinzufuegen = GUICtrlCreateButton("1. Auftrag hinzufügen", 10, 20, 200, 30)
    	GUICtrlSetOnEvent($Button_Auftrag_hinzufuegen, "Auftrag_hinzufuegen")
    	$Button_Auftrag_waehlen = GUICtrlCreateButton("2. Auftrag wählen", 10, 60, 200, 30)
    	GUICtrlSetOnEvent($Button_Auftrag_waehlen, "Auftrag_waehlen")
    
    
    	GUISetState(@SW_SHOW)
    
    
    
    
    	While 1
    	Sleep(1000)
    	WEnd
    
    
    
    
    Func Auftrag_hinzufuegen()
    
    
    	GUICtrlSetState($Button_Auftrag_hinzufuegen, $GUI_DISABLE)
    	GUICtrlSetState($Button_Auftrag_waehlen, $GUI_DISABLE)
    
    
    	$Window_Auftrag_hinzufuegen = GUICreate("Sortierauftrag hinzufügen", 600, 180)
    	GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Auftrag_hinzufuegen")
    
    
    
    
    	GUICtrlCreateLabel("3.Verzeichnis der NC-Daten angeben:", 20, 20)
    	$Inputbox_NCDaten_Fertigungspaket = GUICtrlCreateInput("", 20, 40, 560)
    
    
    	GUICtrlCreateLabel("4.Pfad für das Fertigungspaket angeben:", 20, 70)
    	$Inputbox_Zielverzeichnis_Fertigungspaket = GUICtrlCreateInput("", 20, 90, 560)
    
    
    	$Button_Auftrag_Anlegen = GUICtrlCreateButton("OK! Auftrag anlegen!", 20, 140, 150, 30)
    	GUICtrlSetOnEvent($Button_Auftrag_Anlegen, "Auftrag_anlegen")
    
    
    	GUISetState(@SW_SHOW)
    
    
    EndFunc
    
    
    
    
    
    
    
    
    
    
    Func Auftrag_anlegen()
    
    
    	GUICtrlSetState($Button_Auftrag_Anlegen, $GUI_DISABLE)
    
    
    	$READ_Inputbox_NCDaten_Fertigungspaket = GuiCtrlRead($Inputbox_NCDaten_Fertigungspaket)
    
    
    	$READ_Inputbox_Zielverzeichnis_Fertigungspaket = GuiCtrlRead($Inputbox_Zielverzeichnis_Fertigungspaket)
    
    
    
    
    
    
    	If $READ_Inputbox_NCDaten_Fertigungspaket = False Then
    		MsgBox(0, "Error", "3.Kein Verzeichnis für die NC-Daten angegeben!")
    		GUICtrlSetState($Button_Auftrag_Anlegen, $GUI_ENABLE)
    	Return
    	EndIf
    
    
    	If $READ_Inputbox_Zielverzeichnis_Fertigungspaket = False Then
    		MsgBox(0, "Error", "4.Kein Pfad im Zielverzeichnis für das Fertigungspaket angegeben!")
    		GUICtrlSetState($Button_Auftrag_Anlegen, $GUI_ENABLE)
    	Return
    	EndIf
    
    
    
    
    
    
    
    
    
    
    	$sFileSaveDialog_Auftrag = FileSaveDialog($sMessage, @WindowsDir & "", "Auftragsdatei (*.ini)", $FD_PATHMUSTEXIST)
    
    
    	If @error Then
    
    
    		MsgBox($MB_SYSTEMMODAL, "", "Keinen Auftrag gesichert!")
    
    
    		FileChangeDir(@ScriptDir)
    
    
    		GUICtrlSetState($Button_Auftrag_Anlegen, $GUI_ENABLE)
    	EndIf
    
    
    
    
    	_FileCreate($sFileSaveDialog_Auftrag & ".ini")
    
    
    	FileOpen($sFileSaveDialog_Auftrag & ".ini")
    
    
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_3_Data, "Quelle-nc-daten", $READ_Inputbox_NCDaten_Fertigungspaket & @CRLF)
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_4_Data, "Fertigungspaket", $READ_Inputbox_Zielverzeichnis_Fertigungspaket & @CRLF)
    	FileClose($sFileSaveDialog_Auftrag & ".ini")
    
    
    	GUICtrlSetState($Button_Auftrag_Anlegen, $GUI_ENABLE)
    
    
    EndFunc
    
    
    
    
    
    
    Func Auftrag_waehlen()
    
    
    	GUICtrlSetState($Button_Auftrag_hinzufuegen, $GUI_DISABLE)
    	GUICtrlSetState($Button_Auftrag_waehlen, $GUI_DISABLE)
    
    
    	$Window_Teilsystemname_hinzufuegen = GUICreate("Teilsystemname hinzufügen", 400, 150)
    	GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Teilsystemname_hinzufuegen")
    	GUICtrlCreateLabel("Teilsystemnamen angeben, Beispiel: ts63-stuetzen-achse-a-e", 10, 20)
    	$Inputbox_Teilsystemname_hinzufuegen = GUICtrlCreateInput("", 10, 40, 380)
    
    
    	$Button_Teilsystemname_hinzufuegen = GUICtrlCreateButton("Teilsystemname übernhemen", 100, 110, 200, 30)
    	GUICtrlSetOnEvent($Button_Teilsystemname_hinzufuegen, "Teilsystemname_uebernhemen")
    	GUICtrlSetState($Button_Teilsystemname_hinzufuegen, $GUI_FOCUS)
    	GUISetState(@SW_SHOW)
    
    
    EndFunc
    
    
    
    
    
    
    
    
    Func Teilsystemname_uebernhemen()
    
    
    	;~  Prüfen, ob ein Teilsystemname angegeben ist. Wenn nicht, erscheint ein Errorhandling.
    	$READ_Inputbox_Teilsystemname_hinzufuegen = GuiCtrlRead($Inputbox_Teilsystemname_hinzufuegen)
    
    
    
    
    	If $READ_Inputbox_Teilsystemname_hinzufuegen = False Then
    		MsgBox(0, "Error", "Keinen Teilsystemnamen angegeben!")
    	Return
    	EndIf
    
    
    
    
    
    
    	$sFileOpenDialog_Auftrag = FileOpenDialog($sMessage, @WindowsDir & "", "Alle Dateien (*.ini)", $FD_FILEMUSTEXIST)
    	If @error Then
    
    
    		MsgBox($MB_SYSTEMMODAL, "", "Keinen Auftrag gewählt!")
    
    
    		FileChangeDir(@ScriptDir)
    	EndIf
    
    
    
    
    
    
    	$INI_READ_SECTION_3_Data = IniRead($sFileOpenDialog_Auftrag, $SECTION_3_Data, "Quelle-nc-daten", "Error")
    	ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $INI_READ_SECTION_3_Data = ' & $INI_READ_SECTION_3_Data & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    	$INI_READ_SECTION_4_Data = IniRead($sFileOpenDialog_Auftrag, $SECTION_4_Data, "Fertigungspaket", "Error")
    	ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $INI_READ_SECTION_4_Data = ' & $INI_READ_SECTION_4_Data & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    
    
    
    
    	$hSearch = FileFindFirstFile($INI_READ_SECTION_3_Data & "\*.*")
        If $hSearch = -1 Then
    	MsgBox(0, "Error", "In dem Quellpfad wurden keine NC-Daten gefunden!")
    	Return False
    	EndIf
    
    
        While 1
            $sEntryName = FileFindNextFile($hSearch)
            If @error Then ExitLoop ; keine weiteren Einträge gefunden
    		If @extended Then
    
    
    	    If StringRegExp($sEntryName, "(?i)^(.*)nc(.*)$") Then
    		DirCopy($INI_READ_SECTION_3_Data & "\" & $sEntryName, $INI_READ_SECTION_4_Data)
    
    
    		EndIf
    		EndIf
    	WEnd
    	FileClose($hSearch)
    
    
    	GUISetState(@SW_SHOW)
    
    
    
    
    	GUIDelete($Window_Teilsystemname_hinzufuegen)
    	GUISwitch($Window_Main)
    
    
    
    
    ;~  Button werden wieder aktiviert
    	GUICtrlSetState($Button_Auftrag_hinzufuegen, $GUI_ENABLE)
    	GUICtrlSetState($Button_Auftrag_waehlen, $GUI_ENABLE)
    
    
    	EndFunc
    
    
    
    
    ;~  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ;~  Close-Funktionen
    Func CLOSE_clicked_Window_Main()
    	Exit
    EndFunc   ;==>CLOSE_clicked_Window_Main
    
    
    Func CLOSE_clicked_Window_Auftrag_hinzufuegen()
    	GUIDelete($Window_Auftrag_hinzufuegen)
    	GUISwitch($Window_Main)
    
    
    	GUICtrlSetState($Button_Auftrag_hinzufuegen, $GUI_ENABLE)
    	GUICtrlSetState($Button_Auftrag_waehlen, $GUI_ENABLE)
    EndFunc
    
    
    Func CLOSE_clicked_Window_Teilsystemname_hinzufuegen()
    	GUIDelete($Window_Teilsystemname_hinzufuegen)
    	GUISwitch($Window_Main)
    
    
    	GUICtrlSetState($Button_Auftrag_hinzufuegen, $GUI_ENABLE)
    	GUICtrlSetState($Button_Auftrag_waehlen, $GUI_ENABLE)
    
    
    EndFunc
    ;~  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Alles anzeigen


    Die Ordner heißen z.B. ncblech-ts700 und ncprofil-ts700.

    Der Order mit Inhalt soll von einem Ort zum anderen kopiert werden.

    Im nächsten Schritt dann in den angegebenen Pfad verschoben werden.

    Gruß Mikki

  • Frage zu DirMove

    • Mikki
    • 28. August 2017 um 20:38

    Abend zusammen,

    habe den kompletten Code auf der Arbeit. Ich werde morgen früh eine abgespeckte Version basteln, die nur auf das Problem fixiert ist, damit es für euch und für mich leichter ist.

    Aber trotzdem schon mal Danke für die Mühen :)

    Bis dahin.

    Gruß Mikki

  • Frage zu DirMove

    • Mikki
    • 28. August 2017 um 17:37

    Hallo,

    ich hoffe mal das ist jetzt richtig so:

    @@ Debug(403) : $INI_READ_SECTION_1_Data = C:\Users\mikki\Desktop\umw
    >Error code: 0
    @@ Debug(405) : $INI_READ_SECTION_2_Data = C:\Users\mikkir\Desktop\test\lists
    >Error code: 0
    @@ Debug(407) : $INI_READ_SECTION_3_Data = C:\Users\mikki\Desktop\test
    >Error code: 0
    @@ Debug(410) : $INI_READ_SECTION_4_Data = C:\Users\mikki\Desktop\test\lieferungen
    >Error code: 0
    @@ Debug(413) : $INI_READ_SECTION_5_Data = C:\Users\mikki\Desktop\test\plaene
    >Error code: 0
    @@ Debug(416) : $INI_READ_SECTION_6_Data = C:\Users\mikki\Desktop\Server\21 - Werkstattzeichnungen\Stücklisten
    >Error code: 0
    @@ Debug(418) : $INI_READ_SECTION_7_Data_1 = C:\Users\mikki\Desktop\Server\21 - Werkstattzeichnungen
    >Error code: 0
    @@ Debug(420) : $INI_READ_SECTION_7_Data_2 = C:\Users\mikki\Desktop\Server\21 - Werkstattzeichnungen\dwg
    >Error code: 0
    @@ Debug(422) : $INI_READ_SECTION_7_Data_3 = C:\Users\mikki\Desktop\Server\21 - Werkstattzeichnungen\bmf
    >Error code: 0
    @@ Debug(424) : $INI_READ_SECTION_8_Data_1 = C:\Users\mikki\Desktop\Server\29 - Stahlbau Sonstiges
    >Error code: 0
    @@ Debug(426) : $INI_READ_SECTION_8_Data_2 = C:\Users\mikki\Desktop\Server\29 - Stahlbau Sonstiges\dwg
    >Error code: 0
    @@ Debug(428) : $INI_READ_SECTION_8_Data_3 = C:\Users\mikki\Desktop\Server\29 - Stahlbau Sonstiges\bmf
    >Error code: 0
    @@ Debug(430) : $INI_READ_SECTION_9_Data = C:\Users\mikki\Desktop\Server\21 - Werkstattzeichnungen\NC-Daten
    >Error code: 0
    Qt: Untested Windows version 10.0 detected!
    @@ Debug(535) : DirCopy($INI_READ_SECTION_3_Data & "\" & $sEntryName, $INI_READ_SECTION_9_Data) = 0
    >Error code: 0
    @@ Debug(535) : DirCopy($INI_READ_SECTION_3_Data & "\" & $sEntryName, $INI_READ_SECTION_9_Data) = 0
    >Error code: 0

  • Frage zu DirMove

    • Mikki
    • 28. August 2017 um 15:02

    Ach so meinst du das.

    Ja kommt nach 17:00 ;)

  • Frage zu DirMove

    • Mikki
    • 28. August 2017 um 14:53

    Ja steht es.

    Hier ein Auszug:

    Code
    ;~  SECTION-WRITER
    Global $SECTION_1_Data = "1.Umwandlungsverzeichnis", $SECTION_2_Data = "2.Quellverzeichnis Stücklisten"
    Global $SECTION_3_Data = "3.Quellverzeichnis NC-Daten", $SECTION_4_Data = "4.Zielverzeichnis für das Fertigungspaket"
    Global $SECTION_5_Data = "5.Zielverzeichnis für die bmf im Auftragsordner"
    Global $SECTION_6_Data = "6.Zielverzeichnis der Stücklisten auf dem Server", $SECTION_7_Data = "7.Zielverzeichnis der Werkstattpläne auf dem Server"
    Global $SECTION_8_Data = "8.Zielverzeichnis der Baugruppenperspektiven auf dem Server", $SECTION_9_Data = "9.Zielverzeichnis der NC-Daten auf dem Server"
    
    
    ...
    
    
    FileOpen($sFileSaveDialog_Auftrag & ".ini")
    
    
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_1_Data, "Quelle-Umw", $READ_Inputbox_Umwandlungsverzeichnis & @CRLF)
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_2_Data, "Quelle-list", $READ_Inputbox_Stuecklistenverzeichnis_Fertigungspaket & @CRLF)
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_3_Data, "Quelle-nc-daten", $READ_Inputbox_NCDaten_Fertigungspaket & @CRLF)
    
    
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_4_Data, "Fertigungspaket", $READ_Inputbox_Zielverzeichnis_Fertigungspaket & @CRLF)
    
    
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_5_Data, "Werkstattplaene-bmf", $READ_Inputbox_BMF_Verzeichnis_Auftragsverzeichnis & @CRLF)
    
    
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_6_Data, "Stuecklisten-Server", $READ_Inputbox_Stuecklistenverzeichnis_Server & @CRLF)
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_7_Data, "Werkstattplaene-pdf", $READ_Inputbox_PDF_Verzeichnis_Server & @CRLF)
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_7_Data, "Werkstattplaene-dwg", $READ_Inputbox_DWG_Verzeichnis_Server & @CRLF)
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_7_Data, "Werkstattplaene-bmf", $READ_Inputbox_BMF_Verzeichnis_Server & @CRLF)
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_8_Data, "Perspektiven-pdf", $READ_Inputbox_Baugruppenperspektive_PDF_Verzeichnis_Server & @CRLF)
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_8_Data, "Perspektiven-dwg", $READ_Inputbox_Baugruppenperspektive_DWG_Verzeichnis_Server & @CRLF)
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_8_Data, "Perspektiven-bmf", $READ_Inputbox_Baugruppenperspektive_BMF_Verzeichnis_Server & @CRLF)
    	IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_9_Data, "NC-Daten", $READ_Inputbox_NC_Daten_Verzeichnis_Server)
    Alles anzeigen


    Die Sektion ist immer die gleiche. Deshalb habe ich sie Global am Anfang als "Standard" gesetzt. Der Schlüssel heißt auch immer gleich.
    Deshalb kann ein Schreibfehler in der Variable eigentlich nicht in Frage kommen.

    Sorry verstehe ich gerade nicht. Wie meinst du das jetzt alle Variablen ausgeben lassen? Bin noch Anfänger^^

    Gruß

  • Frage zu DirMove

    • Mikki
    • 28. August 2017 um 14:39

    Hallo alpines,

    der Schlüssel liegt hier:

    [3.Quellverzeichnis NC-Daten]
    Quelle-nc-daten=C:\Users\mikki\Desktop\test

    Ich spreche den Schlüssel an: $INI_READ_SECTION_3_Data = IniRead($sFileOpenDialog_Auftrag, $SECTION_3_Data, "Quelle-nc-daten", "Error") -> "Quelle-nc-daten"

  • Frage zu DirMove

    • Mikki
    • 28. August 2017 um 14:11

    Hallo @Musashi

    Danke für deine Antwort. Wenn ich mir den diesen Code kopiere und und bei $sSourceDir den Pfad einsetze, findet er die Ordner. Das schreibt er auch in der Konsole.

    Setze ich aber anstelle den Pfad eine Variable ein, die aus einer .ini-Datei liest, passiert nichts. Es kommt aber auch keine Fehlermeldung.

    Hier mal das Beispiel:


    Code
    $INI_READ_SECTION_3_Data = IniRead($sFileOpenDialog_Auftrag, $SECTION_3_Data, "Quelle-nc-daten", "Error")
    ...
    
    
    $hSearch = FileFindFirstFile($INI_READ_SECTION_3_Data & "\*.*")
        If $hSearch = -1 Then
    	MsgBox(0, "Error", "In dem Quellpfad wurden keine NC-Daten gefunden!")
    	Return False
    	EndIf
    
    
        While 1
            $sEntryName = FileFindNextFile($hSearch)
            If @error Then ExitLoop ; keine weiteren Einträge gefunden
    
    
    	    If StringRegExp($sEntryName, "(?i)^(.*)nc(.*)$") Then
    		DirCopy($INI_READ_SECTION_3_Data & "\*nc*", $INI_READ_SECTION_9_Data)
    
    
    	EndIf
    	WEnd
    	FileClose($hSearch)
    
    
    	;~  In diesem Abschnitt werden die pdf´s, dwg´s und bmf´s auf den Server kopiert.
    	FileCopy($INI_READ_SECTION_1_Data & "\*.pdf", $INI_READ_SECTION_7_Data_1)
    	FileCopy($INI_READ_SECTION_1_Data & "\*.dwg", $INI_READ_SECTION_7_Data_2)
    	FileCopy($INI_READ_SECTION_1_Data & "\*.bmf_", $INI_READ_SECTION_7_Data_3)
    Alles anzeigen

    Die Variablen sind am Anfang mit Global deklariert.

    Gruß Mikki

  • Frage zu DirMove

    • Mikki
    • 24. August 2017 um 21:16

    Hallo @Musashi

    ja okay das mit der Wildcard habe ich verstanden.

    Gut danke für die Tipps. :) Ich werde sie morgen direkt mal ausprobieren ;)

    Gruß Mikki

  • Frage zu DirMove

    • Mikki
    • 24. August 2017 um 10:38

    Hallo zusammen,

    wie schon oben erwähnt habe ich eine Frage zu DirMove.

    Ich hoffe Ihr könnt mir da weiterhelfen.

    Wenn ich bei bei FileMove Dateien verschiebe, die ein bestimmtes Wort enthalten, funktioniert das. Hier ein Beispiel:
    FileMove($INI_READ_SECTION_4_Data & "\" & $READ_Inputbox_Teilsystemname_hinzufuegen & "\Zeichnungen-PDF" & "\*persp*", $INI_READ_SECTION_4_Data & "\" & $READ_Inputbox_Teilsystemname_hinzufuegen & "\Baugruppenperspektive")

    Hier, bei FIleMove, mit "\*persp*".


    Wenn ich das gleiche aber mit DirMove mache:
    DirMove($INI_READ_SECTION_3_Data & "\*nc*", $INI_READ_SECTION_4_Data & "\" & $READ_Inputbox_Teilsystemname_hinzufuegen & "\NC-Daten")

    Hier mit "\*nc*" im Ordnernamen, passiert leider nichts. Die Ordner, die ich verschieben möchte, bleiben dort wo sie sind. Schade eigentlich.

    Also, wie kann ich Ordner verschieben, die in bestimmtes Wort enthalten?
    Muss ich den Ordnernamen in einen String splitten? Stehe grad voll auf´m Schlauch.

    Danke schon mal im Voraus. :)

    Gruß Mikki

  • Hilfe zu IniReadSection

    • Mikki
    • 17. August 2017 um 21:26

    Hallo @alpines

    Ja du hast recht. Die Abfrage war noch aus einem alten Skript, die ich dann umgebaut habe. Hatte ich jetzt ehrlich gesagt nicht drauf geachtet.
    Funktioniert auch ohne, bzw. so wie du es vorgeschlagen hast.

    Danke für den Hinweis. ;)

    Gruß Mikki

  • Hilfe zu IniReadSection

    • Mikki
    • 17. August 2017 um 21:21

    Hallo @Musashi

    Ja Default schreibt er, wenn er nix gefunden hat. Das habe ich soweit verstanden.

    Okay, so wie du es vorgeschlagen hast, funktioniert es *juhuu* :)

    Dankeschön :)

    Gruß Mikki

  • Hilfe zu IniReadSection

    • Mikki
    • 17. August 2017 um 20:57

    Hey NO1 :-),

    danke für die Antwort.

    Leider verstehe ich nicht ganz wie das mit dem Array hier funktioniert. Wenn ich das jetzt mal so eintrage bekomme ich leider eine Fehlermeldung.

    (57) : ==> Subscript used on non-accessible variable.:
    MsgBox($MB_SYSTEMMODAL, "Test", $READ_Auftragsname[1][1])
    MsgBox($MB_SYSTEMMODAL, "Test", $READ_Auftragsname^ ERROR

    Kannst du mir das mal erklären? Mit Arrays habe ich im Moment noch Schwierigkeiten um ehrlich zu sein. :(

    LG Mikki

  • Hilfe zu IniReadSection

    • Mikki
    • 17. August 2017 um 20:27

    Hallo zusammen :) ,

    wie der Betreff schon sagt, habe ich eine Frage zu IniReadSection.

    Hier der Code:

    C
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <File.au3>
    #include <data\decl.au3>
    
    
    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
    $Window_Main = GUICreate("Walter", 220, 65)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Main")
    $Auftrag_waehlen = GUICtrlCreateButton("1. Auftrag wählen", 10, 20, 200, 35)
    GUICtrlSetOnEvent($Auftrag_waehlen, "Auftrag_waehlen")
    
    
    GUISetState(@SW_SHOW)
    
    
    Func Auftrag_waehlen()
    
    
    	GUICtrlSetState($Auftrag_waehlen, $GUI_DISABLE)
    
    
    	; Display an open dialog to select a list of file(s).
    	$sFileOpenDialog_Auftrag = FileOpenDialog($sMessage, @WindowsDir & "", "Alle Dateien (*.ini*)", $FD_FILEMUSTEXIST)
    	If @error Then
    		; Display the error message.
    		MsgBox($MB_SYSTEMMODAL, "", "Keinen Auftrag gewählt!")
    		; Change the working directory (@WorkingDir) back to the location of the script directory as FileOpenDialog sets it to the last accessed folder.
    		FileChangeDir(@ScriptDir)
    
    
    		GUICtrlSetState($Auftrag_waehlen, $GUI_ENABLE)
    	EndIf
    
    
    	If $sFileOpenDialog_Auftrag = True Then
    
    
    	GUICtrlSetState($Auftrag_waehlen, $GUI_ENABLE)
    
    
    	$READ_Auftragsname = IniReadSection($sFileOpenDialog_Auftrag, "auftragsname")
    
    
    	MsgBox($MB_SYSTEMMODAL, "Test", $READ_Auftragsname)
    
    
    
    
    	EndIf
    
    
    EndFunc
    
    
    
    
    While 1
    	Sleep(1000)
    WEnd
    
    
    
    
    Func CLOSE_clicked_Window_Main()
    	Exit
    EndFunc   ;==>CLOSE_clicked_Window_Main
    Alles anzeigen


    Und hier der Aufbau der Ini-Datei:

    [auftragsname]
    Name=Test

    [Umwandlungsordner]


    [Stuecklistenordner]


    [Zielordner]


    Ausgabe der MsgBox: 1

    Es ist wahrscheinlich ein ganz simpler Fehler. Aber ich komme gerade ums verrecken nicht drauf.

    Könnt Ihr mir da helfen?

    Danke.

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™