06. august 2002 - 18:55Der er
7 kommentarer og 1 løsning
float ændrer værdi, hvorfor?
Jeg har lavet noget % uptime halløj, som skal udregne hvor mange % af tiden man bruger sin computer. Det ligger i et i forvejen (Så vidt jeg ved) fejlfrit program. Koden er her: DecodeTime(Now(), NTim, NMin, NSek, NMSek); DecodeDate(Now(), NAar, NManed, NDag); FloatTim = FTim; FloatMin = FMin; FloatSek = FSek; YearUp = NAar - Year; MonthUp = NManed - Month; if (YearUp > 0) { MonthUp = MonthUp + (12 * YearUp); } DayUp = NDag - Day;
FTim, FMin & FSek er hvor længe computeren har kørt siden startdato & tid, startdato = Day, Month, Year. StartTid = LTim, LMin, LSek.
LblPercentUp->Caption svinger mellem 99,x og 100,x %, også selvom jeg har resat programmet, så jeg ved den skulle vise 100 præcis (hvilket den også gør med jævne mellemrum)
Håber nogen kan/vil hjælpe mig, selvom jeg kun har 5 point :(
Jyske Bank er rykket ind i Glaskuben på Kalvebod Brygge, et markant byggeri i hjertet af København. Knap 1.000 arbejder her, heraf 200 i IT, med nye rammer for samarbejde, innovation og udvikling.
Det skyldes præcisionen på float. Du skal huske på at alle decimaltal er repræsenteret internt som en brøk. Derfor vil du støde på "underlige" tal der ikke er 100% det de skulle være. Så du bliver nødt til at foretage afrunding på UpTime.
Jeg har besluttet mig for at køre med 2 decimaler, og så har jeg smidt al den grumme kode ind i min timer, og sat start interval = 2 (da jeg bruger 1 til noget), fordi den fuckede op hvis man lukkede den inden den havde kørt det i timeren (selvom det i formcreate ligner på en prik, underligt. Dette er selvf. lappe løsninger, men hvad dælen når de nu virker. Og underligt nok bruger programmet ikke mere hukommelse, selvom jeg har flyttet variablerne fra formcreate til timeren. Men så igen det er vel fordi den allokerer hele lortet fra starten, og så ikke får "free'et" hukommelsen igen når den er færdig med f.eks. formcreate.
Glemte helt det væsentlige: Nu hvor den ligger i timeren, rasler den ikke op og ned hele tiden, dvs. den er ret stabil nu, så det er jo fint. Og programmet bruger stadigvæk 00 % CPU (ifølge win xp's indbyggede måler).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.