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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.12.2007, 01:08
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Восклицание C Filelistbox1 на Listview1



Заранее благодарю!
Ответить с цитированием
  #2  
Старый 26.12.2007, 12:17
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

У FileListBox1 ставим свойство DragMode=dmAutomatic и пишем событие OnEndDrag:
Код:
procedure TForm1.FileListBox1EndDrag(Sender, Target: TObject; X, Y: Integer);
begin
  ListView1.AddItem(ExtractFileName((Sender as TFileListBox).FileName), nil);
end;
Это для первой колонки. Останется ещё заполнить две другие.
Ответить с цитированием
  #3  
Старый 26.12.2007, 16:40
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Восклицание

Мне надо чтоб оно сама загрузила - а не ташить его
Ответить с цитированием
  #4  
Старый 26.12.2007, 17:03
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
По умолчанию

Просто переделай немного:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
listview1.AddItem(FileListBox1.FileName,self);
end;
__________________
Кому я должен - всем прощаю!!!!
Ответить с цитированием
  #5  
Старый 26.12.2007, 21:55
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Восклицание

спасибо - а как можно сделать чтоб автоматически добавлялись все файлы а не по одиночке - а то в этом случае чтоб добавить надо сперва выделить обект - а нельзяли без выделения?
Ответить с цитированием
  #6  
Старый 26.12.2007, 23:23
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to filelistbox1.Items.Count-1 do
begin
listview1.AddItem(filelistbox1.Items[i],self);
// или так listview1.AddItem(filelistbox1.Directory+filelistbox1.Items[i],self);
end;
end;
__________________
Кому я должен - всем прощаю!!!!
Ответить с цитированием
  #7  
Старый 26.12.2007, 23:50
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Восклицание

СПАСИБО ОГРОМНОЕ!!!
Код:
var
i:integer;
 li: TListItem;
   ind: string;
   size:real;
   b :byte;
begin
for i:=0 to filelistbox1.Items.Count-1 do
begin
getfilesize(filelistbox1.items[i]);
  size:=(getfilesize(filelistbox1.items[i]));
  b:=0;
  while (Size>=1024) and (b<3) do
   begin
    size:=size/1024;
    b:=b+1;
  end;
  if b=1 then ind:='Кб';
  if b=2 then ind:='МБ';
  if b=3 then ind:='ГБ';
  if b=0 then ind:='байт';
  li := ListView1.Items.Add;
listview1.AddItem(filelistbox1.Items[i] ,self);
li.SubItems.Add( floattostrf(Size,fffixed,5,2)+' '+ind); //
end;

SubItems добавляется после файла а не перед файлом как исправить??
Ответить с цитированием
  #8  
Старый 27.12.2007, 00:10
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
По умолчанию

Если у тебя есть SubItems нужно сделать так:
Код:
with listview1.Items.Add do
begin
caption:=filelistbox1.Items[i];
SubItems.Add( floattostrf(Size,fffixed,5,2)+' '+ind); //
end;
__________________
Кому я должен - всем прощаю!!!!
Ответить с цитированием
  #9  
Старый 27.12.2007, 00:41
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Восклицание

Спасибо - еще один последний вопрос
а как сделать чтоб при включении чекбокса та строка приобретала зеленый цвет
Ответить с цитированием
  #10  
Старый 27.12.2007, 00:49
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
По умолчанию

Ну это уже рисованием на listview'e.
Закрашуешь нужную тебе строку, и сверху рисуешь текст, т.к. после рисования он не будет виден.
__________________
Кому я должен - всем прощаю!!!!
Ответить с цитированием
  #11  
Старый 27.12.2007, 00:57
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Восклицание

Ясно - всеравно спасибо за помощь!
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter