AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Probl:Dateioperationen mit SHFileOperation-versch. Unterverz
Thema durchsuchen
Ansicht
Themen-Optionen

Probl:Dateioperationen mit SHFileOperation-versch. Unterverz

Ein Thema von bogy · begonnen am 9. Jan 2003 · letzter Beitrag vom 9. Jan 2003
Antwort Antwort
bogy

Registriert seit: 8. Jan 2003
2 Beiträge
 
Delphi 6 Professional
 
#1

Probl:Dateioperationen mit SHFileOperation-versch. Unterverz

  Alt 9. Jan 2003, 10:27
Hallo,

***
Frage bezieht sich auf Programmcode:
http://www.delphipraxis.net/viewtopi...hfileoperation
***

ich sitze hier an einem Program, daß Dateien aus verschiedenen Ordnern mit oder ohne Unterverzeichnisse in einen anderen Ordner meiner Wahl kopieren soll.

Leider stellt sich dabei folgendes Problem. Er kopiert, jedoch alle Dateien in einen Unterordner (den ersten). Würde der Quellcode diesen Fehler machen?

Mein Problem entsteht wahrscheinlich nur durch einen Parameter, der nicht dokumentiert ist:
Was macht das "Assigned(aTo)"? Das habe ich bisher nicht eingesetzt.

Wenn meine Situation nicht richtig klar ist, ein Beispiel:

C:\boot.ini
c:\BeispielVerz\Unterverz\hallo.txt
C:\2tesVerz\huhu.txt

sollen nach

D:\dahin\

dabei sollen alle Dateinamen verändert werden, also (huhu.txt -> hihi.txt), usw.

So müßte entstehen:

D:\dahin\beep.ini
D:\dahin\BeispielVerz\Unterverz\hehe.txt
D:\dahin\2tesVerz\hihi.txt

Ist so etwas möglich, wenn ich ihm dafür zwei Strings übergeben würde (leicht geändertes DoFileWork()):

1. C:\boot.ini#0c:\BeispielVerz\Unterverz\hallo.txt#0 C:\2tesVerz\huhu.txt#0#0

2.
D:\dahin\beep.ini#0D:\dahin\BeispielVerz\Unterverz \hehe.txt#0D:\dahin\2tesVerz\hihi.txt#0#0
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 9. Jan 2003, 13:41
Moin bogy,

erst einmal herzlich willkommen.

Die Lösung für Dein Problem hast Du eigentlich schon selbst gefunden.

Wenn Du die Dateien unter anderem Namen woanders hinspeichern willst, benötigst Du
  • Eine Liste der Dateien, die kopiert werden sollen (From) jeweils inclusive des kompletten Pfades (Laufwerk\Verzeichnis(struktur)\Dateinamen)
  • Eine Liste der Zieldateinamen (To), wiederum jeweils der gesamte Pfade
  • Wichtig: Es muss je Quelldatei eine Zieldatei angegeben werden, ausserdem sind keine Wildcards (*,?) erlaubt.
  • In den Flags muss FOF_MULTIDESTFILES angegeben werden

Der 1. Eintrag in der aFrom Liste wird dahin, und unter dem Namen kopiert, der sich aus dem 1. Eintrag der aTo Liste ergibt, usw.

Das nur mal grob zusammengefasst.


Lies Dir am Besten noch einmal den von Dir selbst gefundenen Beitrag genau durch. Da ist eigentlich alles beschrieben was Du brauchst.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 9. Jan 2003, 13:46
Ach dieses FOF_MULTIDESTFILES habe ich jetzt mal noch in meinen Library-Eintrag in den Code eingearbeitet. Dann sollte es auch gehen. In der Doku hatte ich den immerhin schon erwähnt.


Das wars...
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
bogy

Registriert seit: 8. Jan 2003
2 Beiträge
 
Delphi 6 Professional
 
#4

Das war fehlende Teil!

  Alt 9. Jan 2003, 17:17
Nach Einsatz von FOF_MULTIDESTFILES funktioniert es, danke...

Frederik
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz