Учимся работать с атребутами файлов
нам понадобится:
Edit - 1 штука
Button - 1 штука
RadioButton - 6 штук
бросаем их на на форму... для удобства я их вставил в RadioGroup
можно прямиком на форму...
чтобы у нас получилось так как на картинке
для Button1 код должен быть такой:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
selectedFile : string;
begin
if PromptForFileName(selectedFile,
'Text files (*.*)|*.*',
'',
'Выбираем фаил',
'C:\',
False)
then
Edit1.Text := (selectedFile)
else
ShowMessage('Фаил не выбран');
end;
На RadioButton пишем
Код:
SetFileAttributes(путь к файлу, задаваемый атребут)
а так как путь к файлу у нас хранится в Edit то код будет выглядеть так
Код:
SetFileAttributes(PChar(Edit1.Text),задаваемый атребут)
виды атребутов:
faReadOnly - только для чтения
faHidden - скрытый
faSysFile - системный
faVolumeID - мультимедийный
faArchive - архивный
faAnyFile - невидимый (виден только файловыми менеджерами и то невсеми )
в итоге получаем нехитрую програмку меняющую атребуты файлам
Код:
unit atrib;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ShellAPI, ShlObj;
type
TForm1 = class(TForm)
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
Button1: TButton;
Label2: TLabel;
Edit1: TEdit;
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure RadioButton6Click(Sender: TObject);
procedure RadioButton5Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
E:string;
implementation
{$R *.dfm}
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
SetFileAttributes(PChar(Edit1.Text), faReadOnly );
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
SetFileAttributes(PChar(Edit1.Text), faHidden );
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
SetFileAttributes(PChar(Edit1.Text), faSysFile);
end;
procedure TForm1.RadioButton4Click(Sender: TObject);
begin
SetFileAttributes(PChar(Edit1.Text), faVolumeID);
end;
procedure TForm1.RadioButton5Click(Sender: TObject);
begin
SetFileAttributes(PChar(Edit1.Text), faArchive );
end;
procedure TForm1.RadioButton6Click(Sender: TObject);
begin
SetFileAttributes(PChar(Edit1.Text), faAnyFile);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
selectedFile : string;
begin
if PromptForFileName(selectedFile,
'Text files (*.*)|*.*',
'',
'Выбираем фаил',
'C:\',
False)
then
Edit1.Text := (selectedFile)
else
ShowMessage('Фаил не выбран');
end;
end.