ファイルサイズを取得する!
これは Delphi Advent Calendar 補欠の記事です。
実は Delphi にはプラットフォーム関係なくファイルサイズを取得する関数やメソッドはありません。
ただ、Indy にはあります。
IdGlobalProtocols ユニットに宣言されている FileSizeByName 関数です。
でも、Indy を uses すると色々なユニットが含まれてしまうので、コードが少し大きくなってしまいます。
それは避けたいところです。
そこで、作りました。
TFileHelper
TFile に、GetSize メソッドを1個だけ追加するヘルパクラスです!!
ソースはこちら。
また1個だけ追加するヘルパを作ってしまった…
このユニット System.IOUtils.Files は System.IOUtils.TFile を System.IOUtils.Files.TFile としてエイリアスしているので、System.IOUtils.Files だけを uses すれば TFile が使えます。
使い方は簡単。
TFile.GetSize を呼ぶだけです。
implementation
uses
System.IOUtils.Files
, FMX.ApplicationHelper // 「Application.ExeName 作ったよ」参照
;
{$R *.fmx}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(TFile.GetSize(Application.ExeName).ToString);
end;
発展
多分、@ht_deko 氏が、uIOUtilsEx.TFileEx に追加してくれるはず…
追記
2016/01/05 追記
追加して貰えました!!
https://twitter.com/ht_deko/status/683982584393515009