Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как управлять ProgressBar  с помощью Timer-а ?


chaplin.u@gmail.com

Вопрос

Рекомендуемые сообщения

  • 0

если 1000 раз в секунду сдвигать ползунок ProgressBar, сколько из этих сдвигов успеет отобразить ваш экран???

есть ли смысл загружать систему сильнее?

Ссылка на комментарий
  • 0
  • Модераторы
4 часа назад, chaplin.u@gmail.com сказал:

Я хочу задать время ( в милисекундах) и по тикам таймера  сдвигать ProgressBar .

Понятно, что вы хотите. А что у вас не получается?

Ссылка на комментарий
  • 0

У меня бомбит от таких вопросов. Когда человек просто поставил среду себе и даже не удасужился небольшую книжку для новичков пролистать. и пишут как цвет текста поменять или в таймере параметр менять - "Как сделать так чтобы было вот так".

Просите за флуд. Но такое все чаще

Ссылка на комментарий
  • 0
20 минут назад, chaplin.u@gmail.com сказал:

я уже вижу что тут вместо того чтобы скопипастить пример долго обсуждают а зачем тебе это нужно и наехали всякие.

Никто не хочет тебя обидеть, просто все стали на более высоко уровне помогать. Потому что сама идея заполнять через таймер прогресс бар, в большинстве случаев лишена смысла. 

Ссылка на книги http://www.rad-studio.ru/книги/ 

Ссылка на комментарий
  • 0

Я думал что цель форумов - помогать новичкам. И не снобскими выпадками и даже не посыланием в библиотеку а чёрт побери - кодом.

И если есть вариант проще то "код в студию".

Ссылка на комментарий
  • 0
  • Модераторы
32 минуты назад, chaplin.u@gmail.com сказал:

Я думал что цель форумов - помогать новичкам. И не снобскими выпадками и даже не посыланием в библиотеку а чёрт побери - кодом.

И если есть вариант проще то "код в студию".

так вам и помогают, дали мануалчики для развития, это не фриланс где за вами слюни подтирают. 

Учитесь или платите копеечку, выбор за вами

Ссылка на комментарий
  • 0
47 минут назад, krapotkin сказал:

черт побери код


procedure TForm1.Timer1Timer(Sender:TObject);
begin
  progressBar1.value := progressBar1.value + 1;
end;

легче стало?

нет не стало. я бы допустил что это дал ничего не понимающий в программировании человек но для гуру это туфта.

Такой код я бы не написал. по этому коду прогрес бар движется как паровоз " в комуне остановка".

 

Ссылка на комментарий
  • 0

в 2к16 году не знать о интервале в таймере. Да и вообще, что за прикол в таймере прогресс бар менять?

Р.S. Вам либо нужно перестать троллить пользователей форума, либо пойти книженцию почитать

Ссылка на комментарий
  • 0
1 час назад, chaplin.u@gmail.com сказал:

нет не стало. я бы допустил что это дал ничего не понимающий в программировании человек но для гуру это туфта.

Такой код я бы не написал. по этому коду прогрес бар движется как паровоз " в комуне остановка".

 

Если бы вы почитали книжечку (куда вас и отсылали пользователи форума),то прочитали бы еще, что задать бы максимальное значение надо бы. И задается это так: progressBar1.max = ваше значение. Тогда бы у вашего поезда была бы цель)))

Ссылка на комментарий
  • 1
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  FMX.Controls.Presentation, FMX.StdCtrls;

type
  TForm1 = class(TForm)
    ProgressBar: TProgressBar;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Timer : TTimer;
    procedure TimerTimer(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ProgressBar.Min:=0;
  ProgressBar.Max:=100;
  Timer:=TTimer.Create(Self);
  Timer.Interval:=10; // милисекунд, 1000 = 1 секунде
  Timer.OnTimer:=TimerTimer;
  Timer.Enabled:=True;
end;

procedure TForm1.TimerTimer(Sender: TObject);
begin
  ProgressBar.Value:=ProgressBar.Value+0.1;
  if ProgressBar.Value>=ProgressBar.Max then
    Timer.Enabled:=False;
end;

end.

 

Ссылка на комментарий
  • 0

Я уже 25 лет пишу программы по ТЗ. Давайте обратимся к ТЗ...

Цитата

Я хочу задать время ( в милисекундах) и по тикам таймера  сдвигать ProgressBar 

Интервал срабатывания таймера задан в чем? - в миллисекундах. Ставим галочку пункт 1.

По тикам таймера... Приведенный код - обработчик "тиков" таймера. Галочка пункт 2

Сдвигать progressBar. Тут двояко можно толковать. Можно реально сдвигать прогресс-бар, можно двигать текущее значение в нем. Первый вариант слишком экзотичен, поэтому думаем про второй

Value := Value + 1; 

Галочка три.

Задание выполнено точно в соответствии с ТЗ, в сроки, определенные договором.

Подпись. печать.

 

Ссылка на комментарий
  • 0
  • Модераторы

chaplin.u@gmail.com, откройте любую книгу и изучите основы, для начала хотя бы по вашему вопросу. Почти в каждой книге есть пример работы с ProgressBar.

3 часа назад, chaplin.u@gmail.com сказал:

Я не могу найти пример как это делать.

А вы точно пробовали искать? Вот смотрите delphi ProgressBar по таймеру. Опять же в книгах есть примеры.

 

2 часа назад, chaplin.u@gmail.com сказал:

Я думал что цель форумов - помогать новичкам. И не снобскими выпадками и даже не посыланием в библиотеку а чёрт побери - кодом.

И если есть вариант проще то "код в студию".

Вы правы, цель форума - помогать новичкам, которые пытаются сделать что-то самостоятельно и у них что-то не получается, которые имеют хотя бы основные знания.

Вам же, дали уже даже код, но вы не стали разбираться, читать описание компонентов с которыми хотите работать... Вывод - вы хотите получить готовое решение по вашему описанию, раздел Ищу подрядчика.

 

p.s. Вопрос был решён, ещё в сообщении от krapotkin, тему закрываю.

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...