Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Mala pomoc ako moze...

[es] :: Pascal / Delphi / Kylix :: Mala pomoc ako moze...

[ Pregleda: 2147 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

utnapistin
Sabac

Član broj: 37782
Poruke: 12
*.vdial.verat.net.



Profil

icon Mala pomoc ako moze...21.05.2005. u 02:31 - pre 213 meseci
Trebaju mi dve stvari u Delphiju 6.
Prvo da li postoji neka standardna funkcija ili procedura za tip Timage kojim bi obrisao sadrzaj slike? Tacnije , na primer imam dugme koje bi klikom brisalo sadrzaj recimo Image1 , tako da ona postane transparentna...
A drugo , kako da zaokruzim promenljivu tipa float na dve decimale?
To mi treba prilikom prikazivanja rezultata neke operacije koja izracunavanjem daje realan broj , i zelim da ga prikazem zaokruzenog na dve decimale u polju npr edit1...
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Mala pomoc ako moze...21.05.2005. u 03:31 - pre 213 meseci
Pretpostavljam da si TransparentColor property postavio na boju koja bi trebalo da bude transparentna i Transparent na True kako bi transparencija radila. Kada hoces da obrises sliku samo iscrtas po celoj povrsini (rectangle(0, 0, width, heigth)) canvasa slike pravougaonik koji ima boju kao TransparentColor property.

Za zaokruzivanje koristi RoundTo samo pazi jer koristi Banker’s rounding:

RoundTo(1234567, 3) 1234000
RoundTo(1.234, -2) 1.23
RoundTo(1.235, -2) 1.24
RoundTo(1.245, -2) 1.24

Pogledaj i SetRoundMode funkciju.
 
Odgovor na temu

utnapistin
Sabac

Član broj: 37782
Poruke: 12
*.vdial.verat.net.



Profil

icon Re: Mala pomoc ako moze...21.05.2005. u 14:26 - pre 213 meseci
Hvala puno na pomoci!
 
Odgovor na temu

DelphiBoy

Član broj: 47300
Poruke: 28
213.244.200.*



Profil

icon Re: Mala pomoc ako moze...23.05.2005. u 13:13 - pre 213 meseci
Najlaksi nacin da oslobodis sliku iz memorije je
Image1.Picture:=nil;
, tako da je (ako si vec postavio svojstvo Image1.Transparent=true) postala transparentna.

Sto se tice zaokruzivanja broja na dve decimale, mozes koristiti RoundTo, kao sto je Srdjan rekao, a mozda ti i ova funkcija nesto pomogne:

function RoundN(x: Extended; d: Integer): Extended;
// RoundN(123.456, 0) = 123.00
// RoundN(123.456, 2) = 123.46
// RoundN(123456, -3) = 123000
const
t: array [0..12] of int64 = (1, 10, 100, 1000, 10000, 100000,
1000000, 10000000, 100000000, 1000000000, 10000000000,
100000000000, 1000000000000);
begin
if Abs(d) > 12 then
raise ERangeError.Create('RoundN: Value must be in -12..12');
if d = 0 then
Result := Int(x) + Int(Frac(x) * 2)
else if d > 0 then begin
x := x * t[d];
Result := (Int(x) + Int(Frac(x) * 2)) / t[d];
end else begin // d < 0
x := x / t[-d];
Result := (Int(x) + Int(Frac(x) * 2)) * t[-d];
end;
end;
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
213.244.208.*

Sajt: www.diy-fever.com


+1 Profil

icon Re: Mala pomoc ako moze...23.05.2005. u 15:45 - pre 213 meseci
umesto ovog niza stepena desetke mozes koristiti power funkciju iz Math unita. jeste da je brze ovako pre-izracunato, ali opet :)
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Mala pomoc ako moze...

[ Pregleda: 2147 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.