Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с progressbar. 
:(
    Опции темы
ruslan21
Дата 29.11.2007, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



здасте. у меня такая цель: я делаю проигрователь мне надо чтоб при каждой загрузке progressbar запускалась шкала доходила до 100 и ухадила в Visible:= false

PM MAIL   Вверх
Alexeis
Дата 29.11.2007, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(ruslan21 @  29.11.2007,  09:41 Найти цитируемый пост)
мне надо чтоб при каждой загрузке progressbar запускалась шкала доходила до 100 и ухадила в Visible:= false

  Загрузке чего?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ruslan21
Дата 29.11.2007, 10:12 (ссылка)   | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



при запуске сомой программ, типа подождите идет загрузка программы а потом progressbar проподает
PM MAIL   Вверх
Alexeis
Дата 29.11.2007, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



  Можно в OnCreate каждой формы изменять progressbar.position, в вообще универсального решения нет, нужно проверить что в программе грузиться долго и вручную настраивать прогресс. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ruslan21
Дата 29.11.2007, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



а как тогда сделать чтоб с помощью таймера можно было сделать не видимым progressbar. через опредилёный промежуток времени допустим через минуту тоесть :
progressbar работает и через минуту переходит в невидимый режим 
PM MAIL   Вверх
THandle
Дата 29.11.2007, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



 smile ruslan21, Вот меня интерисует вопрос. Для чего он(Progressbar) тебе нужен? Судя по твоим вопросам нужен он только для крутости. 

Это сообщение отредактировал(а) THandle - 29.11.2007, 14:27
PM   Вверх
Alexeis
Дата 29.11.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(ruslan21 @  29.11.2007,  14:22 Найти цитируемый пост)
а как тогда сделать чтоб с помощью таймера можно было сделать не видимым progressbar. через опредилёный промежуток времени допустим через минуту тоесть :
progressbar работает и через минуту переходит в невидимый режим 

  Так скрыть его проблем нет. У прогресбара есть евенты. Как только дошел до конца, нужно будет сделать форму с ним невидимой или вообще удалить. Сложнее прогресс организовать, ведь во время загрузки приложение не реагирует на приходящие ему сообщения, в том числе и сообщения таймера. Можно попробовать мультимедийный таймер, но опять же неясно когда загрузка закончиться, да и при этом можно сразу забыть про VCL, так как мультимедийный таймер работает в отдельном потоке.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ruslan21
  Дата 29.11.2007, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



THandle,  да ты  прав он мне для этого и нужен ну что разве так сложно подсказать как это сделать 
PM MAIL   Вверх
iluvatar
Дата 29.11.2007, 17:11 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 266
Регистрация: 17.9.2007

Репутация: нет
Всего: 4



использовать различные потоки.
PM MAIL ICQ   Вверх
THandle
Дата 29.11.2007, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Код

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if ProgressBar1.Position = ProgressBar1.Max then
   begin
     Timer1.Enabled := false;
     ProgressBar1.Visible := false;
   end
 else
   ProgressBar1.Position := ProgressBar1.Position + 1;
end;

PM   Вверх
ruslan21
Дата 30.11.2007, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



всем огромное спасибо smile 
PM MAIL   Вверх
lukas
Дата 30.11.2007, 21:33 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



я это реализовал намного проще...


Просто привожу код из одной своей программы...
Примерно так:


Код

program Project1;

uses
  Forms,
  SysUtils,
  Windows,
  Classes,
  uVirtualIniFile,
  TypInfo,
  Controls,
  IniFiles,
  Messages,
  Variants,
  Graphics,
  Dialogs,
  ExtCtrls,
  FileInfo,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2},
  Unit5 in 'Unit5.pas' {Form5},
  Unit6 in 'Unit6.pas' {Form6},
  Unit7 in 'Unit7.pas' {Run},
  Unit30 in 'Unit30.pas' {form_color},
  Unit3 in 'Unit3.pas' {Sound},
  Unit4 in 'Unit4.pas' {Form4},
  Unit8 in 'Unit8.pas' {KNK_STYLE},
  Unit9 in 'Unit9.pas' {CodEdit},
  Unit10 in 'Unit10.pas' {EasyEditor},
  Unit11 in 'Unit11.pas' {obj_select},
  Unit12 in 'Unit12.pas' {CMD_Run},
  Unit13 in 'Unit13.pas' {RichEditor},
  Unit14 in 'Unit14.pas' {About},
  Unit15 in 'Unit15.pas' {Form15},
  Unit16 in 'Unit16.pas' {Style},
  Unit17 in 'Unit17.pas' {FORM_PROP},
  Unit18 in 'Unit18.pas' {Lng},
  Unit19 in 'Unit19.pas' {SoundSystem},
  Unit21 in 'Unit21.pas' {DLLModuls},
  Unit22 in 'Unit22.pas' {DLLInfo},
  Unit23 in 'Unit23.pas' {Logo},
  Unit24 in 'Unit24.pas' {ItemsEditor},
  Unit25 in 'Unit25.pas' {Form25},
  Unit27 in 'Unit27.pas' {e_NewVar},
  Unit28 in 'Unit28.pas' {PropObj},
  Unit29 in 'Unit29.pas' {e_DelVar},
  Unit31 in 'Unit31.pas' {e_Var},
  Unit32 in 'Unit32.pas' {e_XYWH},
  Unit33 in 'Unit33.pas' {e_ObjText},
  Unit26 in 'Unit26.pas' {Archiv_Progress},
  Unit34 in 'Unit34.pas' {PackageEditor},
  Unit35 in 'Unit35.pas' {e_Message},
  Unit36 in 'Unit36.pas' {e_CopyFile},
  Unit37 in 'Unit37.pas' {e_MoveFile},
  Unit38 in 'Unit38.pas' {e_DeleteFile},
  Unit39 in 'Unit39.pas' {e_ExtractFile},
  Unit40 in 'Unit40.pas' {e_Dir},
  Unit41 in 'Unit41.pas' {e_MciPlay},
  Unit42 in 'Unit42.pas' {SelFiles},
  Unit43 in 'Unit43.pas' {Var_Temp},
  Unit44 in 'Unit44.pas' {e_WebUrl},
  Unit45 in 'Unit45.pas' {ImageEdit},
  Unit46 in 'Unit46.pas' {e_FuncComm},
  Unit47 in 'Unit47.pas' {LoadProject},
  Unit48 in 'Unit48.pas' {e_PicPath},
  Unit49 in 'Unit49.pas' {e_SetProp},
  Unit50 in 'Unit50.pas' {e_IfThen},
  Unit20 in 'Unit20.pas' {Form20},
  Unit51 in 'Unit51.pas' {sh_unreg},
  Unit52 in 'Unit52.pas' {e_Link},
  Unit53 in 'Unit53.pas' {e_DllModuls},
  Unit54 in 'Unit54.pas' {FontDlg},
  Unit55 in 'Unit55.pas' {Temples},
  Unit56 in 'Unit56.pas' {NewTemp},
  Unit57 in 'Unit57.pas' {Lite_Info},
  Unit58 in 'Unit58.pas' {ExtDialog},
  Unit59 in 'Unit59.pas' {FastChange},
  Unit62 in 'Unit62.pas' {InfoFile},
  Unit63 in 'Unit63.pas' {FrmPass},
  Unit60 in 'Unit60.pas' {FreeReg},
  Unit61 in 'Unit61.pas' {e_OneScript},
  Unit64 in 'Unit64.pas' {e_YESNO},
  Unit65 in 'Unit65.pas' {e_Regwrite},
  Unit66 in 'Unit66.pas' {e_Regread},
  Unit67 in 'Unit67.pas' {e_SetupINF},
  Unit68 in 'Unit68.pas' {e_Speed},
  Unit69 in 'Unit69.pas' {e_IniWriter},
  Unit70 in 'Unit70.pas' {e_FormAnimate},
  Unit71 in 'Unit71.pas' {e_IniRead},
  Unit72 in 'Unit72.pas' {e_IniSection};

{$R *.res}


procedure LoadLocal;
 var
 Ini:TIniFile;
begin
 Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'config.ini');
 LocalLng:=ini.ReadString('main','lng','Russian (RU)');
 FK:=INI.ReadString('main','freekey','');
 Ini.Free;
end;

function GetFileVersion(const FileName: string): string;
   Var
   FI:TFileInfo;
begin
   FI:=TFileInfo.Create(FileName);
   Result:=FI.VersionString;
   MSBVer:=Result;
   FI.Free;
end;


begin
SetThreadLocale(1049);

Logo:=TLogo.Create(nil);
 LoadLocal;
  Logo.Show;
  Logo.Refresh;
  Logo.Label2.Caption:='Version '+GetFileVersion(Application.ExeName);
  LOGO.Label1.Caption:='Initialize...';
  LOGO.Label1.Repaint;
  Application.Initialize;
  Application.Title := 'Mess Box AR';
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TImageEdit, ImageEdit);
  Application.CreateForm(TLoadProject, LoadProject);
  Application.CreateForm(Te_DllModuls, e_DllModuls);
  Application.CreateForm(TFontDlg, FontDlg);
  Application.CreateForm(TNewTemp, NewTemp);
  Application.CreateForm(TLite_Info, Lite_Info);
  Application.CreateForm(TExtDialog, ExtDialog);
  Application.CreateForm(TFastChange, FastChange);
  Application.CreateForm(TInfoFile, InfoFile);
  Application.CreateForm(TFrmPass, FrmPass);
  Application.CreateForm(TFreeReg, FreeReg);
  Application.CreateForm(Te_OneScript, e_OneScript);
  Application.CreateForm(Te_YESNO, e_YESNO);
  Application.CreateForm(Te_Regwrite, e_Regwrite);
  Application.CreateForm(Te_Regread, e_Regread);
  Application.CreateForm(Te_SetupINF, e_SetupINF);
  Application.CreateForm(Te_Speed, e_Speed);
  Application.CreateForm(Te_IniWriter, e_IniWriter);
  Application.CreateForm(Te_FormAnimate, e_FormAnimate);
  Application.CreateForm(Te_IniRead, e_IniRead);
  Application.CreateForm(Te_IniSection, e_IniSection);
  logo.prog.Position:=5;
  LOGO.Label1.Caption:='Main form...';
  LOGO.Label1.Repaint;
  logo.prog.Position:=10;
  sleep(10);
  Application.CreateForm(TCodEdit, CodEdit);
  LOGO.Label1.Caption:='Code Editor...';
  LOGO.Label1.Repaint;
  logo.prog.Position:=15;
  Application.CreateForm(TStyle, Style);
  Application.CreateForm(TForm5, Form5);
  Application.CreateForm(TForm2, Form2);
  LOGO.Label1.Caption:='Edit Form...';
  LOGO.Label1.Repaint;
  sleep(10);
  logo.prog.Position:=20;
  Application.CreateForm(TForm25, Form25);
  LOGO.Label1.Caption:='Easy Editor forms...';
  LOGO.Label1.Repaint;
  logo.prog.Position:=25;
  Application.CreateForm(Te_NewVar, e_NewVar);
  Application.CreateForm(TPropObj, PropObj);
  Application.CreateForm(Te_DelVar, e_DelVar);
  Application.CreateForm(Te_Var, e_Var);
  Application.CreateForm(Te_XYWH, e_XYWH);
  logo.prog.Position:=30;
  sleep(10);
  Application.CreateForm(Te_ObjText, e_ObjText);
  Application.CreateForm(TArchiv_Progress, Archiv_Progress);
  Application.CreateForm(TPackageEditor, PackageEditor);
  Application.CreateForm(Te_Message, e_Message);
  Application.CreateForm(Te_CopyFile, e_CopyFile);
  logo.prog.Position:=35;
  Application.CreateForm(Te_MoveFile, e_MoveFile);
  Application.CreateForm(Te_DeleteFile, e_DeleteFile);
  Application.CreateForm(Te_ExtractFile, e_ExtractFile);
  Application.CreateForm(Te_Dir, e_Dir);
  logo.prog.Position:=40;
  sleep(10);
  Application.CreateForm(Te_MciPlay, e_MciPlay);
  Application.CreateForm(Te_PicPath, e_PicPath);
  Application.CreateForm(Te_SetProp, e_SetProp);
  Application.CreateForm(Te_IfThen, e_IfThen);
  logo.prog.Position:=45;
  Application.CreateForm(Tsh_unreg, sh_unreg);
  Application.CreateForm(Te_Link, e_Link);
  Application.CreateForm(Te_FuncComm, e_FuncComm);
   Application.CreateForm(Te_WebUrl, e_WebUrl);
   logo.prog.Position:=50;
   sleep(10);
  LOGO.Label1.Caption:='Shell Forms...';
  LOGO.Label1.Repaint;
  logo.prog.Position:=60;
  sleep(10);
  Application.CreateForm(TSelFiles, SelFiles);
  Logo.Repaint;
  logo.prog.Position:=70;
  LOGO.Label1.Caption:='Other forms...';
  LOGO.Label1.Repaint;
  sleep(10);
  Application.CreateForm(TForm6, Form6);
  Application.CreateForm(TRun, Run);
  Application.CreateForm(Tform_color, form_color);
  Application.CreateForm(TSound, Sound);
  Application.CreateForm(TTemples, Temples);
  logo.prog.Position:=75;
  Application.CreateForm(TForm4, Form4);
  Application.CreateForm(TKNK_STYLE, KNK_STYLE);
  Application.CreateForm(TEasyEditor, EasyEditor);
  Application.CreateForm(Tobj_select, obj_select);
  Application.CreateForm(TCMD_Run, CMD_Run);
  logo.prog.Position:=80;
  sleep(10);
  Application.CreateForm(TRichEditor, RichEditor);
  Application.CreateForm(TAbout, About);
  Application.CreateForm(TForm15, Form15);
  Application.CreateForm(TFORM_PROP, FORM_PROP);
  Application.CreateForm(TLng, Lng);
  logo.prog.Position:=85;
  sleep(10);
  Application.CreateForm(TSoundSystem, SoundSystem);
  Application.CreateForm(TDLLModuls, DLLModuls);
  Application.CreateForm(TDLLInfo, DLLInfo);
  Application.CreateForm(TItemsEditor, ItemsEditor);
   Application.CreateForm(TVar_Temp, Var_Temp);

    sleep(10);
   logo.prog.Position:=90;
  LOGO.Label1.Caption:='Language load...';
  LOGO.Label1.Repaint;
  logo.prog.Position:=97;
  sleep(10);
  Application.CreateForm(TForm20, Form20);
  logo.prog.Position:=100;
  Logo.Hide;
  Application.Run;

end.



--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
eViperEA
Дата 24.3.2008, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 13.3.2008

Репутация: нет
Всего: нет



Возник вопрос.. Как сделать в Label1 отображение "%" того что в прогресс баре..?
PM MAIL   Вверх
MadCoder
Дата 24.3.2008, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: нет
Всего: 2



Цитата(eViperEA @ 24.3.2008,  08:07)
Возник вопрос.. Как сделать в Label1 отображение "%" того что в прогресс баре..?

Вставь этот код в событие OnTimer.
Код

Label1.Caption:=Format('Уже %d процентов загрузилось. Обождите...'. [ProgressBar1.Position]);

PM WWW ICQ   Вверх
eViperEA
Дата 24.3.2008, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 13.3.2008

Репутация: нет
Всего: нет



Label1.Caption:=Format('Уже %d процентов загрузилось. Обождите...', [ProgressBar1.Position]); немного исправил.. ато он жаловался ..=)
тока осталься вопрос как мне добавить % ... я пробовал его в "%" ковычки поместить он мне стока ошибок навыдавал.. smile 

Это сообщение отредактировал(а) eViperEA - 24.3.2008, 09:07
PM MAIL   Вверх
VICTAR
Дата 24.3.2008, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 10
Всего: 80



Вместо точки после строки поставь запятую
Format(''запятая []);
PM MAIL   Вверх
eViperEA
Дата 24.3.2008, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 13.3.2008

Репутация: нет
Всего: нет



ну эт я сделал мне надо в этом месте '' мне надо поставить % после цифры...
PM MAIL   Вверх
VICTAR
Дата 24.3.2008, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 10
Всего: 80



Format ('%s', ['%'])
PM MAIL   Вверх
Shaggy
Дата 24.3.2008, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 2.5.2007
Где: г.Ижевск

Репутация: 2
Всего: 5



%%
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0663 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.