本質為設定 FileList.Mask 過濾器。使用 InputBox 讓使用者輸入萬用字元(如 *.pas),空值預設 *.*:
procedure TFMForm.ViewType1Click(Sender: TObject);
var FileMask: String;
begin
FileMask := InputBox('File type', 'Input File type For View:', FileList.Mask);
if FileMask = '' then FileMask := '*.*';
FileList.Mask := FileMask;
FileList.Update;
CreateCaption; // 更新標題
end;
TNewDir 對話框輸入名稱(未輸入路徑則視為當前目錄子目錄)Dir := ExpandFileName(DirName.Text) 取得完整路徑{$I-} 關閉 I/O 檢查,MkDir(Dir) 建立IOResult 非零則顯示錯誤procedure TFMForm.CreateDirectory1Click(Sender: TObject);
var NewDir: TNewDir; Dir: String;
begin
{$I-}
NewDir := TNewDir.Create(Self);
with NewDir do
begin
CurrentDir.Caption := DirectoryOutline.Directory;
if (ShowModal <> idCancel) and (DirName.Text <> '') then
Dir := ExpandFileName(DirName.Text);
end;
MkDir(Dir);
if IOResult <> 0 then
MessageDlg('Cannot Create directory', mtWarning, [mbOk], 0);
end;
註:原版建立後目錄樹不即時更新,需切換磁碟機才看見。後續章節將透過元件擴充解決。