☆ファイルの所属するフォルダ名を取得

ファイルが所属するフォルダ名を取得する処理です。
例えば、『C:\Program Files\CodeGear\RAD Studio\5.0\bin\bds.exe』の場合、『bin』を取得します。 当初、ExtractFilePathでパスを取得して文字列を分解していましたが、次のような処理で簡単にできました。
procedure TForm1.Button1Click(Sender: TObject);
var
  S: String;
begin
  if OpenDialog1.Execute then
  begin
    S := OpenDialog1.FileName;
    ShowMessage(ExtractFileName(ExtractFileDir(S)));
  end;
end;

※ExtractFilePathではなくExtractFileDirを使うのがポイントです。

|

☆パスの一部を省略してファイル名を表示する。

MinimizeName関数を使います。

uses FileCtrl;

procedure TForm1.Button1Click(Sender: TObject);
const
  FileName = 'C:\Documents and Settings\hiderin\デスクトップ\delphi-fan.txt';
begin
  Edit1.Text := MinimizeName(FileName, Canvas, 200);
end;

こんな風に加工されます。
C:\Documents and Settings\hiderin\デスクトップ\delphi-fan.txt
  ↓
C:\...\hiderin\デスクトップ\delphi-fan.txt

メニューで「最近使ったファイルを表示する」等の用途に使えそうですね。

|