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

Beiträge von bytesinner

  • Prozess überwachen bei False ein Batch ausführen

    • bytesinner
    • 25. Juni 2021 um 09:11

    Wegen den Edit hab ich mal 2 Bilder drangehängt, werde noch mal mit AutoIt Window Info Tool auf die Suche gehen mal sehen was ich so finde,

    unter dem Reiter Connection kann ich verschiedene Verbindungen wählen (diese werden in der InI Anpassung vorgewählt) und die Airgate Funktion kommt auch vor und das sorgt für die Instance Änderung, ich könnte zwar für jede Verbindung wo im Script hergestellt wird die Instance anpassen, aber das ist meiner Meinung nicht sicher das es immer funktioniert, zumindest müsste ich es Testen.


    Spoiler anzeigen

    Screenshot 2021-06-25 085202.jpg

    Screenshot 2021-06-25 085133.jpg

    EDIT: Wie vermutete gibt es Probleme mit den Instance, mal geht es mal nicht das je nach Verbindung die zuletzt verwendet wurde, ändert sich die Instance von 1 bis 3, warum keine Ahnung.

  • Prozess überwachen bei False ein Batch ausführen

    • bytesinner
    • 22. Juni 2021 um 15:47

    Erstmal Danke für die Aufklärung meiner Fehler :thumbup: , ja Ich merke das ich wohl einige gemacht habe X/ , die ich vermutlich nach und nach eingebaut wurden das ich das Scrip nach und nach verändert habe, auch durch versuchen wenn’s läuft dann Don't Touch,

    das mit den ExitLoop logisch,

    Funktion hab ich mal teilweise getestet und soweit ok,

    Mit Control bin ich dran aber komm mit den ersten Befehl in die nur teilweise zum Erfolg, wenn ich z.B ControlSend($hWnd, "", "[CLASS:TEdit; INSTANCE:1]", "Wartung  Teststadt") verwende Funktioniert es erst mal aber nur solange im Anmelde Bildschirm vom Hauptraum nur das eine Edit Fenster existiert, ansonsten wird es zu Instance:2, deswegen ClipPut und ja wird immer als erstes angewählt.

    Mfg

  • Prozess überwachen bei False ein Batch ausführen

    • bytesinner
    • 22. Juni 2021 um 12:00

    Danke für die Info, nur stehe ich etwas auf den schlau (vermutlich so einfach das ich es nicht blicke), ich füge mal mein Scrip teil hinzu eventuell mal an zeigen wo und wie

    zur Verdeutlichung Teststadt2 angewählt --> Connect.bat wird ausgeführt (VPN Protokoll) --> danach kommen ini File Anpassungen ($ort1,2 $datei2 usw.) --> Jetzt der Prozess wo überwacht werden soll (InteliMonitor)--> Zuganges Daten Eingabe im InteliMonitor--> wenn InteliMonitor beendet wird (Fenster geschlossen) soll Disconnect.bat ausgeführt werden.


    So ich hoffe ich verlage nicht zuviel aber das Thema nervt mich schon etwas das ich es nicht hin bekomme.

    Mfg

    Code
            Case $Button2 ; Teststadt2
                Run(@ScriptDir & "\bat files\Teststadt2\Connect.bat")
                Sleep(500)
                $datei2 = ($ort1 & $ini2)
                $def6 = "WindowMode=1"
                For $i2 = 0 To _FileCountLines($datei2)
                    $text2 = FileReadLine($datei2, $i2)
                    If StringInStr($text2, $suchen3) <> 0 Then
                        _FileWriteToLine($datei2, $i2, $def6, 1)
                    EndIf
                Next
                $datei = ($ort1 & "Wartung Teststadt2" & $ini)
                $def = "Connection=Internet bridge"
                $def2 = "Name=IP Teststadt2"
                For $i = 0 To _FileCountLines($datei)
                    $text = FileReadLine($datei, $i)
                    If StringInStr($text, $suchen) <> 0 Then
                        _FileWriteToLine($datei, $i, $def, 1)
                    ElseIf StringInStr($text, $suchen2) <> 0 Then
                        _FileWriteToLine($datei, $i, $def2, 1)
                    EndIf
                Next
                While (1)
                    Run("C:\Program Files (x86)\ComAp PC Suite\InteliMonitor\InteliMonitor.exe")
                    WinActivate("InteliMonitor")
                    WinWaitActive("InteliMonitor")
                    WinSetState("InteliMonitor", "", @SW_MAXIMIZE)
                    $search = _ImageSearch("pix/openc.png", 1, $x5, $y5, 10)
                    If $search = 1 Then
                        Sleep(500)
                    Else
                        ConsoleWrite("Fail!" & @CRLF)
                    EndIf
                    ClipPut("Wartung Teststadt2")
                    Send("^v")
                    Sleep(500)
                    Send("{TAB 5}")
                    Sleep(2000)
                    Send("{ENTER}")
                    Sleep(2000)
                    Send("{ENTER}")
                    ExitLoop
                    Sleep(3000)
                    While (1)
                        If Not ProcessExists("InteliMonitor.exe") Then
                            Run(@ScriptDir & "\bat files\Teststadt2\Disconnect.bat")
                        Else
                            Sleep(10)
                        EndIf
                    WEnd
                WEnd
    Alles anzeigen
  • Prozess überwachen bei False ein Batch ausführen

    • bytesinner
    • 22. Juni 2021 um 10:19

    So wollte nur nochmal nach hacken, ob Jemand eine Lösung hat, bin beruflich nicht mehr dazu gekommen weiterzumachen und komme auch nicht weiter, manchmal stellt sich mein Kopf quer :S und da das Thema schon ein Weilchen offen ist kann man ja noch mal nach hacken, ohne frech zu wirken 8o .... oder nicht? :|

  • Prozess überwachen bei False ein Batch ausführen

    • bytesinner
    • 16. Oktober 2020 um 07:49

    Hallo,

    Das ganze Skript ist ein GUI wo ich verschiedene Verbindungen aufbauen kann sei es direkt oder VPN mit dem entsprechenden Software Tools, nach dem die Verbindung aufgebaut ist wird eine weiters Tool was benötigt wird Gestartet was die besageten Verbindungen braucht, an die Stelle wo ich hänge soll die Verbindung automatisch beendet werden wann das 2 Tool Beendet wird.

    die Case $Button2 sind nur für die GUI (Button´s) für die Ausführung, aber ich denke das ist so weit klar.

    Die Connect.bat oder Disconnect.bat sind nur zum Verbindung Aufbau (Cisco AnyConnect Secure Mobility Client) über Command Line.

    Hier mal Connect.bat

    echo

    C:

    cd "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client" & .\vpncli -s < test.dat

    $datei und $datei2 wird benötigt da ich an zwei verschiedene Stellen eine INI File anpassen muss bevor das Tool2 Gestartet wird da eine Bestimmter Software Start zum sicheren Aufbau der Verbinding nötig ist dass das Skript Funktioniert.

    ort1 wird benötigt das es zwei verschiedenen Versionen des Skripts gibt eine mal für Daten die Lokal auf dem PC sind und eine die Daten Über Lan verwendet.

    $suchen, $suchen2, $suchen3 ist für die INI´s, die Variablen werden verwendet zum Suchen bestimmten Inhalte von Zeilen und diese anzupassen.

    Habe den Code Angepasst vom Ganzen Skript, da IP Adressen drin sind wo nicht für Jeden Bestimmt sind, hätte man bestimmt auch besser lösen können, aber wie ich schon geschrieben habe bin ich ehre Bastler und ich hänge an dem GUI schon sehr Lange und erweitere es nach und nach wie es Zeitlich geht.

    Skript.au3

    So ich hoffe das es nicht zulange ist für eine kurze Erklärung :)


    MFG

    Alex

  • Prozess überwachen bei False ein Batch ausführen

    • bytesinner
    • 15. Oktober 2020 um 07:53

    Hallo zusammen,

    Ich habe folgendes Problem ich sollte ein bestimmten Prozess dauerhaft Überwachen solange er ausgeführt wird und nach beenden ein Batch ausführen, ich habe zwar Suche und Google usw. verwendet und das ein oder andere versucht aber es will nicht funktionieren, ich stehe etwas auf dem Schlauch und mach da schon länger rum,

    aber hier mal der Teil wo rum es geht bzw. ist nur ein kleiner Auszug vom ganzen Skript

    eventuell finden sich noch andere Fehler oder des gleichen bin eher Bastler als Profi bei Autoit :)

    Spoiler anzeigen
    AutoIt
            Case $Button2 ; Teststadt
                Run(@ScriptDir & "\bat files\Teststadt\Connect.bat")
                Sleep(500)
                $datei2 = ($ort1 & $ini2)
                $def6 = "WindowMode=1"
                For $i2 = 0 To _FileCountLines($datei2)
                    $text2 = FileReadLine($datei2, $i2)
                    If StringInStr($text2, $suchen3) <> 0 Then
                        _FileWriteToLine($datei2, $i2, $def6, 1)
                    EndIf
                Next
                $datei = ($ort1 & "Wartung Teststadt" & $ini)
                $def = "Connection=Internet bridge"
                $def2 = "Name=IB192.168.20.146"
                For $i = 0 To _FileCountLines($datei)
                    $text = FileReadLine($datei, $i)
                    If StringInStr($text, $suchen) <> 0 Then
                        _FileWriteToLine($datei, $i, $def, 1)
                    ElseIf StringInStr($text, $suchen2) <> 0 Then
                        _FileWriteToLine($datei, $i, $def2, 1)
                    EndIf
                Next
                While (1)
                    Run("C:\Program Files (x86)\ComAp PC Suite\InteliMonitor\InteliMonitor.exe")
                    WinActivate("InteliMonitor")
                    WinWaitActive("InteliMonitor")
                    WinSetState("InteliMonitor", "", @SW_MAXIMIZE)
                    $search = _ImageSearch("pix/openc.png", 1, $x5, $y5, 10)
                    If $search = 1 Then
                        Sleep(500)
                    Else
                        ConsoleWrite("Fail!" & @CRLF)
                    EndIf
                    ClipPut("Wartung Teststadt")
                    Send("^v")
                    Sleep(500)
                    Send("{TAB 5}")
                    Sleep(2000)
                    Send("{ENTER}")
                    Sleep(2000)
                    Send("{ENTER}")
                    ExitLoop
                    Sleep(3000)
                    While (1)
                        If Not ProcessExists("InteliMonitor.exe") Then
                            Run(@ScriptDir & "\bat files\Teststadt\Disconnect.bat")
                        Else
                            Sleep(10)
                        EndIf
                    WEnd
                WEnd
    Alles anzeigen

    Genauer gesagt geht es um diesen Teil

    Spoiler anzeigen
    AutoIt
                    Sleep(3000)
                    While (1)
                        If Not ProcessExists("InteliMonitor.exe") Then
                            Run(@ScriptDir & "\bat files\Teststadt\Disconnect.bat")
                        Else
                            Sleep(10)
                        EndIf
                    WEnd


    Mfg

    Alex

  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 10. März 2017 um 16:44

    So hab mein Problem gelöst bekommen statt $data = StringRegExp($arFile[$i], "Z(\d*(?:\.)?\d*)", 3) eben $data = StringRegExp($arFile[$i], "Z(\-*(?:\.)?\d*)", 3) das d gegen -

    hier noch mal das Ganze Script eventuelle könnte da jemand drüberschauen inbezug übersichtlichkeit oder etwas kompakter machen usw.

    AutoIt
    #include <ButtonConstants.au3>
    #include <WinAPIFiles.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <Array.au3>
    FileInstall("original.nc", @ScriptDir & "\original.nc", 1) ;   <- original.nc muss beim kompilieren im @ScriptDir liegen
    $Form1_1 = GUICreate("NC Code Anpassung", 894, 533, 192, 124)
    $Graphic1 = GUICtrlCreateGraphic(80, 8, 400, 400)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x000000, 0x3366FF)
    GUICtrlSetGraphic(-1, $GUI_GR_RECT, 0, 0, 400, 400)
    $WertY1 = GUICtrlCreateInput("0", 544, 248, 121, 21)
    $WertX1 = GUICtrlCreateInput("0", 544, 304, 121, 21)
    $Label1 = GUICtrlCreateLabel("Mass in Y -", 544, 224, 56, 17, $SS_CENTER)
    $Label2 = GUICtrlCreateLabel("Mass in X -", 544, 280, 56, 17, $SS_CENTER)
    $WertZ1 = GUICtrlCreateInput("0", 544, 360, 121, 21)
    $Label3 = GUICtrlCreateLabel("Mass in Z -", 544, 336, 56, 17, $SS_CENTER)
    $Label4 = GUICtrlCreateLabel("X undY 0", 8, 456, 72, 25, $SS_CENTER)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Label5 = GUICtrlCreateLabel("Grundmass in mm X100 Y 100 Z10", 0, 488, 204, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Erstellen = GUICtrlCreateButton("Erstellen", 544, 440, 123, 25)
    $Beenden = GUICtrlCreateButton("Beenden", 544, 472, 123, 25)
    $WertY2 = GUICtrlCreateInput("0", 688, 248, 121, 21)
    $WertX2 = GUICtrlCreateInput("0", 688, 304, 121, 21)
    $Label7 = GUICtrlCreateLabel("Mass in Y +", 688, 224, 59, 17, $SS_CENTER)
    $Label8 = GUICtrlCreateLabel("Mass in X +", 688, 280, 59, 17, $SS_CENTER)
    $WertZ2 = GUICtrlCreateInput("0", 688, 360, 121, 21)
    $Label9 = GUICtrlCreateLabel("Mass in Z +", 688, 336, 59, 17, $SS_CENTER)
    $Input1 = GUICtrlCreateInput("NC", 544, 200, 121, 21)
    $Label6 = GUICtrlCreateLabel("Name der NC Datei ", 544, 176, 99, 17, $SS_CENTER)
    $Graphic2 = GUICtrlCreateGraphic(32, 408, 51, 52)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 6, 47)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 7)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 46, 7)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 24)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 31, 7)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 7)
    $Label10 = GUICtrlCreateLabel("Istmass in mm  X 100  Y 100 Z 10", 224, 488, 294, 24)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label11 = GUICtrlCreateLabel("X in +", 96, 416, 44, 32)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Graphic3 = GUICtrlCreateGraphic(144, 416, 51, 36)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 6, 14)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 14)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 32, 5)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 47, 14)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 31, 22)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 15)
    $Label12 = GUICtrlCreateLabel("Y in +", 32, 376, 44, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Graphic4 = GUICtrlCreateGraphic(32, 320, 51, 51)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 19, 4)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 19, 46)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 11, 22)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 19, 4)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 27, 21)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 19, 6)
    $Input2 = GUICtrlCreateInput("4000", 544, 104, 121, 21)
    $Label15 = GUICtrlCreateLabel("Spindel Drehzahl", 544, 80, 99, 17)
    $Input3 = GUICtrlCreateInput("500", 544, 152, 121, 21)
    $Label16 = GUICtrlCreateLabel("Forschub", 544, 128, 99, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			FileDelete(@ScriptDir & "\original.nc")
    			Exit
    		Case $Form1_1
    		Case $Label1
    		Case $Label2
    		Case $Label3
    		Case $Label7
    		Case $Label8
    		Case $Label9
    		Case $Beenden
    			FileDelete(@ScriptDir & "\original.nc")
    			Exit
    		Case $Erstellen
    			$WertX3 = GUICtrlRead($WertX1)
    			$WertY3 = GUICtrlRead($WertY1)
    			$WertZ3 = GUICtrlRead($WertZ1)
    			$WertX4 = GUICtrlRead($WertX2)
    			$WertY4 = GUICtrlRead($WertY2)
    			$WertZ4 = GUICtrlRead($WertZ2)
    			$drehzahl = GUICtrlRead($Input2)
    			$vorschub = GUICtrlRead($Input3)
    			$ncfilename = GUICtrlRead($Input1)
    			$ergebnisx = (100 - $WertX3 + $WertX4)
    			$ergebnisY = (100 - $WertY3 + $WertY4)
    			$ergebnisZ = (10 - $WertZ3 + $WertZ4)
    			$ergebnis = "  X " & $ergebnisx & "  Y " & $ergebnisY & "  Z " & $ergebnisZ
    			$Label10 = GUICtrlCreateLabel("Istmass in mm" & $ergebnis, 224, 488, 294, 24)
    			GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    			$arFile = FileReadToArray(@ScriptDir & "\original.nc")
    			Local $arX = [18, 86], $arY = [22, 22], $arZ = [22, 152], $arF = [21, 21], $arS = [17, 17]
    			;Änder X
    			For $i = $arX[0] - 1 To $arX[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "X(\d*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0]) ;Calculate X with data
    					$data = ($data - $WertX3 + $WertX4)
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "X(\d*(?:\.)?\d*)", "X" & $data)
    				EndIf
    			Next
    			;Änder Z
    			For $i = $arZ[0] - 1 To $arZ[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "Z(\-*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0])
    					$data = ($data - $WertZ3 + $WertZ4) ;Calculate Z with data
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "Z(\-*(?:\.)?\d*)", "Z" & $data)
    				EndIf
    			Next
    			;Änder Y
    			For $i = $arY[0] - 1 To $arY[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "Y(\d*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0])
    					$data = ($data - $WertY3 + $WertY4) ;Calculate Y with data
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "Y(\d*(?:\.)?\d*)", "Y" & $data)
    				EndIf
    			Next
    			For $i = $arF[0] - 1 To $arF[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "F(\d*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0])
    					$data = ($vorschub) ;Calculate Vorschub with data
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "F(\d*(?:\.)?\d*)", "F" & $data)
    				EndIf
    			Next
    			For $i = $arS[0] - 1 To $arS[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "S(\d*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0])
    					$data = ($drehzahl) ;Calculate Drehzahl with data
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "S(\d*(?:\.)?\d*)", "S" & $data)
    				EndIf
    			Next
    			If FileExists("C:\NC Programm\Erstellte Dateinen\") Then
    				$sFilePath = ("C:\NC Programm\Erstellte Dateinen\" & $ncfilename & ".nc")
    			Else
    				DirCreate("C:\NC Programm\Erstellte Dateinen\")
    				$sFilePath = ("C:\NC Programm\Erstellte Dateinen\" & $ncfilename & ".nc")
    			EndIf
    			_FileWriteFromArray($sFilePath, $arFile)
    			;_ArrayDisplay($arFile)
    	EndSwitch
    WEnd
    Alles anzeigen
  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 1. März 2017 um 17:52

    So Habs noch mal getestet und mit der original.nc die ich angepast habe funktioniert es nicht, der unterschied ist das die Z Koordinaten nicht z.B. Z 63.572 sondern Z-63.572.

    Ist eine txt da ich keine nc hochladen kann
    original.txt

  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 1. März 2017 um 10:16

    Wenn du die NC Datei von hier nimmst sind die Grund Werte ja positiv erstell eine mit negativ Werte und benutzt die als original.nc


    Edit:
    @alpines
    Hab dein Eintrag nicht richtig gelesen (vom Handy und das beim Zahnarzt :/ )
    Ich Teste es selber noch mal aber jetzt kapier ich es bald selber nicht mehr ?(

  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 1. März 2017 um 09:44

    Die Werte werden ja errechnet, so lange der Wert über Null sprich positiv ist Last alles aber sobald er ins negativ geht schreibt das Script eine 0 direkt nach dem Z ich gehen mal von aus dass das Vorzeichen ein Problem ist da wenn ich die Berechnung 2 oder mehr mal durch führen ersetzt er die 0 gegen den berechneten Wert

    Gesendet von meinem SM-G930F mit Tapatalk

  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 1. März 2017 um 09:32

    Das Problem mit der 0 nach dem Z ist immer noch

    Gesendet von meinem SM-G930F mit Tapatalk

  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 28. Februar 2017 um 15:06

    Hier mal das Script zum Testen, einfach die NC File in meinem Ersten Post test.txt in orginal.nc umbennen und in das ScriptDir packen.


    AutoIt
    #include <ButtonConstants.au3>
    #include <WinAPIFiles.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <Array.au3>
    ;FileInstall("original.nc",@ScriptDir & "\original.nc",1);   <- original.nc muss beim kompilieren im @ScriptDir liegen
    $Form1_1 = GUICreate("NC Code Anpassung", 894, 533, 192, 124)
    $Graphic1 = GUICtrlCreateGraphic(80, 8, 400, 400)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x000000, 0x3366FF)
    GUICtrlSetGraphic(-1, $GUI_GR_RECT, 0, 0, 400, 400)
    $WertY1 = GUICtrlCreateInput("0", 544, 248, 121, 21)
    $WertX1 = GUICtrlCreateInput("0", 544, 304, 121, 21)
    $Label1 = GUICtrlCreateLabel("Mass in Y -", 544, 224, 56, 17, $SS_CENTER)
    $Label2 = GUICtrlCreateLabel("Mass in X -", 544, 280, 56, 17, $SS_CENTER)
    $WertZ1 = GUICtrlCreateInput("0", 544, 360, 121, 21)
    $Label3 = GUICtrlCreateLabel("Mass in Z -", 544, 336, 56, 17, $SS_CENTER)
    $Label4 = GUICtrlCreateLabel("X undY 0", 8, 456, 72, 25, $SS_CENTER)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Label5 = GUICtrlCreateLabel("Grundmass in mm X100 Y 100 Z10", 0, 488, 204, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Erstellen = GUICtrlCreateButton("Erstellen", 544, 440, 123, 25)
    $Beenden = GUICtrlCreateButton("Beenden", 544, 472, 123, 25)
    $WertY2 = GUICtrlCreateInput("0", 688, 248, 121, 21)
    $WertX2 = GUICtrlCreateInput("0", 688, 304, 121, 21)
    $Label7 = GUICtrlCreateLabel("Mass in Y +", 688, 224, 59, 17, $SS_CENTER)
    $Label8 = GUICtrlCreateLabel("Mass in X +", 688, 280, 59, 17, $SS_CENTER)
    $WertZ2 = GUICtrlCreateInput("0", 688, 360, 121, 21)
    $Label9 = GUICtrlCreateLabel("Mass in Z +", 688, 336, 59, 17, $SS_CENTER)
    $Input1 = GUICtrlCreateInput("NC", 544, 200, 121, 21)
    $Label6 = GUICtrlCreateLabel("Name der NC Datei ", 544, 176, 99, 17, $SS_CENTER)
    $Graphic2 = GUICtrlCreateGraphic(32, 408, 51, 52)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 6, 47)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 7)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 46, 7)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 24)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 31, 7)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 7)
    $Label10 = GUICtrlCreateLabel("Istmass in mm  X 100  Y 100 Z 10", 224, 488, 294, 24)
    			GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label11 = GUICtrlCreateLabel("X in +", 96, 416, 44, 32)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Graphic3 = GUICtrlCreateGraphic(144, 416, 51, 36)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 6, 14)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 14)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 32, 5)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 47, 14)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 31, 22)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 15)
    $Label12 = GUICtrlCreateLabel("Y in +", 32, 376, 44, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Graphic4 = GUICtrlCreateGraphic(32, 320, 51, 51)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 19, 4)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 19, 46)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 11, 22)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 19, 4)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 27, 21)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 19, 6)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    		Case $Form1_1
    		Case $Label1
    		Case $Label2
    		Case $Label3
    		Case $Label7
    		Case $Label8
    		Case $Label9
    		Case $Beenden
    			;FileDelete(@ScriptDir&"\original.nc")
    			Exit
    		Case $Erstellen
    			$WertX3 = GUICtrlRead($WertX1)
    			$WertY3 = GUICtrlRead($WertY1)
    			$WertZ3 = GUICtrlRead($WertZ1)
    			$WertX4 = GUICtrlRead($WertX2)
    			$WertY4 = GUICtrlRead($WertY2)
    			$WertZ4 = GUICtrlRead($WertZ2)
    			$ncfilename = GUICtrlRead($Input1)
    			$ergebnisx = (100 - $Wertx3 + $WertX4)
    			$ergebnisY = (100 - $WertY3 + $WertY4)
    			$ergebnisZ = (10 - $WertZ3 + $WertZ4)
    			$ergebnis = "  X "&$ergebnisx&"  Y "&$ergebnisy& "  Z "&$ergebnisz
    			$Label10 = GUICtrlCreateLabel("Istmass in mm"&$ergebnis, 224, 488, 294, 24)
    			GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    			$arFile = FileReadToArray(@ScriptDir & "\original.nc")
    			Local $arX = [18, 86], $arY = [22, 22], $arZ = [22, 152]
    			;Änder X
    			For $i = $arX[0] - 1 To $arX[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "X(\d*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0]);Calculate X with data
    					$data = ($data - $WertX3 + $WertX4)
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "X(\d*(?:\.)?\d*)", "X" & $data)
    				EndIf
    			Next
    			;Änder Z
    			For $i = $arZ[0] - 1 To $arZ[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "Z(\d*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0])
    					$data = ($data - $WertZ3 + $WertZ4);Calculate Z with data
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "Z(\d*(?:\.)?\d*)", "Z" & $data)
    				EndIf
    			Next
    			;Änder Y
    			For $i = $arY[0] - 1 To $arY[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "Y(\d*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0])
    					$data = ($data - $WertY3 + $WertY4) ;Calculate Y with data
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "Y(\d*(?:\.)?\d*)", "Y" & $data)
    				EndIf
    			Next
    			If FileExists("C:\NC Programm\Erstellte Dateinen\") Then
    			$sFilePath = ("C:\NC Programm\Erstellte Dateinen\" & $ncfilename & ".nc")
    			Else
    				DirCreate("C:\NC Programm\Erstellte Dateinen\")
    				$sFilePath = ("C:\NC Programm\Erstellte Dateinen\" & $ncfilename & ".nc")
    			EndIf
    			_FileWriteFromArray($sFilePath,$arFile)
    			;_ArrayDisplay($arFile)
    	EndSwitch
    WEnd
    Alles anzeigen
  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 28. Februar 2017 um 14:45

    @Kanashius

    Hier noch ein Kleiner Auszug vom Script, so sollte es doch passen oder, versuchen kann ich das heute Abend erst.

    AutoIt
    $data = ($data - $WertZ3 + $WertZ4);Calculate Z with data
    If $data<-99 Then $data=-99 ;Maximanl Wert der Z Achse
    If $data<0 Then $data="0"&$data ;damit keine Null nach dem Z eingetragen wird 
    $arFile[$i] = StringRegExpReplace($arFile[$i], "Z(\d*(?:\.)?\d*)", "Z" & $data)


    Aber wie gesagt Probleme hatte ich bis her nicht, bis auf die angeschrieben.

  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 28. Februar 2017 um 11:17

    Nö Fehler Hab ich keine, funktioniert tadellos, aber versteh jetzt nichtgenau was du meinest mit der Falschen Deklaration oder bezieht sich das auf die 22 ? weil ja(hoffe es richtig verstanden zu haben) jede Achse nur einen bestimmten Bereichgeändert wird in diesem Script deswegen die verschiedenen Deklarationen.

    Ich kämpfe mich schon durch RegExp undden Arrays und kampier das noch nicht ganz. ;(

    Ich bin jetzt auch kein Profi inAutoit, mach das als Hobby nebenher und kämpfe mich durch die Hilfe und FAQ´s,
    darum muss man mir das etwasverständlicher erklären mein Hirn ist nicht mehr so Aufnahmefähig wie Früher. ;)

    Das Script wird dennoch nach und nacherweitert.

  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 28. Februar 2017 um 10:35

    Wie schon erwähnt werde ich heute Abend noch was rein packen (wenn nichts dazwischen kommt).


    Aber was ich schon jetzt sagen kann ist das alle Daten von einem Grund NC Code kommen (orginal.nc) die einmal angepasst wird, je nach dem wo das Teil eingespannt wird bzw. das Spannmittel ist auf dem Tisch.

    Die Anschläge sind fest definiert so wie auch Nullstellung.
    Das Script soll ja die nur zur Anpassung verwendet werden, weil das Rohteil Länger oder Stärker sein kann bzw. die Streifen die abgetrennt werden unterschiedlich sind.

    Was die ursachen des Symptom z.B. G01 X195.138 Z-14.428 wird zu G01 X195.138 Z0-14.428 ist das die Orginal Code wie Hier Z schon im Minus ist und das Script packt mir dan einfach eine 0 nach dem Z und die verfahrwege passen nicht mehr , bei Positiven Werte Funktioniert alles.

    Ich hoffe das jetzt keine verwirrung auf taucht, aber mit den restlichdaten kommt bestimmt klarheit.

    Mfg

  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 28. Februar 2017 um 07:40

    Hallo

    Danke Kanashius für den Tipp

    Also Hab noch etwas rumgebastelt und konnte jetzt endlich an die Maschine eine Test machen und habe gleich mal ein Problem gefunden, wenn die Orginal.nc minus Werte hat wird bei der Berechnung ein 0 angehängt.

    z.B. G01 X195.138 Z-14.428 wird zu G01 X195.138 Z0-14.428

    hat eventuell jemand eine Lösung.


    mfg

    werde heute aben wenn ich wieder zuhausen bin das Aktuelle Script anhängen.

  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 19. Februar 2017 um 16:41

    Hallo,

    erstmal vielen Dank an Kanashius für die Hilfe hat alles so geklappt wie ich es mir vorgestellt habe.

    Hier mal der überarbeiteter Code.

    AutoIt: NC Code Anpassung
    #include <ButtonConstants.au3>
    #include <WinAPIFiles.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <Array.au3>
    FileInstall("original.nc",@ScriptDir & "\original.nc",1);   <- background.jpg muss beim kompilieren im @ScriptDir liegen
    #Region ### START Koda GUI section ### Form=c:\users\amill\downloads\koda_1.7.3.0\templates\nc.kxf
    $Form1_1 = GUICreate("NC Code Anpassung", 894, 533, 192, 124)
    $Graphic1 = GUICtrlCreateGraphic(80, 8, 400, 400)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x000000, 0x3366FF)
    GUICtrlSetGraphic(-1, $GUI_GR_RECT, 0, 0, 400, 400)
    $WertY1 = GUICtrlCreateInput("0", 544, 248, 121, 21)
    $WertX1 = GUICtrlCreateInput("0", 544, 304, 121, 21)
    $Label1 = GUICtrlCreateLabel("Mass in Y -", 544, 224, 56, 17, $SS_CENTER)
    $Label2 = GUICtrlCreateLabel("Mass in X -", 544, 280, 56, 17, $SS_CENTER)
    $WertZ1 = GUICtrlCreateInput("0", 544, 360, 121, 21)
    $Label3 = GUICtrlCreateLabel("Mass in Z -", 544, 336, 56, 17, $SS_CENTER)
    $Label4 = GUICtrlCreateLabel("X undY 0", 8, 456, 72, 25, $SS_CENTER)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Label5 = GUICtrlCreateLabel("Grundmass in mm X100 Y 100 Z10", 0, 488, 204, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Erstellen = GUICtrlCreateButton("Erstellen", 544, 440, 123, 25)
    $Beenden = GUICtrlCreateButton("Beenden", 544, 472, 123, 25)
    $WertY2 = GUICtrlCreateInput("0", 688, 248, 121, 21)
    $WertX2 = GUICtrlCreateInput("0", 688, 304, 121, 21)
    $Label7 = GUICtrlCreateLabel("Mass in Y +", 688, 224, 59, 17, $SS_CENTER)
    $Label8 = GUICtrlCreateLabel("Mass in X +", 688, 280, 59, 17, $SS_CENTER)
    $WertZ2 = GUICtrlCreateInput("0", 688, 360, 121, 21)
    $Label9 = GUICtrlCreateLabel("Mass in Z +", 688, 336, 59, 17, $SS_CENTER)
    $Input1 = GUICtrlCreateInput("NC", 544, 200, 121, 21)
    $Label6 = GUICtrlCreateLabel("Name der NC Datei ", 544, 176, 99, 17, $SS_CENTER)
    $Graphic2 = GUICtrlCreateGraphic(32, 408, 51, 52)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 6, 47)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 7)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 46, 7)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 24)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 31, 7)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 7)
    $Label10 = GUICtrlCreateLabel("Istmass in mm  X 100  Y 100 Z 10", 224, 488, 294, 24)
    			GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label11 = GUICtrlCreateLabel("X in +", 96, 416, 44, 32)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Graphic3 = GUICtrlCreateGraphic(144, 416, 51, 36)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 6, 14)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 14)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 32, 5)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 47, 14)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 31, 22)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 46, 15)
    $Label12 = GUICtrlCreateLabel("Y in +", 32, 376, 44, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Graphic4 = GUICtrlCreateGraphic(32, 320, 51, 51)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 19, 4)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 19, 46)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 11, 22)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 19, 4)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 27, 21)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, 19, 6)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    		Case $Form1_1
    		Case $Label1
    		Case $Label2
    		Case $Label3
    		Case $Label7
    		Case $Label8
    		Case $Label9
    		Case $Beenden
    			FileDelete(@ScriptDir&"\original.nc")
    			Exit
    		Case $Erstellen
    			$WertX3 = GUICtrlRead($WertX1)
    			$WertY3 = GUICtrlRead($WertY1)
    			$WertZ3 = GUICtrlRead($WertZ1)
    			$WertX4 = GUICtrlRead($WertX2)
    			$WertY4 = GUICtrlRead($WertY2)
    			$WertZ4 = GUICtrlRead($WertZ2)
    			$ncfilename = GUICtrlRead($Input1)
    			$ergebnisx = (100 - $Wertx3 + $WertX4)
    			$ergebnisY = (100 - $WertY3 + $WertY4)
    			$ergebnisZ = (10 - $WertZ3 + $WertZ4)
    			$ergebnis = "  X "&$ergebnisx&"  Y "&$ergebnisy& "  Z "&$ergebnisz
    			$Label10 = GUICtrlCreateLabel("Istmass in mm"&$ergebnis, 224, 488, 294, 24)
    			GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    			$arFile = FileReadToArray(@ScriptDir & "\original.nc")
    			Local $arX = [18, 86], $arY = [22, 22], $arZ = [22, 152]
    			;Änder X
    			For $i = $arX[0] - 1 To $arX[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "X(\d*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0]);Calculate X with data
    					$data = ($data - $WertX3 + $WertX4)
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "X(\d*(?:\.)?\d*)", "X" & $data)
    				EndIf
    			Next
    			;Änder Z
    			For $i = $arZ[0] - 1 To $arZ[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "Z(\d*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0])
    					$data = ($data - $WertZ3 + $WertZ4);Calculate Z with data
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "Z(\d*(?:\.)?\d*)", "Z" & $data)
    				EndIf
    			Next
    			;Änder Y
    			For $i = $arY[0] - 1 To $arY[1] - 1 Step 1
    				$data = StringRegExp($arFile[$i], "Y(\d*(?:\.)?\d*)", 3)
    				If UBound($data) > 0 Then
    					$data = Number($data[0])
    					$data = ($data - $WertY3 + $WertY4) ;Calculate Y with data
    					$arFile[$i] = StringRegExpReplace($arFile[$i], "Y(\d*(?:\.)?\d*)", "Y" & $data)
    				EndIf
    			Next
    			If FileExists("C:\NC Programm\Erstellte Dateinen\") Then
    			$sFilePath = ("C:\NC Programm\Erstellte Dateinen\" & $ncfilename & ".nc")
    			Else
    				DirCreate("C:\NC Programm\Erstellte Dateinen\")
    				$sFilePath = ("C:\NC Programm\Erstellte Dateinen\" & $ncfilename & ".nc")
    			EndIf
    			_FileWriteFromArray($sFilePath,$arFile)
    			;_ArrayDisplay($arFile)
    	EndSwitch
    WEnd
    Alles anzeigen

    Meine frage ist es möglich die Werte ein zugrenzen sprich das ich keine Minus oder extrem Plus Werte bekomme bei der Berechnung z.b. bei X -200 Y -100 Z-10 weill sonst fährt die Maschine gegen Anschlag.

    Edit: Hab noch eine Ordner Überprüfung reingepackt und die original.nc in die exe Integriert, eventuell kann man es schöner machen.


    Mfg

    Alex

  • Maschinencode anpassen, Ideen und Hilfe stellung

    • bytesinner
    • 19. Februar 2017 um 00:41

    Hallo zusammen,

    Ich habe einen Maschinencode für eine 3 Achsen Portalmaschine der anbestimmten Stellen Variabel angepasst werden muss, die Werte werden Mathematisch berechnet, sprich dazu oder abgezogen um ein Verschiebung der Verfahr Wege zu realisieren.

    Eine klein GUI mit MsgBox zur Überprüfung hab ich erstellt aber komme jetzt nicht weiter wie ich die Menge von Daten verarbeiten soll.

    Zum Test wird nur die Zeile 22 und der Wert X zum Test rangenommen, test.txt ist ganz unten angehägt.

    Die Anforderung ist nur bestimmte Koordinaten anzupassen, für X die Zeilenvon 22 bis 84, Z 22-152 und Y nur 21 der Rest muss so bleiben.
    Das Schwierige ist wie der Code geschrieben wird z.B. Zeile 22 "G01 X195.138Z14.428"(ohne "), die Werte in Rot sind nie dieselben was mich vermuten lässt dasich Zeile für Zeile auslesen und ändern muss.

    Das nächste ist das die File keine txt Endung hat sondern nc aber ich wäreschon glücklich ein txt File zu generieren oder anzupassen.

    Hier einmal mein recht simpler Code der GUi und der Ausgabe

    AutoIt: nc2.au3
    #include <ButtonConstants.au3>
    #include <WinAPIFiles.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <Array.au3>
    #Region ### START Koda GUI section ### Form=c:\users\amill\downloads\koda_1.7.3.0\templates\nc.kxf
    $Form1_1 = GUICreate("Form1", 894, 533, 192, 124)
    $Graphic1 = GUICtrlCreateGraphic(80, 8, 446, 406)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x000000, 0x3366FF)
    GUICtrlSetGraphic(-1, $GUI_GR_RECT, 8, 8, 433, 393)
    
    
    $WertY1 = GUICtrlCreateInput("0", 544, 264, 121, 21)
    $WertX1 = GUICtrlCreateInput("0", 544, 312, 121, 21)
    $Label1 = GUICtrlCreateLabel("Mass in Y -", 544, 240, 56, 17, $SS_CENTER)
    $Label2 = GUICtrlCreateLabel("Mass in X -", 544, 288, 56, 17, $SS_CENTER)
    $WertZ1 = GUICtrlCreateInput("0", 544, 360, 121, 21)
    $Label3 = GUICtrlCreateLabel("Mass in Z -", 544, 336, 56, 17, $SS_CENTER)
    $Label4 = GUICtrlCreateLabel("X undY 0", 88, 416, 96, 25, $SS_CENTER)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Label5 = GUICtrlCreateLabel("Grundmass in mm X100 Y 100 Z10", 96, 440, 204, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Erstellen = GUICtrlCreateButton("Erstellen", 544, 440, 123, 25)
    $Beenden = GUICtrlCreateButton("Beenden", 544, 472, 123, 25)
    $WertY2 = GUICtrlCreateInput("0", 688, 264, 121, 21)
    $WertX2 = GUICtrlCreateInput("0", 688, 312, 121, 21)
    $Label7 = GUICtrlCreateLabel("Mass in Y +", 688, 240, 59, 17, $SS_CENTER)
    $Label8 = GUICtrlCreateLabel("Mass in X +", 688, 288, 59, 17, $SS_CENTER)
    $WertZ2 = GUICtrlCreateInput("0", 688, 360, 121, 21)
    $Label9 = GUICtrlCreateLabel("Mass in Z +", 688, 336, 59, 17, $SS_CENTER)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    
    
    		Case $Form1_1
    		Case $Label1
    		Case $Label2
    		Case $Label3
    		Case $Label7
    		Case $Label8
    		Case $Label9
    		Case $Beenden
    			Exit
    		Case $Erstellen
    			$WertX3 = GUICtrlRead($WertX1)
    			$WertY3 = GUICtrlRead($Werty1)
    			$WertZ3 = GUICtrlRead($WertZ1)
    			$WertX4 = GUICtrlRead($WertX2)
    			$WertY4 = GUICtrlRead($Werty2)
    			$WertZ4 = GUICtrlRead($WertZ2)
    
    
    
    
    			;Datei einlesen
    
    
    			$file=FileOpen("C:\Users\amill\Desktop\test.txt",0)
    
    
    			;Zeile und einrückung bestimmen
    
    
    			$deinezeile = 22
    			$ab_zeichen = 6
    
    
    
    
    
    
    
    
    
    
    			;Daten zusammen fassen
    
    
    			$string = StringMid(FileReadLine($file, $deinezeile), $ab_zeichen)
    
    
    			;Berechnung
    
    
    			$ergebnis = ($string - $Wertx3 + $WertX4)
    
    
    			;Fertige Zeile die geschrieben werden soll
    
    
    			$string2="G01 X"&$ergebnis&" Z14.428"
    
    
    			Msgbox(0, "Ergebnis", $ergebnis)
    			FileWrite("C:\Users\amill\Desktop\test.txt",$string2&@CR)
    
    
    
    
    
    
    
    
    	EndSwitch
    WEnd
    Alles anzeigen

    Ich verlang jetzt kein Komplettlösung (aber freuen würde ich mich dennoch darüber ^^ ) wohl verlagen schon übelkling :/ , hoffe auf eine Unterstützung meines Problems da ich schon seit Tagen daran hänge und keine Idee finde ?( , dazu kommt das ich jetzt kein Profi bin aber dennoch versuch zu Lernen was mir schwerfällt mit dem Alltagsstress.


    Mfg

    Alex

    Hier Noch mein Test.txt mit den NC Code.
    test.txt

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™