2091
General Mach Discussion / Re: G49 on Mach3 Mill
« on: February 05, 2018, 01:30:06 PM »
ok here is the Version with pathes remembered and Abort on the wright place
used Userlabel 200 and 201 just Change if allready in use
used Userlabel 200 and 201 just Change if allready in use
Code: [Select]
Sub Main()
'get the source file
Dim Filename As String
Dim Dialog1
Set Dialog1 = CreateObject("MSComDlg.CommonDialog")
Dialog1.MaxFileSize = 256
Dialog1.Filter = "GCode Files (*.tap)|*.tap"
Dialog1.FilterIndex = 1
Dialog1.DialogTitle = "select GCode file"
Dialog1.InitDir = "C:\Mach3\GCode"
'get the last selection
Dialog1.FileName = GetUserLabel(200)
save = false
If save = true Then
Dialog1.DefaultExt = def
Dialog1.Flags = &H800 + &H4
discard = Dialog1.ShowSave()
Else
Dialog1.Flags = &H1000 + &H4 + &H800
discard = Dialog1.ShowOpen()
End If
FileName = Dialog1.FileName
If Len(FileName) = 0 Then Exit Sub
'store last selection
SetUserLabel(200,FileName)
'get the destination folder
Dim destfile As String
Dialog1.DialogTitle = "select destination folder and filename"
'get the last selection
Dialog1.FileName = GetUserLabel(201)
save = true
If save = true Then
Dialog1.DefaultExt = def
Dialog1.Flags = &H800 + &H4
discard = Dialog1.ShowSave()
Else
Dialog1.Flags = &H1000 + &H4 + &H800
discard = Dialog1.ShowOpen()
End If
destfile = Dialog1.FileName
If Len(destfile) = 0 Then Exit Sub
'store last selection
SetUserLabel(201,destfile)
'open input file
FNumInput = FreeFile 'Determine next file number.
Open FileName For Input As FNumInput
'open output file
FNumOutput = FreeFile 'Determine next file number.
Open "C:\Mach3\GCode\import.txt" For Output As FNumOutput
'go through To whole file
Do While Not EOF(FNumInput)
Line Input #FNumInput, FileData ' Read a line of data.
If ((InStr(FileData,"G43") <> 0) And (Left(FileData,1) <> "(")) Then
Print #FNumOutput, "( " + FileData + " )"
Else
Print #FNumOutput, FileData
End If
Loop
Close ' Close all open files.
DoOEMButton(169) 'close Mach3 files just in case
SourceFile = "C:\Mach3\GCode\import.txt"
FileCopy SourceFile, destfile ' Copy source to target.
Kill SourceFile
LoadFile( destfile)
End Sub