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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2018, 11:01   #1
AsyaWill
 
Регистрация: 07.04.2018
Сообщений: 7
По умолчанию [Delphi] Необходимо произвести копирование из одного shellListView1 в ShellListview2

Делаю файловый менеджер.Необходимо произвести копирование из одного shellListView1 в ShellListview2
Пробовала двумя путями не получается,кто подскажет в чем проблема? Больше нужна помощь по первому кодуюВроде и пути передаю правильно,а во второй копировать все ранво не хочет
Хотя если укажу FOS.pTo:=@FPath[1]; копирование в туже директорию все работает
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);   
var
  FOS: TSHFileOpStruct;
  FileOp: HRESULT;
  i: Integer;
  FPath: String;
begin
  With FOS do
    begin
       For i:=0 to ShellListView1.Items.Count-1 do
        If ShellListView1.Items[i].Selected then
          begin
            FPath:=ShellListView1.Folders[i].PathName + #0 + FPath + #0 + #0;  
            FOS.Wnd:= Application.Handle;
            FOS.wFunc:= FO_COPY;
            FOS.pFrom:=@FPath[1]; 
            FOS.pTo:=Pchar(ShellListView2.RootFolder.PathName);   
            FOS.fFlags:= FOF_RENAMEONCOLLISION or FOF_MULTIDESTFILES;   
            FOS.fAnyOperationsAborted:= False;  
            FOS.hNameMappings:= 0;
            FOS.lpszProgressTitle:= 0;  
          end;
  FileOp:= SHFileOperation(FOS);
end;
ShellListView1.Refresh;
ShellListView2.Refresh;
end;
И вот так
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  i:integer;
  FromF, ToF:String;
begin
 For i:=0 to ShellListView1.Items.Count-1 do
 If ShellListView1.Items[i].Selected then
 begin
  FromF:=ShellListView1.Folders[i].PathName + #0 + FromF + #0 + #0;
  Tof:=ShellListview1.RootFolder.PathName + #0;
  CopyFile(@FromF[1], @ToF[1], True{-перезаписывать если уже есть такой});
  ShellListview1.Refresh;
  ShellListview2.Refresh;
  end;
end;

Последний раз редактировалось AsyaWill; 27.05.2018 в 11:04.
AsyaWill вне форума Ответить с цитированием
Старый 27.05.2018, 11:24   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Дебаггером пользоваться умеешь?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 27.05.2018, 11:26   #3
AsyaWill
 
Регистрация: 07.04.2018
Сообщений: 7
По умолчанию

Нет(
AsyaWill вне форума Ответить с цитированием
Старый 27.05.2018, 11:28   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Сообщение от AsyaWill Посмотреть сообщение
Нет(
Без дебаггера написать файловый менеджер абсолютно НЕРЕАЛЬНО.
Если курсач совсем уже на дедлайне - заплати кому-нить головастому задроту денег, шоб он тебе сваял за ночь нечто на трояк. Имхо, написать что-то подобное самостоятельно у тебя шансов нет.

Ничего личного, просто я реалист.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 27.05.2018 в 11:41.
min@y™ вне форума Ответить с цитированием
Старый 27.05.2018, 11:28   #5
AsyaWill
 
Регистрация: 07.04.2018
Сообщений: 7
По умолчанию

Я очень вас прошу помогите,я не понимаю в чем ошибка в первом коде.Я же вроде бы правильно указываю путь куда копировать или нет?

У меня осталась только эта процедура,все остальное я уже написала

Не сможете мне помочь?

Последний раз редактировалось Вадим Мошев; 29.05.2018 в 19:46.
AsyaWill вне форума Ответить с цитированием
Старый 27.05.2018, 11:37   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Сообщение от AsyaWill Посмотреть сообщение
Я очень вас прошу помогите,я не понимаю в чем ошибка в первом коде.Я же вроде бы правильно указываю путь куда копировать или нет?
У меня RADStudio Tokyo 10.2, тут нет ShellControls.
Подай заяву на аутсорсинг. Мож там тебе помогут.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование с одного листа на другой Dramen Microsoft Office Excel 1 06.09.2015 21:09
Копирование из одного RichEdit в другой Nub200 Общие вопросы Delphi 2 22.11.2012 12:06
Если выполняется 2 условия произвести копирование ячеек MASRUB Microsoft Office Excel 10 13.10.2011 12:47
Необходимо передать переменную из одного класса в другой. scray PHP 4 27.12.2009 13:01
из ShellListView1 в ShellListView2? aesoem Общие вопросы Delphi 11 11.04.2008 18:24