|
| Finde uge nummer Fra : Michael Vilhelmsen |
Dato : 03-01-05 11:42 |
|
Hej
Kan man i D5 ent. nemt finde ud af, hvilket ugenummer en given dato er i ?
Michael
--
==========
Best Regards / Venlig hilsen
Michael Vilhelmsen
==========
Best Regards / Venlig hilsen
Michael Vilhelmsen
| |
Ukendt (03-01-2005)
| Kommentar Fra : Ukendt |
Dato : 03-01-05 12:53 |
|
"Michael Vilhelmsen"
<Michael.Vilhelmsen.PLEASEREMOVE@Microcom.PLEASEREMOVE.Dk> wrote in
message news:mn.1abd7d515eefd32c.11460@Microcom.PLEASEREMOVE.Dk...
> Hej
>
> Kan man i D5 ent. nemt finde ud af, hvilket ugenummer en given dato er
i ?
Nej, men prøv at læse dette: http://www.delphipraxis.net/post14613.html
| |
Michael Vilhelmsen (03-01-2005)
| Kommentar Fra : Michael Vilhelmsen |
Dato : 03-01-05 15:54 |
|
Uffe Kousgaard expressed precisely :
> "Michael Vilhelmsen"
> <Michael.Vilhelmsen.PLEASEREMOVE@Microcom.PLEASEREMOVE.Dk> wrote in
> message news:mn.1abd7d515eefd32c.11460@Microcom.PLEASEREMOVE.Dk...
>> Hej
>>
>> Kan man i D5 ent. nemt finde ud af, hvilket ugenummer en given dato er
> i ?
>
> Nej, men prøv at læse dette: http://www.delphipraxis.net/post14613.html
Ok.
Den stump kode der var jo brugbar.......
Hvad så med den anden vej rundt ?
Altså jeg har et uge nummer, og vil gene have den første dato i den uge .......
Michael
--
==========
Best Regards / Venlig hilsen
Michael Vilhelmsen
==========
Best Regards / Venlig hilsen
Michael Vilhelmsen
| |
Ukendt (03-01-2005)
| Kommentar Fra : Ukendt |
Dato : 03-01-05 16:09 |
|
"Michael Vilhelmsen"
<Michael.Vilhelmsen.PLEASEREMOVE@Microcom.PLEASEREMOVE.Dk> wrote in
message
>
> Hvad så med den anden vej rundt ?
> Altså jeg har et uge nummer, og vil gene have den første dato i den
uge .......
Det nemmenste er nok at købe en nyere version af delphi og så kopiere de
relevante dele af dateutils.pas til din D5. D6 og nyere har alle disse
funktioner indbygget.
D5 er 5? år gammel og der er altså sket meget nyt på delphi fronten
siden da.
hilsen
Uffe
| |
Harald (03-01-2005)
| Kommentar Fra : Harald |
Dato : 03-01-05 17:51 |
|
"Uffe Kousgaard" <look_at_ www.routeware.dk> skrev i en meddelelse
news:41d95fef$0$178$edfadb0f@dtext01.news.tele.dk...
> "Michael Vilhelmsen"
> <Michael.Vilhelmsen.PLEASEREMOVE@Microcom.PLEASEREMOVE.Dk> wrote in
> message
>>
>> Hvad så med den anden vej rundt ?
>> Altså jeg har et uge nummer, og vil gene have den første dato i den
> uge .......
>
> Det nemmenste er nok at købe en nyere version af delphi og så kopiere de
> relevante dele af dateutils.pas til din D5. D6 og nyere har alle disse
> funktioner indbygget.
>
> D5 er 5? år gammel og der er altså sket meget nyt på delphi fronten
> siden da.
Kan man ikke hente en D6 eller D7 personal gratis som har disse funktioner.
/HK
| |
Ukendt (03-01-2005)
| Kommentar Fra : Ukendt |
Dato : 03-01-05 22:51 |
|
"Harald" <nomail@noname.dk> wrote in message
news:41d9780b$0$73831$edfadb0f@dread15.news.tele.dk...
>
> Kan man ikke hente en D6 eller D7 personal gratis som har disse
funktioner.
Jo, men personal udgaverne er ikke til kommerciel udvikling og
indeholder ikke kildekoden til VCL.
| |
Harald (04-01-2005)
| Kommentar Fra : Harald |
Dato : 04-01-05 00:04 |
|
"Uffe Kousgaard" <look_at_ www.routeware.dk> skrev i en meddelelse
news:41d9be58$0$182$edfadb0f@dtext01.news.tele.dk...
> "Harald" <nomail@noname.dk> wrote in message
> news:41d9780b$0$73831$edfadb0f@dread15.news.tele.dk...
>>
>> Kan man ikke hente en D6 eller D7 personal gratis som har disse
> funktioner.
>
> Jo, men personal udgaverne er ikke til kommerciel udvikling og
> indeholder ikke kildekoden til VCL.
Jeg havde lige glemt at der ingen kildekode var med.
/HK
| |
Thomas Eg Jørgensen (03-01-2005)
| Kommentar Fra : Thomas Eg Jørgensen |
Dato : 03-01-05 13:27 |
|
"Michael Vilhelmsen"
<Michael.Vilhelmsen.PLEASEREMOVE@Microcom.PLEASEREMOVE.Dk> wrote in message
news:mn.1abd7d515eefd32c.11460@Microcom.PLEASEREMOVE.Dk...
>
> Kan man i D5 ent. nemt finde ud af, hvilket ugenummer en given dato er i ?
>
WeekOf function
Returns the week of the year represented by a TDateTime value.
Unit: DateUtils
Delphi syntax:
function WeekOf(const AValue: TDateTime): Word;
Description
Call WeekOf to obtain the week of the year represented by a specified
TDateTime value. WeekOf returns a value between 1 and 53.
WeekOf uses the ISO 8601 standard to define the week of the year. That is, a
week is defined as running from Monday through Sunday, and the first week of
the year is defined as the one the first calendar week of the year is the
one that includes the first Thursday of the year (the first week that
includes four or more days in the year). This means that if the first
calendar day of the year is a Friday, Saturday, or Sunday, then for the
first three, two, or one days of the calendar year, WeekOf returns the last
week of the previous year. Similarly, if the last calendar day of the year
is a Monday, Tuesday, or Wednesday, then for the last one, two, or three
days of the calendar year, WeekOf returns 1 (the first week of the next
calendar year).
Note: WeekOf returns the same value as the WeekOfTheYear function.
Ved ikke om den er i D5....den er i hvertfald i D7...
--
MVH
Thomas Eg Jørgensen
*Get in, Sit down, shut up and hang on!*
| |
Ukendt (03-01-2005)
| Kommentar Fra : Ukendt |
Dato : 03-01-05 13:38 |
|
"Thomas Eg Jørgensen" <tejo03@kom.auc.dk> wrote in message
news:crbdmg$1lof$1@news.cybercity.dk...
>
> Ved ikke om den er i D5....den er i hvertfald i D7...
Det er den ikke.
| |
Erik Højgård (03-01-2005)
| Kommentar Fra : Erik Højgård |
Dato : 03-01-05 23:51 |
|
Har engang lavet flg funktion i Delphi 4, virker også i Delphi5 for at finde
ugenummer:
Function UgeNr(Dato : TDate):Integer;
var
ForsteJanuar, DagEtUgeEt: TDate;
DagNr : Integer;
aar : String;
Begin
Aar := Copy(DateToStr(Dato),7,4);
ForsteJanuar := StrToDate('01-01-'+ Aar);
DagNr := (DayOfWeek(ForsteJanuar))-1;
If DagNr = 0 Then DagNr := 7;
If DagNr <= 4 Then
DagEtUgeEt := ForsteJanuar - DagNr +1
Else
DagEtUgeEt := ForsteJanuar + 8 - DagNr;
Result := (Trunc(Dato - DagEtUgeEt)) Div 7 + 1;
If Result = 53 Then
Begin
Dato := Dato +7;
Aar := Copy(DateToStr(Dato),7,4);
ForsteJanuar := StrToDate('01-01-'+ Aar);
DagNr := (DayOfWeek(ForsteJanuar))-1;
If DagNr = 0 Then DagNr := 7;
If DagNr <= 4 Then
DagEtUgeEt := ForsteJanuar - DagNr +1
Else
DagEtUgeEt := ForsteJanuar + 8 - DagNr;
Result := (Trunc(Dato - DagEtUgeEt)) Div 7 + 1;
If result = 1 Then result := 53 Else
result := 1;
End;
If Dato < DagEtUgeEt Then
Begin
Dato := Dato -7;
Aar := Copy(DateToStr(Dato),7,4);
ForsteJanuar := StrToDate('01-01-'+ Aar);
DagNr := (DayOfWeek(ForsteJanuar))-1;
If DagNr = 0 Then DagNr := 7;
If DagNr <= 4 Then
DagEtUgeEt := ForsteJanuar - DagNr +1
Else
DagEtUgeEt := ForsteJanuar + 8 - DagNr;
Result := (Trunc(Dato - DagEtUgeEt)) Div 7 + 2;
End;
End;
MVH
Erik
"Michael Vilhelmsen"
<Michael.Vilhelmsen.PLEASEREMOVE@Microcom.PLEASEREMOVE.Dk> skrev i en
meddelelse news:mn.1abd7d515eefd32c.11460@Microcom.PLEASEREMOVE.Dk...
> Hej
>
> Kan man i D5 ent. nemt finde ud af, hvilket ugenummer en given dato er i ?
>
> Michael
>
> --
> ==========
> Best Regards / Venlig hilsen
>
> Michael Vilhelmsen
> ==========
> Best Regards / Venlig hilsen
>
> Michael Vilhelmsen
>
| |
Carsten (06-01-2005)
| Kommentar Fra : Carsten |
Dato : 06-01-05 14:28 |
|
Her er et eksempel mere på beregning af uge nr.
Carsten
------------
Function FindUgeDag(year,month,day:Word):Byte;
Var
i:byte;
dt:TDateTime;
Begin
dt:=EncodeDate(Year,Month,Day);
i:=pred(DayOfWeek(dt));
if i=0 then
i:=7;
FindUgeDag:=i;
End;
Function FindUgeNr(year,month,day:Word):byte;
Var
ad:Word;
Begin
if (month=12) and
(day>=29) and
(FindUgeDag(year,month,day)+28<=day) then
FindUgeNr:=1
else If (month=1) and
(day<=3) and
(FindUgeDag(year,month,day)>day+3) then
FindUgeNr:=FindUgeNr(pred(year),12,31)
else begin
ad:=day;
ad:=ad+pred(month) *30;
if (year mod 4 =0) and {Normalt skudaar}
((year mod 100<>0) or {Det er ikke skudaar for hvert 100 aar}
(year mod 400=0)) and {men for hvert 400 aar}
(month >2) then
inc(ad);
Case month of
02:ad:=ad+1;
03:ad:=ad-1;
06:ad:=ad+1;
07:ad:=ad+1;
08:ad:=ad+2;
09:ad:=ad+3;
10:ad:=ad+3;
11:ad:=ad+4;
12:ad:=ad+4;
End;
ad:=ad+pred(FindUgeDag(year,1,1));
ad:=pred(ad) div 7;
if FindUgeDag(year,1,1) <= 4 then
ad:=succ(ad);
FindUgeNr:=ad;
end;
End;
| |
|
|