ふらっとC♯, C#(初心者用) Part16

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2007/06/25(月) 22:05:01
住人一緒だから違いはない
953デフォルトの名無しさん:2007/06/25(月) 22:13:29
あのボウヤはこっちへ来ないみたいだな。
954デフォルトの名無しさん:2007/06/25(月) 22:42:48
Jpegにカラープロファイルを埋め込む方法を教えてください。お願いします。
955デフォルトの名無しさん:2007/06/25(月) 22:55:04
まともなフォトレタッチソフト買え。
956デフォルトの名無しさん:2007/06/25(月) 23:17:10
>>943
解決しました。ありがとう。
957デフォルトの名無しさん:2007/06/26(火) 09:41:27
>>953
初心者と書かれたスレにはこないとさ
958デフォルトの名無しさん:2007/06/26(火) 14:19:57
Java Web Start みたいな事はできないのでしょうか?
959デフォルトの名無しさん:2007/06/27(水) 00:15:40
できるよ
960デフォルトの名無しさん:2007/06/27(水) 03:59:47
>>959
名称だけでも教えていただけないでしょうか?
961!=959:2007/06/27(水) 04:03:53
ClickOnce?使ったことないからわからんけども。
962デフォルトの名無しさん:2007/06/27(水) 08:40:29
二点間A(x1,y1) B(x2,y2)を通る直線上で
picture Box(A→Bまで)を移動させたいんだけどどうやるの?

座標がランダムに変化しても自動的に出力させたいのですが
お願いします。
963デフォルトの名無しさん:2007/06/27(水) 09:08:13
Timerでも使ってLocationを設定すれば?
アルゴリズムに関してはそのくらい自分で考えろ
964デフォルトの名無しさん:2007/06/27(水) 10:00:29
>>962
<BeginStoryboard>
 <Storyboard>
  <PointAnimation>
965デフォルトの名無しさん:2007/06/27(水) 10:03:26
WPFじゃないと思うぞ
966デフォルトの名無しさん:2007/06/27(水) 13:39:49
01〜12までのアイテムが入ったコンボボックス1と、01〜31までのアイテムが入ったコンボボックス2が
あります。

このとき、コンボボックス1が04でコンボボックス2が31の時はエラーメッセージを
出すようにしたいのですが、うまくいきません。


private void _Conbobox2_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(Conbobox1.Items[3] == Conbobox2.Items[30])
{
MessageBox.Show("Error");
}
}
といった形でコーティングしているのですが、ifまで行かないようなのです。
967デフォルトの名無しさん:2007/06/27(水) 13:57:58
コードを書く前にやりたいことを日本語で書いてみるといい
968デフォルトの名無しさん:2007/06/27(水) 14:02:20
説明が下手ですいません。コンボボックス1と2で日付を指定したいのですが
4/31など、ありえない月の時はエラーメッセージを表示させようとしたいのですが・・・。
969デフォルトの名無しさん:2007/06/27(水) 14:09:34
あなたの条件式の意味:
「 4と31が等しいなら」

あなたが書くべき条件式:
「 月が4で、かつ日付が31のとき」
970966:2007/06/27(水) 14:19:33
自分の条件式じゃなぜ駄目なのでしょう?

また、書くべき条件式はどのような形で書いたら良いでしょうか?
971デフォルトの名無しさん:2007/06/27(水) 14:19:42
>>969 みたいに日本語にするといいよ。
今回やりたいのは、
comboBox2の選択内容が変わったら、
comboBox1の値によって変わる上限よりcomboBox2の値が大きかったらエラーを出力。
だろう。

まあ上限は配列にしておいて({31,29,31,30,31,30,31,31,30,31,30,31} とか)
確認するとか、DateTime につっこんで正しい日付かチェックするとかすればいいかと
972デフォルトの名無しさん:2007/06/27(水) 14:20:07
あなたが書くべきよりよい条件式:

( 2月 かつ ( ( 閏年 かつ 日付が29より大 ) または ( 非閏年 かつ 日付が28より大 ) )
または
( 日付が30より大 かつ ( 4月 または 6月 または 9月 または 11月 ) )
973966:2007/06/27(水) 14:30:00
はう・・・・そんな沢山の条件式を一度にやったりとか、どうすればいんでしょう・・・?
974デフォルトの名無しさん:2007/06/27(水) 14:31:29
月ごとの末日を配列にでも入れとけ。
あとは閏年かどうかで 2 月の場合に 1 日調整するだけ。
975デフォルトの名無しさん:2007/06/27(水) 14:37:21
bool fLeapYear = false;
bool fError = false;

int m = comboBox1.SelectedIndex + 1;
int d = comboBox2.SelectedIndex + 1;

switch( m )
{
    case 2:
        fError = fLeapYear ? d > 29 : d > 28;
        break;
        
    case 4:
    case 6:
    case 9:
    case 11:
        fError = d > 30;
        break;
}

if( fError )
{
    MessageBox.Show( "Error" );
}
976デフォルトの名無しさん:2007/06/27(水) 14:39:16
まあ今回は年が無いからうるう年は考慮無しでもいいじゃん

int[] monthDay = { 0, 31, 29, 31,30,31,30,31,31,30,31,30,31 };

if (monthDay[m] < d)

switch case をこれにしてもいいな。
977デフォルトの名無しさん:2007/06/27(水) 14:41:44
閏年考慮なしでいいとか本気?
捨てコードならともかく・・・。
978デフォルトの名無しさん:2007/06/27(水) 14:44:13
コンボボックスで日付選択した状態での範囲エラーだぜ
979デフォルトの名無しさん:2007/06/27(水) 14:45:06
年を入力するところが無いのにどうやってチェックするのかと
980デフォルトの名無しさん:2007/06/27(水) 14:45:18
ああ、そういうことか・・・。
年の情報はどこにもないのね。
981デフォルトの名無しさん:2007/06/27(水) 14:47:32
日付設定してから月を変更することもあるだろうし、
それをキーボードでやったときのことを考えると
月設定時にエラーは出しにくいし
最終チェックはどうせ必要なんだから、この場合の範囲チェックの時点で
「うるう年を考慮しないなんて本気?」とか言うほうがおかしいでしょ
982デフォルトの名無しさん:2007/06/27(水) 14:49:17
100年分ぐらいの年月日・曜日データぐらいデフォで登録しとけや
983デフォルトの名無しさん:2007/06/27(水) 15:03:45
DateTimePickerでいいじゃん……
984966:2007/06/27(水) 15:12:12
みなさん、ありがとうございます、助かりました!

C#初めてまだ1ヶ月で分からないことだらけでしたけど、また一つ覚えることが出来ました。
985デフォルトの名無しさん:2007/06/27(水) 15:54:34
昔沸いた変な馬鹿とは大違いだな
986デフォルトの名無しさん:2007/06/27(水) 15:57:43
昔?つい最近な気がw
987デフォルトの名無しさん:2007/06/27(水) 17:41:38
それよか && とか || を覚えた方がいいぞ >>984
988デフォルトの名無しさん:2007/06/27(水) 17:46:54
「&」と「&&」、「|」と「||」はどう使い分けたらいいの?
989デフォルトの名無しさん:2007/06/27(水) 17:53:51
使い分けなくていいよ
990デフォルトの名無しさん:2007/06/27(水) 17:59:26
全然違うものだから、使い分けるも何も、
お互いにお互いの代わりとして使えない。
991デフォルトの名無しさん:2007/06/27(水) 18:48:16
どっちも同じように使える。
ただし&や|の方は後ろのステートメントも常に評価するようになる。
992デフォルトの名無しさん:2007/06/27(水) 18:56:00
>>990
もしかして&や|はビット演算にしか使えないと思ってた?
993デフォルトの名無しさん:2007/06/27(水) 18:59:20
>>991
衝撃の新事実!
994デフォルトの名無しさん:2007/06/27(水) 19:10:10
すまん憶測で書いてたw
今試したら&&と同じように前のステートメントが偽だと後ろが評価されないね。
995デフォルトの名無しさん:2007/06/27(水) 19:10:12
C#ではboolとintは完全に別物だから、
intに対する | & とboolに対する | & は動作が違う。
intに || && は使えない。
996デフォルトの名無しさん:2007/06/27(水) 19:13:48
と思ったらMSDNに
>& 演算子は、1 番目の演算子の値に関係なく、両方の演算子を評価します
って書いてあった。

しかもさっき書いた検証コードもちゃんとそう動いてた。
testとtrue見間違えただけかよw
しっかりしろ俺www
997デフォルトの名無しさん:2007/06/27(水) 19:52:27
ええとつまり

if(A || B) は まずAを評価して OKでなければBを評価
if(A | B) はAがOKでもBを評価ってことか?

つか後者はどういうときに使うのか想像できない漏れがいる
998デフォルトの名無しさん:2007/06/27(水) 19:55:10
|はビット演算子
999デフォルトの名無しさん:2007/06/27(水) 19:56:22
ture演算子 false演算子あげ
1000デフォルトの名無しさん:2007/06/27(水) 19:59:27
ヽ(`Д´)ノ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。