Array
(
)

Mudar Data de um arquivo

Foxcyber
   - 09 ago 2004

Alguém sabe como faço para mudar a data de um arquivo.


Motta
   - 10 ago 2004

#Código


unit Unit1;

{use um maskedit para pegar a data/hora}

interface

uses
Windows, Messages, SysUtils, Classes, Controls, Forms, Dialogs,
Mask, Buttons, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
btnAchaBaca: TBitBtn;
OpenDialog1: TOpenDialog;
MaskEdit1: TMaskEdit;
btnHaceLaMierda: TBitBtn;
procedure btnAchaBacaClick(Sender: TObject);
procedure btnHaceLaMierdaClick(Sender: TObject);
private
{ Private declarations }
fH : integer; {File handle}
dtAqr: TDateTime; {Data arquivo}
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.btnAchaBacaClick(Sender: TObject);
begin
if OpenDialog1.Execute then
edit1.Text:= OpenDialog1.FileName; {Escolhe o .exe}
fH:=FileOpen(edit1.Text,fmOpenReadWrite); {Abre o arquivo para edição}
dtAqr:=FileDateToDateTime(FileGetDate(fH)); {Recupera a data do arquivo}
MaskEdit1.Text:=DateTimeToStr(dtAqr); {Joga para o MaskEdit}
end;

procedure TForm1.btnHaceLaMierdaClick(Sender: TObject);
var ret: integer;
begin
try
dtAqr:= StrToDateTime(MaskEdit1.Text); {Monta a data marretada}
except
ShowMessage(´Verifique a porcaria da data e hora que você passou !!!!´);
dtAqr:=FileDateToDateTime(FileGetDate(fH)); {Recupera a data do arquivo}
exit; // <===
end;
ret:=FileSetDate(fH,DateTimeToFileDate(dtAqr)); {Grava a data marretada no .exe}
FileClose(fH); {Fecha né...}
if ret = 0 then {Não tem no help que porcaria quer dizer este retorno}
ShowMessage(´Marretado com sucesso!!!´)
else
ShowMessage(´Marretado com zebra !!! Zebra = ´ + IntToStr(ret));
end;

end.