Jeg har en form (datoform) som indeholder 3 editbokse (dag1, dag2, forskel). Jeg skal have det stupide program til at trække "dag2" fra "dag1" og smide reultatet i "forskel"....
Mit eneste problem er at få resultatet ud i dage...
Jeg har da oplevet at trække en dag i april 2004 fra en dag i marts 2004 og resultatet bliver noget i retning af 26-11-1926...
Alle variable osv er selvfølgelig blevet tildelt Tdatetime (snowball)
Der må være en elegant måde at gøre det på!
Jeg véd at man i VBA bare trækker to datoer fra hinanden, og vips så kommer forskellen i dage! Smart. Men nu vil jeg altså lave programmet delphi (4)!
Jeg ved ikke så meget om D4, men TdateTime er et tal i dage, egentligt, så snowballhar ret, han skulle bare skrive forskel:=int(datotil-datofra); --nop
Jeg må lige kommentere: VB's løsning er inkonsistent og rodet. Delphi's TDateTime er meget meget smartere. Du har en double (decimaltal) hvor heltalsdelen viser antallet af dage, mens decimaldelen viser antallet af milisekunder siden dagens start. Vil du finde forskellen mellem to datoer, så:
var Nu, Foer : TDateTime; begin Foer := 3000; // 3 tusinde dage siden Delphi år nul. Nu := now;
i := DaysBetween(nu,foer); // Eller: int(nu-foer);
Edit1.Text := format('Forskellen mellem %s og %s er %d dage', [StrToDate(nu),StrToDate(foer),i]); end;
hrc: Ud over et par fejl i dit eksempel, så mangler du bare lige at fortælle at DaysBetween liger i DateUtils unit'en som først følger med Delphi i version 6-7 stykker ;)
var i: Integer; Nu, Foer: TDateTime; begin Foer := 3000; // 3 tusinde dage siden Delphi år nul. Nu := now; i := DaysBetween(nu,foer); // Eller: int(nu-foer); Edit1.Text := format('Forskellen mellem %s og %s er %d dage',[DateToStr(nu),DateToStr(foer),i]); end;
Snowball, du får den, selvom du liige havde gelem den der detajle med milisekunderne siden dagens start...
Nu virker det!
hrc> jeg er helt enig! Men det er vist også et spørgsmål om religion..... :-))
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.