Hi,
bin heute Nacht mal wieder weit gekommen...
Stehe gerade vor einem Problem, dass ich eine Dateiverschieben will, was was einen fest vorgegebenen Pfad hat.
Pfad X Quelle Name zu Pfad Y Ziel Name, wobei Name gleich bleibt - und in einer Listbox ausgewählt wird.
Eigentlich funktioniert alles bis auf dieser Fehlremeldung:
Der Wert vom Typ "String" kann nicht in "1-dimensionales Array von String" konvertiert werden.
Hier erst mal der Code:
Hauptprogramm
Datei_Verschieben.vb
FileCopy.vb
Kann zwar soweit an totaler Anfänger den code schon ganz gut nachvollziehen, aber bei diesen Fehlern tu ich mir schon echt schwer...
Das Programm FileCopy habe ich mir aus dem Internet geholt, vorher in einem anderen Testprojekt ausprobiert - in der Originalfassung - und es funktioniert super...
Ich möchte halt nur keinen Filedialog haben - sondern fest vorgegebene Pfade mit einer ausgewählten Datei...
Könnt Ihr mir da bisselr weiterhelfen ?
Danke vielmals...
lris08
bin heute Nacht mal wieder weit gekommen...
Stehe gerade vor einem Problem, dass ich eine Dateiverschieben will, was was einen fest vorgegebenen Pfad hat.
Pfad X Quelle Name zu Pfad Y Ziel Name, wobei Name gleich bleibt - und in einer Listbox ausgewählt wird.
Eigentlich funktioniert alles bis auf dieser Fehlremeldung:
Der Wert vom Typ "String" kann nicht in "1-dimensionales Array von String" konvertiert werden.
Hier erst mal der Code:
Hauptprogramm
VB.NET-Quellcode
- ' Pfade
- Dim DOCORDNER_q As String = "\\" & Serverpfad & "\" & Userpfad & "\" & Username & "\" & dmsPfad & "\ScannDokumente\"
- Dim DOCORDNER_z As String = "\\" & Serverpfad & "\" & Userpfad & "\" & Username & "\" & dmsPfad & "\Datentabellen\FILES\" & TextBox3.Text & "\" & TextBox4.Text & "\" & TextBox5.Text & "\"
- 'Testen ob Datei evtl. schon vorhanden ist...
- Dim Kontrollwert_a As String
- Kontrollwert_a = "0"
- If IO.File.Exists(DOCORDNER_z & TextBox6.Text) = True Then
- MsgBox(DOCORDNER_z & TextBox6.Text & "Diese Datei existiert bereits. " _
- & "Keine möglichkeit zum Archivieren.", MsgBoxStyle.Exclamation, _
- "FEHLER - Datei vorhanden")
- Kontrollwert_a = "1"
- End If
- ' Hier wird die betreffende Datei verschoben!
- ' out("Datei kopiert!")
- If Kontrollwert_a = "0" Then
- Call Datei_Verschieben.Show()
- .... da kommt dann noch was nach, was aber nix mit Kopieren zu tun hat.
Datei_Verschieben.vb
VB.NET-Quellcode
- Imports System.IO
- Imports System.IO.Directory
- Imports System.IO.File
- Imports System.Xml
- Public Class Datei_Verschieben
- Dim fc As FileCopy
- Dim ConfigPfad = Environment.GetFolderPath(Environment.SpecialFolder.Personal)
- Dim Serverpfad As String
- Dim Userpfad As String
- Dim dmsPfad As String
- Dim scannerpfad As String
- Dim Username As String = Environment.UserName()
- Dim Unterverzeichnis As String
- Dim Dokumentenmappen As String
- Dim MappenDateien As String
- Private Sub Datei_Verschieben_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- ' Hier werden die Pfade geladen!
- Dim XMLDoc As New XmlDocument
- Dim Knoten As XmlNode
- XMLDoc.Load(ConfigPfad & "\DMS_Pfade.xml")
- Dim Knotenliste As XmlNodeList = XMLDoc.SelectNodes("/Programmeinstellungen/Pfade")
- For Each Knoten In Knotenliste
- Serverpfad = Knoten.Attributes("Serverpfad").Value
- Userpfad = Knoten.Attributes("Userpfad").Value
- dmsPfad = Knoten.Attributes("dmsPfad").Value
- scannerpfad = Knoten.Attributes("scannerpfad").Value
- Next
- 'Dim fo As New OpenFileDialog
- 'Dim fb As New FolderBrowserDialog
- 'fo.Multiselect = True
- 'fo.ShowDialog()
- 'fb.Description = "Wählen Sie den Ordner wohin die Dateien kopiert werden sollen"
- 'fb.ShowDialog()
- ' Pfade
- Dim DOCORDNER_q As String = "\\" & Serverpfad & "\" & Userpfad & "\" & Username & "\" & dmsPfad & "\ScannDokumente\"
- Dim DOCORDNER_z As String = "\\" & Serverpfad & "\" & Userpfad & "\" & Username & "\" & dmsPfad & "\Datentabellen\FILES\" & Hauptprogramm.TextBox3.Text & "\" & Hauptprogramm.TextBox4.Text & "\" & Hauptprogramm.TextBox5.Text & "\"
- fc = New FileCopy(DOCORDNER_q & Hauptprogramm.TextBox6.Text, DOCORDNER_z & Hauptprogramm.TextBox6.Text) <-- HIER MECKERT ER! - Fehlermeldung wird hierher verwiesen
- fc.setLabel(Me.Label2)
- fc.setProgressBar(Me.ProgressBar1)
- fc.copyFiles()
- Button1.Visible = False
- Button2.Visible = True
- Me.Refresh()
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- fc.cancelWork()
- Button1.Visible = True
- Button2.Visible = False
- End Sub
FileCopy.vb
VB.NET-Quellcode
- ....
- 'Zuerst muss geprüft werden, ob alle angegeben Pfade gültig sind und
- 'die gesammt Größe aller Dateien errechnen
- '<--
- For Each s As String In files
- If IO.File.Exists(s) Then
- aBytes += IO.File.ReadAllBytes(s).Length
- Else
- MessageBox.Show("Fehler, datei " & s & " nicht gefunden!")
- Exit Sub
- End If
- Next <- HIER PASST IHM WAS NICHT MIT DEM NEXT...
- ...
Kann zwar soweit an totaler Anfänger den code schon ganz gut nachvollziehen, aber bei diesen Fehlern tu ich mir schon echt schwer...
Das Programm FileCopy habe ich mir aus dem Internet geholt, vorher in einem anderen Testprojekt ausprobiert - in der Originalfassung - und es funktioniert super...
Ich möchte halt nur keinen Filedialog haben - sondern fest vorgegebene Pfade mit einer ausgewählten Datei...
Könnt Ihr mir da bisselr weiterhelfen ?
Danke vielmals...
lris08