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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2008, 00:46   #1
VenMaster
Пользователь
 
Регистрация: 24.04.2008
Сообщений: 53
Лампочка Копирование файла и progressbar

Как реолизовать процесс копирования файла имея на форме Button,OpenDialog и progressbar???
VenMaster вне форума Ответить с цитированием
Старый 26.05.2008, 00:55   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

http://programmersforum.ru/showthread.php?t=17690
eoln вне форума Ответить с цитированием
Старый 26.05.2008, 02:01   #3
VenMaster
Пользователь
 
Регистрация: 24.04.2008
Сообщений: 53
По умолчанию

Тогда у меня вопросик: как через opendialog узнать размер выбранного файла????
VenMaster вне форума Ответить с цитированием
Старый 26.05.2008, 06:47   #4
Denager
Москоу
Форумчанин
 
Регистрация: 29.01.2008
Сообщений: 138
По умолчанию

Цитата:
Сообщение от VenMaster Посмотреть сообщение
Тогда у меня вопросик: как через opendialog узнать размер выбранного файла????


Код:
function GetFileSize1(FileName: String): Integer;
var
  FS: TFileStream;
begin
  try
    FS := TFileStream.Create(Filename, fmOpenRead);
  except
    Result := -1;
  end;
  if Result <> -1 then Result := FS.Size;
  FS.Free;
end;

...

For i:=0 to OpenDialog1.Files.Count-1 do
    Size[i]:=GetFileSize1(OpenDialog2.Files.Strings[i]);
Denager вне форума Ответить с цитированием
Старый 26.05.2008, 08:44   #5
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Гы. Логически подумать, этот кусок кода неверен, если FS объект не будет создан тогда пойдем на except после выйдет и наткнется на FS.Free и тут ошибка. Лучше уже так
Код:
function GetFileSize(FileName: String): DWORD;
var
  f: HFILE;
begin
  Result := 0;
  f := FileOpen(FileName, fmOpenRead);
  if (f <> HFILE_ERROR) then
  begin
    Result := Windows.GetFileSize(f, NIL);
    FileClose(f);
  end;
end;
BOBAH13 вне форума Ответить с цитированием
Старый 26.05.2008, 13:52   #6
VenMaster
Пользователь
 
Регистрация: 24.04.2008
Сообщений: 53
По умолчанию

Народ простите мне мою тупость, но у меня вопрос. Я описываю функцию getfilesize. Но чето не понял как мне привязать это к opendialog и предположем вывести размер файла в edit. Наверно всеже надо прописать if opendialog.execute ????
VenMaster вне форума Ответить с цитированием
Старый 26.05.2008, 15:22   #7
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

А что не ясно то ? GetFileSize(OpenDialog.FileName); Это чтоли не ясно ?
BOBAH13 вне форума Ответить с цитированием
Старый 26.05.2008, 16:07   #8
VenMaster
Пользователь
 
Регистрация: 24.04.2008
Сообщений: 53
По умолчанию

СПС, все теперь разобралася)))
Вот теперь мне ктонибудь сможет подсказать как этот размер привязять к копированию файла и progressbar???
VenMaster вне форума Ответить с цитированием
Старый 26.05.2008, 21:44   #9
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Может в ProgressBar.Position = (позиция в файле / GetFileSize()) * ProgressBar.Max) ?
BOBAH13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при открытии большого файла должно появляться окно с ProgressBar и показывать ход открытия Михаил Юрьевич Общие вопросы Delphi 3 28.05.2008 23:33
Копирование нескольких файлов + ProgressBar AngelOfDeath Общие вопросы Delphi 4 28.05.2008 14:57
ProgressBar Rahim1993 Общие вопросы Delphi 10 20.01.2008 21:28
Авто копирование файла с носителей и на носитель experts91 Общие вопросы Delphi 7 04.10.2007 17:27
Копирование имени файла greengeneral Общие вопросы Delphi 3 10.09.2007 14:11