Miganie...

0

Cze. Mam taką pętlę:

for i:=0 to 255 do begin
label1.font.color:=RGB(i, i, i);
application.ProcessMessages;
sleep(4);
end;

Ma ona oczywiście służyć rozjaśnianiu w skali szarości napisu na labelu. Niby wszystko jest ok, ale ten napis MIGA.
Co mogę zrobic, żeby nie migał?

0

Miga powiadasz ? Hm,
może daj w oncreate formy :
form1.DoubleBuffered := true;
Nie wiem czy o to biega :-)
;-)

0

jasne ze sie da :)
nie trzeba uzywac petli mozna zamiast tego uzyc np Timera
var
r,g,b:byte;
w on create formy wpisz
r:=0;
g:=0;
b:=0;

w Timer :
label1.Font.color:=rgb(r,g,b);
r:=r+5; // wpisujesz co ile ma sie rozjasniac np.5 z 255
to działa git !
aha i sleep spowalnia program moze dlatego mryga

0

Najprostsze rozwiązanie jest takie:

powiedz że miało migać i wszyscy będą szczęśliwi

0

jasne ze sie da :)
nie trzeba uzywac petli mozna zamiast tego uzyc np Timera

Bardzo chętnie, ale gdy potrzeba ileś tam napisów, to używanie timera jest trochę bardzo niewygodne

aha i sleep spowalnia program moze dlatego mryga

Bez sleep jest tak samo, tyle, że szybciej się wszystko dzieje

0

Najprostsze rozwiązanie jest takie:

powiedz że miało migać i wszyscy będą szczęśliwi

ROTFL! :D

0

Bez sleep jest tak samo, tyle, że szybciej się wszystko dzieje

:-D JASNE !!! to nie jest TP :) sleep spowalnia program SAM ZOBACZ:
WPISZ DO TIMER'A I NACISKAJ [OK] - zobaczysz jaka bedzie reakcja
const
l:integer=0;
begin
case l of
0:begin sleep(1000);
showmessage('juhas miałem racje co?');
end;
end;
l:=(l+1) mod 1;
end;
daj nawet sleep(2000); - jeszcze bedzie lepiej !

0

Spleep blokuje cały program na okreslony odcinek czasu, nie stosuj go!!!!

Dobry jest do blokowania WINa:P

0

Miga powiadasz ? Hm,
może daj w oncreate formy :
form1.DoubleBuffered := true;
Nie wiem czy o to biega :-)
;-)

ufff Na szczęście o to chodziło... Dzięki miszczu :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1