source, destination oder destination, source …

src_destGerade habe ich versucht von einem mobilen Geräte, welches mit WindowsCE ausgestattet ist per VB.net eine Datei auf den PC zu übertragen. Dies wollte einfach nicht funktionieren. Die Ursache des Problem war jedoch sehr einfach.
Gewöhnlich so: copy(Quelle, Ziel) in der API: copy(Ziel, Quelle). Das die API zuerst das Ziel erwartet muss man erst einmal wissen.-> hat mich ein paar Minuten googeln gekostet. 🙂
Hier noch eine kleine Anleitung wie man die API einsetzt:
Zuerst benötigt man eine .net Libary(Remote API, kurz RAPI), welche die nötigen Funktionen mitbringt. Diese kann bei opennetcf.com heruntergeladen werden. Download
Die heruntergeladene DLL muß in die Entwicklungsumgebung eingebunden werden. Wie dies geht, hatte ich bereits in einen Beitrag beschrieben. VB.NET – CoreTemp Werte…

Imports OpenNETCF.Desktop.Communication

Über “Imports” wird die Libary zugänglich gemacht. Anschließend ein RAPI Objekt erstellen

Dim WithEvents myrapi As New rapi

und einen Source und Destination Pfad festlegen.

Dim const_src_path As String = "\temp\test.txt"Dim const_des_path As String = "c:\temp\test.txt"

Praktischerweise legt man sich mehere Funktionen an, welche eine Verbindung aufbauen und trennen, die Datei kopieren und überprüfen ob die Datei kopiert wurde. Dies kann wie folgt aussehen.
Verbindung herstellen

Public Sub func_device_connect  Try  'verbinden  myrapi.Connect()
  'mehere verbindungsversuche  Do While Not myrapi.DevicePresent     MessageBox.Show("Bitte Gerät anschließen", "Kein Gerät angeschloßen")     myrapi.Connect()     Loop
     'fehler abfangen     Catch ex As Exception
     MessageBox.Show("Fehler " & ex.Message, "Verbindungsfehler")     'abruch     Application.Exit()  End TryEnd Sub

Verbindung beenden

Public Sub func_device_disconnect   myrapi.Disconnect()End Sub

Datei vom Gerät kopieren

Public Sub func_copy_file   Try   myrapi.CopyFileFromDevice(const_des_path, const_src_path)
   Catch ex As Exception   MessageBox.Show("Fehler beim kopieren" & ex.Message, "Fehler")   End TryEnd Sub

Möchte man eine Datei auf das Gerät kopieren, dann einfach CopyFileToDevice
Datei im Zielordner überprüfen

Public Function func_chk_file_exists(chk_file As String)   Dim result As Boolean
   If file.Exists(chk_file) = True Then      result = true   Else      result = False   End If
return resultEnd Function

Für “file.exists” muß der “System.IO” Namespace angegeben werden

Imports System.IO