2017-04-05 13 views
-2

問題を解決できますか? textフィールドはmy Formにあります。文字列に日付と時刻を印字したいのですが、カーソルのある場所です。日付と時刻をフォームで出力するC++

私はこのために、このクラスだ:

#include <Windows.h> 
//Russian letters are okay for this 
private: System::Void времяИДатаToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { 


    SYSTEMTIME sys_t; 
    GetSystemTime(&sys_t); 
    char szFormat[] = "MMMM"; 
    char Buffer[16]; 
    sys_t.wMonth = 1; 
    GetDateFormat(LOCALE_USER_DEFAULT, 0, &sys_t, szFormat, Buffer, 256); 
} 
}; 

を私はMessageBox::Show()を使用したいが、それは私の問題のためではないでしょうか? これについていくつかアドバイスをいただけますか?

ありがとうございました。

+2

「私の問題を解決できますか?」ええ "いいえ"。これはどのように動作するのではありません。 SOはコード・ライティングでもデバッグ・サービスでもありません。あなたは*具体的な質問をします。私たちはそれらに答えます。私たちはあなたのために仕事をするだけではありません。 –

+0

@JesperJuhl申し訳ありません!私はあなたが私のために働くことを望んでいません。私はいくつかのアドバイスを与えることを求めました –

+0

あなたは本当にWinFormsをC++/CLIで使うべきではありません。代わりにC#を検討してください。 –

答えて

2

標準的な警告:アプリケーションの本体をC++/CLIで記述したり、WinFormsを使用してC++/CLIでGUIを記述することは可能ですが、推奨されません。 C++/CLIは相互運用シナリオを対象としています:C#やその他の.NetコードとアンマネージC++とのインタフェースが必要な場合、C++/CLIはこれらの間の変換を提供します。一次開発では、マネージコードが必要な場合はWinFormsまたはWPFでC#を使用するか、アンマネージを必要とする場合はMFCでC++を使用することをお勧めします。

OK:それはあなたには完全な.Netライブラリが用意されていますが、なぜそれを使用しないのですか?

void времяИДатаToolStripMenuItem_Click(Object^ sender, EventArgs^ e) 
{ 
    DateTime now = DateTime::Now; 
    String^ dateString = now.ToString("MMMM"); 
} 
+0

アドバイスありがとうございます。今私はこれを行うために私の方法です。どうもありがとう! –

0

、あなたのテキストフィールドがtextFieldと呼ばれ、使用を想定すると:

textField->Text = new string(Buffer); 

はまた、

GetDateFormat(LOCALE_USER_DEFAULT, 0, &sys_t, szFormat, Buffer, 256); 
へお電話

が間違っています。 16を渡します.は最後の引数ではありません(バッファに16文字があると宣言したためです)。

+0

私のように、私のテキストフィールドisn:tは 'textField'と呼ばれています。しかし、 'richBoxText1'を使うのは正しいですか? 'richboxText1-> Text(バッファ);' –

+0

'richBoxText1-> Text = new string(Buffer);' –

+0

ええ、私は必要なものを手に入れました。ありがとう! –

関連する問題