Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Копировать файлы [D6, D7]


tort ©   (2006-01-16 20:28:00) 

Всем мастерам и участникам вечер добрый!

Друзья, я хочу продолжить разговор на тему копирования файлов.
Немного почитав книжки, разобрался тока в этом, посмотрите пожалуйста, в чем ошибка.
Первая строка - ясна как небо.
  if windows.CopyFile(Pchar(edit2.Text),Pchar(edit3.Text),true) then

Вторая строка - вопрос.

 if windows.CopyFile(Pchar(Listbox1.items.Text),Pchar(edit1.Text),true) then
 Showmessage('OK')else
 Showmessage('Error');


Джо   (2006-01-16 21:45:00) [1]

> [7] tort   (16.01.06 21:37)
> Жаль, что я не в Москве, я б тебе литр пива поставил! Ей
> богу!

Зачем Москва, дорогой? Я в Киеве живу :)


tort   (2006-01-16 21:37:00) [2]

Джо! Спасибо большое! У меня получилось. тута прям и мысли стали свеже -ещё и инфу и файлах подкину. Спасибо!

Жаль, что я не в Москве, я б тебе литр пива поставил! Ей богу!


Джо   (2006-01-16 21:18:00) [3]

Кроме того, все файлы из списка скопировать не получится, нужно в цикле, т.е, в таком духе:


var
 I: Integer;
 OldFileName,
 NewFileName: string;
begin
 for I := 0 to ListBox1.Items.Count-1 do
 begin
   OldFileName := ListBox1.Items[I];
   NewFileName := Edit1.Text +
     PathDelim + ExtractFileName(OldFileName);

   if not CopyFile(PChar(OldFileName),PChar(NewFileName),False) then
     RaiseLastOSError;
 end;
end;


Джо   (2006-01-16 21:14:00) [4]

> [3] tort   (16.01.06 20:40)

1.  
Или так: listbox1.Items.Add(opendialog1.FileName) — OpenDialog выбирает 1 файл
или так: listbox1.Items.AddStrings(opendialog1.Files) — OpenDialog выбирает несколько файлов

2. CopyFile — второй параметр должен задавать не папку, а имя файл (желательно, полное).


sniknik   (2006-01-16 20:58:00) [5]

> Компилятор не ругает, ...
procedure TForm1.Button4Click(Sender: TObject);
begin
if Win32Check(windows.CopyFile(Pchar(Listbox1.items.Text),Pchar(edit1.Text),true)) then
Showmessage('OK')else
Showmessage('Error');
end;


tort   (2006-01-16 20:40:00) [6]

Спасибо за отклик, дружище! Очень приятно слышать!

Джо, вопрос такой.

Есть listbox с именами файлов (и и их путями), есть Edit1.
Как можно скопировать файлы, указанные в списке в каталог, указанный в
Edit1 ?

Вот мой код.

//добавим файл
procedure TForm1.Button3Click(Sender: TObject);
begin
 if OpenDialog1.Execute then begin
 listbox1.Items.Add(opendialog1.Files);
end;

//скопируем файл
procedure TForm1.Button4Click(Sender: TObject);
begin
 if windows.CopyFile(Pchar(Listbox1.items.Text),Pchar(edit1.Text),true) then
 Showmessage('OK')else
 Showmessage('Error');
end;

Компилятор не ругает, но ничего не происходит, не могу скопировать?
Подскажите пожалуйста!


tort   (2006-01-16 20:39:00) [7]

Спасибо за отклик, дружище! Очень приятно слышать!

Джо, вопрос такой.

Есть listbox с именами файлов (и и их путями), есть Edit1.
Как можно скопировать файлы, указанные в списке в каталог, указанный в
Edit1 ?

Вот мой код.

//добавим файл
procedure TForm1.Button3Click(Sender: TObject);
begin
 if OpenDialog1.Execute then begin
 listbox1.Items.AddStrings(opendialog1.Files);
end;

//скопируем файл
procedure TForm1.Button4Click(Sender: TObject);
begin
 if windows.CopyFile(Pchar(Listbox1.items.Text),Pchar(edit1.Text),true) then
 Showmessage('OK')else
 Showmessage('Error');
end;

Компилятор не ругает, но ничего не происходит, не могу скопировать?
Подскажите пожалуйста!


Джо   (2006-01-16 20:34:00) [8]

А в чем вопрос, дружище? :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо