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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2014, 23:08   #1
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию Загрузка в файлов

Не могу загрузить одновременно в ListView1 и ListView2 список файлов, то есть выполняю заполнение в ListView1 вот так:

Код:
{Получение списка файлов и информации о них}
procedure TForm1.UpdateFile;
var
Handle:THandle;
FindData:TWin32FindData;
temp_ext,result,Temp_Cap:String;
Folders:TStringList;
i,te:Byte;
begin
SetCurrentDir(dDir);
ListView1.Clear;
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
     Folders.append('['+Temp_Cap+']') else
   with ListView1.Items.Add do   begin
    if (FindData.dwFileAttributes and faDirectory)<>faDirectory then
    begin
      for te:=1 to length(Temp_Cap) do
      if Temp_Cap[te]='.' then
      Caption:=copy(Temp_Cap,1,te-1);
      SubItems.Add(Copy(temp_ext,2,Length(temp_ext)-1));
      SubItems.Add(FloatToStrF(FindData.nFileSizeHigh+FindData.nFileSizeLow,ffNumber,18,0))
    end
      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;
  for i:=0 to Folders.count-1 do with  ListView1.Items.insert(i) do
  begin
   SubItems.Add('[Папка]');
   Caption:=Folders[i];
  end;
  Folders.free;
  finally
  ListView1.Items.EndUpdate;
  end;
end;
Пытаюсь продублировать то есть для ListView2 таким же методом загрузку не получается, а если и получается то они одинаковы файлы что в ListView1 то и в ListView2, даже если указать чтобы грузилась другая дериктория.
HTTqp вне форума Ответить с цитированием
Старый 03.02.2014, 09:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
procedure TForm1.UpdateFile(Lv:TListView; aPath:String);
И везде в проце поменяй ListView1 на Lv. А так же припиши
Код:
Handle:=FindFirstFile(PChar(aPath+'*'),FindData);
И убери SetCurrentDir(dDir); вообще.
Вызывая эту процу передавай ей листвью, кой будет наполняться и путь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2014, 01:00   #3
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

Сделал как ты и сказал, но теперь проблема с вызовом процедуры. Делаю так:

Код:
procedure TForm1.FormActivate(Sender: TObject);
begin
UpdateFile; //  <- Вот тут ошибку
end;
Пишет ошибку:"not enough actual parameters"
HTTqp вне форума Ответить с цитированием
Старый 04.02.2014, 02:25   #4
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Цитата:
Сообщение от HTTqp Посмотреть сообщение
Сделал как ты и сказал, но теперь проблема с вызовом процедуры. Делаю так:

Код:
procedure TForm1.FormActivate(Sender: TObject);
begin
UpdateFile; //  <- Вот тут ошибку
end;
Пишет ошибку:"not enough actual parameters"
Если сделал так
Код:
procedure TForm1.UpdateFile(Lv:TListView; aPath:String);
Код:
procedure TForm1.FormActivate(Sender: TObject);
begin
UpdateFile(ListView1, 'C:\'); 
UpdateFile(ListView2, 'D:\'); 
end;
ZuBy вне форума Ответить с цитированием
Старый 04.02.2014, 09:07   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Сделал как ты и сказал
Нет, ты прочитал мой пост по диагонали и сделал по своему. Перечитывай внимательно еще раз до полного просветления.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка файлов. Gefo JavaScript, Ajax 3 24.01.2013 17:42
Загрузка файлов garicg C++ Builder 1 11.01.2013 02:44
Загрузка файлов pavelslap PHP 8 14.01.2011 09:05
загрузка файлов Dimarik PHP 3 17.07.2010 23:41
Загрузка файлов Vladya Помощь студентам 3 01.07.2009 08:34