webForumDet fria alternativet

Blandat

8 svar · 406 visningar · startad av gundeman

gundemanMedlem sedan jan. 200167 inlägg
#1

1)Jag har fått följande uppgift som jag inte kan lösa:
Skriv ett program som räknar ut skatten på angiven brutto lön. Bestäm själv skatte sattsen.
2)Jag har gjort 4 objekt som från början är osynliga sen skall den första bli synlig efter en sekund och den andra efter 2 sekunder osv.
Tacksam för svar

D3VaST8DMedlem sedan dec. 2000485 inlägg
#2
  1. inget svårt. skapa en konstant till vilken du sätter skattesatsen. sedan är det vanlig multiplikation som gäller

  2. inför en timer samt en funktion för uppritning av objekt.
    skapa sedan en loop i vilken du har en case-sats. när en sekund gått anropar du uppritningsfunktionen med de egenskaper ditt objekt har. efter två sekunder likdant fast med objekt tvås egenskaper.

gundemanMedlem sedan jan. 200167 inlägg
#3

Tack för ditt svar.
Men jag får det inte att funka (jag är inte speciellt duktig)
Jag skriver så här:
procedure TForm1.Button1Click(Sender: TObject);
var brutto:integer;
const skatt:double=0.25;
begin
brutto:=StrToInt(edit1.text);
StrToInt(label1.Caption):=StrToReal(brutto*skatt);

end;

end.

D3VaST8DMedlem sedan dec. 2000485 inlägg
#4

nevermind

vad är det som går snett?

"StrToInt(label1.Caption):=StrToReal(brutto*skatt);"
String to int? Du deklarerade nyss brutto som integer. om du deklarerar brutto som real, kan du köra StrToReal, multiplicera och konvertera tillbaka till string med RealToStr.

[Redigerat av D3VaST8D den 01 feb 2001]

gundemanMedlem sedan jan. 200167 inlägg
#5

Dessvärre så klarar jag det fortfarande inte.
procedure TForm1.Button1Click(Sender: TObject);
var brutto:real;
const skatt:double=0.25;
begin
brutto:=StrToInt(edit1.text);
StrToReal(label1.caption):=RealToStr(Brutto*Skatt);

end;

end.

D3VaST8DMedlem sedan dec. 2000485 inlägg
#6

brutto är real:
"brutto:=StrToInt(edit1.text);"
bör vara
brutto:=StrToReal(edit1.text);

vad gör denna sats?
"StrToReal(label1.caption):=RealToStr
(Brutto*Skatt);"

"RealToStr(Brutto*Skatt)"
gör ju om Brutto*Skatt till en sträng.
"StrToReal(label1.caption)"
gör ju om strängen till real igen...

WiNNeMedlem sedan maj 2000192 inlägg
#7

I Delphi är det bättre att använda double istället för real.
>var brutto:double;

Vidare finns inte StrToReal och RealToStr i Delphi (de kanske fanns i Pascal men jag minns inte). Du använder FloatToStr och StrToFloat istället.

------------------
winne.net

gundemanMedlem sedan jan. 200167 inlägg
#8

Ok måhända att jag är ett pucko inom programering, men kan ingen lägga ut hela koden.
(JAG HAR BARA DELPHI3)

gundemanMedlem sedan jan. 200167 inlägg
#9

Efter att jag sansat mig lyckades jag lösa det själv så no need to bother

128 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)