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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2010, 10:39   #1
katttes
Пользователь
 
Регистрация: 02.04.2010
Сообщений: 33
Вопрос ProgressBar не отображает процесс.

Я решила написать небольшую программку, которая бы копировала и удаляля файлы.На форме поместила 2 ProgressBar (1 для процесса копирования и 1 для удаления).
Процедура для копирования:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  form1.Caption:='SETUP';
  Label1.Visible:=true;
  Label2.Visible:=true;
  SetupP;
  if  CopyFile(PAnsiChar(dirIsTexe),PAnsiChar(dirKTexe),false)then
  begin
    ProgressBar1.Position:=40;
    label2.Caption:='40%';
  end;
  if  CopyFile(PAnsiChar(dirIsTtxt),PAnsiChar(dirKTtxt),false)then
  begin
    ProgressBar1.Position:=70;
    label2.Caption:='70%';
  end;
  if  CopyFile(PAnsiChar(dirIsR),PAnsiChar(dirKR),false)then
  begin
    ProgressBar1.Position:=100;
    label1.Caption:='ÃÎÒÎÂÎ';
    label2.Caption:='100%';
  end;
end;

Процедура для удаления:
procedure TForm1.Button2Click(Sender: TObject);
begin
   form1.Caption:='REMOVE';
   label3.Visible:=true;
   label4.Visible:=true;
   DeleteP;
   if DeleteFile('C:\Documents and Settings\All Users\Рабочий стол\testing.exe')then
   begin
    progressbar2.Position:=40;
    label4.Caption:='40%';
   end;
   if DeleteFile('C:\testing.txt')then
   begin
    progressbar2.Position:=70;
    label4.Caption:='70%';
   end;
   if DeleteFile('C:\result.txt')then
   begin
    progressbar2.Position:=100;
    label3.Caption:='ГОТОВО';
    label4.Caption:='100%';
   end;
end;
Впервом случае (для копирования) все нормально отображается, а во втором (для удаления) не отображается процесс в ProgressBar и Label не изменяется. Объясните пожалуйста, что я делаю не так?

Последний раз редактировалось Stilet; 12.04.2010 в 11:08.
katttes вне форума Ответить с цитированием
Старый 11.04.2010, 15:11   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Запускаем под Debug, ставим брейкпоинт на
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
и по шагам идем и смотрим где что-то не так работает.
BOBAH13 вне форума Ответить с цитированием
Старый 12.04.2010, 10:59   #3
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Попробуй после каждого обновления ProgressBar и Label.Caption поставить Application.ProcessMessages
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 12.04.2010, 11:11   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
CopyFile
А что возвращает эта функция? Может быть условия вообще всегда FALSE
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DialogBoxParam не отображает окно --=SaNitinDG=- Общие вопросы C/C++ 13 29.01.2010 13:58
Как в ProgressBar отобразить процесс выполнения Post запроса через Idhttp Joe_Tribbiani Работа с сетью в Delphi 8 15.06.2009 10:39
ADOQuery ничего не отображает kopoba БД в Delphi 3 05.06.2009 10:40
Как отобразить в ProgressBar процесс отправки писем через SMTP leon2009 Работа с сетью в Delphi 15 20.03.2009 21:26
Как с помощью ProgressBar показать процесс загрузки файла? blackstersl Общие вопросы Delphi 5 20.03.2009 11:31