AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit MonthOf

Ein Thema von SvB · begonnen am 19. Okt 2012 · letzter Beitrag vom 25. Okt 2012
 
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#13

AW: Problem mit MonthOf

  Alt 23. Okt 2012, 19:50
Das mit dem Kalender ist nicht so einfach. Den korrekten Monat einer KW zu erhalten ist so eine Sache und wie ihr beschrieben habt eigentlich gar nicht möglich, wenn die KW über zwei Monate geht.
Ich habe hierzu den Kunden noch mal gefragt wie er es denn gerne haben möchte. Wenn ich die Antwort habe, dann gebe ich noch mal über den aktuellen Status Bescheid.

In irgendeinem Excel-Forum oder Blog gabs eine Funktion, die wir umgeschrieben haben.
Delphi-Quellcode:
function GetMonatFromKW(Jahr, KW: String): String;
var
  tage: Int16;
  Date, Date2: TDate;
  wochentag, wochentag2: word;
  year, month, day: word;
begin
  // Was für ein tag ist der 1.1.xxxx
  Date := StrToDate('01.01.' + Jahr);
  wochentag := DayOfWeek(Date);
  // Was für ein Tag ist der 31.12.xxxx
  Date2 := StrToDate('31.12.' + Jahr);
  wochentag2 := DayOfWeek(Date2);
  // Wenn der erste oder letzte Tag eines Jahres ein Donnerstag ist
  // dann hat das Jahr 53 KWs
  if (wochentag = 5) OR (wochentag2 = 5) then begin
    // Alle außer KW 53 werde ignoriert und normal berechnet
    if KW = '53then begin
      Result := '12';
      Exit;
    end;
  end;
  // Anzahl der Tage seid Anfang des Jahres
  tage := StrToInt(KW) * 7;
  tage := tage - ((wochentag));
  // Zum Datum hin rechnen
  Date := Date + tage;
  // Monat auslesen und zurückgeben
  DecodeDate(Date, year, month, day);
  Result := inttostr(month);
end;
Leider funktioniert diese Berechnung aber auch nicht ganz, ich hätte bei manchen Ergebissen etwas anderes gesagt.
Warten wir mal ab, was der Kunde sagt.
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz