Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cambiar atributos de archivos (https://www.clubdelphi.com/foros/showthread.php?t=27393)

Gabriel2 18-11-2005 21:01:33

Cambiar atributos de archivos
 
Tengo varios archivos dentro de 'C:\archivos\mis archivos\' Y nunca se como se van a llamar. Estos siempre son de solo lectura. Como puedo cambiar la propiedad de 'Solo Lectura' de todos los archivos sin tener en cuenta el nombre y la extensión.

dec 18-11-2005 23:56:21

Hola,

Lo que puedes hacer es localizar los archivos que se encuentran en el directorio que te interesa: mediante las funciones "FindFirst", "FindNext", etc., de las cuales encontrarás más información en la ayuda de Delphi y en estos mismos foros, por ejemplo. Localizados los archivos del directorio no tienes sino emplear la función "GetFileAttributes", para obtener los atributos de un determinado archivo, y la función "SetFileAttributes" para quitar el atributo de "solo lectura" del archivo que cuente con el mismo.

Enan0 21-11-2005 17:28:59

un pequeño ejemplo completo de como modificar las propiedades de los archivos.. y carpetas


Código Delphi [-]
 
 unit Unit1;
 
 interface
 
 uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
   StdCtrls, FileCtrl, ExtCtrls;
 
 type
   TForm1 = class(TForm)
     DriveComboBox1: TDriveComboBox;
     DirectoryListBox1: TDirectoryListBox;
     FileListBox1: TFileListBox;
     Memo1: TMemo;
     Edit1: TEdit;
     Button1: TButton;
     Panel1: TPanel;
     CheckBox1: TCheckBox;
     CheckBox2: TCheckBox;
     CheckBox3: TCheckBox;
     Button2: TButton;
     procedure DriveComboBox1Change(Sender: TObject);
     procedure DriveComboBox1DblClick(Sender: TObject);
     procedure DirectoryListBox1Change(Sender: TObject);
     procedure DirectoryListBox1Click(Sender: TObject);
     procedure DirectoryListBox1DblClick(Sender: TObject);
     procedure FileListBox1Change(Sender: TObject);
     procedure FormCreate(Sender: TObject);
     procedure Button1Click(Sender: TObject);
     procedure Button2Click(Sender: TObject);
   private
     { Private declarations }
   public
     { Public declarations }
   end;
 
 var
   Form1: TForm1;
 
 implementation
 
 {$R *.DFM}
 
 procedure TForm1.DriveComboBox1Change(Sender: TObject);
 begin
 DirectoryListBox1.Drive:=DriveComboBox1.Drive;
 end;
 
 procedure TForm1.DriveComboBox1DblClick(Sender: TObject);
 begin
 DirectoryListBox1.Drive:=DriveComboBox1.Drive;
 end;
 
 procedure TForm1.DirectoryListBox1Change(Sender: TObject);
 begin
 FileListBox1.Directory:=DirectoryListBox1.Directory;
 end;
 
 procedure TForm1.DirectoryListBox1Click(Sender: TObject);
 begin
 FileListBox1.Directory:=DirectoryListBox1.Directory;
 end;
 
 procedure TForm1.DirectoryListBox1DblClick(Sender: TObject);
 begin
 FileListBox1.Directory:=DirectoryListBox1.Directory;
 end;
 
 procedure TForm1.FileListBox1Change(Sender: TObject);
 begin
   memo1.Lines.Add(IntToStr(FileGetAttr(FileListBox1.FileName)));
   edit1.Text:=FileListBox1.FileName;
 end;
 
 procedure TForm1.FormCreate(Sender: TObject);
 begin
 edit1.Clear;
 memo1.clear;
 end;
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 memo1.clear;
 end;
 
 procedure TForm1.Button2Click(Sender: TObject);
 var
   Attr:integer;
 begin
   attr:=0;
 if CheckBox1.Checked then
   attr:=attr+faReadOnly;
 if CheckBox2.Checked then
   attr:=attr+faHidden;
 if CheckBox3.Checked then
   attr:=attr+faSysFile;
 
 FileSetAttr(edit1.text,attr);
 memo1.Lines.Add(IntToStr(FileGetAttr(edit1.Text)));
 
 end;
 
 end.


La franja horaria es GMT +2. Ahora son las 11:06:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi