Форум: "WinAPI";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
ВнизСравнение имен файлов как в Explorer - чтобы 1 шел перед 100 Найти похожие ветки
← →
GrayFace © (2007-01-30 18:52) [0]Хочу сделать обработчик OnDataFind в Shell"овском ListView с помощью бинарного поиска. Соответственно, нужно уметь сравнивать строки на больше-меньше.
Нашел сравнение двух PIDL"ов, но IShellFolder.ParseDisplayName возвращает PIDL только для существующих файлов.
Вы знаете, как это можно сделать?
P.S. Видимо, придется создать StringList, упорядочить его и искать через него. А потом еще искать наиболее подходящую строку среди удволетворяющих условию поиска.
← →
clickmaker © (2007-01-31 18:03) [1]
> сравнение двух PIDL"ов, но IShellFolder.ParseDisplayName
> возвращает PIDL только для существующих файлов
а где связь между пидлами и именами 1 и 100?
← →
tesseract © (2007-01-31 21:39) [2]> StringList,
THashedStringList гораздо более производителен. Использование FindFirst ещё прибавит производительности.
← →
GrayFace © (2007-02-01 13:26) [3]На счте FindFirstFile уже думал, но толку с этого не будет - потом все-равно его искать среди соих объектов-файлов. А THashedStringList - хороший совет, вероятно его буду использовать.
clickmaker © (31.01.07 18:03) [1]
а где связь между пидлами и именами 1 и 100?
Я хотел сравнивать имя файла с частью имени файла. Для PIDL-ов сравнение есть, соответственно два имени существующих файлов можно сравнить.
← →
MBo © (2007-02-01 14:11) [4]http://rsdn.ru/Forum/Message.aspx?mid=210313#210313
← →
GrayFace © (2007-02-01 16:38) [5]Прикинув, решил что и без THashedStringList скорость будет отличная.
MBo © (01.02.07 14:11) [4]
http://rsdn.ru/Forum/Message.aspx?mid=210313#210313
Интересно. Еще чуть-чуть и у Slicer"а был бы правильный алгоритм.
← →
MBo © (2007-02-01 16:56) [6]Я как-то видел ссылки на сишные реализации, но сейчас не нашел.
← →
GrayFace © (2007-02-02 12:19) [7]Спасибо, не надо. Я уже сделел через StringList.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.049 c