Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eigenschaften mehrere Dateien ändern. (https://www.delphipraxis.net/83780-eigenschaften-mehrere-dateien-aendern.html)

smart 6. Jan 2007 11:42


Eigenschaften mehrere Dateien ändern.
 
Hallo Alle!

Ich möchte in einer Schleife die Eigenschaften mehrere Dateien ändern. Dafür habe ich auf einem Formular eine Filelistbox, eine CheckBox und ein Button. Wenn ich auf dem Button klicke, sollen alle Dateien auf Schreibgeschützt gesetzt werden.

Wieso klappt dieser Code nicht?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Attributes, NewAttributes: Word;
  A:Integer;
begin
For A := 0 To FileListBox1.Items.Count -1 Do
begin
Attributes := FileGetAttr(FileListBox1.Items[A]);
NewAttributes := Attributes;
if CheckBox1.Checked = True then NewAttributes := NewAttributes or faReadOnly
      else NewAttributes := NewAttributes and not faReadOnly;
end;
end;
Viele Grüße
Heike

Luckie 6. Jan 2007 11:51

Re: Eigenschaften mehrere Dateien ändern.
 
"Klappt nicht" ist eine mehr als unzureichende Fehlerbeschreibung.

Klaus01 6. Jan 2007 11:53

Re: Eigenschaften mehrere Dateien ändern.
 
Hallo Heike,

was geht denn nicht?
Und wo weißt Du einem File die Atribute überhaupt zu?

Grüße
Klaus

smart 6. Jan 2007 11:54

Re: Eigenschaften mehrere Dateien ändern.
 
Zitat:

Zitat von Luckie
"Klappt nicht" ist eine mehr als unzureichende Fehlerbeschreibung.

Hi,

es kommt keine Fehlermeldung. Der Code läuft aber die Eigenschaften werden nicht geändert.

Gruß
Heike

Luckie 6. Jan 2007 11:56

Re: Eigenschaften mehrere Dateien ändern.
 
Wie sollen sie auch? Du weißt der Datei ja auch nicht die neuen Dateattribute zu. ;)

smart 6. Jan 2007 11:58

Re: Eigenschaften mehrere Dateien ändern.
 
Zitat:

Zitat von Klaus01
Hallo Heike,

was geht denn nicht?
Und wo weißt Du einem File die Atribute überhaupt zu?

Hi Klaus,

hier
Delphi-Quellcode:
if NewAttributes <> Attributes then
        FileSetAttr(FileListBox1.Items[A], NewAttributes);
Ich sehe jetzt den Fehler. Ich habe diese Zeilen vergessen. Sorry.

Gruß
Heike

Christian Seehase 6. Jan 2007 12:59

Re: Eigenschaften mehrere Dateien ändern.
 
Moin Heike,

und so etwas
Zitat:

Zitat von smart
Delphi-Quellcode:
if CheckBox1.Checked = True then

macht man aber auch nicht ;-)

Boolesche Werte sollte man nie auf Gleichheit prüfen, schon gar nicht auf Gleichheit mit true, da, im allgemeinen, unter true ein Wert <> 0 verstanden wird und false = 0.
Bei reinem Delphi-Code würde es zwar wohl nicht zu einem Fehler kommen, wenn man aber boolesche Rückgabewerte von API-Funktionen verwendet, kann das schiefgehen.

Delphi-Quellcode:
if CheckBox1.Checked then


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 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