C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

時計・・・


(過去ログ 5 を表示中)

[トピック内 17 記事 (1 - 17 表示)]  << 0 >>

■5009 / inTopicNo.1)  時計・・・
  
□投稿者/ しぃ 二等兵(1回)-(2006/07/19(Wed) 10:08:24)

分類:[C#] 


分類:[C#] 

今、タイマーの応用で世界時計を作成していて、ボタンを押せば国名と一緒に時間も変わるようにしたいのですが、時間が変わってくれません。様々な参考書などを見て調べてみたのですがめぼしいものがなくて・・・どうすればよいでしょうか?
どなたか親切な方!教えてください!!
↓わたしが作成してみたプログラムです↓
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
DateTime dt_JP = DateTime.Now;
DateTime dt_NY;
DateTime dt_HL;
DateTime dt_LD;
DateTime dt_MC;
DateTime dt_SY;
TimeSpan JP_NY = new TimeSpan(14,0,0);
TimeSpan JP_HL = new TimeSpan(19,0,0);
TimeSpan JP_LD = new TimeSpan(9,0,0);
TimeSpan JP_MC = new TimeSpan(6,0,0);
TimeSpan JP_SY = new TimeSpan(1,0,0);

dt_NY = dt_JP - JP_NY;
dt_HL = dt_JP - JP_HL;
dt_LD = dt_JP - JP_LD;
dt_MC = dt_JP - JP_MC;
dt_SY = dt_JP + JP_SY;
labelJP.Text = dt_JP.ToString("F");
labelT.Text = dt_NY.ToString("F");
labelT.Text = dt_HL.ToString("F");
labelT.Text = dt_LD.ToString("F");
labelT.Text = dt_MC.ToString("F");
labelT.Text = dt_SY.ToString("F");
}
DateTime dt_HL;
private void button1_Click(object sender, System.EventArgs e)
{
labelWT.Text = "ホノルル";
labelT.Text = dt_HL.ToString("F");
}
DateTime dt_LD;
private void button2_Click(object sender, System.EventArgs e)
{
labelWT.Text = "ロンドン";
labelT.Text = dt_LD.ToString("F");

}
}
}


0
引用返信 編集キー/
■5010 / inTopicNo.2)  Re[1]: 時計・・・
□投稿者/ επιστημη 一等兵(32回)-(2006/07/19(Wed) 10:42:19)

分類:[C#] 

No5009に返信(しぃさんの記事)
> 今、タイマーの応用で世界時計を作成していて、ボタンを押せば国名と一緒に時間も変わるようにしたいのですが、時間が変わってくれません。

- timer1_Elapsedによって、labelJP,labelTは時々刻々と変化していますか?
'NO'ならば、タイマーはenabledになっていますか?

- button1を押したとき、labelWTは"ホノルル"となりますか?


0
引用返信 編集キー/
■5014 / inTopicNo.3)  Re[1]: 時計・・・
□投稿者/ επιστημη 一等兵(33回)-(2006/07/19(Wed) 11:50:15)

分類:[C#] 

No5009に返信(しぃさんの記事)
> 今、タイマーの応用で世界時計を作成していて、ボタンを押せば国名と一緒に
> 時間も変わるようにしたいのですが、時間が変わってくれません。

「一度ボタンを押せば、その後labelTに表示される現地時刻を刻々更新したい」ってことかな。

ならば:

private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
DateTime dt_JP = DateTime.Now;
switch ( 現在選択されている都市 ) {
case 東京 : labelT.Text = (dt_jp + new TimeSpan(0,0,0))dt_HL.ToString("F"); break;
case 北京 : ... 以下同様
...
}
}

private void button1_Click(object sender, System.EventArgs e) {
現在選択されている都市 = ホノルル;
labelWT.Text = "ホノルル";
}

private void button2_Click(object sender, System.EventArgs e) {
現在選択されている都市 = ロンドン;
labelWT.Text = "ロンドン";
}

# '辞書'を使えばもっと楽ね。


0
引用返信 編集キー/
■5016 / inTopicNo.4)  Re[2]: 時計・・・
□投稿者/ しぃ 二等兵(3回)-(2006/07/19(Wed) 12:23:00)

分類:[C#] 

ありがとうございました。とりあえず、やってみます。できれば、もう一つ質問を・・・(苦笑)キッチンタイマーも作成してみたのですが、3分ではなく時間を自分で設定できるようにしたいのですが、設定した時間からスタートしてくれないんです。どうすればいいでしょうか。

0
引用返信 編集キー/
■5017 / inTopicNo.5)  Re[3]: 時計・・・
□投稿者/ επιστημη 一等兵(34回)-(2006/07/19(Wed) 13:07:22)

分類:[C#] 

No5016に返信(しぃさんの記事)
> キッチンタイマーも作成してみたのですが、3分ではなく時間を自分で設定できるようにしたいのですが、設定した時間からスタートしてくれないんです。

"3分"なら、ちゃんと動きますか?
「設定した時間からスタートしない」なら、ではどんな時間からスタートしますか?
それともピクリとも動きませんか?

> どうすればいいでしょうか。

まずソースを提示する。
シャツ脱いでくれんことには診察できません。



0
引用返信 編集キー/
■5018 / inTopicNo.6)  Re[3]: 時計・・・
□投稿者/ επιστημη 一等兵(35回)-(2006/07/19(Wed) 13:12:03)

分類:[C#] 

No5016に返信(しぃさんの記事)
> ありがとうございました。とりあえず、やってみます。

てゆっかアナタ、現状の説明がヘタすぎ。
回答者にあれこれ'推測'してもらわんでええように、
所望の挙動と実際の挙動をきちんと晒して欲しい。


0
引用返信 編集キー/
■5040 / inTopicNo.7)  Re[4]: 時計・・・
□投稿者/ しぃ 二等兵(4回)-(2006/07/20(Thu) 11:36:02)

分類:[C#] 

遅くなりまして申し訳ございません!!それと説明ヘタですみません!なにぶん、C#初心者なもので…ちゃんとできるように努力します!
えぇと、まず世界時計の方なのですが、「型 'System.DateTime' を型 'string' に暗黙的に変換できません。」「代入式の左辺には変数、プロパティ、またはインデクサを指定してください。」というエラーが出て実行しませんでした。

private void timer1_Tick(object sender, EventArgs e)
{
DateTime dt_JP = DateTime.Now;
DateTime dt_NY;
DateTime dt_HL;
DateTime dt_LD;
DateTime dt_MC;
DateTime dt_SY;
switch ("国名")
{
case "ニューヨーク" : labelT.Text = (dt_JP - new TimeSpan(14,0,0));dt_NY.ToString("F");break;
case "ホノルル" : labelT.Text = (dt_JP - new TimeSpan(19,0,0));dt_HL.ToString("F");break;
case "ロンドン" : labelT.Text = (dt_JP - new TimeSpan(9,0,0));dt_LD.ToString("F");break;
case "モスクワ" : labelT.Text = (dt_JP - new TimeSpan(6,0,0));dt_MC.ToString("F");break;
case "シドニー": labelT.Text = (dt_JP + new TimeSpan(1, 0, 0)); dt_SY.ToString("F"); break;
}


}

private void button1_Click(object sender, EventArgs e)
{
"国名" = "ニューヨーク";
labelWT.Text = "ニューヨーク";
}

private void button2_Click(object sender, EventArgs e)
{
"国名" = "ホノルル";
labelWT.Text = "ホノルル";
}

private void button3_Click(object sender, EventArgs e)
{
"国名" = "ロンドン";
labelWT.Text = "ロンドン";
}

private void button4_Click(object sender, EventArgs e)
{
"国名" = "モスクワ";
labelWT.Text = "モスクワ";
}

private void button5_Click(object sender, EventArgs e)
{
"国名" = "シドニー";
labelWT.Text = "シドニー";
}
}
}

0
引用返信 編集キー/
■5041 / inTopicNo.8)  Re[5]: 時計・・・
□投稿者/ しぃ 二等兵(5回)-(2006/07/20(Thu) 11:44:52)

分類:[C#] 

キッチンタイマーの方ですが、設定した時間からスタートしてくれないというか、むしろ設定すらできないというか…テキストボックスに測りたい時間を入力して、スタートボタンを押すと入力した時間から、0のタイムオーバーになると止まるようにしたいのです。ご指導よろしくお願いします。
↓キッチンタイマーのプログラムです↓
DateTime jikan;
private void button1_Click(object sender, EventArgs e)
{
label1.Text = textBox1.Text;
jikan = DateTime.Now + new TimeSpan(0,0,5);
timer1.Start();
}


TimeSpan sanpun;
private void timer1_Tick(object sender, EventArgs e)
{
sanpun = jikan - DateTime.Now;
label1.Text = sanpun.Hours + ":" + sanpun.Minutes + ":" + sanpun.Seconds + "." + sanpun.Milliseconds / 100;
if (label1.Text == "0:0:0.0")
{
timer1.Stop();
Interaction.Beep();
MessageBox.Show("タイムオーバー");
}
}

private void button2_Click(object sender, EventArgs e)
{
label1.Text = "0:0:0.0";
}

private void button3_Click(object sender, EventArgs e)
{
timer1.Stop();
}
}
}

0
引用返信 編集キー/
■5042 / inTopicNo.9)  Re[6]: 時計・・・
□投稿者/ も 二等兵(16回)-(2006/07/20(Thu) 12:09:19)

分類:[C#] 

とりあえず、おちついて考えてみてください
MSDNなりヘルプなりで、コンパイルエラーの説明を頼りに検索すれば何か得られるはずです。

> キッチンタイマーの方ですが、設定した時間からスタートしてくれないというか、むしろ設定すらできないというか…テキストボックスに測りたい時間を入力して、スタートボタンを押すと入力した時間から、0のタイムオーバーになると止まるようにしたいのです。ご指導よろしくお願いします。
('A`)よくわかりませんが、とりあえず何が原因でできないのか突き止めてみては?

0
引用返信 編集キー/
■5046 / inTopicNo.10)  Re[6]: 時計・・・
□投稿者/ επιστημη 一等兵(37回)-(2006/07/20(Thu) 14:13:44)

分類:[C#] 

× case "ニューヨーク" : labelT.Text = (dt_JP - new TimeSpan(14,0,0));dt_NY.ToString("F");break;

○ case "ニューヨーク" : labelT.Text = (dt_JP - new TimeSpan(14,0,0).ToString("F");break;

> キッチンタイマーの方ですが、設定した時間からスタートしてくれないというか、むしろ設定すらできないというか…

そりゃそーでしょう、設定"してない"から。

# 「あてずっぽに書いてじたばたしてる」雰囲気がコードから漂っています。


0
引用返信 編集キー/
■5048 / inTopicNo.11)  Re[7]: 時計・・・
□投稿者/ abi 二等兵(8回)-(2006/07/20(Thu) 14:28:32)

分類:[C#] 

No5041

細かく、そして、どうでもいいことですが・・・

}の数があってないのでは?

この中に何かしらのコーディング抜けてません?

0
引用返信 編集キー/
■5050 / inTopicNo.12)  Re[7]: 時計・・・
□投稿者/ επιστημη 一等兵(38回)-(2006/07/20(Thu) 14:45:40)

分類:[C#] 

No5046に返信(επιστημηさんの記事)
> × case "ニューヨーク" : labelT.Text = (dt_JP - new TimeSpan(14,0,0));dt_NY.ToString("F");break;
>
> ○ case "ニューヨーク" : labelT.Text = (dt_JP - new TimeSpan(14,0,0).ToString("F");break;

いたたた、カッコが…
◎ case "ニューヨーク" : labelT.Text = (dt_JP - new TimeSpan(14,0,0)).ToString("F");break;


>>キッチンタイマーの方ですが、設定した時間からスタートしてくれないというか、むしろ設定すらできないというか…
>
> そりゃそーでしょう、設定"してない"から。
>
> # 「あてずっぽに書いてじたばたしてる」雰囲気がコードから漂っています。
>

0
引用返信 編集キー/
■5055 / inTopicNo.13)  Re[5]: 時計・・・
□投稿者/ επιστημη 一等兵(39回)-(2006/07/20(Thu) 16:20:46)

分類:[C#] 

No5040に返信(しぃさんの記事)
>「代入式の左辺には変数、プロパティ、またはインデクサを指定してください。」というエラーが出て実行しませんでした。

> switch ("国名")
>...
> "国名" = "ニューヨーク";

なんだこりゃー


0
引用返信 編集キー/
■5070 / inTopicNo.14)  Re[6]: 時計・・・
□投稿者/ しぃ.Friends 二等兵(1回)-(2006/07/21(Fri) 15:58:34)

分類:[C#] 

メチャクチャ遅い返事すみません。現在パニくっているしぃに変わって再び説明したいと思います。とりあえず、もう一度最初からやり直してみようということになり、はじめのものを作成してみました。実行してみると、labelWTの国名が表示される所はちゃんと変わる(ロンドンのボタンを押せばロンドンになります)のですが、時間だけがその国の時間にならず、タイマーの所で最後に入力されているシドニーの時間がでてしまいました。今のままのプログラムで、選択した国の時間に変わるようにするにはどうすればよいでしょうか。どうぞ、よろしくお願いします。
あと、はじめのころに質問されていたことですが…

※timer1_Elapsedによって、labelJP,labelTは時々刻々と変化していますか?'NO'ならば、タイマーはenabledになっていますか?
 →時間は秒単位で確実に進んでいます。EnabledもTrueになっています。
※button1を押したとき、labelWは"ホノルル"となりますか?
 →なります。国名はボタンにあるものはちゃんと変わります。

新しく作成したプログラムです。
private void timer1_Tick(object sender, EventArgs e)
{
DateTime dt_JP = DateTime.Now;
DateTime dt_NY = dt_JP - new TimeSpan(14, 0, 0);
DateTime dt_LD = dt_JP - new TimeSpan(9, 0, 0);
DateTime dt_HL = dt_JP - new TimeSpan(19, 0, 0);
DateTime dt_MC = dt_JP - new TimeSpan(6, 0, 0);
DateTime dt_SY = dt_JP + new TimeSpan(1, 0, 0);

labelJP.Text = dt_JP.ToString("F");
labelT.Text = dt_NY.ToString("F");
labelT.Text = dt_LD.ToString("F");
labelT.Text = dt_HL.ToString("F");
labelT.Text = dt_MC.ToString("F");
labelT.Text = dt_SY.ToString("F");
}

private void button1_Click(object sender, EventArgs e)
{
labelW.Text = "ニューヨーク";
}

private void button2_Click(object sender, EventArgs e)
{
labelW.Text = "ロンドン";
}

private void button3_Click(object sender, EventArgs e)
{
labelW.Text = "ホノルル";
}

private void button4_Click(object sender, EventArgs e)
{
labelW.Text = "モスクワ";
}

private void button5_Click(object sender, EventArgs e)
{
labelW.Text = "シドニー";
}
}


0
引用返信 編集キー/
■5071 / inTopicNo.15)  Re[7]: 時計・・・
□投稿者/ επιστημη 伍長(40回)-(2006/07/21(Fri) 19:46:16)

分類:[C#] 

No5070に返信(しぃ.Friendsさんの記事)
> labelT.Text = dt_NY.ToString("F");
> labelT.Text = dt_LD.ToString("F");
> labelT.Text = dt_HL.ToString("F");
> labelT.Text = dt_MC.ToString("F");
> labelT.Text = dt_SY.ToString("F");

うん、この五つのうちどれを実行するか、labelW.Textを手がかりに一つ選べば出来上がりやね。


0
引用返信 編集キー/
■5098 / inTopicNo.16)  Re[8]: 時計・・・
□投稿者/ しぃ 二等兵(6回)-(2006/07/25(Tue) 10:43:55)

分類:[C#] 

遅くなってしまいました(汗)みなさまの助言のおかげで、なんとか完成させることができました♪本当にありがとうございましたぁ!!

解決済み
引用返信 編集キー/
■5104 / inTopicNo.17)  Re[9]: 時計・・・
□投稿者/ επιστημη 伍長(45回)-(2006/07/25(Tue) 13:32:35)

分類:[C#] 

No5098に返信(しぃさんの記事)
> 遅くなってしまいました(汗)みなさまの助言のおかげで、なんとか完成させることができました♪本当にありがとうございましたぁ!!

それだけじゃなくてぇ、なにをどのように解決したのかを添えるのがマナーってもんですぜ。


0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -