メイン どこでもFlash【携帯向けFlash関連】 12時間表記 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tibitarou | Åê¹ÆNo.43107 投稿日時: 2009-8-9 14:02 |
新米 居住地: 投稿: 10
使用環境:
|
12時間表記 FlashLite1.1でデジタル時計を作成してます。
GetTimeHoursで時間を取得し、そこから?12をして12時間表記にするようにしましたがうまくいきません。 actionは以下のとおりです。 どこが悪いかわかる方回答をお願いできませんでしょうか。 よろしくお願いします。 (使用ソフトはFlash CS4です。) /* ----時間 12時間表示---- */ hours = fscommand2("GetTimeHours"); if (13<=hours and hours<=23) { h = ("hours" add -12); } if (length(hours)==1){ hours='0' add substring(hours,0,1); } else { h = hours; break; } hour1.num = substring(hours, 2, 1); hour2.num = substring(hours, 1, 1); |
森 巧尚 | Åê¹ÆNo.43108 投稿日時: 2009-8-9 16:07 |
モデレータ 居住地: 宝塚 投稿: 650
使用環境:
.5/CS4/Safari3 XP+2000//IE6 |
Re: 12時間表記 引用:
tibitarouさんは書きました: 引用: h = ("hours" add -12); これは、引き算ではなく、文字列の足し算をしています。 だからhの値は、12を引いた値ではなく、"hours-12"という文字列になります。
|
tibitarou | Åê¹ÆNo.43110 投稿日時: 2009-8-9 20:33 |
新米 居住地: 投稿: 10
使用環境:
|
Re: 12時間表記 森 巧尚さん ありがとうございます。
h = ("hours" add -12);のところをh = "hours-12";と書けば良いのでしょうか? |
森 巧尚 | Åê¹ÆNo.43111 投稿日時: 2009-8-9 20:41 |
モデレータ 居住地: 宝塚 投稿: 650
使用環境:
.5/CS4/Safari3 XP+2000//IE6 |
Re: 12時間表記 h = "hours-12";
と書けば、hには、"hours-12"という文字列が入ります。 ダブルクォーテーションではさんで書くと文字列になることはご存じですか? hから12を引きたいのですから、普通に算数で12の引き算をすればいいのです。
|
tibitarou | Åê¹ÆNo.43112 投稿日時: 2009-8-9 21:06 |
新米 居住地: 投稿: 10
使用環境:
|
Re: 12時間表記 森 巧尚さん ありがとうございます。
下記のように(h = hours-12;)書き直したのですが出来ませんでした。 どこが悪いのか教えていただけると嬉しいのですが。 /* ----時間 12時間表示---- */ hours = fscommand2("GetTimeHours"); if (13<=hours and hours<=23) { h = hours-12; } if (length(hours)==1){ hours='0' add substring(hours,0,1); } else { h = hours; break; } hour1.num = substring(hours, 2, 1); hour2.num = substring(hours, 1, 1); |
森 巧尚 | Åê¹ÆNo.43113 投稿日時: 2009-8-9 21:43 |
モデレータ 居住地: 宝塚 投稿: 650
使用環境:
.5/CS4/Safari3 XP+2000//IE6 |
Re: 12時間表記 もう一度、スクリプト全体をよく見直してみてください。
先ほどの質問で、 hoursが13以上23以下のとき、hにhoursから12を引いた値を入れました。 その後わざわざ計算して求めたhは、何かに使っていますか? 何故、何のために、12を引くのかを考えてみてください。
|
tibitarou | Åê¹ÆNo.43114 投稿日時: 2009-8-9 22:45 |
新米 居住地: 投稿: 10
使用環境:
|
Re: 12時間表記 もう少しわかりやすく教えて欲しかったのですが無理なようなので
ありがとうございました |
森 巧尚 | Åê¹ÆNo.43115 投稿日時: 2009-8-9 23:37 |
モデレータ 居住地: 宝塚 投稿: 650
使用環境:
.5/CS4/Safari3 XP+2000//IE6 |
Re: 12時間表記 引用:
いやいや、無理というほど難しいことじゃないですよ。 これはtibitarouさんが考えて作られたプログラムでしょう? tibitarouさんは、 「GetTimeHoursで時間を取得し、そこから?12をして12時間表記に」 したいわけですよね。 それで if (13<=hours and hours<=23) { h = hours-12; } と、「hoursが13以上23以下のとき、hにhoursから12を引いた値を入れ」たわけですよね? ところが、せっかく12を引く計算をした値を「h」に入れて求めたにも関わらず、その後「h」の値を何も使っていないから「うまくいかない」わけです。 その後の処理ではhを使う必要があるとは思いませんか? もしくは、hとhoursの2つの変数を使うのが難しいのであれば、hを使わず、計算自体をhoursに行うようにまとめる必要があるとは思いませんか? これは基本的な考え方の問題ですよ。 「どこが悪いか」という質問に対しての答えとしては、 1)hoursから12を引く計算が文字列の足し算になっている。 2)その計算で求めた結果を使わずに表示している。 の2点が悪いということです。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |