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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.09.2007, 02:16
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание Проблемы с копированием

Для копирования путь к коп.файлу берется с
listview1.items[i].caption
путь указан - но так как надо указать еще и название файла я беру ее с
li.Subitems[1]
но почему то после первой удачной копировании оно мне выдает ощибку
Код:
var
 SrcFile, DestFile: file;
  BytesRead, BytesWritten, TotalRead: Integer;
  Buffer: array[1..500] of byte;
 i, FSize: Integer;
begin
if listview1.Items.Count=0 then exit;
for i:=0 to listview1.Items.Count +1 do
begin
prbCopy.Position:=0;
  AssignFile(SrcFile, listview1.Items[i].Caption);
  AssignFile(DestFile, 'C:\'+li.SubItems[1]);//в li.SubItems[1] путь не указан 
                                                        //только имя файла.расчирения
  Reset(SrcFile, 1);
  try
    Rewrite(DestFile, 1);
    try
      try
         TotalRead := 0;
            FSize := FileSize(SrcFile);
              repeat
          BlockRead(SrcFile, Buffer, SizeOf(Buffer), BytesRead);
          if BytesRead > 0 then
          begin
            BlockWrite(DestFile, Buffer, BytesRead, BytesWritten);
            if BytesRead <> BytesWritten then
              raise Exception.Create('Error copying file')
            else
            begin
              TotalRead := TotalRead + BytesRead;
              prbCopy.Position := Trunc(TotalRead / Fsize) * 100;//prbCopy- прогрессбар
              prbCopy.Update;
            end;
          end
        until BytesRead = 0;
      except
        Erase(DestFile);
        raise;
      end;
    finally
      CloseFile(DestFile);
    end;
  finally
    CloseFile(SrcFile);
    listview1.Items[i].Delete;//удаляем то что уже скопировали
  end;
  end;

Почему оно выдает мне ощибку - в чем трабла??
Ответить с цитированием
  #2  
Старый 28.09.2007, 15:26
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Цитата:
Сообщение от Electronic_Arts
Код:
var
  AssignFile(DestFile, 'C:\'+li.SubItems[1]);//в li.SubItems[1] путь не указан 
                                                        //только имя файла.расчирения
Надо писать так
Код:
listview1.Items[i].SubItems[1]
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #3  
Старый 28.09.2007, 22:01
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

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

Access violation at address 00491A5A in module 'Project1.exe'. Read of address 00000024.
Ответить с цитированием
  #4  
Старый 28.09.2007, 23:03
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Не
Код:
for i:=0 to listview1.Items.Count +1 do
а
Код:
for i:=0 to listview1.Items.Count -1 do
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #5  
Старый 28.09.2007, 23:04
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
По умолчанию

Разобрался
Над просто удалить операцию в конце
listview1.items[i].delete;
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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