Zum Inhalt springen

Datei kopieren per VC++ .net


MeisterB

Empfohlene Beiträge

Da ich es nicht hinbekommen habe Dateien in meiner Accessdatenbank zu Speichern, muss ich jetzt den Umweg über normales Kopieren gehen! Ich speichere jetzt nur noch den Pfadnamen in der Datenbank und das Programm soll entsprechend die Dateien kopieren. Also Benutzer gibt per OpenFileDialog Datei an -> diese soll in einen Ordner mit den ganzen in der Datenbank gespeicherten Dateien kopiert werden. Der neue Pfad wird in Datenbank gespeichert und wenn Benutzer Datei wieder braucht wird der Pfad aus der Datenbank gelesen und die Datei wieder in einen vom Benutzer angegebenen Ordner kopiert. Soviel zu Theorie. Praktisch bin ich soweit: per OpenFileDialog kann ich den Pfad der Datei ermitteln! Die Datei soll im temp-Verzeichnis des Datenbankordner gespeichert werden(da dieser aber frei kopiert werden kann ist ein c:\Datenbankordner\temp nicht möglich).

Wie bekomme ich jetzt das Kopieren hin?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok musste windows.h inlcudieren aber wie wandle ich jetzt den Pfad der Datei in das richtige Format für diesen Befehl um?

Hier mein Testcod (in label1->Text ist der Pfad gespeichert).

CopyFile(label1->Text,S"c:\test\test.dat",true);

und hier die allseits beliebte Fehlermeldung:

error C2664: 'CopyFileA': Konvertierung des Parameters 1 von 'System::String __gc *' in 'LPCSTR' nicht möglich

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich kann zwar jetzt Strings in der FileCopy-Anweisung benutzen aber sie müssen so aussehen:

C:\\Ordner\\Ordner2\\

wie kann ich nun aus "C:\frei\test\" "C:\\frei\\test\\" machen?

hab es mit Replace versucht aber wenn ich das so mache:

String* test="C:\frei\test\";

test=test->Replace("\","\\");

erhalte ich diese Fehlermeldung:

error C2017: Ungültige ESCAPE-Sequenz

error C2001: Zeilenumbruch innerhalb einer Konstanten

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von MeisterB

Ich kann zwar jetzt Strings in der FileCopy-Anweisung benutzen aber sie müssen so aussehen:

C:\\Ordner\\Ordner2\\

So müssen die Pfade nur aussehen, wenn sie in deinem Quellcode stehen. Keinesfalls musst du einen eingelesenen oder aus einer anderen Funktion zurückgegebenen String so bearbeiten.

Also bitte kein Replace. ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Klotzkopp

So müssen die Pfade nur aussehen, wenn sie in deinem Quellcode stehen. Keinesfalls musst du einen eingelesenen oder aus einer anderen Funktion zurückgegebenen String so bearbeiten.

Also bitte kein Replace. ;)

Bist du sicher? Ich lasse mir zwar per FileOpen-Dialog den Pfad ermitteln aber trotzdem muss ich die \ durch \\ ersetzten(was ich dank Maxim_42 jetzt hinbekommen habe).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...