Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2011, 17:30   #1
илья001
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 21
По умолчанию Отображение размеров файлов в ListBox Delphi

Курсовая работа Файловый менеджер Отображение папок происходит в левом окне отображение файлов в правом т.е два Listboxa но они отображают папки и файлы и их расширения но не размеры задача сделать отображение размеров папок в левом окне и отображение размеров файлов в правом. может использовать stringgrid вообще приветствуются все предложения которые минимально бы затронули код программы. т.е. с минимально переделкой
это из модуляалгоритмов
Код:
uses Math;

function GetDriverList():TStringList;
var
  i, j: integer;
  buf: array [0..499] of char;
  DrvStr: array [0..9] of char;
  LogDrives: set of 0..25;
begin
  //Получить список дисков
  Result:=TStringList.Create();
  integer(LogDrives) := GetLogicalDrives;   //Получить
  for i := 0 to 25 do       //Пробежаться
    if (i in LogDrives) then//Проверить есть ли такой диск
      Result.Add(chr(i + 65)+':\');//Добавить его
end;

function GetCatologFile(dir_name: string):TStringList;
var
 searchResult : TSearchRec;
begin
  Result:=TStringList.Create;
  //Получить список файлов в каталоге
  if FindFirst(dir_name+'*', faAnyFile, searchResult) = 0  then
   begin
    repeat
     if FileExists(dir_name + searchResult.Name)//файл существует
      then
       begin
        Result.add(searchResult.Name);//Добавляем
       end;
    until FindNext(searchResult) <> 0; //Бегаем
    FindClose(searchResult);
   end;
end;

function GetCatologDir(dir_name: string):TStringList;
var
 searchResult : TSearchRec;
begin
  //Получает список папок
  Result:=TStringList.Create;
 if FindFirst(dir_name+'*', faAnyFile, searchResult) = 0    //Бегаем по папке
  then
   begin
    repeat
     if searchResult.Attr and faDirectory <> 0 then//Если эта папка
   // if DirectoryExists(dir_name + searchResult.Name) then
       begin
          Result.add(searchResult.Name);                       //Добавляем
       end;
    until FindNext(searchResult) <> 0;
    FindClose(searchResult);
   end;
  if Result.Strings[0]='.' then     //Удаляем лишнее
    Result.Delete(0);  
  if Result.Strings[0]='..' then
    Result.Delete(0);
end;
это из главного модуля

Код:
var
  FormMain: TFormMain;
  dir_cur: string;//Текущая папка
  temp: TStringList;//Временная переменная для поиск папок. В ней сохраняются текущий список папок
  temp_file: TStringList;//Временная переменная для поиска файлов. А в ней текущий список файлов
  dir_name: string;//Имя текущей дериктории

implementation
 uses AlgoritmUnit,FormRename,FormHelp, FormAbout;
{$R *.dfm}

procedure TFormMain.FormCreate(Sender: TObject);
begin
  cbb_disk.Items:=GetDriverList(); //Получить список
  cbb_disk.ItemIndex:=0;
  temp:=TStringList.Create;//Создать
  temp_file:=TStringList.Create;    //Создать
  cbb_disk.OnChange(nil);//Получить список папок
  dir_cur:=cbb_disk.Items[cbb_disk.ItemIndex];//Установить
end;

procedure TFormMain.cbb_diskChange(Sender: TObject);
var
  disk: String;
begin
  disk:=cbb_disk.Items[cbb_disk.itemindex];//Установить диск
  lst_file.Items:= GetCatologFile(disk);//Получить список файлов
  lst_dir.Items:=GetCatologDir(disk);//Получить список папок
  temp.Text:=lst_dir.Items.Text;
  temp_file.Text:=lst_file.Items.Text;
  dir_cur:=disk;             
  FormMain.Caption:='Файловый менеджер - '+dir_cur;
end;

procedure TFormMain.lst_dirDblClick(Sender: TObject);
var
  disk,dir: string;
begin
  if lst_dir.ItemIndex<0 then Exit;
  dir:=dir_cur+lst_dir.Items[lst_dir.ItemIndex]+'\';
  dir_cur:=dir_cur+lst_dir.Items[lst_dir.ItemIndex]+'\';
  lst_file.Items:=GetCatologFile(dir);//Список папок
  temp_file.Text:=lst_file.Items.Text;
  lst_file.ItemIndex:=0;
  lst_dir.Items:=GetCatologDir(dir);//Список файлов
  temp.Text:=lst_dir.Items.Text;
  FormMain.Caption:='Файловый менеджер - '+dir_cur;
end;
илья001 вне форума Ответить с цитированием
Старый 29.11.2011, 17:34   #2
илья001
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 21
По умолчанию

может еще что из кода выложить ?
илья001 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение информации из текстового файла с сайта в ListBox ZverBlin Общие вопросы Delphi 1 08.08.2011 22:40
отображение файлов mojohead Помощь студентам 7 13.05.2011 17:51
отображение файлов mojohead Помощь студентам 2 02.05.2011 13:25
Привязка данных. Отображение дополнительной информации в одном ListBox, по выбору в другом opiume Общие вопросы .NET 0 17.03.2010 00:48
Отображение скрытых файлов и папок и отображение розширения всех файлов beegl Общие вопросы Delphi 10 14.12.2008 22:02