AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Dateiattrebute ändern

Ein Thema von Master_BB · begonnen am 17. Jul 2004 · letzter Beitrag vom 17. Jul 2004
Antwort Antwort
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#1

Dateiattrebute ändern

  Alt 17. Jul 2004, 18:06
Heya,
eine FindFirst Funktion von mir soll die gesuchten File die dann kopiert werden
vorher noch in ihren Dateiattrebuten verändern. Bzw den Schreibschutz rausnehmen.

so gehts nicht...
wie dann?
  ASearchRec.Attr := ASearchRec.Attr - faReadOnly;

Greetz
Master_BB
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#2

Re: Dateiattrebute ändern

  Alt 17. Jul 2004, 18:09
Hallo Master_BB
Zitat von Master_BB:
Heya,
eine FindFirst Funktion von mir soll die gesuchten File die dann kopiert werden
vorher noch in ihren Dateiattrebuten verändern. Bzw den Schreibschutz rausnehmen.

so gehts nicht...
wie dann?
  ASearchRec.Attr := ASearchRec.Attr - faReadOnly;

Greetz
Master_BB
so sollte es gehen
  ASearchRec.Attr := ASearchRec.Attr xor faReadOnly; bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#3

Re: Dateiattrebute ändern

  Alt 17. Jul 2004, 18:16
ne geht nicht die kopierte file ist immernoch schreibgeschützt.
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#4

Re: Dateiattrebute ändern

  Alt 17. Jul 2004, 18:20
Hallo Master_BB,
und jetzt das Ganze mit
 ASearchRec.Attr := ASearchRec.Attr and faReadOnly;
bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#5

Re: Dateiattrebute ändern

  Alt 17. Jul 2004, 18:32
nope geht auch mit and nicht
faReadOnly muß ja raus aus den Attrebuten würste nicht was ein and dort helfen sollte
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#6

Re: Dateiattrebute ändern

  Alt 17. Jul 2004, 18:44
Hallo Master_BB,
wie wärs denn mal mit einem "not" davor

bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Dateiattrebute ändern

  Alt 17. Jul 2004, 18:49
Mit and setzt du das Attribut, es soll aber weg.
Und mit "ASearchRec.Attr := ASearchRec.Attr and faReadOnly;" werden alle anderen Attribute zurückgesetzt, nur ein eventuell vorhandenes ReadOnly nicht.

Ausserdem müssen die Attribute auch noch der Datei und nicht nur dem SearchRecord zugewiesen werden.

Code:
FileSetAttr([color=gray]Verzeichnis +[/color] ASearchRec.Name, ASearchRec.Attr and not faReadOnly);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#8

Re: Dateiattrebute ändern

  Alt 17. Jul 2004, 18:54
nope ging auch nicht @ Duffy
ich habs jetzt aber selbst über die hilfe herrausgefunden und so gelöst

Delphi-Quellcode:
if (FileGetAttr(ADestPath + ASearchRec.Name) and faReadOnly) > 0
  then FileSetAttr(ADestPath + ASearchRec.Name, ASearchRec.Attr xor faReadOnly);
Greetz
  Mit Zitat antworten Zitat
w3seek
(Gast)

n/a Beiträge
 
#9

Re: Dateiattrebute ändern

  Alt 17. Jul 2004, 19:43
ASearchRec.Attr := ASearchRec.Attr and not faReadOnly; damit maskierst du faReadOnly (d.h. alle bits auusser faReadOnly sind 1) und durch and uebernimmst du alle anderen bits so wie sie sind.

So sollte es eigentlich gehen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Dateiattrebute ändern

  Alt 17. Jul 2004, 21:08
genau @w3seek
mit "and not" kann man das Bit direkt abschalten.
mit "xor" wird das Bit umgeschaltet (0 > 1 oder 1 > 0), deshalb muß dabei vorher erst mit "and" geprüft werden, ob es auch wirkich au 1 steht, da es ja sonst aktiviert würde, wenn es auf 0 stünde.

und wie gesagt: FileSetAttr wird benötigt, damit auch die Attribute der Datei geändert werden, aber das hast du ja endlich rausgefunden


Also kurzgesagt ... siehe meinen vorherigen Beitrag http://FNSE.de/15C.gif
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:48 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