Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 2.973 pregleda

Najnovija ↓

Mala pomoc ako moze... 21.05.2005. u 03:31 · pre 261 mesec #1
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...
Re: Mala pomoc ako moze... 21.05.2005. u 04:31 · pre 261 mesec #2
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.
Potpis
Play Store
Re: Mala pomoc ako moze... 23.05.2005. u 14:13 · pre 261 mesec #4
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;
Re: Mala pomoc ako moze... 23.05.2005. u 16:45 · pre 261 mesec #5
umesto ovog niza stepena desetke mozes koristiti power funkciju iz Math unita. jeste da je brze ovako pre-izracunato, ali opet :)
Potpis
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme