Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol (https://www.delphipraxis.net/194587-datei-vom-temp-verzeichnis-kopieren-zeigt-schloss-symbol.html)

LTE5 10. Dez 2017 00:35


Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol
 
Mir ist eben aufgefallen, dass wenn ich eine Datei ich ins Temp-Verzeichnis herunterlade und dann zum Desktop in ein Unterverzeichnis kopiere, ein kleines gelbes Schloss im Icon hat.

Ist das normal? Wie bekomme ich dieses Schloss weg?

so verschiebe ich

Delphi-Quellcode:
 MoveFileEx(PWideChar(sFrom), PWideChar(sTo), MOVEFILE_REPLACE_EXISTING)
Ich habe das Problem vorzeitig so gelöst, dass ich erst CopyFile aufrufe und anschließend DeleteFile.
Auf diese Art und Weise erscheint das Schloss nicht.

zeras 10. Dez 2017 09:14

AW: Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol
 
Das muss irgendwie mit den Rechten zu tun haben, wenn du "movest".
Wir hatten auch solche Probleme und haben das, wie du, mittels copy und delete gelöst.

p80286 10. Dez 2017 09:21

AW: Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol
 
Welche Bedeutung dieses seltsame Schloßsymbol hat, habe ich in den letzten Jahren nicht heraus bekommen. Auf jeden Fall hat es wenig mit den aktuellen Zugriffsrechten des Benutzers zu tun.
Du mußt allerdings zwischen kopieren und verschieben unterscheiden. Falls Du NTFS nutzt, werden beim Verschieben alle Berechtigungen mit verschoben, egal welche Berechtigungen auf dem Zielverzeichnis liegen. Auf diese Art sind schon Berechtigungszombies entstanden. Wenn Du auf der sicheren Seite sein willst, dann kopiere die Datei, dann werden automatisch die Rechte des Zielverzeichnisses übernommen, und anschließend löschst Du die Quelldatei.

Gruß
K-H

Der schöne Günther 10. Dez 2017 09:30

AW: Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol
 
Hobbymäßig jage ich übernatürliche Erscheinungen und andere seltsame Phänomene. Kann mir jemand ein Bild dieser Schlosserscheinung zukommen lassen für meine Sammlung?

p80286 10. Dez 2017 10:23

AW: Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol
 
$Recycle.Bin
Documents and Settings

Da solltest Du fündig werden. Oder ist das eine Besonderheit der Home-Edition?:gruebel:

Gruß
K-H

Delphi.Narium 10. Dez 2017 13:25

AW: Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol
 
Vermutlich haben das alle Dateien, die per Download aus dem Internet kommen.

Bei denen wird unter NTFS ein Zone-Identifier erstellt. Zummindest bei älteren Windowsen erhält man beim Doppelklick auf eine entsprechend gekennzeichnete Exe die Anfrage, ob man denn das Programm wirklich ausführen möchte.

Man kann das Vorhandensein eines Zone-Identifiers (ungetestet) so überprüfen:
Delphi-Quellcode:
function ZoneIdentifierExists(AFileName : String) : Boolean;
begin
  Result := GetFileAttributes(PChar(Format('%s:Zone.Identifier',[AFileName]))) <> -1;
end;
Will man wissen, was in dem Dingen drinne steht (sind nur INI-Dateien), dann kann man das so machen:
Code:
notepad Laufwerk:\Verzeichnis\NameDerDatei.Endung:zone.identifier
Sagt Notepad, dass es die Datei nicht finden kann, dann gibt es keinen Zone-Identifier.

Mehr zum Thema erhält man, wenn man oben rechts bei der Suche Zone Identifier eingibt.

Dalai 10. Dez 2017 13:40

AW: Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol
 
Zitat:

Zitat von p80286 (Beitrag 1388407)
Falls Du NTFS nutzt, werden beim Verschieben alle Berechtigungen mit verschoben, egal welche Berechtigungen auf dem Zielverzeichnis liegen.

Aber nur innerhalb derselben Partition. Wird zwischen verschiedenen Partitionen verschoben, werden die Zugriffsrechte nicht mitgenommen.

Grüße
Dalai

LTE5 10. Dez 2017 14:06

AW: Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol
 
Zitat:

Wir hatten auch solche Probleme und haben das, wie du, mittels copy und delete gelöst.
Meine Lösung

Delphi-Quellcode:
function MoveFile(const FileFrom, FileTo: string): Boolean;
begin
 Result := False;
 if not FileExists(FileFrom) then
  Exit;

 if CopyFile(PWideChar(FileFrom), PWideChar(FileTo), False) then
  Result := System.SysUtils.DeleteFile(FileFrom);
end;

if MoveFile(A, B) then
 begin
  showmessage('Datei verschoben');
 end;

himitsu 10. Dez 2017 15:07

AW: Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol
 
Zitat:

Zitat von Dalai (Beitrag 1388426)
Aber nur innerhalb derselben Partition. Wird zwischen verschiedenen Partitionen verschoben, werden die Zugriffsrechte nicht mitgenommen.

Dort tut dann aber auch Windows selber die Datei kopieren+löschen anstatt zu verschieben. :zwinker:

LTE5 10. Dez 2017 15:25

AW: Datei vom Temp-Verzeichnis kopieren zeigt Schloss-Symbol
 
Zitat:

Dort tut dann aber auch Windows selber die Datei kopieren+löschen anstatt zu verschieben.
Na dann kann ich auch gleich bei meiner MoveFile-Funktion bleiben. Sicher ist sicher.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr.
Seite 1 von 2  1 2      

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