/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
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;

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste