Jak powiązać ProgressBar z Timer1.Interval?

Jak powiązać ProgressBar z Timer1.Interval?
DC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 145
0

Witam.

Istnieje jakaś możliwość powiązania progressbar z timer1.interval w delphi? Chodzi mi o to, by np. gdy timer1.interval:=100000 to by po połowie tego czasu progressbar był załadowany do połowy, a gdy czas dobiegnie końca to żeby progressbar też już był na końcu, później żeby się to powtarzało.

babubabu
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 648
0

@DroniC Tak da się coś takiego zrobić.

Uprzejmie proszę o przeniesienie tego tematu do kosza gdyż jego autor ma głęboko w dupie to co mu radzimy czyli przeczytanie jakiegokolwiek tutoriala, a na dodatek przychodzi z każdą pierdołą na forum zamiast kombinować samemu. A przy okazji odpowiedź na zadane pytanie została udzielona.

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
2

Echh.

Zrób interwał 10× mniejszy i w timerze inkrementuj pasek o 10%.

DC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 145
0
Kopiuj
 begin
timer1.enabled:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
progressbar1.Position := progressbar1.position +1;
if progressbar1.position = progressbar1.Max then
progressbar1.position := 0;
end; 

Mam taki kod. Jest to normalny kod poruszania sie progressbar. Np. Gdy timer1.interval:=1000 to wtedy co sekunde pasek się przesuwa + 1/100. W progressbar ustawiłem smooth by to było bardziej widoczne. Niestety, ale ja chce by ten pasek wciągu tej jednej sekundy przesuwał się od początku do końca i by to było widoczne, a nie że jest raz na początku, a zaraz jest na samym końcu (nie widać kiedy był np. w połowie).

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

timer1.interval:=100;
progressbar1.Max:=10;
to będzie w sekundę przesuwać się od początku do końca.

Powtarzam w który raz, weź się za podstawy. W stanie obecnym nie jesteś w stanie zrozumieć co się do ciebie mówi.
To co napisałem jest dokładnie tym co napisał @Azarien godzinę temu.

DC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 145
0

A co jeśli ja nie chcę zmieniać timer1.interval ?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

Gdyby miałeś pojęcie o podstawach podstaw tak głupiego pytania na 100% nie zadałbyś.

Kopiuj
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  progressbar1.StepIt;
  if progressbar1.Position = progressbar1.Max then
  begin
     // Tu zaś wywołujesz to dla czego nie chciałeś zmieniać interval
     progressbar1.Position := progressbar1.Min;
  end;
end;

zamiana znacznika <code class="cpp"> na <code class="delphi"> - furious programming

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.