Syntaxfehler (String soll Zeit ausgeben)
-
Hi,
was ist an **lblZeit->Caption=nun->tm_mday + '.' + (nun->tm_mon+1) + '.' + (nun->tm_year+1900) + " - " + nun->tm_hour + ':' + nun->tm_min ;
**falsch? Ich möchte die aktuelle Zeit in diesem Labelcaption ausgeben.
Der Caption des Labels wird mit dem Wert "Uhrzeit" konstruiert. Nach einem Klick darauf müsste er die aktuelle Uhrzeit ausgeben. Er zeigt mir jedoch nichts an.//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <time.h> #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TfrmMain *frmMain; //--------------------------------------------------------------------------- __fastcall TfrmMain::TfrmMain(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TfrmMain::lblZeitClick(TObject *Sender) { time_t Zeitstempel; tm *nun; Zeitstempel = time(0); nun = localtime(&Zeitstempel); lblZeit->Caption=nun->tm_mday + '.' + (nun->tm_mon+1) + '.' + (nun->tm_year+1900) + " - " + nun->tm_hour + ':' + nun->tm_min ; } //---------------------------------------------------------------------------
-
Hallo
Der Datentyp von tm_day ist keine String-Klasse und deshalb wird der + Operator nicht in deinem Sinne ausgeführt. Du must erst explizit in String umwandeln.
lblZeit->Caption=String(nun->tm_mday) + '.' + ... // Rest wird dann von String richtig angefügt
Übrigens brauchst du diese umständliche Variante aus alten C-Tagen im Builder nicht, dafür gibts TDateTime.
bis bald
akari
-
lblZeit->Caption=Now().DateTimeString();