Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten aller Donnerstage im Monat (https://www.delphipraxis.net/145517-daten-aller-donnerstage-im-monat.html)

Neutral General 3. Jan 2010 16:16

Re: Daten aller Donnerstage im Monat
 
Zitat:

Zitat von himitsu
selbst mySQL kennt Funktionen um den Wochentag eines Datums zu bekommen ... das sollte also für Firebird ebenso nicht schwer sein.

:evil: :cry:

Ich weiß wie ich den Wochentag eines Datums herausfinde. Das ist nicht das Problem :roll:

Ich weiß nur nicht wie ich z.B. alle Wochentage eines Monats durchlaufen kann und dann die zurückgeben kann, die ein Donnerstag sind.

Edit: Roter Kasten hat Urlaub

Wolfgang Mix 3. Jan 2010 16:17

Re: Daten aller Donnerstage im Monat
 
... und wenn selbst nicht, dann bastelt man das eben selber.
Modulo 7 kennt jede Programmiersprache ...

mkinzler 3. Jan 2010 16:19

Re: Daten aller Donnerstage im Monat
 
Per Hand: Ermittele Tag von 1. des Monats -> Datum des 1.Donnerstag

himitsu 3. Jan 2010 16:19

Re: Daten aller Donnerstage im Monat
 
praktisch irgendwie so?
SQL-Code:
... where WOCHENTAG('datumsfeld') = 3

mkinzler 3. Jan 2010 16:20

Re: Daten aller Donnerstage im Monat
 
Dazu müssten alle tage eines Monats in einer Tabelle stehen.

Neutral General 3. Jan 2010 16:23

Re: Daten aller Donnerstage im Monat
 
@himitsu, dass ginge wenn ich das ganze Jahr in einer Tabelle gespeichert hätte^^ Habe ich aber nicht.

Ich glaube ich brauche sowas wie ne Stored Procedure oder so. Man gibt Monat und Wochentag ein und die Procedure gibt Datum1,Datum2,Datum3,Datum4 zurück (ggf. NULL, falls es nur 3 Donnerstage gibt oder so).

Im Prinzip brauche ich sowas nur in SQL:

Delphi-Quellcode:
function GetWochentage(AMonat: TMonat; AWochentag: Integer): TList<TDate>;
var i: Integer;
begin
  for i := 0 to AMonat.TageCount-1 do
    if AMonat.Tage[i].Wochentag = AWochentag then
      Result.Add(AMonat.Tage[i].Date);
end;

Wolfgang Mix 3. Jan 2010 16:26

Re: Daten aller Donnerstage im Monat
 
... und wenn du das hier umstrickst?

Delphi-Quellcode:
// Source: [url]http://www.mycsharp.de/wbb2/thread.php?threadid=74208[/url]
// Translated by DeddyH - Delphi-PRAXiS
// Useful. if you search for f.e. last thursday in August of 2009
function LastDayOfWeekOfMonth(year,month: Integer;DayOfWeek: TWeekDay):TDate;
var temp: TDate;
begin
  temp := IncMonth(EncodeDateTime(year,month,1,0,0,0,0));
  Result := IncDay(temp,(DayOfWeek - DayOfTheWeek(temp) + 7) mod 7 - 7);
end;

Neutral General 3. Jan 2010 16:27

Re: Daten aller Donnerstage im Monat
 
Wolfgang? Weißt du was SQL ist?

Wolfgang Mix 3. Jan 2010 16:29

Re: Daten aller Donnerstage im Monat
 
Ja :)

himitsu 3. Jan 2010 16:30

Re: Daten aller Donnerstage im Monat
 
SQL-Code:
select 'datumsfeld' from 'datumstabelle'
  where (WOCHENTAG('datumsfeld') = :suchwochentag)
    and (MONAT('datumsfeld') = MONAT(:suchdatum))
    and (JAHR('datumsfeld') = JAHR(:suchdatum))


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz