2012-04-11 55 views
2

可能重複:
How to get the sort order in Delphi as in Windows Explorer?是否有文件名稱排序的比較功能?

我在尋找,將比較(文件排序)功能完全像Windows資源管理器一樣。現在,我使用CompareText功能,但它導致了以下內容:

--------- /\ --------- 
AFile 
BFile 
_XFile 
----------------------- 

與Windows資源管理器相同的項目這種方式進行排序(這就是我想):

--------- /\ --------- 
_XFile 
AFile 
BFile 
----------------------- 

是否有這種比較功能還是應該由我自己來處理?

謝謝!

+0

RRUZ,我的錯,對不起。我已投票結束。下次我會更仔細地檢查建議的比賽。謝謝! – 2012-04-11 15:27:59

回答

7

Windows資源管理器使用StrCmpLogicalW來比較文件名。 RTL/VCL沒有聲明這個函數,所以你需要自己做。

function StrCmpLogicalW(psz1, psz2: PWideChar): Integer; stdcall; 
    external 'shlwapi.dll'; 
+0

謝謝!我正在尋找這個函數被定義的位置,但只在Winapi.ShlObj中找到注意'不要使用StrCmpLogical()而是使用默認的CompareString()' – 2012-04-11 15:18:24

+0

@Martin:當然你可以使用這個函數,即使它沒有被聲明'.pas'文件。 – 2012-04-11 15:22:30

+0

@Martin我已經包含了所有你需要現在調用函數 – 2012-04-11 15:22:48