I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
function TimeSum(const aTimerTid: TTime; const aKrTime: double) : double; var h, m, s, s100 : word mSum : integer; begin DecodeTime(TimerTid, h,m,s,s100); mSum := h * 60 + m; result := KrTime * (mSum div 60); // Antal timer result := result + KrTime / 4 * ((mSum mod 60) div 15); // Antal kvarterer end;
Lidt bagvendt at omregne det hele til minutter for derefter at regne det tilbage til timer og kvarterer, men jeg foretrækker at konvertere til en grundenhed og så tage det derfra.
I øvrigt kunne jeg have taget timelønnen og delt den op i en kvarterspris og derefter tage en KrKvarter * (mSum div 15), men jeg prøver at undgå afrundingsfejl.
Undskyld jeg siger det, men efter min mening er det fuldstændig tosset at bruge TTime til dette. TTime er beregnet til at indeholde et "tidspunkt", ikke et "antal timer". Det er at voldtage TTime. Der var meget bedre at bruge en integer til at indeholde antal timer eller minutter eller sekunder, efter hvad dit behov er. Så er udregningen nemmere at lave, nemmere at forstå og nemmere at vedligeholde. Jeg foreslår du laver dit designer om.
tolderlund >> Men jeg skal regne ud hvor mange timer man nu har arbejdet... og det gør jeg ud fra en start tid og en slut tid... som man vælger i en DateTimePicker... og så har jeg tiden i en TTime...
Tolderlund: Jeg ser ikke noget galt i at bruge TTime (= TDateTime = double) hvor heltalsdelen er dage og decimaldelen er milisekunder siden kl. 12. Dejligt nemt at tælle timer sammen. Eneste minus er at decimaltal er en lillebitte smule tungere end heltal (det betød noget i 1980, men ikke nu hvor CPU og MPU er standard).
TTime kan snildt bruges til at indeholde tidspunkt og tidsrum. Jeg bruger selv TDateTime i et program til administration af logbøger (pilot/fly/start) og det virker fint. Samtidig får man en samling brugbare rutiner med. Jeg synes det fungerer elegant.
dilling-h: Tak for points.
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.