Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.10.2013, 22:02
valvl63 valvl63 вне форума
Прохожий
 
Регистрация: 26.12.2012
Сообщения: 30
Репутация: 10
По умолчанию Загрузить файлы в ListView

Привет.
Можно ли загрузить все находящиеся файлы в ListBox-е в ListView?
Примерно так как из ListBox1 в ListBox2:
Код:
 var
 Aric : array of String;
 i: integer;
begin
   SetLength(Aric, ListBox1.Items.Count);
  for I := 0 to ListBox1.Items.Count - 1 do
    Aric[i]:= ListBox1.Items.Strings[i];
  for i:= 0 to ListBox1.Items.Count -1 do
    listbox2.Items.Add(Aric[i]);
end;
Ответить с цитированием
  #2  
Старый 07.10.2013, 00:48
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от valvl63
...Можно ли загрузить все находящиеся файлы в ListBox-е в ListView?...
Наверное не сами файлы, а лишь их имена?

Добавлено позже

Можно, точно так же как в этом коде, только в цикле вместо бокса нужно использовать ListView.Items.Add()

Последний раз редактировалось Alegun, 07.10.2013 в 00:56.
Ответить с цитированием
  #3  
Старый 07.10.2013, 01:01
valvl63 valvl63 вне форума
Прохожий
 
Регистрация: 26.12.2012
Сообщения: 30
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Наверное не сами файлы, а лишь их имена?
Две колонки. В первой имена, в другой полный путь.
Пробовал вот примерно так, но понимаю что не грамотно.
Код:
 

 ListView1.SmallImages:= ImageList1;
ListBox1.Selected[0]:= true;
         if Listbox1.count = 1 then exit
     else
          LV_InsertFiles(Pchar(listbox1.Items.Strings[Listbox1.Itemindex]), ListView1, Imagelist1);
      ListBox1.itemindex:=Listbox1.itemindex+1;
...
Ответить с цитированием
  #4  
Старый 07.10.2013, 01:15
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Какие две колонки, может донор не Listbox?Пжлст,образец покажите

Добавлено позже

Есть такой код, и он работает
Код:
var
i, b:integer;
begin
  if OpenDialog1.Execute then
  begin
  ListView1.SmallImages:= ImageList1;
  for i := 0 to Opendialog1.Files.Count - 1 do
  LV_InsertFiles(OpenDialog1.Files.Strings[i], ListView1, Imagelist1);
   for b := 0 to OpenDialog1.Files.Count - 1 do
    ListBox1.Items.Add(OpenDialog1.Files.Strings[b]);
 end;
end;

Последний раз редактировалось Alegun, 07.10.2013 в 01:34.
Ответить с цитированием
  #5  
Старый 07.10.2013, 01:35
valvl63 valvl63 вне форума
Прохожий
 
Регистрация: 26.12.2012
Сообщения: 30
Репутация: 10
По умолчанию

Код:
user
   shellapi
...

procedure LV_InsertFiles(strPath: string; LV: TListView; IL: TImageList);
var
   Icon: TIcon;
   ListItem: TListItem;
   FileInfo: SHFILEINFO;
begin
                                                         // Создать временную TIcon
  Icon := TIcon.Create;
   LV.Items.BeginUpdate;
   ListItem := LV.Items.Add;
                                                           // Получить DisplayName
          SHGetFileInfo(PChar(strPath), 0, FileInfo,
             SizeOf(FileInfo), SHGFI_DISPLAYNAME);
          Listitem.Caption := FileInfo.szDisplayName;
                                                            // Получить TypeName
          SHGetFileInfo(PChar(strPath), 0, FileInfo,
             SizeOf(FileInfo), SHGFI_TYPENAME);
           ListItem.SubItems.Add(strPath);      // Полный путь
                                                               // Получить значок, который представляет файл
          SHGetFileInfo(PChar(strPath ), 0, FileInfo,
             SizeOf(FileInfo), SHGFI_ICON or SHGFI_SMALLICON);    // Иконка файла
           icon.Handle := FileInfo.hIcon;
           ListItem.ImageIndex := IL.AddIcon(Icon);


           // Destroy the Icon
          //DestroyIcon(FileInfo.hIcon);


     //Icon.Free;
     LV.Items.EndUpdate;
end;
...

 begin
ListView1.SmallImages:= ImageList1;
 LV_InsertFiles(Pchar(listbox1.Items.Strings[Listbox1.Itemindex]), ListView1, Imagelist1);
 end;

...

viewstyle:= vsReport;
Ответить с цитированием
  #6  
Старый 07.10.2013, 01:45
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

У меня точно такой же код как и вас, в этой сборке грузятся имена и пути к файлам в ListView, а в Listbox лишь пути, двух колонок нету
Ответить с цитированием
  #7  
Старый 07.10.2013, 01:58
valvl63 valvl63 вне форума
Прохожий
 
Регистрация: 26.12.2012
Сообщения: 30
Репутация: 10
По умолчанию

Да, именно эту процедуру хочу использовать.
Надо, чтоб все файлы, которые находятся в листбоксе автоматически
загрузились в листвью без опендиалога.
Ответить с цитированием
  #8  
Старый 07.10.2013, 02:16
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Можно так, но без иконок

Код:
var
 ListItem: TListItem;
 i: integer;
begin
  ListView1.Items.BeginUpdate;
  for i:= 0 to ListBox1.Items.Count -1 do
  begin
  ListItem := ListView1.Items.Add;
  ListItem.Caption:=ExtractFileName(ListBox1.Items.Strings[i]);
  ListItem.SubItems.Add(ListBox1.Items.Strings[i]);
  end;
  ListView1.Items.EndUpdate;
end;
если нужны иконки, то берите их как в функции LV_InsertFiles т.е. используйте FileInfo, код такой же как и там
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
valvl63 (07.10.2013)
  #9  
Старый 07.10.2013, 02:26
valvl63 valvl63 вне форума
Прохожий
 
Регистрация: 26.12.2012
Сообщения: 30
Репутация: 10
По умолчанию

Всё, получилось.
Код:
ListView1.SmallImages:= ImageList1;
  for i := 0 to Listbox1.Items.Count - 1 do
  LV_InsertFiles(listbox1.Items.Strings[i], ListView1, Imagelist1);
Изображения
Тип файла: jpg ЛистВью.jpg (67.7 Кбайт, 15 просмотров)

Последний раз редактировалось valvl63, 07.10.2013 в 04:34.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:25.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter