I just tried this ...
Code: Select all
XIncludeFile #PB_Compiler_Home+"Include\Comateplus.pbi"
Enumeration
#Window
EndEnumeration
Enumeration
#ExplorerList
#Combo_Save
#Button_0
#Frame3D_0
#Frame3D_1
EndEnumeration
Global value
Procedure.s GetFilePartWithoutExtension(File.s) ; Procedure by NictheQuick
Protected *c.Character = @File, tmp.s = "", Result.s
While *c\c
If *c\c = '\'
tmp = ""
Result = ""
ElseIf *c\c = '.'
Result = tmp
tmp + Chr(*c\c)
Else
tmp + Chr(*c\c)
EndIf
*c + SizeOf(Character)
Wend
If Result
ProcedureReturn Result
Else
ProcedureReturn tmp
EndIf
EndProcedure
Procedure save()
Protected autocad.COMateObject
Protected document.COMateObject
Protected open.COMateObject
Protected activeDoc.COMateObject
autocad = COMate_CreateObject("autocad.application")
If autocad
OpenConsole()
document = autocad\GetObjectProperty("Documents")
;************
For i=0 To CountGadgetItems(#ExplorerList)-1
If GetGadgetItemState(#ExplorerList, i)&#PB_Explorer_Selected
file.s=GetGadgetItemText(#ExplorerList, i)
path.s=GetGadgetText(#ExplorerList)
open = document\GetObjectProperty("open('"+path+file+"', 1)")
savefile.s=path+"_"+GetFilePartWithoutExtension(file)
Print(file+".....")
If open
activeDoc = open\GetObjectProperty("Application\ActiveDocument")
If activeDoc
activeDoc\Invoke("SaveAs('"+savefile+"',"+Str(value)+")")
activeDoc\Release()
PrintN("saved")
Else
MessageRequester("Sorry!", "File not saved!")
EndIf
open\release()
Else
MessageRequester("Sorry!", "File couldn`t be openend!")
EndIf
EndIf
Next
document\release()
autocad\Invoke("Quit")
autocad\release()
CloseConsole()
Else
MessageRequester("Fehler!", "AutoCad muss installiert sein!")
EndIf
EndProcedure
Procedure Open_Window()
If OpenWindow(#Window, 335, 45, 400, 465, "AutoCad converter", #PB_Window_SystemMenu|#PB_Window_TitleBar )
ExplorerListGadget(#ExplorerList, 40, 35, 320, 300, "C:\*.dwg;*.dxf", #PB_Explorer_AlwaysShowSelection|#PB_Explorer_MultiSelect|#PB_Explorer_FullRowSelect|#PB_Explorer_AutoSort)
RemoveGadgetColumn(#ExplorerList, 2)
SetGadgetItemAttribute(#ExplorerList, 0, #PB_Explorer_ColumnWidth, 190, 0)
SetGadgetItemAttribute(#ExplorerList, 0, #PB_Explorer_ColumnWidth, 60, 1)
SetGadgetItemAttribute(#ExplorerList, 0, #PB_Explorer_ColumnWidth, 99, 2)
ComboBoxGadget(#Combo_Save, 40, 390, 225, 20)
AddGadgetItem(#Combo_Save, -1 , "AutoCAD Release12/LT2 DXF (*.dxf)")
AddGadgetItem(#Combo_Save, -1 , "AutoCAD Release13/LT95 DWG (*.dwg)")
AddGadgetItem(#Combo_Save, -1 , "AutoCAD Release13/LT95 DXF (*.dxf)")
AddGadgetItem(#Combo_Save, -1 , "AutoCAD Release14/LT97 DWG (*.dwg)")
AddGadgetItem(#Combo_Save, -1 , "AutoCAD Release14/LT97 DXF (*.dxf)")
AddGadgetItem(#Combo_Save, -1 , "AutoCAD 2000 DWG (*.dwg)")
AddGadgetItem(#Combo_Save, -1 , "AutoCAD 2000 DXF (*.dxf)")
AddGadgetItem(#Combo_Save, -1 , "AutoCAD 2000 DWT (*.dwt)")
AddGadgetItem(#Combo_Save, -1 , "AutoCAD 2004 DXF (*.dxf)")
AddGadgetItem(#Combo_Save, -1 , "AutoCAD 2004 DWG (*.dwg)")
AddGadgetItem(#Combo_Save, -1 , "AutoCAD 2004 DWT (*.dwt)")
SetGadgetState(#Combo_Save, 6)
Frame3DGadget(#Frame3D_0, 20, 365, 360, 65, "Save as version")
ButtonGadget(#Button_0, 285, 390, 75, 25, "save")
Frame3DGadget(#Frame3D_1, 20, 15, 360, 340, "")
EndIf
EndProcedure
Open_Window()
Repeat
event=WaitWindowEvent()
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_0
Select GetGadgetState(#Combo_Save)
Case 0: value=1
Case 1: value=4
Case 2: value=5
Case 3: value=8
Case 4: value=9
Case 5: value=12
Case 6: value=13
Case 7: value=14
Case 8: value=24
Case 9: value=25
Case 10: value=26
EndSelect
save()
EndSelect
EndSelect
Until event=#PB_Event_CloseWindow