Да и функцию замените на
Код:
function IconNum(strExt: string): integer;
begin
Result:= 1;
strExt:= ExtractFileExt(strExt);
if (strExt = '.txt') or (strExt = '.doc') then Result:= 2;
if (strExt = '.exe') or (strExt = '.com') then Result:= 3;
end;
...
Item.ImageIndex:= IconNum(fileName);
...
что вы нашли, вернее та часть которую вы выдрали работать не будет, ошипок синтаксических слишком много