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

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

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2010, 17:04   #1
tiger
Пользователь
 
Регистрация: 30.03.2008
Сообщений: 52
По умолчанию IdFTP:получить список с иконками

хотел в список ListView получить список файлов с определенной директории ftp сервера вместе с иконками и типом файла. пробовал по-разному через SHGetFileInfo, но оно у меня ничего не выводит вот код, если знаете подскажите пожалуйста!
Код:
procedure TForm1.FindFiles(direc:string);
  var
  LS: TStringList;
  i:integer;
  Icon: TIcon;
  ListItem: TListItem;
  FileInfo: SHFILEINFO;
    begin
    LS := TStringList.Create;
    IdFTP1.ChangeDir(direc);
    IdFTP1.TransferType := ftASCII;
    Dir.Text := IdFTP1.RetrieveCurrentDir;
    ListView1.Items.Clear;
    Icon := TIcon.Create;
    ListView1.Items.BeginUpdate;
    IdFTP1.List(LS);
      for i:=0 to IdFtp1.DirectoryListing.Count-1 do
       begin
        with ListView1.Items.Add do
        begin
        Caption:=IdFtp1.DirectoryListing.Items[i].FileName;
        SubItems.Add(inttostr(IdFtp1.DirectoryListing.Items[i].Size));
        SHGetFileInfo(PChar(IdFtp1.DirectoryListing.Items[i].FileName), 0, FileInfo,SizeOf(FileInfo), SHGFI_TYPENAME);
        SubItems.Add(FileInfo.szTypeName);
       SubItems.Add(DatetoStr(IdFtp1.DirectoryListing.Items[i].ModifiedDate));
       SubItems.Add(IdFtp1.DirectoryListing.Items[i].UserPermissions);
       SubItems.Add(IdFtp1.DirectoryListing.Items[i].OwnerPermissions);
      SHGetFileInfo(PAnsiChar(IdFtp1.DirectoryListing.Items[i].FileName), 0, FileInfo,SizeOf(FileInfo), SHGFI_ICON or SHGFI_SMALLICON);
      icon.Handle := FileInfo.hIcon;
      ImageIndex := ImageList1.AddIcon(Icon);
      DestroyIcon(FileInfo.hIcon);
  end;
     end;
    ListView1.Items.EndUpdate;
    LS.Free;
end;
tiger вне форума Ответить с цитированием
Старый 27.01.2010, 20:48   #2
X11
Пользователь
 
Регистрация: 20.01.2010
Сообщений: 54
По умолчанию

Ты определись в чём проблема. То ли проблема в получении файла, то ли проблема в рисовании значка в ListView
X11 вне форума Ответить с цитированием
Старый 28.01.2010, 01:16   #3
tiger
Пользователь
 
Регистрация: 30.03.2008
Сообщений: 52
По умолчанию

Цитата:
Сообщение от X11 Посмотреть сообщение
Ты определись в чём проблема. То ли проблема в получении файла, то ли проблема в рисовании значка в ListView
в получении иконок к файлам проблема! со списками все нормально.
tiger вне форума Ответить с цитированием
Старый 28.01.2010, 08:43   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в получении иконок к файлам проблема!
Вполне логичная проблема.
Дело в том что обычно иконки к файлам прописаны в реестре, где указано, какому расширению какая иконка пренадлежит. Но эти записи могу быть разные на разных компьютерах. Там откуда ты получаешь на некое расширение может быть привязана иконка, некой программы, которой у тебя нет. Так что я бы на твоем месте либо совместил список иконок своей машины со списком иконок на удаленной машине именно того сеанса, у которого ты файлы исследуешь, либо забыл об идее иконок, как о нестабильной.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.01.2010, 12:01   #5
X11
Пользователь
 
Регистрация: 20.01.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от tiger Посмотреть сообщение
в получении иконок к файлам проблема! со списками все нормально.
Тогда ты ошибся разделом.


А по твоему вопросу уверен, что здесь есть ответ.
X11 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пытаюсь получить список процессов... Flammpanzer Win Api 8 07.09.2009 21:00
Как получить список серверов? antonyLW Работа с сетью в Delphi 2 16.06.2009 13:47
Как получить список серверов? JD-Ell Работа с сетью в Delphi 0 17.04.2009 22:34
Получить список файлов и папок. gusluk Общие вопросы Delphi 3 10.03.2009 12:49
Получить список папок Иллидан Общие вопросы Delphi 1 22.03.2008 15:24