Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
21st
Мар
Сортировка в listview
Posted by Chas under Delphi
код чтобы выводилось сначала папки потом файлы
Stilet
procedure TForm1.UpdateFile;
var
Handle:THandle;
FindData:TWin32FindData;
temp_ext,result,Temp_Cap:String;
Folders:TStringList;
Attr,i:Integer;
dDir:string;
begin
SetCurrentDir(dDir);
ListView1.Clear;
dDir:='c:\';
Handle:=FindFirstFile(PChar(dDir+'*'),FindData);
if Handle<>INVALID_HANDLE_VALUE then
try
Folders:=TStringList.Create;
while FindNextFile(Handle,FindData) do
begin
Temp_Cap:=ExtractFileName(FindData.cFileName);
temp_ext:=ExtractFileExt(FindData.cFileName);
if (FindData.dwFileAttributes and faDirectory)=faDirectory then begin
Folders.append(Temp_Cap);
end else
with ListView1.Items.Add do begin
if (FindData.dwFileAttributes and faDirectory)<>faDirectory then begin
Caption:=copy(Temp_Cap,1,pos('.',Temp_Cap)-1)
SubItems.Add(Copy(temp_ext,2,Length(temp_ext)-1));
SubItems.Add(FloatToStrF(FindData.nFileSizeHigh+FindData.nFileSizeLow,ffNumber,18,0)) else SubItems.Add('');
SubItems.Add(FileTimeToDateTimeStr(FindData.ftLastWriteTime));
Result:='';
if (FILE_ATTRIBUTE_ARCHIVE and FindData.dwFileAttributes)>0 then Result:=Result+'a' else Result:=Result+'-';
if (FILE_ATTRIBUTE_READONLY and FindData.dwFileAttributes)>0 then Result:=Result+'r' else Result:=Result+'-';
if (FILE_ATTRIBUTE_HIDDEN and FindData.dwFileAttributes)>0 then Result:=Result+'h' else Result:=Result+'-';
if (FILE_ATTRIBUTE_SYSTEM and FindData.dwFileAttributes)>0 then Result:=Result+'s' else Result:=Result+'-';
SubItems.Add(Result);
end;
end;
end;
for i=0 to Folders.count-1 do with ListView1.Items.insert(i) do begin
SubItems.Add('[Папка]');
Caption:=Folders;
end;
Folders.free;
finally
ListView1.Items.EndUpdate;
end;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)