MS Dateiverarbeitung

This commit is contained in:
Digital Data - Marlon Schreiber 2019-04-16 12:20:24 +02:00
parent 676e9d40b8
commit fb73127a9c

View File

@ -134,58 +134,132 @@ Public Class clsDateiverarbeitung
Return String.Empty Return String.Empty
End Try End Try
End Function End Function
Public Function Export_WMFile2HDD(oWMFile As WMObject, MyExportpath As String) 'Public Function Export_WMFile2HDD(oWMFile As WMObject, MyExportpath As String)
' Try
' If Not MyExportpath.EndsWith("\") Then
' MyExportpath &= "\"
' End If
' Try
' Logger.Info("Working on WMFile: " & oWMFile.aName)
' Catch ex As Exception
' Logger.Error(ex)
' Return False
' End Try
' Dim ExportFileIO = New WMOTOOLLib.WMFileIO ' CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
' Logger.Debug("ExportFileIO created...")
' oWMFile.LockFor(WMObjectEditModeFileSystem)
' Try
' If Not oWMFile.aLocked Then
' oWMFile.lock()
' End If
' Catch ex As Exception
' Logger.Error(ex) 'clsLogger.AddError("Unvorhergesehener Fehler beim Lock-Vorgang: " & ex.Message, "clsDV.Export_File")
' Return False
' End Try
' Dim oWMStream = oWMFile.OpenStream("BinaryObject", 2)
' '### VERSIONIERUNG ###
' Dim version As Integer = 2
' 'Dim Stammname As String = System.IO.Path.GetFileNameWithoutExtension(Quelle)
' Dim oFilename = oWMFile.aName.Substring(0, oWMFile.aName.LastIndexOf("."))
' Dim oExtension = oWMFile.aName.Substring(oWMFile.aName.LastIndexOf("."))
' Dim oTempFilename As String = MyExportpath & oFilename & oExtension
' 'Überprüfen ob File existiert
' Do While IO.File.Exists(oTempFilename) = True
' oTempFilename = MyExportpath & oFilename & "_" & version & oExtension
' version = version + 1
' Loop
' Logger.Debug("Exportfilename is: " & oTempFilename)
' ' den Dateiinhalt der neuen Datei zuweisen
' ExportFileIO.aWMStream = oWMStream
' ExportFileIO.bstrOriginalFileName = oTempFilename
' 'Das eigentliche kopieren
' ExportFileIO.ExportOriginal(True)
' ' close the windream file stream
' oWMStream.Close()
' oWMFile.Save()
' oWMFile.unlock()
' If File.Exists(oTempFilename) Then
' clsCURRENT.EXPORTED_FILENAME = oTempFilename
' Logger.Info($"File Export to HDD [{clsCURRENT.EXPORTED_FILENAME}] was successfull (File.Exists = True)!")
' aktfile_Exportresult = clsCURRENT.EXPORTED_FILENAME
' clsCURRENT.TEMP_FILES.Add(clsCURRENT.EXPORTED_FILENAME)
' Logger.Debug("FileInfo Added to variables...")
' Return True
' Else
' Logger.Warn($"Export not successfull or File.Exists = false Export: [{oTempFilename}]")
' Return False
' End If
' Catch ex As Exception
' Logger.Error(ex)
' Logger.Info("Unexpected error in Export_WMFile: " & ex.Message)
' Return False
' End Try
'End Function
'Kopiert die übergebene Datei In den Zielpfad
Public Function Export_WMFile2HDD(oWMFile As WMObject, oZielpfad As String)
Try Try
If Not MyExportpath.EndsWith("\") Then If Not oZielpfad.EndsWith("\") Then
MyExportpath &= "\" oZielpfad = oZielpfad & "\"
End If End If
Dim oNewFilename As String
Logger.Info("Verarbeitung von Datei: " & oWMFile.aName)
oNewFilename = CleanInput(oWMFile.aName)
'Die Quelle zusammensetzen
Logger.Debug("PFAD: " & clsCURRENT.WDLAUFWERK & ":" & oWMFile.aPath & "\" & oWMFile.aName)
'Dim Quelle As String = IO.Path.GetDirectoryName(WDLaufwerk & ":" & WDDatei.aPath & "\" & WDDatei.aName)
Dim ExportFileIO = New WMOTOOLLib.WMFileIO ' CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
Logger.Debug("ExportFileIO erzeugt.....")
' Stream Interface bereitstellen
oWMFile.LockFor(WMObjectEditModeFileSystem)
Try Try
Logger.Info("Working on WMFile: " & oWMFile.aName) If Not oWMFile.aLocked Then
oWMFile.lock()
End If
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) Logger.Error(ex) 'clsLogger.AddError("Unvorhergesehener Fehler beim Lock-Vorgang: " & ex.Message, "clsDV.Export_File")
Return False Return False
End Try End Try
Dim ExportFileIO = New WMOTOOLLib.WMFileIO ' CreateObject("WMOTOOLLib.WMFileIO") ' New WMOTOOLLib.WMFileIO
Logger.Debug("ExportFileIO created...")
Dim oWMStream = oWMFile.OpenStream("BinaryObject", 1) Dim oWMStream = oWMFile.OpenStream("BinaryObject", WMObjectStreamOpenModeReadWrite)
'### VERSIONIERUNG ### '### VERSIONIERUNG ###
Dim version As Integer = 2 Dim version As Integer = 2
'Dim Stammname As String = System.IO.Path.GetFileNameWithoutExtension(Quelle) 'Dim Stammname As String = System.IO.Path.GetFileNameWithoutExtension(Quelle)
Dim oFilename = oWMFile.aName.Substring(0, oWMFile.aName.LastIndexOf(".")) Dim oFilename = oWMFile.aName.Substring(0, oWMFile.aName.LastIndexOf("."))
Dim oExtension = oWMFile.aName.Substring(oWMFile.aName.LastIndexOf(".")) Dim oExtension = oWMFile.aName.Substring(oWMFile.aName.LastIndexOf("."))
Dim oTempFilename As String = MyExportpath & oFilename & oExtension Dim oTempFilename As String = oZielpfad & oFilename & oExtension
'Überprüfen ob File existiert 'Überprüfen ob File existiert
Do While IO.File.Exists(oTempFilename) = True Do While IO.File.Exists(oTempFilename) = True
oTempFilename = MyExportpath & oFilename & "_" & version & oExtension oTempFilename = oZielpfad & oFilename & "_" & version & oExtension
version = version + 1 version = version + 1
Loop Loop
Logger.Debug("Exportfilename is: " & oTempFilename) Logger.Debug("Zieldateiname: " & oTempFilename)
' den Dateiinhalt der neuen Datei zuweisen ' den Dateiinhalt der neuen Datei zuweisen
ExportFileIO.bstrOriginalFileName = oTempFilename
ExportFileIO.aWMStream = oWMStream ExportFileIO.aWMStream = oWMStream
ExportFileIO.bstrOriginalFileName = oTempFilename
'Das eigentliche kopieren 'Das eigentliche kopieren
ExportFileIO.ExportOriginal(True) ExportFileIO.ExportOriginal(True)
' close the windream file stream ' close the windream file stream
oWMStream.Close() oWMStream.Close()
If File.Exists(oTempFilename) Then oWMFile.Save()
clsCURRENT.EXPORTED_FILENAME = oTempFilename oWMFile.unlock()
Logger.Info($"File Export to HDD [{clsCURRENT.EXPORTED_FILENAME}]was successfull (File.Exists = True)!") clsCURRENT.EXPORTED_FILENAME = oTempFilename
aktfile_Exportresult = clsCURRENT.EXPORTED_FILENAME Logger.Info("Datei erfolgreich nach '" & oTempFilename & "' kopiert.")
clsCURRENT.TEMP_FILES.Add(clsCURRENT.EXPORTED_FILENAME) aktfile_Exportresult = oTempFilename
Logger.Debug("FileInfo Added to variables...") clsCURRENT.TEMP_FILES.Add(oTempFilename)
Return True Return True
Else
Logger.Warn($"Export not successfull or File.Exists = false Export: [{oTempFilename}]")
Return False
End If
Catch ex As Exception Catch ex As Exception
'bei einem Fehler einen Eintrag in der Logdatei machen
Logger.Warn($"Unexpected in Export-File: [{oWMFile.aName}]...")
Logger.Error(ex) Logger.Error(ex)
Logger.Info("Unexpected error in Export_WMFile: " & ex.Message)
Return False Return False
End Try End Try
End Function End Function