Лучший способ? Установите свой терминал для использования vi привязок клавиш.
Я думаю, что самый быстрый способ - использовать метод TDirectory.GetFiles, расположенный в IOutils.pas. Поскольку количество (видимых) файлов в каталоге может быть разным для каждого пользователя, существует лишь малая вероятность того, что есть только число, которое нужно каким-то образом извлечь.
Подход FindFirst / FindNext (который заключен в вышеуказанный метод ) фактически не просматривает файлы, а только просматривает записи в таблице, поэтому может быть быстрее, чем ожидалось.
Если вы работаете в Windows 7 или Server 2008 R2, я рекомендую распаковать FindFirst и FindMatchingFile функции из SysUtils и взломать первый, чтобы использовать FindFirstFileEx вместо FindFirstFile. Затем вы можете установить для параметра дополнительных флагов значение 2 (определенное в MSDN как FIND_FIRST_EX_LARGE_FETCH
) с этим параметром, обусловленным (Win32majorversion = 6) и (Win32minorversion> = 1), на данный момент.
Это Эта настройка приводит к очень значительному увеличению скорости циклов FindFirst / FindNext в этих ОС. Для получения дополнительных сведений найдите FindFirstFileEx в MSDN, так как последней версии документации нет в документации Microsoft, полученной с помощью Delphi help.
TDirectory.GetFiles в конечном итоге вызывает FindFirst,