AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verzeichnisinhalt kopieren OHNE Ordner

Ein Thema von Ascuriah · begonnen am 11. Nov 2010 · letzter Beitrag vom 11. Nov 2010
Antwort Antwort
Ascuriah

Registriert seit: 6. Okt 2010
52 Beiträge
 
#1

Verzeichnisinhalt kopieren OHNE Ordner

  Alt 11. Nov 2010, 14:02
Hi DP´ler

Zum kopieren von Verzeichnisinhalten gibt es ja folgende Funktion:

Delphi-Quellcode:
function DoFileWork(aOperation: FILEOP_FLAGS; aFrom, aTo: AnsiString;
    Flags: FILEOP_FLAGS): Integer;
var
  FromPath, ToPath: AnsiString;
  SHFileOpStruct: TSHFileOpStruct;
begin
  FromPath := aFrom + #0#0;
  ToPath := aTo + #0#0;
  with SHFileOpStruct do
  begin
    Wnd := 0;
    wFunc := aOperation;
    pFrom := PAnsiChar(FromPath);
    if ToPath <> 'then
    begin
      pTo := PAnsiChar(ToPath)
    end else begin // target available
      pTo := nil;
    end; // target not available
    fFlags := Flags;
  end; // structure
  Result := SHFileOperationA(SHFileOpStruct);
end;
Die Problematik ist nun das ich in meinem Zielverzeichnis NUR die Daten des Quellverzeichnisses möchte, ohne den letzten Ordner des Pfades. Heist im klartext:
Wenn ich so ausführe
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  DoFileWork(FO_COPY, 'C:\Olap\Daten\Leer', 'C:\OLAP', FOF_FILESONLY);
end;
Erstellt er in C:\OLAP immer den Ordner Leer in dem dann die gewünschten Dateien liegen. Ich möchte es aber das die Dateien direkt im Ordner OLAP landen. Das FLAG hinten mit FOF_FILESONLY zu setzen bringt leider garnix(zumindest is das ergebnis das selbe ob es gesetz ist oder nicht).

Wäre super wenn jemand nen Tipp hätte

mfg

Ascu
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.620 Beiträge
 
Delphi 12 Athens
 
#2

AW: Verzeichnisinhalt kopieren OHNE Ordner

  Alt 11. Nov 2010, 14:05
Wie ist es so?
DoFileWork(FO_COPY, 'C:\Olap\Daten\Leer\*', 'C:\OLAP', FOF_FILESONLY);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ascuriah

Registriert seit: 6. Okt 2010
52 Beiträge
 
#3

AW: Verzeichnisinhalt kopieren OHNE Ordner

  Alt 11. Nov 2010, 14:10
^^ War ja zu erwarten das das (mal wieder ) stimmt. Kurz zur Erläuterung, * steht einfach nur dafür das alles was in diesem Ordner liegt kopiert wird oder seh ich das falsch? Ach ja und kann es sein das das FOF_FILESONLY Flag so garnich geht weil das ändert nämlich nüscht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.620 Beiträge
 
Delphi 12 Athens
 
#4

AW: Verzeichnisinhalt kopieren OHNE Ordner

  Alt 11. Nov 2010, 14:14
Gerade noch einmal nachgelesen:
Zitat:
FOF_FILESONLY

Perform the operation only on files (not on folders) if a wildcard file name (*.*) is specified.
Also musst Du die Wildcard von * in *.* ändern, dann sollte es hoffentlich klappen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ascuriah

Registriert seit: 6. Okt 2010
52 Beiträge
 
#5

AW: Verzeichnisinhalt kopieren OHNE Ordner

  Alt 11. Nov 2010, 14:18
Hm leider immer noch das selbe ob * oder *.* das FOF_FILESONLY bewirkt nichts. Naja funktionieren tuts ja schon ma^^
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.620 Beiträge
 
Delphi 12 Athens
 
#6

AW: Verzeichnisinhalt kopieren OHNE Ordner

  Alt 11. Nov 2010, 14:24
Nächster Vorschlag:
Zitat:
FOF_NORECURSION

Only perform the operation in the local directory. Do not operate recursively into subdirectories, which is the default behavior.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ascuriah

Registriert seit: 6. Okt 2010
52 Beiträge
 
#7

AW: Verzeichnisinhalt kopieren OHNE Ordner

  Alt 11. Nov 2010, 14:39
FOF_NORECURSION

kentn er gleich garnich ( undefinierter Bezeichner ) ansich deckt die ShellAPI doch aber alles ab
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.620 Beiträge
 
Delphi 12 Athens
 
#8

AW: Verzeichnisinhalt kopieren OHNE Ordner

  Alt 11. Nov 2010, 14:44
const FOF_NORECURSION = $1000; Aber ich habe gerade diesen Beitrag gefunden, damit sollte das doch einfacher gehen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#9

AW: Verzeichnisinhalt kopieren OHNE Ordner

  Alt 11. Nov 2010, 14:45
Dann deklarier es doch selber?

Ich weiß ja nicht wie alt dein Delphi ist, aber es ist nunmal so, daß nicht alle APIs, Typen und Konstanten von Windows integriert sind.

Irgendwann mußte ja man diese API nach Delphi/Pascal übersetzt werden ... da kann schonmal was fehlen.

Tipp: Lad' dir von Microsoft ein aktuelles PSDK runter ... darin findet man alles Wichtige für sein Windows.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (11. Nov 2010 um 14:48 Uhr)
  Mit Zitat antworten Zitat
Ascuriah

Registriert seit: 6. Okt 2010
52 Beiträge
 
#10

AW: Verzeichnisinhalt kopieren OHNE Ordner

  Alt 11. Nov 2010, 14:51
JO danke werd ich direkt mal machen aber Fakt ist das die Funktion mit * hinten im Pfad tadellos funktioniert -> sehr zu frieden.
  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 10: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