Aktuelle Kalenderwoche anzeigen



  • Hallo,
    ich lerne gerade erst C++ und möchte für ein Tool die aktuelle Kalenderwoche anzeigen lassen. Dies soll geschehen wenn ich auf einen Button klicke und soll dann in einem Label angezeigt werden.

    Vielen Dank für eure Hilfe



  • Hi Miriam,

    Miriam_k schrieb:

    Hallo,
    ich lerne gerade erst C++ und möchte für ein Tool die aktuelle Kalenderwoche anzeigen lassen. Dies soll geschehen wenn ich auf einen Button klicke und soll dann in einem Label angezeigt werden.
    Vielen Dank für eure Hilfe

    dieses

    extern DELPHI_PACKAGE System::Word __fastcall WeeksInYear(const System::TDateTime AValue);
    

    ist dein Freund.

    dann blos noch

    extern DELPHI_PACKAGE System::Word __fastcall WeeksInYear(const System::TDateTime AValue);
    

    benutzen um einen String draus zu machen und den dann an Caption von Label zuweisen.
    Geht sicher auch anders, aber das wäre das, was ich im C++Builder oder Delphi nehmen würde.
    Gibt aber sicher noch unendlich viele andere Möglichkeiten.
    Alternativ hier noch ein wenig zum nachlesen:
    http://www.excelformeln.de/formeln.html?welcher=7

    Gruß Mümmel



  • Hier findest du ein "Snippet", dass die Kalenderwoche nach DIN ausgeben kann:

    http://www.bytesandmore.de/rad/cpp/snipp/sc06009.php



  • Mit dem Snippet bekomme ich aber nur die max KW des Jahres angezeigt, ich möchte aber die aktuelle in dieser wir uns gerade befinden



  • Hi Miriam,

    Miriam_k schrieb:

    Mit dem Snippet bekomme ich aber nur die max KW des Jahres angezeigt, ich möchte aber die aktuelle in dieser wir uns gerade befinden

    das läuft mit

    Headder

    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <System.Classes.hpp>
    #include <Vcl.Controls.hpp>
    #include <Vcl.StdCtrls.hpp>
    #include <Vcl.Forms.hpp>
    #include <DateUtils.hpp>
    
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:	// Von der IDE verwaltete Komponenten
    	TLabel *Label1;
    	TButton *Button1;
    	void __fastcall Button1Click(TObject *Sender);
    private:	// Anwender-Deklarationen
    public:		// Anwender-Deklarationen
    	__fastcall TForm1(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif
    

    C++Quelltext

    /---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      Label1->Caption = IntToStr( WeekOfTheYear(Date( ) ) );;
    }
    //---------------------------------------------------------------------------
    

    Zumindest bei mir mit dem XE2-C++Builder

    Gruß Mümmel



  • Hmm...ich glaube leider nicht.
    bei mir kommt die Meldung:

    [C++ Error] Unit1.cpp(33): E2268 Call to undefined function 'WeekOfTheYear'



  • Hi Miriam,

    hast Du DateUtils.hpp eingebunden? Steht in der .h in meinem Beispiel in der 8. Zeile.
    Eventuell muss da noch irgend ein Vorspann davor... Einfach mal auf WeekOfTheYear gehen und die Hilfe aufrufen, da steht dann auch drin, was Du dafür einbinden must. Eventuell auch System.DateUtils.hpp oder was anderes.
    Maile mal bitte, mit welcher C++Builder-Version Du arbeitest.

    Also viel Erfolg wünscht Mümmel



  • Hi Miriam,

    hats nu geklappt oder nicht?
    Mach mal bitte ne Erfolgsmeldung oder schreib wos noch klemmt.

    Gruß Mümmel