Autor Beitrag
Luncustaf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Di 15.04.03 13:13 
hi,

ich weis das es zu dem thema shcon mehrere threads gab es war abern icht das richtige für mich dabei :/

adarum schon wieder ein post von mir sorry das ich zur zeit so "spamme"

ich habe hier verschiedene daten die eine urlaubsperiode zeigen

zb

ausblenden Quelltext
1:
20/04/2003-06/05/2003					


nun möchte ich errechnen lassen wieviele tage zwischen diesen daten liegen - wen nes in einem monate wäre wäre das ganze sicherlich net so schwer aber wie mache ich es bei zwei montane?

momenta ngehe ich hin und hab die zwei anfangswerte also 20 und 05 -> soll ich mir nun am besten noch die monatswertespeichern und dann vergleichen wen ndiese gleich sind dann einfach hochzählen - und wenn nicht rausbekommen was für ein monta es ist - quasi bis 28/30/31 hochzählen und beim nächsten monat dann von vorne. was mache ich am besten wenn ein mitarbeiter 3monate nimmt?

*verzweifel*

gr€€tz
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Di 15.04.03 13:41 
DaysBetween
Returns the number of whole days between two specified TDateTime values.

Unit

DateUtils

Category

datetime routines

Delphi syntax:

function DaysBetween(const ANow, AThen: TDateTime): Integer;


:)

_________________
hans bist du das ?
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Di 15.04.03 13:48 
du bist nen schatz :)

wie findet man sowas?

ich war grad dabei nen bisserl rumzupfuschen mit x zählern usw suw

vielen dank *gerettet sei* fürs erste ;)


gr€€tz

PS: abwann gibbet den die dateutils? hab hier delphi 5 und er kennt das teil net :/


Zuletzt bearbeitet von Luncustaf am Di 15.04.03 13:50, insgesamt 1-mal bearbeitet
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Di 15.04.03 13:50 
Zitat:
wie findet man sowas?

eigentlich wollt ich es dir nicht verraten weil es sich ja um insider wissen handelt ... aber da du mich "schatz" genannt hast, kann ich nicht anders
der trick ist einfach mal F1 zu drücken ;)

apropos schatz will ja hoffen das du weiblich bist :)

_________________
hans bist du das ?
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Di 15.04.03 13:53 
hi,

@f1^jo hab ich gemacht suche iegentlich immer erst in der hilfe - dort hat es aber sowas nicht gegeben.

darum die frage hier :)

ne bin männlich :) aber naja schatz hin oder her :) geholfen hast mir shconmal so fast halt :)

wenn mein delphi die dateutils hätte :D

gr€€tz
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Di 15.04.03 13:56 
welche version hast du denn ?

_________________
hans bist du das ?
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Di 15.04.03 13:57 
delphi 5 - hab grwad im netz gelesen das es die dateutils ers ab version6 gibbet :/

das schade anja muss ich mir was anderes überlegen

gr€€tz

PS: trotzdem thx for that
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Di 15.04.03 13:59 
wenn du möchtest schick ich sie dir ...

_________________
hans bist du das ?
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Di 15.04.03 14:00 
kannst du machen :) sofern das rechtlich ok ist? *hoff*


gr€€tz

PS: email per pn - da ich grad auf arbeit bin
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Di 15.04.03 14:02 
zur not schaust du es dir an wie die das gemacht haben und erfindest es neu ;)

_________________
hans bist du das ?
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Di 15.04.03 14:11 
hmm jo werde ich dann wohl machen sofern das nicht klappt :D

thx


gr€€tz
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 15.04.03 14:32 
Luncustaf hat folgendes geschrieben:
kannst du machen :) sofern das rechtlich ok ist?

Eigentlich nicht. - Aber so schwer ist das selbst schreiben nun auch wieder nicht. Ich hatte mal in Coder-Area ein JavaScript, dessen Kernroutine sich relativ simpel umsetzen lässt:
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
procedure berechne(const d1, m1, y1, d2, m2, y2: word);
var
  i,
  erg,
  tage,
  instage  : integer;
  thisYear : integer;
begin
  thisYear := y1;
  i        := m1;
  instage  := 0;

  if(d2 < d1) or (i <> m2) or (thisYear < y2) then
    repeat
      case i of
        2 :  if(IsLeapYear(thisYear)) then tage := 29
               else tage := 28;
        4,
        6,
        9,
        11:  tage := 30;
        else tage := 31;
      end;

      inc(instage,tage);

      if(i = 12) then begin
        i := 1; inc(thisYear);
      end else
        inc(i);
    until(i = m2) and (thisYear = y2);

  erg := instage + (d2 - d1);
  ShowMessage(Format('Errechnete Tage: %d',[erg]));
end;

Aufzurufen im Fall deines Beispiels, @Luncustaf, so:
ausblenden Quelltext
1:
2:
3:
4:
berechne(
  20,4,2003,  // Datum #1
  6,5,2003    // Datum #2
);

Das Auslesen der einzelnen Felder aus dem String
ausblenden Quelltext
1:
20/04/2003-06/05/2003					

dürfte nicht das Problem sein (copy, pos, StrToInt).

Natürlich ist der Weg mit DaysBetween eleganter, scheitert aber auch bei mir an Delphi 5.


Edit: Code und Link gefixt.
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Di 15.04.03 14:47 
hi MathiasSimmack,

hab das problem nun gelöst hab es mir in der dayutils angeschaut und meine eigenen functionen dazu geschrieben.

ich bekomme nun die anzahl der tage zwischen den zeitperioden korrekt ausgegeben.

trotzdem auch danke für deine hilfe.


gr€€tz