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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとC#,C♯,C#(初心者用) Part69
http://hibari.2ch.net/test/read.cgi/tech/1296268762/

■関連スレ
C#, C♯, C#相談室 Part64
http://hibari.2ch.net/test/read.cgi/tech/1294734221/
VB.NET質問スレ(Part35)
http://hibari.2ch.net/test/read.cgi/tech/1284423653/
くだすれC++/CLI(初心者用)part2
http://pc12.2ch.net/test/read.cgi/tech/1268613679/

■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。

直接貼る場合は下記サイトなどを利用してhtmlエンコードした方が
インデントも残って見やすいです
http://kawama.jp/php/encode_html.php
2デフォルトの名無しさん:2011/02/19(土) 08:03:44
LINQ厨はわかるけど、例外さんってなに?だれ?
3デフォルトの名無しさん:2011/02/19(土) 08:47:21
Nullableのキャスト論とか例外を握りつぶすとかClickOnceに対して一家言をお持ちで
返す言葉がなくなると馬鹿だアホだゆとりだ異常だ障害だと人格否定を始める人物

主張と文体から「毎度同じ奴っぽい」と認識されたのが去年の8月ごろ
もちろんそれ以前からそいつらしいのはいる(ふらっとpart49の773とか)

例外の件は相談室でも叩かれている
4デフォルトの名無しさん:2011/02/19(土) 12:15:42
その一家言にちょっと興味あるわw
5デフォルトの名無しさん:2011/02/19(土) 12:57:28
質問です。.NET TIPS バージョン情報ダイアログを作成するには?
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/282verinfodlg/verinfodlg.html
を参考に、アセンブリからアイコンイメージを取得しようとしてるのですが、
アセンブリのロケーションパスを取得するmainAssembly.Locationの部分が、
mainAssemblyは現在コンテキストに存在しないとエラーがでます。
何か宣言が足りないのか、別の名前なのか分かりません。教えてください。
6デフォルトの名無しさん:2011/02/19(土) 13:18:25
大したこと言ってねえぞ。

・Nullableは暗黙的に元の値型にキャスト可能であるべき
・「例外を握りつぶす」なんてよく分からん用語を使うな
・判断力のないユーザーが、自分の権限内のファイルを全て削除するソフトをインストールしてしまったらどうするの?

>>5
まずコンパイル自体は通るのかは書きなさい。
次にエラーが出る部分とその周辺のコードを貼りなさい。
最後にエラーの内容を一字一句省略せずに転写しなさい。
7デフォルトの名無しさん:2011/02/19(土) 13:20:22
85:2011/02/19(土) 13:39:05
コードは、サイトそのままなんですけど。
モーダルで開いた情報ダイアログForm2のほうに記述してるからでしょうか?
private void Form2_Load(object sender, EventArgs e)
{
// アプリケーション・アイコンを取得
Icon appIcon;
SHFILEINFO shinfo = new SHFILEINFO();
IntPtr hSuccess = SHGetFileInfo(mainAssembly.Location, 0, ref shinfo, (uint)Marshal.SizeOf(shinfo), SHGFI_ICON | SHGFI_LARGEICON);
if (hSuccess != IntPtr.Zero)
{
appIcon = Icon.FromHandle(shinfo.hIcon);
}
else
{
appIcon = SystemIcons.Application;
}
// ラベルなどにバージョン情報をセット

コンパイルと降りません。エラーは>>7です。
9デフォルトの名無しさん:2011/02/19(土) 13:52:45
例外さんてw
ヘビメタさんみたいだな。

なんか例外さんとか言ってる連中がその例外さんに向けてる批判は、
むしろそいつら自身に当てはまってるようにも見えるけど、そこら辺は突っ込まないお約束なのかねw
10デフォルトの名無しさん:2011/02/19(土) 13:58:53
>>8
変数のスコープって分かる?
115:2011/02/19(土) 14:43:35
自己解決しました。
Assembly mainAssembly = Assembly.GetEntryAssembly();
が必要でした。
12デフォルトの名無しさん:2011/02/19(土) 14:47:14
うんわかってた
13デフォルトの名無しさん:2011/02/19(土) 14:48:17
存じておりましたわ
14デフォルトの名無しさん:2011/02/19(土) 14:57:29
C#アプリにXPのExplorer風のフォルダツリービューを配置したいんですが
簡単な方法はないですか?
検索すると皆Win32API使いまくって実現しているようですが…
15デフォルトの名無しさん:2011/02/19(土) 15:05:19
それって愚問じゃないのか
16デフォルトの名無しさん:2011/02/19(土) 15:05:36
APIを使うかはともかく、コントロールとしては存在しないので簡単な方法は存在しない。
17デフォルトの名無しさん:2011/02/19(土) 20:01:27.67
Win7のうざくて遅いライブラリ機能を回避するには、API叩くしかない。
18デフォルトの名無しさん:2011/02/19(土) 20:14:45.44
win7のうざくて遅いライブラリってなに?
19デフォルトの名無しさん:2011/02/19(土) 21:07:28.77
>>18
Win7から搭載された、
「ライブラリ」 と呼称される仮想ディレクトリ機能の事。
冗談抜きでマジでうざい。使い難い。何でこんなモノ実装したんだってレベル。

会社でWin7もServer2008も使ってるが、これについての話をすると
同僚は全員 「そんな機能あったの?」 って反応。
20デフォルトの名無しさん:2011/02/19(土) 21:21:44.90
ライブラリはわかった

要するに、NET.Frameworkでフォルダ構造をGUIにしようとすると、
何らかの形でライブラリ機能が介入してくるため、APIを叩かなきゃ回避できない

ということか?
21デフォルトの名無しさん:2011/02/19(土) 21:28:11.26
仮想フォルダそのものが必ずしも間違ってるとは思わないけど、
マイコンピュータにファイルシステムと並列において透過的に扱わせよう、って考えはどうかなとは思うね。

フォルダツリーが変な仮想フォルダだらけで邪魔でしょうがないし、
かえって分かりにくい。

マイクロソフトは何か盛大に勘違いしてるな
22デフォルトの名無しさん:2011/02/19(土) 22:49:39.56
インスタンスフィールドにアクセスしない関数を作るとき
積極的にstaticにすべき?どんな基準で決めてる?
23デフォルトの名無しさん:2011/02/19(土) 23:22:48.17
Hogeクラスに対して
  var hogeList = new List<Hoge>(new Hoge[5]);
  hogeList.ForEach((x) => { x = new Hoge(); });
  foreach (Hoge hoge in hogeList) hoge.HogeMethod();
とやってもhogeListの要素はどれもnullのままになってしまっていて例外が起きます。
List<Hoge>の生成の時点でどの要素もインスタンス化しておきたいんですがどうすればいいですか?
24デフォルトの名無しさん:2011/02/20(日) 00:36:37.37
var hogeList = new List<Hoge>(Enumerable.Range(0,5).Select(n=>new Hoge()));

まあこんなの現場で書いてる奴がいたら蹴り飛ばすけどな
25デフォルトの名無しさん:2011/02/20(日) 00:38:33.13
ToList() 使わないとな!!
26デフォルトの名無しさん:2011/02/20(日) 00:50:11.09
というか問題点がズレてるな。
生成の時点で云々じゃなく、LINQの仮引数に代入して意味があると勘違いしているのがマズイ。

>>23
>hogeList.ForEach((x) => { x = new Hoge(); });

これさあ

foreach(Hoge x in hogeList){
x = new Hoge();
}

って書いてるのと同じなんだよ。
この場合xが読み取り専用っていうのは分かるよね?
2723:2011/02/20(日) 01:32:49.08
>>24
うまく行きました。ありがとうございます
気になるのでよろしければ蹴り飛ばしたい理由も教えてください。
Listの各要素の実体化が必要な設計自体まずいってことですか?
>>26
foreachでは駄目なのは分かりますが、ラムダ式でも駄目だったんですね。
自然言語っぽく書くのを目指してるんですがなかなか難しいです。
28デフォルトの名無しさん:2011/02/20(日) 01:34:17.73
テキストファイルの特定の行だけ読み取って編集することって出来ませんか?
StreamReaderで一行毎に読み取ってstring[]にして、
また書き込むみたいな手順しか思いつかなくて

何というかファイルをそのまま書き換えたいんです
29デフォルトの名無しさん:2011/02/20(日) 02:58:52.40
>>27
無理やり1行に押し込んでも可読性悪いよねってだけの話。
>>28
可変長の行からn行目を取り出して書き換えるのは、最初から読み込んで変更行以降を全部書き換えるしかないよ。
StreamWriterはFlushしてPositionで任意位置から書ける。FileStream.Seekでもいい。
ファイルをそのまま書き換えるのは、例外飛ぶとか、プロセス殺されるとか、電源落ちるとかで容易にファイルが破損するので対策せずに使うのは推奨できない。
30デフォルトの名無しさん:2011/02/20(日) 03:04:10.02
その行の長さが変わらなければシークして上書くだけだけど、
長さが変わるならそこから後ろはどうしても影響でるよな
31デフォルトの名無しさん:2011/02/20(日) 04:20:13.43
テキストファイルって言っても単なるバイナリファイルと変わらんからな
テキストのルールに沿ってバイナリデータを見てるだけだし

普段扱うテキストデータは改行コードで行ごとに別れてるように見えるが
ファイル上だとつながってるし

テキストを行単位で読めるようなクラスも実は先頭から順に
指定されたエンコードに従って改行コードを基準に順次読んでるだけだし・・・

書き換えするなら一旦全部読み込んで行単位に分けてメモリ上で
修正した後全部書き戻しってのが一番だと思うよ
32デフォルトの名無しさん:2011/02/20(日) 09:47:13.11
var hogeList = new List<Hoge>(Enumerable.Range(0,5).Select(n=>new Hoge()));
こんなことするくらいならFuncを指定回数実行する関数とか
Listに要素を追加する関数を作った方がスマートだと思うんだが・・・
33デフォルトの名無しさん:2011/02/20(日) 13:28:32.64
0x200くらいの大きさのbyte配列の特定のindexに
int型の数値を入れたいのですがどのようにすればいいですか?
34デフォルトの名無しさん:2011/02/20(日) 13:31:32.37
intのバイトーオーダーを選択できなくて構わないのなら「C#、共用体」で検索
35デフォルトの名無しさん:2011/02/20(日) 13:36:16.39
簡単なのは

Array.Copy(BitConverter.GetBytes(value), 0, dest, 0x100, 4);

かなあ
無駄があるけど万単位でブン回しても影響があるほどじゃないだろう
36デフォルトの名無しさん:2011/02/20(日) 13:42:56.35
外道な方法なら
unsafe {fixed(byte* p = dest) {*((int*)(void*)(p + index)) = value;}}
37デフォルトの名無しさん:2011/02/20(日) 13:45:12.13
クソ外道め
38デフォルトの名無しさん:2011/02/20(日) 14:27:08.27
C#4.0時代にそんな原始的なコーディングしたくない。
39デフォルトの名無しさん:2011/02/20(日) 14:30:31.49
4.0時代的にはどう書くのっと
40デフォルトの名無しさん:2011/02/20(日) 14:33:50.21
4.0時代でも、要求が原始的(バイトアライン考えながらやらなきゃいけない処理を要求されてる)時点で、コーディングも原始的になるだろ。
要求の段階から考え直さないと。
41デフォルトの名無しさん:2011/02/20(日) 14:50:45.56
>>34-40
ありがとうございました
>>35でやってみます
42デフォルトの名無しさん:2011/02/20(日) 18:03:50.57
構造体をバイト配列に書き出したいときはみんなどうやってる?
BinaryWriterとMemoryStreamで地道に書く?
GCHandle割り当ててMarshalなんちゃらとか使うくらいならポインタの方がよっぽど安全な気が…
43デフォルトの名無しさん:2011/02/20(日) 18:12:57.51
XmlSerializerとXDocumentってどう違うんですか?
どのように使い分けたらいいのでしょうか
44デフォルトの名無しさん:2011/02/20(日) 18:40:54.48
>>42
そもそもそういう要件自体がない。
バイト配列化はエンディアンとかアラインメントの問題あるし、
形式忘れたりすると2度と読めなかったりするし、
極力避けたい。

どうしてもやるなら、BinaryWriterにするかなぁ、自分は。

>>43
インスタンスのシリアライズ用か、
任意のXML読み書き用か。
45デフォルトの名無しさん:2011/02/20(日) 18:41:20.27
C#のオブジェクトをXMLに保存したいかXMLの内容をC#のオブジェクトに読み込みたければXmlSerializer
普通に自分の手でXMLを読み書きしたいならXDocument
XmlSerializerは強力で大抵のスキーマに対応できるし、スキーマからC#のクラスを自動生成することもできるけど、
どうしてもC#のクラスの構造がXMLの構造に縛られてしまうので、それが許容できるかどうか。
わざわざシリアライズ専用のクラスを別に作っていちいち変換したりするくらいなら
XDocumentで自分で読み込んだ方が早いかもしれない。
46デフォルトの名無しさん:2011/02/20(日) 18:57:47.23
>>44
要件自体がない、は言いすぎじゃないのかなあ。

構造体の巨大配列を高速にランダムアクセス可能な形でファイルに落としたい、
なんてのはそこそこありがちなシナリオに思うけど。
47デフォルトの名無しさん:2011/02/20(日) 19:01:21.36
既存のバイナリ形式のファイルを読み書きしたいこともある
48デフォルトの名無しさん:2011/02/20(日) 19:01:46.97
別にバイト配列である必要性がねーもん
49デフォルトの名無しさん:2011/02/20(日) 19:03:38.06
BinaryReader/Writerだな自分は
それにしたってファイル直接書き換えたりする気ないけど

Stream取ってReadFromとWriteToだけ書く
50デフォルトの名無しさん:2011/02/20(日) 19:12:21.15
XMLは糞遅いからな。
エンディアンだってx86,x64以外どうせテストできないから、リトル固定で問題でないし。
糞速いバイナリでいいや。
51デフォルトの名無しさん:2011/02/20(日) 19:26:43.00
C#で最速を求めてもなぁ
52デフォルトの名無しさん:2011/02/20(日) 19:28:16.73
>>44-45
なるほど
良くわかりました
53デフォルトの名無しさん:2011/02/20(日) 19:29:43.83
c#で開発を頼んで、javaより遅かったらPCごと窓から投げ捨ててやる。
54デフォルトの名無しさん:2011/02/20(日) 19:31:42.77
Java より早くても投げていいよ
55デフォルトの名無しさん:2011/02/20(日) 19:32:47.06
むしろ今投げろって無能
56デフォルトの名無しさん:2011/02/20(日) 19:36:32.19
むしろお前ごと行け
57デフォルトの名無しさん:2011/02/20(日) 19:38:10.26
窓の下に乞食どもが
58デフォルトの名無しさん:2011/02/20(日) 19:39:58.56
他のアプリに使わせる為のXMLを吐くなら、XmlSerializerを検討するけれど
自分のアプリでしか使わないなら、DataContractSerializerにするかなあ。

速度面に関しては、アプリ全体が一通り完成してから
パフォーマンス的に許容出来ないと感じたら、改めて高速化を検討する。
始めからバイナリにしたりしないな。

(データアクセス部分は差し替えが容易な様に、ビジネスロジックとは別のプロジェクトにしておく)
59デフォルトの名無しさん:2011/02/20(日) 19:51:54.80
XMLはサイズがでかいからなぁ。
携帯絡むとパケット量が多すぎて顧客からふざけんなって苦情くるんだよね。
いったい何を通信したらこんなにでかくなるんだ?って怒られる。
60デフォルトの名無しさん:2011/02/20(日) 19:56:16.69
そうそう
顧客が携帯で画像を読み込んだ日には訴訟問題にすらなりかねん
61デフォルトの名無しさん:2011/02/20(日) 19:56:50.02
それは明らかにお前の頭と設計がふざけてるじゃん
62デフォルトの名無しさん:2011/02/20(日) 19:56:59.19
こんなんみっけた(個人サイトなのでアレだが)

ttp://neue.cc/2010/05/29_261.html
63デフォルトの名無しさん:2011/02/20(日) 19:59:35.37
つーかSerializerってこんな沢山在ったのね
64デフォルトの名無しさん:2011/02/20(日) 19:59:50.88
>>59
本当に仕事してんの?
65デフォルトの名無しさん:2011/02/20(日) 20:01:32.70
どうしてもサイズが気になるなら、gzip圧縮した物を送信して
受信側で解凍するとかね
(速度は犠牲になるが)
66デフォルトの名無しさん:2011/02/20(日) 20:05:19.82
>>62
バイナリの方が遅いのかよ!w
67デフォルトの名無しさん:2011/02/20(日) 20:13:12.70
最近、携帯で、楽天アプリとEdyアプリとかダウンロードして設定とか弄っただけで、
アプリのダウンロードとは別で、パケット代が1500円も取られた。
あれは一体何を通信してんだ? まじふざけんなって感じだな。
68デフォルトの名無しさん:2011/02/20(日) 20:14:36.87
XmlSerializerはこの方法だと比較にならんと思うけどな
型指定してnewするとその時点でリフレクション使ってコード生成しちゃうじゃん
69デフォルトの名無しさん:2011/02/20(日) 20:52:12.48
>>68
是非とも、改めて比較をお願いしたい
70デフォルトの名無しさん:2011/02/20(日) 21:13:08.22
XmlSerializerはシリアライズ/デシリアライズは速いけど
C#のコードを生成するという冗談みたいな仕組みのせいで
プリコンパイルしとかないと最初のロードがかなり遅いんだよな
DataContractSerializerはEmitなのでコード生成も動作も速い
71デフォルトの名無しさん:2011/02/20(日) 21:16:31.38
IXmlSerializableが実装されてればコード生成しない程度の判断はしてくれているのだろうか
72デフォルトの名無しさん:2011/02/21(月) 01:44:44.28
質問です。
.NET FrameworkのSocketPermissionクラスを使って特定のIPをブロックするようにしたいと考えています。
いろいろ試した結果ホスト名に対してワイルドカードを使用できないことが判りました。
これはサイト中に「ホスト名は IP アドレスに解決される必要があり、これによりスタックがブロックされることがあるため、ホスト名を使用してソケット アクセス許可が作成されないようにします。」とあります。

いまいち、上の文章がどういう意味なのか理解しきれていないのですが、この問題はワイルドカードを使用した指定ではホスト名をIPアドレスに解決できないからととらえてよいのでしょうか。

socketpermissonクラス:http://msdn.microsoft.com/ja-jp/library/system.net.socketpermission.aspx
7372:2011/02/21(月) 02:53:03.66
↑の文で4行目の「これは」を無視して読み進めてください 申し訳ありません。
74デフォルトの名無しさん:2011/02/21(月) 09:28:17.50
2次元配列で作ったものを
クラスや構造体で使いたい場合、メンバ変数をどうやって割り当てればいいのですか?
hoge.name=array[x, 1];
hoge.tell=array[x, 2];
hoge.sex=array[x, 3];
・・・・のように総当りでセットしなきゃなりませんか?

{name,tell,sex,・・・・・・}というメンバ変数名の配列一つ与えれば
そのままarray[x, 1]のものが hoge.nameとして使えるようになりませんか?

エクセルで言うと、列名行の有無の差なんですけど。
セル指定が行列番号でも列名でもどちらでも使えるという感じ。
75デフォルトの名無しさん:2011/02/21(月) 09:33:49.04
>>74
一次元配列をリストで管理すればいいんでないの?
76デフォルトの名無しさん:2011/02/21(月) 09:56:03.35
総当りもメンバ変数名の配列も対して手間は変わらんだろ
77デフォルトの名無しさん:2011/02/21(月) 11:11:01.10
DataTable使えば?
いかにもVB的だけど
78デフォルトの名無しさん:2011/02/21(月) 11:23:14.81
そういえば素朴な疑問なんだがたとえばintの二次元配列を作ったとすると
なんでLengthは総数なんだよな

int[2,3]とするとLength=6とか・・・
79デフォルトの名無しさん:2011/02/21(月) 11:26:45.95
あ、そうそう
>>74
いっそのこと2次元配列を1次元配列化して使ってみては?

たとえば int[2,3] を int[6]にしてアクセスするときはint[ y*3 + x]みたいな感じにしてさ
そうすればCopyToが使えるよ
80デフォルトの名無しさん:2011/02/21(月) 11:34:09.36
>>78
・多次元配列は連続したメモリ領域に仮想的に>>79のようにインデックスを付けてるだけだから
・((IList)array).Countとarray.Lengthの値が異なるのは直感的でないから
・仮にLengthが0次元目の長さを返す仕様だったとしても、どうせ他の次元の長さは
GetLengthで取得しないといけないから
81デフォルトの名無しさん:2011/02/21(月) 12:40:57.10
>>79
それやってメンバ変数使えるのか?
82デフォルトの名無しさん:2011/02/21(月) 13:17:16.73
あーだめだ
CopyToは使えないな
こういうやり方しないので知らなかった・・・

初期化は面倒になるかもしれないけどコピーコストを考えると>>75の方法がいいかもな

http://ideone.com/uLM7E
83デフォルトの名無しさん:2011/02/21(月) 13:18:49.30
いきなりこういう初期化でもいいな
http://ideone.com/JJWpd
84デフォルトの名無しさん:2011/02/21(月) 13:46:39.75
メンバ変数って何かわかってんの?
85デフォルトの名無しさん:2011/02/21(月) 14:00:44.15
はあ?
決めうちしていいのならこんなんでいけるだろ?
http://ideone.com/rdZhT
86デフォルトの名無しさん:2011/02/21(月) 14:01:03.96
すっとHogeの配列にしなよ
87デフォルトの名無しさん:2011/02/21(月) 15:10:22.50
>>85
それ総当りループと比べてなんか改善出来てると思ってんのか?
88デフォルトの名無しさん:2011/02/21(月) 17:06:21.96
C言語ある程度理解できるけど、C#はさっぱりわからない理解できない・・・
とりあえずクラスとインスタンスについては理解?(とりあえず実体化が必要ということだけ理解)してるんだけど
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/
これ見ながらやってるんだけど、情報量が多すぎて、頭に入ってこない・・・
8988:2011/02/21(月) 17:09:10.58
途中で送信してしまった・・・
こんなお馬鹿なおいらに何かアドバイスお願いします
90デフォルトの名無しさん:2011/02/21(月) 17:10:29.47
Cで再入可能なコード書こうと思ったら、グローバル変数を使わないで一つの構造体にまとめて
そのポインタを関連する関数の引数にいちいち渡したりするでしょ
それがオブジェクト指向
91デフォルトの名無しさん:2011/02/21(月) 18:20:21.21
がんばれとしか・・・
92デフォルトの名無しさん:2011/02/21(月) 18:24:06.79
>>87
だからさ〜

そもそものstringを二次元配列にしないでこの場合はList<string[]>で管理すればいいだけだろ
93デフォルトの名無しさん:2011/02/21(月) 18:35:04.15
VB厨上がりとC厨上がりでは発想が全然違うね。
94デフォルトの名無しさん:2011/02/21(月) 18:39:13.39
>>93
意味がわからん
煽ってるだけのアホもいるし

ここは圧迫面接の会場もでないし、煽ってる糞の部下の採用面接の場でもないぞ
95デフォルトの名無しさん:2011/02/21(月) 18:41:49.23
2chはあほな機能つける前に専門板にID導入してくれ
96デフォルトの名無しさん:2011/02/21(月) 18:42:57.90
>>94
VB厨乙。
97デフォルトの名無しさん:2011/02/21(月) 19:16:54.51
要するに好きな方を使えと・・・
98デフォルトの名無しさん:2011/02/21(月) 19:20:20.75
まあそうだね
総当りが嫌なら出された代案でやればいいし
それが納得いかないのなら勝手にしろって話だし
99デフォルトの名無しさん:2011/02/21(月) 19:59:45.82
const定義して、arrayを直接使った方が楽な気がする
C#だからと言って全部クラスにする必要ないし
100デフォルトの名無しさん:2011/02/21(月) 20:04:32.03
二次配列使うかクラスを使うかはっきりしろって思うね
101デフォルトの名無しさん:2011/02/21(月) 20:10:19.24
C#神すぎて、iPhoneで開発しようとしてるけど、object-c使いづられえ・・・
C#でiPhone開発できるツールがあるので助かったわ。
世界共通言語でいいんじゃねえの?>C#
102デフォルトの名無しさん:2011/02/21(月) 20:48:29.96
C#一本でもいいけど
柔軟な書き方が出来るjavascriptも欲しいところ
手軽なphpやpythonなんかのスクリプト言語も欲しい
更に言うなら最先端のライブラリがあるJavaも残って欲しいところ
でもココまで来るとscalaとかf#の関数型言語もたしなみたい

後はいらない
103デフォルトの名無しさん:2011/02/21(月) 21:13:40.98
きれいな C++ が欲しい
104デフォルトの名無しさん:2011/02/21(月) 21:24:40.67
C++は前方宣言がなくなるだけでかなりうれしい
105デフォルトの名無しさん:2011/02/21(月) 21:27:34.84
教えてください。
DateTime.Nowを取得したとき、時々、秒以下のfffffff(数、あってる?)の部分が無いデータが発生します。
これはどうしてなんでしょうか?
もしかして、ドンピシャ、0000000のときそうなるの?
強制敵に0000000を表示させることはできませんか?
106デフォルトの名無しさん:2011/02/21(月) 21:29:18.22
なくなる、じゃなくて前方参照が可能になってるんだと思うよ。
前に前方参照って言葉はミスリーディングだよねって書いたら大反発されたけど、
やっぱりこうやって混乱する人がいるわけだ
107デフォルトの名無しさん:2011/02/21(月) 21:32:01.15
>>104は混乱してるのか?
108デフォルトの名無しさん:2011/02/21(月) 21:39:21.84
>>105
文字列に変換するときにちゃんとフォーマットを指定しろ
109デフォルトの名無しさん:2011/02/21(月) 21:39:44.49
え?
110デフォルトの名無しさん :2011/02/21(月) 21:55:32.78
質問です
開発環境:visual studio 2003 C#
データベースにバイナリデータで登録してあるwordファイルを
取得して表示させる方法を教えて頂けないでしょうか。
よろしくお願いします。
111105:2011/02/21(月) 22:00:10.55
>>108
表示するときはToString()で標準表示にしてるんだけど、
表示の問題じゃなくて、TimeSpanを計算してるんだけど時々、おかしな値を出すんで
DateTimeを表示してみたら、時々データ自体が落ちてるようなんだけど・・・
112デフォルトの名無しさん:2011/02/21(月) 22:01:41.39
VBSでも似たような現象あったな。
113デフォルトの名無しさん:2011/02/21(月) 22:04:04.57
データが落ちてるってどういう意味よ。
>>105がゼロサプレスを知らないだけでしょ。
>>108の言うとおりちゃんと書式指定して、それでもおかしかったらもう一度質問どうぞ
114デフォルトの名無しさん:2011/02/21(月) 22:20:59.00
>>110
2003使うなら、悪い事言わないからWordの部分だけはVB.net使った方が良い
115デフォルトの名無しさん:2011/02/21(月) 22:35:21.84
質問です
外部アプリを常に手前に表示させるチェックボックスを作るシンプルな物を作りたいのですが
この場合どういう風にコーディングすればよろしいのでしょうか?
116デフォルトの名無しさん:2011/02/21(月) 22:58:58.91
Window一覧取得して、お望みのものを常に手前に設定すればいい。
117デフォルトの名無しさん:2011/02/22(火) 07:29:47.85
Windows7で既定の再生デバイスを変更するツールを作りたいんですが
これを実現するAPIってどのようなものがあるでしょうか?

PCにHDMIで液晶テレビにつないだんですが
音声をスピーカーとテレビで切り替えるのが面倒で。

よろしくお願いします。
118デフォルトの名無しさん:2011/02/22(火) 07:42:52.48
>>117
Audio Mixiers API
http://msdn.microsoft.com/en-us/library/dd756701%28v=VS.85%29.aspx

捜さば誰かがラッパーを書いてるんじゃないかなあと思う
119デフォルトの名無しさん:2011/02/22(火) 08:01:46.84
>>118
おおお
さんくす。がんばってみます。
120デフォルトの名無しさん:2011/02/22(火) 08:44:42.70
APIでは切り替えできないようだorz
http://d.hatena.ne.jp/applet_at_h/20081111/
121デフォルトの名無しさん:2011/02/22(火) 10:36:48.58
教えて欲しいのですが、textBoxコントロールのプロパティで指定したフォントは、
ユーザー側のOSの設定に関らず、フォントが存在すれば、プロパティの通りのフォントで入力されるのですか?
もし無ければ何が選ばれるのでしょうか?
122デフォルトの名無しさん:2011/02/22(火) 11:21:48.34
だいたいフォント

だいたいこれでいいんじゃないかなってシステムが勝手に選んでくれる
123デフォルトの名無しさん:2011/02/22(火) 11:50:52.52
ありがとうございます。fontFamilyNameとかいうやつですかね?勉強してきます。
124デフォルトの名無しさん:2011/02/22(火) 13:35:52.59
>>122
山田君座布団ぜんぶ持って行ってw
125デフォルトの名無しさん:2011/02/22(火) 13:37:01.24
WPFでXNAのINPUTを使いたいんですが値が還ってきません。なんでですか?
using Microsoft.Xna.Framework.Input;

private void button1_Click(object sender, RoutedEventArgs e) {
  while (loopFlag) {
   label1.Content = ((GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X)*100.0).ToString();
   DispatcherHelper.DoEvents();
   System.Threading.Thread.Sleep(1000);
  }
}
126デフォルトの名無しさん:2011/02/22(火) 21:59:38.19
Xnaのゲームループ回ってなくても入力取れるのかな?

さもなくば、Xnaって箱コントローラーしか対応してないはずだけど。
127デフォルトの名無しさん:2011/02/22(火) 22:45:42.26
ゲームパッドの入力取りたいだけだったらjoyGetPosで簡単
128デフォルトの名無しさん:2011/02/23(水) 07:14:00.80
C言語から来て
暗黙変換について勉強してるんだけど
VC#で

float a = 0.12345f;
double b = a;
Console.WriteLine(b);

表示されたのは0.123450003564358
という数値だけど、これは浮動小数の誤差なの?
キャスト変換でも数値は同じだった・・・
129デフォルトの名無しさん:2011/02/23(水) 08:54:43.34
>>125
非公式ドライバとかいうのにしているのを忘れてました
このコードでいけましたすいません。
130デフォルトの名無しさん:2011/02/23(水) 11:13:20.12
Webサービスを作ってみたんですがtest1ノードにアトリビュートを
付加するにはどうしたらいいでしょうか?
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
public class hoge
{
  public string test1;
  public string test2;
}
namespace websvrtest
{
  [WebService(Namespace = "http://tempuri.org/")]
  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  [System.ComponentModel.ToolboxItem(false)]
  public class Hoge : System.Web.Services.WebService
  {
    [WebMethod]
    public hoge HelloWorld()
    {
      hoge a = new hoge();
      a.test1 = "test1";
      a.test2 = "test2";
      return a;
    }
  }
}

131デフォルトの名無しさん:2011/02/23(水) 11:32:49.74
すみません。できました。
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Xml;
namespace websvrtest
{
  [WebService(Namespace = "http://tempuri.org/")]
  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  [System.ComponentModel.ToolboxItem(false)]
  public class Hoge : System.Web.Services.WebService
  {
    [WebMethod]
    public XmlDocument HelloWorld()
    {
      XmlDocument dom = new XmlDocument();
      dom.LoadXml("<?xml version=\"1.0\"?><aa></aa>");
      XmlElement el = dom.CreateElement("hoge");
      el.SetAttribute("aaa", "bbb");
      dom.DocumentElement.AppendChild(el);
      return dom;
    }
  }
}
132デフォルトの名無しさん:2011/02/23(水) 11:36:35.89
>>130>>131
これって簡易サーバー?
133デフォルトの名無しさん:2011/02/23(水) 14:41:15.36
VS2010Expressを使っていますが、デバッグで以下のようなダイアログが表示され、デバッグ中のアプリが起動しません。VSのデバッグのエラー報告ではなく、Windowsの出すエラーダイアログのようです。
「アプリケーション構成が正しくないため、このアプリケーションの開始に失敗しました。
マニフェストファイルを参照してエラーの原因を調べてください。
アプリケーションの再インストールをすることで、この問題を解決する可能性があります。
詳細については、アプリケーションイベントログを参照してください。」
具体的にはどうすればいいのでしょうか?
マニフェストファイルやアプリケーションイベントログの場所も見方も分かりません。
一から打ち直すのが速いですかね?
134デフォルトの名無しさん:2011/02/23(水) 14:43:32.84
デバッグとか使ったことない。必要性がわからない。
135デフォルトの名無しさん:2011/02/23(水) 14:46:51.05
>>133
・manifest が正しいか確認
・app.config が正しいか確認

スレチなので追加質問は受け付けません
136デフォルトの名無しさん:2011/02/23(水) 14:58:24.79
VSスレに行くべきでしたか。
初心者なもんで、何が原因なのかも見当が付かないもんで。
137デフォルトの名無しさん:2011/02/23(水) 17:47:28.00
      /\              /\
    /    \          /    \
  /        \      /        \
  \  かやく.. \..  /  ソース  /
    \        / .. \        /
      \__/      \__/
      *∴:・        ///
       :※・*      ////
       ∵*÷     /////
   | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
   |   ペヤング ソースやきそば.  |
   |_____________|
138デフォルトの名無しさん:2011/02/23(水) 19:25:39.08
コピペ君って馬鹿だな、まで読んだ。
139デフォルトの名無しさん:2011/02/23(水) 21:15:00.88
質問です。下記、現象の原因が分かる方いたら教えていただきたいです。
クラスBのtry節で例外発生した時、クラスBでcatch節にステップオーバーはするのですが
クラスBでのErrorLogWriteやreturnが実行されず、
クラスAのcatch節に飛んでしまいます。
ちなみにクラスBのErrorLogWriteを削除するとreturn 1まできっちり実行されます。
public class A
{
public void methodA()
{
try
{
mthodB();
}
catch(Exception e)
{
ErrorLogWrite("{0}",e.Message);
}
}
public class B
{
public int methodA()
{
try
{
//何かの処理
}
catch
{
ErrorLogWrite("{0}",e.Message);
return 1;
}
}
140デフォルトの名無しさん:2011/02/23(水) 21:31:09.36
>>139
可読性が劣悪だから、インデントしてくれ。

public class A
{
  public void methodA()
  {
    try
    {
      mthodB();
    }
    catch(Exception e)
    {
      ErrorLogWrite("{0}",e.Message);
    }
  }
public class B
{
  public int methodA()
  {
    try
    {
      //何かの処理
    }
    catch
    {
      ErrorLogWrite("{0}",e.Message);
      return 1;
    }
  }

クラスBのcatch節が、 catch( Exception e ) になってないのは何でさ?
141デフォルトの名無しさん:2011/02/23(水) 21:33:22.72
滅茶苦茶だったので修正しました
public class A
{
public void methodA()
{
try
   {
classB.methodB();
}
catch(Exception e)
{
ErrorLogWrite("{0}",e.Message);
}
}
}
public class B
{
public int methodA()
{
try
{
//何かの処理
}
catch
{
ErrorLogWrite("{0}",e.Message);
return 1;
}
}
}
142デフォルトの名無しさん:2011/02/23(水) 21:34:04.09
ワロス
143139:2011/02/23(水) 21:35:34.74
インデント入れても書き込みすると消えてしまいます。
後、クラスBのcatch節もcatch( Exception e )が正です。
144140:2011/02/23(水) 21:40:36.86
おいぃ!?

ただの書き損じだろうと思って言わんかったけれども
>>141でもまだあちこちおかしいぞ。

つか、適当に書くんじゃなくて
実際に駄目だったコードを、ideone使って張ってくれ。

後、インデントしたい時は2chの場合全角スペースな。
連続した半角スペースは無視される。
145デフォルトの名無しさん:2011/02/23(水) 21:42:13.37
>>128
floatもdoubleも内部的に2進数小数だから、0.12345っていう数字ぴったりは表現できないんじゃないかな。
C言語でも同じ挙動になると思うんだけど。
146デフォルトの名無しさん:2011/02/23(水) 21:45:25.16
decimal使えよって事だな
147139:2011/02/23(水) 21:52:14.03
インデントできたかな?
コードは1000行以上あるので貼れないです。
  public class A
  {
    public void methodA()
    {
      try
      {
        B.methodB();
      }
      catch (Exception e)
      {
        ErrorLogWrite("{0}",e.Message);
      }
    }
  }
  public class B
  {
    public int methodB()
    {
      try
      {
        //何らかの処理
      }
      catch (Exception e)
      {
        ErrorLogWrite("{0}",e.Message);
        return 1;
      }
    return 0;
    }
  }
148デフォルトの名無しさん:2011/02/23(水) 21:55:51.07
ソースと同期できてねえんじゃねえの
149139:2011/02/23(水) 22:00:23.25
それはコンパイラの最適化等の話ですか?
150デフォルトの名無しさん:2011/02/23(水) 22:00:31.59
>>147
その仮コードだけでビルドしてみて、同じエラーは出るの?
出ないなら知らん。
151デフォルトの名無しさん:2011/02/23(水) 22:14:13.86
100%ErrorLogWriteが例外起こしてる
152139:2011/02/23(水) 22:19:20.73
151さんありがとうございます。
その通りでした。
catch節の中で例外が起こってるなんて笑えますね。
153デフォルトの名無しさん:2011/02/23(水) 22:22:45.58
スタックとレース未りゃ一目瞭然なのにお前の今後が心配
154デフォルトの名無しさん:2011/02/23(水) 22:43:10.29
(´・ω・`)…
155デフォルトの名無しさん:2011/02/24(木) 05:38:41.97
下記のVectorに置いてある「撃。連打」というツールのように極シンプルな連打ツールを作りたいのですが
やり方がまったくわかまりません。ご教示願いますでしょうか?
http://www.vector.co.jp/soft/win95/util/se383369.html

同時にEnterキーの連打も出来るようにしてみたいのですがどうかよろしくお願いいたします。
156デフォルトの名無しさん:2011/02/24(木) 06:12:23.13
連打系は、そこら辺の小学生を「じゃがりこ」で雇って連打させるのが吉。
157デフォルトの名無しさん:2011/02/24(木) 10:20:17.00
こういう猿が大量にいるからSendInputはもう.NETに含めろよと
158デフォルトの名無しさん:2011/02/24(木) 10:22:59.84
ここの改造すればいいんでないの?
http://cs2ch.blog123.fc2.com/blog-entry-85.html
159デフォルトの名無しさん:2011/02/24(木) 13:03:28.34
.NETで書いたアプリは実行時にSSEとかAVXを使える環境の場合、
勝手に使ってくれたりするんですか?
あるいは使用するようなコードは書けますか?
160デフォルトの名無しさん:2011/02/24(木) 13:07:37.90
マウスだけならmouse eventで良いんでないの
http://pinvoke.net/default.aspx/user32/mouse_event.html
161デフォルトの名無しさん:2011/02/24(木) 13:10:48.40
>>159
使わない使えない
162デフォルトの名無しさん:2011/02/24(木) 13:57:34.93
Windows7が内部で使ってる機能を間接的に呼び出すことはあるかもしれないな。
163デフォルトの名無しさん:2011/02/24(木) 14:22:06.97
昔jitコードをデバッグしてた時にxmmレジスタ使ってたのを
見たような気がするが定かではない
164デフォルトの名無しさん:2011/02/24(木) 14:26:43.01
ILのインストラクション単位でSSEが使われることはあるけど
フローのベクトル化はやらないんじゃなかった?
165デフォルトの名無しさん:2011/02/24(木) 19:17:06.15
GCみたいに、ここは拡張命令使ってほしいなぁとか、
コンパイラさんにお願い出来たらいいのに
166デフォルトの名無しさん:2011/02/25(金) 00:56:48.80
すみません、質問させて下さい。

@フォーム上にテキストボックスを複数個配置しております。
それら全てに一括してKeyPressイベントハンドラを割り当てているのですが、
この中で、どのテキストボックスに対してイベントが発生したかを判別する方法はありますでしょうか?
おそらくsenderを利用するのではないかと思いますが。。。

AString.Formatで小数点以下2桁の小数を出力したいのですが、これに符号をつけることもできることを知りました。
しかし、具体的にどのようにすれば良いのかが、検索をしてみても分かりません。
教えていただけると助かります。

お願いいたします。
167デフォルトの名無しさん:2011/02/25(金) 02:27:10.62
>>166
@
senderはイベントの発生元。この場合はTextBox。
なのでsenderがどのテキストボックスかをいちいち比較する。

private void TextBox_KeyDown(object sender, KeyEventArgs e) {
 if ( sender == this.textBox1) {
  // 処理
 } else if ( sender == this.textBox2) {
  // 処理
 }
}

イベントが起きたテキストボックスに対して何か処理するならsenderをキャストして使う。

private void TextBox_KeyDown(object sender, KeyEventArgs e) {
 TextBox myText = (TextBox)sender;
 myText.Text = "KeyDown";
}

A
string.Format("{0:正#,0.00;負#,0.00;ゼロ}", 1234); // 正1,234.00 が返ってくる

0:の後にセミコロンで区切って正、負、ゼロ、の順で書式を書く。詳しくは、
ttp://msdn.microsoft.com/ja-jp/library/0c899ak8(v=vs.80).aspx
168デフォルトの名無しさん:2011/02/25(金) 04:03:03.83
>>167
ありがとうございます!
169デフォルトの名無しさん:2011/02/25(金) 09:21:53.43
アプリの配色を一元管理(スキン?)したいです。
で、Color構造体の定義済み色を一時的にでも追加変更する方法ってありますか?
170デフォルトの名無しさん:2011/02/25(金) 09:28:45.39
そりゃ根本的に間違ってるわ
Color構造体をプロパティに持つクラスを作るべき
171デフォルトの名無しさん:2011/02/25(金) 09:36:25.67
>>169
あれこれするのめんどくさければColorのソースを入手して
それを丸コピーしてMyColorとかに変えてそこへ足せば?
172デフォルトの名無しさん:2011/02/25(金) 11:49:17.74
CWinFormsDialogでUserControlを表示してます。
UserControlのタイトルバーを非表示する方法を教えてください

this.ControlBox = false;かと思いましたが
これはFormにしかないようです。
UserControlの場合はどうやるのでしょうか?
173デフォルトの名無しさん:2011/02/25(金) 12:12:25.77
CWinFormsDialogってMFCじゃないの
174デフォルトの名無しさん:2011/02/25(金) 12:20:26.31
そういう.NETで作った画面をホストする奴があるのよ。

>>172
UserControlにタイトル領域なんてものはない
そもそもCWinFormsDialogで生成してるダイアログウィンドウは
.NETじゃなくてMFCの管轄している部分だから、ここで聞いても何も解決しないぜ
175デフォルトの名無しさん:2011/02/25(金) 12:22:39.19
CDialogが継承されてる時点でその程度のことには気付いて欲しい。
176デフォルトの名無しさん:2011/02/25(金) 12:25:37.73
それ以前にMSDNに書いてあるんですけど。
http://msdn.microsoft.com/ja-jp/library/ms175563.aspx
177デフォルトの名無しさん:2011/02/25(金) 13:04:24.34
MFC側じゃあどうやってもけせなかったんで
.net側の問題だと思ったんですけどね
.netでもないとすると困った…

>>176
どこに書いてる?
178デフォルトの名無しさん:2011/02/25(金) 14:02:48.55
とりあえず「CDialogでタイトルバー消す方法おしえてつかあさい」でMFCスレに質問だろう。
どうもならん。
179デフォルトの名無しさん:2011/02/25(金) 15:01:10.01
自分MFCのプロなんで普通の消し方は熟知しております
色々いじってたら思わぬ方法で消えました
バグかもしれんねこれ
自己解決です
180デフォルトの名無しさん:2011/02/25(金) 15:23:42.38
頭のバグか?眼球いじってたら消えたとかかねえ。
181デフォルトの名無しさん:2011/02/25(金) 15:29:55.92
プロが初心者スレで頭下げてると思うと笑える
182デフォルトの名無しさん:2011/02/25(金) 16:13:46.11
バグじゃないかと言っておきながら、自己解決の方法すら書いてない。
最初から最後まで誰の役にも立たないゴミレスだったな。
183デフォルトの名無しさん:2011/02/25(金) 16:51:15.44
すでに持ってるのと同じものを加えられないListってありますか?
自分で毎回調べるしかないですか?
184デフォルトの名無しさん:2011/02/25(金) 17:00:11.32
順番が重要じゃないのならHashSet<T>を使うのはどうだろう
順番が重要だとしても併用すれば重複する要素が入らないようにできる
185デフォルトの名無しさん:2011/02/25(金) 17:00:34.83
連想配列
186デフォルトの名無しさん:2011/02/25(金) 17:10:32.07
教えてください。
TimeSpan型を文字列にしたいのですが、DateTime型のような書式指定は出来ないのでしょうか?
DaysプロパティやHoursプロパティで個別に取り出して、希望する形に文字列連結するしかないのでしょうか?
187デフォルトの名無しさん:2011/02/25(金) 17:12:06.73
>>186
おい目んたまひん剥いて見ろよマヌケ
http://msdn.microsoft.com/ja-jp/library/1ecy8h51%28v=VS.100%29.aspx
188デフォルトの名無しさん:2011/02/25(金) 17:18:15.68
それ標準c書式ひとつだけですよね?
DateTimeのようにいくつも書式が用意されてないのですか?
希望する形じゃないんですけど。
189デフォルトの名無しさん:2011/02/25(金) 17:21:34.46
「DateTime型のような書式指定は出来ない」って意味で貼ったんだよ
どこまでマヌケな頭してるんだお前は
190デフォルトの名無しさん:2011/02/25(金) 17:24:41.32
わかりにくい説明するなよ。カス
191デフォルトの名無しさん:2011/02/25(金) 17:28:57.17
まったくだ。ボケ
192デフォルトの名無しさん:2011/02/25(金) 17:35:19.62
ここの連中って虚勢はるだけのカスばっかだな
たいど偉そうすぎ
ちょっと謙虚にしたらどうか
193デフォルトの名無しさん:2011/02/25(金) 17:40:34.33
何の生産性もないくせに
謙虚にしたらどうなんて偉そうだなお前
194デフォルトの名無しさん:2011/02/25(金) 17:47:03.67
「おれ様はプログラミングで食ってますぜ」って自慢したいのか?
こんなところで初心者甚振ってストレス発散してるようじゃ、
低賃金でこき使われてる使い捨て外注プログラマってのが実態だろ?www
195デフォルトの名無しさん:2011/02/25(金) 17:54:09.22
いやおまえらのバイト代より遥かに高いぞw
最近は下がってるけど
196デフォルトの名無しさん:2011/02/25(金) 17:54:17.13
自分MFCのプロなんで
197。 ◆oDupeixhZv52 :2011/02/25(金) 17:57:56.94
>>188
たとえばどんな形が希望だったのでしょうか。
198デフォルトの名無しさん:2011/02/25(金) 18:32:49.80
>>186-191までは2chらしくてよい流れだったのにその後がよくないなー
199デフォルトの名無しさん:2011/02/25(金) 19:40:11.77
>>184
ありがとうございました
200デフォルトの名無しさん:2011/02/25(金) 21:26:11.79
二つ以上のフォルダをひとつのzipファイルに
まとめて固めるコーディング方法がわかりません
当方はフレームワーク2、0
vs2008で開発してます
よろしくお願いします。
201デフォルトの名無しさん:2011/02/25(金) 21:28:29.22
標準の機能にはありません。ライブラリを使います。DotNetZipとか
202デフォルトの名無しさん:2011/02/25(金) 23:35:29.30
サイズによるけど、固める前に一時的にひとつのフォルダにまとめコピーしてからってのは?
使ったことないから知らないけど。w
203デフォルトの名無しさん:2011/02/26(土) 03:45:03.02
質問です

動的に作成したテキストボックスに入れられた値を変数に格納したいのですがどうればいいでしょうか?
204デフォルトの名無しさん:2011/02/26(土) 03:56:20.11
静的のときと同じです
205デフォルトの名無しさん:2011/02/26(土) 07:40:02.34
>>201>>202
d
>>202のやり方ならいけそうなんですが、先輩が書いた仕様は「複数フォルダを一つのzipにする」なので
先輩を論破できるように下調べしておきます
206デフォルトの名無しさん:2011/02/26(土) 13:01:41.04
数値を任意の桁数の文字列に変換したいのですがどうすればいいでしょうか?

数値 1 を 001という文字列に変換したいです
207デフォルトの名無しさん:2011/02/26(土) 13:02:43.10
>>206
int hoge = 1;

hoge.ToString("000");
208デフォルトの名無しさん:2011/02/26(土) 13:25:09.65
ありがとう
209デフォルトの名無しさん:2011/02/26(土) 19:37:01.41
form1でインスタンス化したform2内のイベントを取得するには
デリゲートしかないですか?

例えばform2でボタンがクリックされると
form2のテキストボックスの文字列を
form1に表示する感じです
210デフォルトの名無しさん:2011/02/26(土) 19:40:29.04
Form2の表示タイプがモードレスならそうだね
211デフォルトの名無しさん:2011/02/26(土) 19:45:27.19
質問する方もする方だが、その解答はどうなのよ....
212デフォルトの名無しさん:2011/02/26(土) 19:45:58.54
モードレスでした
ありがとう
213デフォルトの名無しさん:2011/02/26(土) 19:49:56.76
Form1の…表示先のコントロールが何なのか分からないけど、それを渡しておくとか
214デフォルトの名無しさん:2011/02/26(土) 19:55:40.83
モードレスは英語なのに
モードあるはなぜ日本語なんですか?
215209:2011/02/26(土) 20:12:33.37
デリゲートで思ってたことがもうできました
天才かも?

コントロール渡すってform1で直接別クラス内のコントロールを
いじくれるってことでしょ?
ダサくないですか?
216デフォルトの名無しさん:2011/02/26(土) 20:14:08.97
アクセス範囲のことを考えるとデリゲートの方が良かろうね
217デフォルトの名無しさん:2011/02/26(土) 20:16:45.01
デリゲートに好きして
218209:2011/02/26(土) 20:19:35.75
アクセス範囲もそうですが
コントロール丸ごと渡すって
リモコンの電池を買いに行ったら、
電池とリモコンセットで売りつけられたって感じじゃないですか?
なんかスマートじゃないっす
219デフォルトの名無しさん:2011/02/26(土) 20:38:26.25
じゃあ使わなければ
220デフォルトの名無しさん:2011/02/26(土) 20:42:21.10
スマートさに目を奪われてると足元が崩れそうなことに気付かない
221デフォルトの名無しさん:2011/02/26(土) 21:22:08.39
やべぇ。>>217 を読んで自己嫌悪した。

自分が >>209 みたいなことをするなら、form1 に public なプロパティを作って、
form2 からそのプロパティを呼ぶように作るけど。
222デフォルトの名無しさん:2011/02/26(土) 21:36:12.91
Formを渡すってのは…なあ
223209:2011/02/26(土) 21:57:46.21
オブジェクト指向って上から下へと統括しているような仕組みでしょ?
横の繋がりを曖昧にしちゃったら
誰がコントロールするの?ってならない?
224デフォルトの名無しさん:2011/02/26(土) 22:00:05.25
さすがに見てられないなあ。

>>209みたいなことするのならForm2にFooEnteredとか適当なイベントを実装して、
Form1はそれを拾うようにするんだよ

入力された文字列をEvetArgsの派生クラスで渡すか、Form2のプロパティとして実装するかは
ケースバイケース。

ある程度実用的な大きなプログラムを書くつもりなら、本当は上記のやり方すらよくない。

Form2は別のオブジェクトBarのUIを担当するハリボテに徹するべきで、
Form1も本当はForm2じゃなくてBarからイベントや入力された文字列の情報を貰うべき。
225デフォルトの名無しさん:2011/02/26(土) 22:08:58.55
Getアクセッサでもつくって取得すればいいと思うのだが
226デフォルトの名無しさん:2011/02/26(土) 22:11:03.55
間違えた
イベント処理をForm2で行ってアクセッサとかpublicプロパティとかで制御すれば良くないか?
227デフォルトの名無しさん:2011/02/26(土) 22:38:15.37
>>226
いや、モーダレスらしいから、224さんのやり方が正しいと思うよ。ただ、モーダレスダイアログは使い勝手が悪いから
俺ならユーザーコントロールでコーディングして、必要な時にForm1上に表示するけどね
228デフォルトの名無しさん:2011/02/26(土) 22:40:51.36
Modal / Modeless
229デフォルトの名無しさん:2011/02/27(日) 00:14:41.20
>>224
そういうことやるとなるとWPFだな
230デフォルトの名無しさん:2011/02/27(日) 00:20:02.35
別にWPF関係ないでしょ
結局考え方が実装技術に依存してるじゃん
WPFならバインディングを使うところを手で書くだけのこと(MVP)
231166:2011/02/27(日) 00:27:44.30
>>167
これの@を書こうとしたらsender == this.textBox1のとこでエラーが出てしまうのですがなぜでしょうか…?
聞いてばっかりですみませんが教えていただけたら幸いです
232デフォルトの名無しさん:2011/02/27(日) 00:30:32.17
>>231
エラー書いてね
233デフォルトの名無しさん:2011/02/27(日) 00:37:46.38
>>230
そろそろお手本お願いします

Form1はリモコンで
Form2はテレビの役割をしています
データの受け渡しや表示、管理を
どのようにすべきか教えてください
234デフォルトの名無しさん:2011/02/27(日) 00:53:51.74
>>233
もしかするとForm2をマルチウインドウのテレビ側に表示して、Form1のパソコンでコントロールする
動画再生ソフト?今作っているソフトにそんな機能有るから具体的に教えられると思うよ
235デフォルトの名無しさん:2011/02/27(日) 00:58:00.24
そう言う事じゃなくて設計の話をしてるんじゃね?
236デフォルトの名無しさん:2011/02/27(日) 01:08:24.70
レス追ってないけど、テレビ―リモコンの関係ならForm2はForm1の存在を知らなくて済む。
Form1から操作できるようにプロパティやメソッドを公開しとけばいいんじゃないの。
237デフォルトの名無しさん:2011/02/27(日) 01:22:26.34
制御で混乱するなら初めからスレッド分けるなり、
プロセス分ければいいじゃん。
238デフォルトの名無しさん:2011/02/27(日) 01:30:25.00
>>209の状態はC/C++でWin32やってたときも結構苦労したな
そのときはSendMessageで親にメッセージをぶん投げてやったけど
C#でもできんのかなぁ・・・
239デフォルトの名無しさん:2011/02/27(日) 01:37:07.42
ですから>>209のようなのはどのようにすればいいか
具体的に教えてください

〜すりゃいいじゃん
って言われても初心者には全く理解できません
240デフォルトの名無しさん:2011/02/27(日) 01:45:04.12
これ、設計の問題かなぁ・・・

もしForm1とForm2が互いに影響を与え合うなら
どちらかが親になる構造にしちゃいけねーよね
なにか大本になるクラスXをFormのほかに作ってそこにForm1,2をつける形にしたいよね
こうすればForm2からイベント発生させてもForm2→クラスX→Form1という形でうまくいく
Form1からも同様にうまくいく

でも、だよ
これを.Netが許すかっていうとおそらく許さないよね
Form2のウィンドウの親をForm1にしたいってただ1点で
とりあえずForm1のインスタンスとしてForm2を作るしかないんだけど
(仮に作らなかったとしてもウィンドウ図のメッセージの遷移的によろしく動かない)

っていう問題があってはForm2からのメッセージはSendMessageでForm1にぶん投げるしかなかった
C#でもうまくいくかどうかは未確認
241デフォルトの名無しさん:2011/02/27(日) 01:46:37.13
こちらは質問の意味が全く伝わりません
何がわからないのか明確にして下さい
242デフォルトの名無しさん:2011/02/27(日) 01:47:17.72
>>239
だからとりあえず一つの方法としては
Form2からForm1にSendMessageでメッセージをぶん投げる
送りたい通知の分だけSendMessageを送ってやる
243デフォルトの名無しさん:2011/02/27(日) 01:49:16.88
デリゲートうまく動いたかなぁ
よく覚えてないけど俺もやろうとしてなんかつまづいて保留にした思い出ある
244デフォルトの名無しさん:2011/02/27(日) 01:54:13.21
単にMediatorだろ?
そもそもこの例ならテレビの親をリモコンにすればいいだけじゃん
でもテレビの親がリモコンって直感的ではないね
245デフォルトの名無しさん:2011/02/27(日) 01:54:38.19
>>239
224が可成り具体的なんですが理解できませんか?
判らないとしたら「イベントの作り方」をまず勉強してください
246デフォルトの名無しさん:2011/02/27(日) 01:56:57.54
めんどくせー

var form2 = new Form2();
form2.show();
form2.f1 = this;

form2のボタンクリック
this.f1.textbox.text='clicked form2';

でいーじゃん
c#久々で文法あってるかしらんけどさw
247デフォルトの名無しさん:2011/02/27(日) 02:00:10.30
>>246
循環参照になんね?
248デフォルトの名無しさん:2011/02/27(日) 02:04:35.99
>>246
それがダサいからデリゲートって話になったんだが
249デフォルトの名無しさん:2011/02/27(日) 02:05:38.21
あ、うん、でそのデリゲートのコードはどこっすか?
PGならコードで語ってちょーだいな
曖昧な言葉で綴られても意味わからんのですわ
250デフォルトの名無しさん:2011/02/27(日) 02:07:44.46
しょーがない。もっと勉強すべし
251デフォルトの名無しさん:2011/02/27(日) 02:12:58.94
イベントハンドラで追加でよくね?
252デフォルトの名無しさん:2011/02/27(日) 02:13:59.05
いやだから、普通に自作イベント作ればいい話じゃないか
253デフォルトの名無しさん:2011/02/27(日) 02:14:46.71
mImageDisplay.ImageArea.MouseMove+=new MouseEventHandler(mImageDisplay_MouseMove);
みたいなコードでいいっぽい
SendMessageはC#では使わないらしい
254デフォルトの名無しさん:2011/02/27(日) 02:17:11.63
>>246
こんなことしたらこんがらがっちょ

>>240
おいおい、form1はGUIだよ
Program.cってファイルを忘れてないか?
255デフォルトの名無しさん:2011/02/27(日) 02:20:32.08
>>254
何が言いたいのかわからない
そっちこそメッセージの遷移のほうの解決を忘れてレスつけてないか?
Formのどっちかをフォームで定義される上での親としたいんだぞ
256デフォルトの名無しさん:2011/02/27(日) 02:20:33.54
はいはい
かっこよくならこれでいいんでねー?

var form2 = new Form2();
form2.show();
form2.btn.click += (_,_) => this.textbox.text='clicked';

弱参照がどーのこーのあるかもしれんけどシランがな
257デフォルトの名無しさん:2011/02/27(日) 02:20:41.02
>>224で結論出てるように、普通にイベント使っとけばいいだろ。
SendMessage使えってMFCのプロか?
258デフォルトの名無しさん:2011/02/27(日) 02:21:57.38
出来たよ
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.Hoge = hoge;
frm.Show();
}
private void hoge(bool value)
{
checkBox1.Checked = value;
}
}
public partial class Form2 : Form
{
public Action<bool> Hoge { get; set; }

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (Hoge != null)
Hoge(checkBox1.Checked);
}
}

Form2のチェックボックスとForm1のチェックボックスが連動する
259デフォルトの名無しさん:2011/02/27(日) 02:22:42.88
>>257
すまん
C#でのやり方を知らないだけw
ググったらイベントハンドラでいいらしいね
260デフォルトの名無しさん:2011/02/27(日) 05:03:55.60
ダサいとかどーでもいい
動きゃいいんだよ
261こごろう:2011/02/27(日) 09:10:39.34
WindowsForm アプリケーションを作成しています。
@
各端末で日記を登録できるようにする。
保存先は、ネットワーク上のある端末またはサーバーの共有フォルダとし、テキスト形式で保存するようにする。
A
各端末で、アプリケーションを起動したときに、その共有フォルダ内の全テキストファイルをを自動でを読み込むようにし、端末間でそれぞれの端末で入力された全ユーザの日記を共有できるようにする。
以上の処理を作成していますが、Aで自動で読み込むようにしたときに、テキストファイルが使用中であると、エラーとなってしまいます。
「全ファイルを読み込むが、使用中のファイルについてはエラーとせずに回避する。(catchでエラーを取得するのではなく読み込み前に確認する)」
という仕組みを組み込みたいのですが、そのファイルが使用中であるかを事前に取得する方法が分かりません。
何か方法はないでしょうか。
よろしくお願いします。
262デフォルトの名無しさん:2011/02/27(日) 09:20:35.88
他人の日記を編集できないのであれば他人の日記はリードオンリーで開いたらダメなの?
263デフォルトの名無しさん:2011/02/27(日) 09:26:56.61
264こごろう:2011/02/27(日) 09:43:34.72
>>262
ありがとうございます。
パソコンは個人別に割り当てられておらず、ユーザコードを付与して、各人がどの端末からでも自分の日記を登録、更新できる必要があるんです。

>>263
ありがとうございます。
内容を見ましたが、WindowsAPIの機能を利用するのでしょうか。
初心者なのでコードの難易度がとても高そうで、理解できるか自信がありませんが、じっくり読みます。
ただ、お答えいただいていて失礼なのですが、初心者でも組めるもっと簡単に取得する方法はないでしょうか…。
265デフォルトの名無しさん:2011/02/27(日) 09:51:35.09
>>264
>パソコンは個人別に割り当てられておらず、ユーザコードを付与して、
>各人がどの端末からでも自分の日記を登録、更新できる必要があるんです。
別にパソコンを限定してないよ
サーバーと見立てたあるPCの共有フォルダを好き勝手にいろんな端末から
読み書きするってことでしょ?

だからIDで識別してようがそういう仕様はどうでもいいんだけど
とにかくアクセスする際に自分の日記と他人の日記ではアクセス権限が違うんだから
それを利用して読み書きすればいいだけじゃないの?ってこと

その辺が面倒なら共有フォルダを好き勝手アクセスさせるんじゃなくて
サーバー側に言語は何でもいいのでアクセス用のプログラムを立てて
それ経由でやらせればいいだけだしなあ・・
266デフォルトの名無しさん:2011/02/27(日) 09:54:39.02
例外潰していいじゃん
それの何が駄目なんだ?
267デフォルトの名無しさん:2011/02/27(日) 10:00:41.56
>>266
最終的な仕様がわからんからなんともいえないが
編集中はずーとオープンしっぱなしで例外拾ってリトライさせる仕様だと
ずーとリトライだったりしてなw
268デフォルトの名無しさん:2011/02/27(日) 10:02:59.55
仕様はskipするってあるじゃん
なら潰してよくね?
269デフォルトの名無しさん:2011/02/27(日) 10:05:10.29
編集中だからって日記がすでに保存されてるデータが開けないとか糞仕様だろ
編集が終わった段階で書き込んじゃえば多少のリトライで問題ないだろ

というか共有フォルダを好き勝手に複数端末から触れるような糞アプリの仕様もどうかと思うけどなw
270こごろう:2011/02/27(日) 10:09:15.37
>>265
ありがとうございます。
テキストファイルが使用中のときは、「…アクセスが拒否されました。」という例外が起きてしまいます。
これは、Windowsそのものの特性か、共有フォルダの共有設定の仕方の問題なのかもしれませんが、
そのテキストファイルは、共有フォルダがある端末以外のどの端末もシャットダウンしていても、
掴まれて使用されていることになってしまい、直接テキストファイルを削除することもできないんです。
(共有端末を再起動すればそれは解除されます)
なぜ、アプリケーションをどれも起動していないのに、使用中になってしまうのかの原因は分かっていません。

サーバー側にSQLSERVERやAccessを入れようかと思いましたが、
今はそれができない事情にあり、テキストファイルで情報共有する選択肢を取っています。

>>266
例外をスルーしようとしたのですが、
テキスト自動読み取り処理の記述の前後に、catch(exeption)を入れておいた方がいいと言われたループ処理を記述しており、
完全にcatch文をスルーするようにすることができないんです。
(try-catch文の入れる位置やロジックの配置の仕方が悪いかもしれませんが…)

ファイルの読み取りの例外だけスルーしようとして、
catch(IOexeption)を入れてみましたが、結局他の箇所のcatch文(exeption)で引っかかってしまいます。
271デフォルトの名無しさん:2011/02/27(日) 10:10:30.61
DB鯖立てたら簡単な話なんだよな。中古で拾ってくればLinux+MySqlやPostgreSQLで1万程度で何とかなるのに
272デフォルトの名無しさん:2011/02/27(日) 10:18:04.10
ソース晒せ
273デフォルトの名無しさん:2011/02/27(日) 10:18:26.47
>>271
そんなことしなくてもLAN内で共有フォルダを提供してるマシンが
XP以降のwindowsマシンであれば.netで作った簡易webサーバーで済む話

http://www.atmarkit.co.jp/fdotnet/dotnettips/695httplistener/httplistener.html
http://support.microsoft.com/kb/308359/ja

ファイルのアクセス管理はこいつが担当するので各端末からはhttpでアクセスすればいいだけ
274デフォルトの名無しさん:2011/02/27(日) 10:23:28.27
たまにはライセンスの事も思い出して下さい(´・ω・`)
275こごろう:2011/02/27(日) 10:27:36.16
アクセスが拒否されるケースは2パターンあります。
@使用中のファイルを読み取ろうとするとき
A日記は全日程分を1テキストファイルに収めて保存するようにしており、毎回古いテキストファイルを削除して新しいテキストファイルを保存しにいくように
しているのですが、そのファイル削除時に使用中であるとき
のときです。

そのうちのAが下記のようなソースです。

foreach (string sd in System.IO.Directory.GetFiles(ps_path, "*.DIARY", SearchOption.TopDirectoryOnly))
{
string fn = Path.GetFileName(sd);
System.IO.FileInfo fi = new System.IO.FileInfo(sd);
try
{
System.IO.File.Delete(sd);
}
catch (IOException ioex)
{
// ファイルが使用中
}
}
例外をスルーするようにしたのですが、この処理が記述されているサブルーチン(いまどきこんな呼び方はしないのでしょうか)を呼んでいる上位の処理のcatch文で結局エラーとなります。
276デフォルトの名無しさん:2011/02/27(日) 10:30:25.73
>>274
なにか問題になることあったっけ?

簡易サーバーならこっちがいいかも
http://d.hatena.ne.jp/wwwcfe/20080220/1203489899
277デフォルトの名無しさん:2011/02/27(日) 10:31:26.95
スタック遡るって事は握りつぶしてないって事じゃん…
278デフォルトの名無しさん:2011/02/27(日) 10:33:46.23
>日記は全日程分を1テキストファイルに収めて保存するようにしており、毎回古いテキストファイルを削除して新しいテキストファイルを保存しにいくように
>しているのですが、そのファイル削除時に使用中であるとき
>のときです。

よくわからん
人ごとにフォルダ作ってその下にその人の日付単位でtxtファイルを分離しちゃだめなの?
管理のしかたは自由だが少ないtxtファイルに多くの情報を入れようとすればそれだけ
アクセス時のロック時間は長くなるだろうし、無駄にファイルをつかみやすくなるよね
279こごろう:2011/02/27(日) 10:37:46.47
>>277
「スタックを遡る」とはどういう意味でしょうか。教えていただけないでしょうか。
すみません、無知で…(-_-;)。
280デフォルトの名無しさん:2011/02/27(日) 10:40:44.49
スタックとレースでググれ
281デフォルトの名無しさん:2011/02/27(日) 10:42:15.30
知りたいのは例外の握りつぶし方でしょ?
282デフォルトの名無しさん:2011/02/27(日) 10:43:52.25
まずキャッチできてないんだからそれ以前ダス
283デフォルトの名無しさん:2011/02/27(日) 10:45:42.69
キャッチできてないのかもな
284デフォルトの名無しさん:2011/02/27(日) 10:47:13.47
キャッチできてないんだろうね
285こごろう:2011/02/27(日) 10:55:11.80
す・・・すみません。稚拙な質問を重ねてしまって。
一応、catch文に引っかかります。
catch(IOexeption)ではスルーするのですが、
上位の
CATCH(exeption)で引っかかります。
286デフォルトの名無しさん:2011/02/27(日) 10:56:49.31
キャッチできてねぇ…
287デフォルトの名無しさん:2011/02/27(日) 11:07:19.34
なんかいろいろあれだよね

ファイルの管理方法の仕様からして練り直した方がいいんじゃないの?
288デフォルトの名無しさん:2011/02/27(日) 11:16:06.92
C#で、DAOを使って、以下のプログラムでMDBファイルを作成しようとしています。

using DAO;

DBEngine mEngine = new DBEngine();
Workspace mWS = mEngine.Workspaces[0];
Database mDB = mWS.CreateDatabase(@"C:\SAMPLE.mdb" ,
LanguageConstants.dbLangJapanese ,
DatabaseTypeEnum.dbVersion40);



参照でDAO3.6をセットして、ビルドしようとすると。
LanguageConstants.dbLangJapanese ,

「相互運用型'DAO.LanguageConstants'を埋め込むことができません。代わりに適用可能なインターフェイスを使用してください。

というエラーになってしまい。コンパイルができません。
なにが原因なんでしょうか?
289デフォルトの名無しさん:2011/02/27(日) 11:54:21.50
「相互運用型の埋め込み」を「false」にする

説明が面倒くさいからどこにあるかは探してみてよ
290デフォルトの名無しさん:2011/02/27(日) 12:18:11.03
>>289
できました!

thx
291デフォルトの名無しさん:2011/02/27(日) 12:21:39.09
何でこんな制限が多いウンコ機能デフォルトでOnになってんだ
292デフォルトの名無しさん:2011/02/27(日) 16:59:43.49
時間を指定してスリープから復帰させるような
APIってありますでしょうか?

293デフォルトの名無しさん:2011/02/27(日) 17:02:54.17
294デフォルトの名無しさん:2011/02/27(日) 17:31:18.23
>>292
そういうのはタスク使うのが楽

C++の例だけどプログラムにすると面倒くさい
http://yamatyuunet.bne.jp/pc/win/sample64/WaitableTimer.htm
295デフォルトの名無しさん:2011/02/27(日) 17:45:53.79
>>294
素晴らしいです
サンクス
296デフォルトの名無しさん:2011/02/27(日) 17:56:44.85
SetWaitableTimerを知らないだけだと思いたいわ

http://msdn.microsoft.com/ja-jp/library/cc429355.aspx
>タイマがシグナル状態になったときにシステムを中断電源節約モードから元に戻すかどうかを指定します。

まぁ無知は罪だけどな
297デフォルトの名無しさん:2011/02/27(日) 18:18:51.89
>>285
catch(IOexeption){ }
に引っかかってるってどうやって確認したの?
298デフォルトの名無しさん:2011/02/27(日) 18:47:21.19
ステップ実行じゃないの?
299デフォルトの名無しさん:2011/02/27(日) 19:00:22.82
catch (IOException ioex)
{
// ファイルが使用中
}

中身コメントだけでステップ実行できるんだっけ?と思って確認したら、
{ の部分にステップが行くんだね。
300こごろう:2011/02/27(日) 19:12:53.92
みなさんありがとうございます。
ファイルが使用中などでアクセスできない場合、それも
Existメソッドで検出できるのでしょうか。
まだ試していないまま伺うのも失礼ですが、今、試験環境がない場所にいるため、質問させていただきました。
301デフォルトの名無しさん:2011/02/27(日) 19:54:58.46
VC++/CLI 2010を使用しています。
C++/CLIスレでスレ違いと言われましたので、こちらに来ました。

テキストボックスに文字が入力され、エンターを押されたら動作する処理を行いたいのですが、
TextChangedイベントに
if(TextBox1->Text->EndsWith("\r\n"))
では、認識出来ないのですが、どのようにすればよろしいのでしょうか?

よろしくお願いします。
302デフォルトの名無しさん:2011/02/27(日) 19:59:52.47
KeyDown
303デフォルトの名無しさん:2011/02/27(日) 20:01:56.42
途中になってしもうた

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) MessageBox.Show("test");
}

IMEで入力中はIMEがEnterを取るので問題ないな
304デフォルトの名無しさん:2011/02/27(日) 20:12:08.63
後補足としてTextChangedでEnterを取る場合はMultiline=trueじゃないと無理
305301:2011/02/27(日) 20:36:15.43
出来ました、ありがとうございます。
テキストボックスをそのまま使用する場合は、Multilineでないと動かなかったのですね。
306デフォルトの名無しさん:2011/02/27(日) 22:16:30.69
複数のボタンがあってクリックされた場合
同じ処理をさせたい場合どうすればいいですか?
307デフォルトの名無しさん:2011/02/27(日) 22:31:14.39
WPFならコマンドを使う
WinFormsならデザイナのドロップダウンリストで同じイベントハンドラを選ぶ
もしくはその同じ処理を行うメソッドを別に作ってそれをイベントハンドラから呼ぶ
308デフォルトの名無しさん:2011/02/27(日) 22:37:05.67
WinFormsです
大事なこと忘れてました
動的にボタンが追加されるので
プログラムで同じ処理ができるようにしたいんです
309デフォルトの名無しさん:2011/02/27(日) 22:47:08.34
var button1 = new Button();
var button2 = new Button();
button1.Click += this.ButtonClick;
button2.Click += this.ButtonClick;
310デフォルトの名無しさん:2011/02/27(日) 22:49:09.74
WinFormsでTabControlのチラツキって抑えられますか?
Formの背景をグラデーションにしてTabControlの背景をTransparentにすると
リサイズするときに重くなる・・・

一応TabControlを派生したコントロールを作っていろいろやってみたけど結果変わらず・・・
311デフォルトの名無しさん:2011/02/27(日) 22:50:47.33
>>309
ありがとうございまーす
312310:2011/02/27(日) 22:58:15.17
this.SetStyle
(
ControlStyles.OptimizedDoubleBuffer |
ControlStyles.UserPaint |
ControlStyles.ResizeRedraw |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.SupportsTransparentBackColor
, true);
こうやってみたらチラツキは
ほとんどなくなりました。リサイズ時に重いのは仕方ないのかなあ
313301:2011/02/27(日) 23:59:42.54
Multilineについて試してみましたが、
C++/CLIならtrueにしなくても動作しましたね
314こごろう:2011/02/28(月) 04:55:27.70
>>261
にて最初に書き込みをした者です。

WindowsFormアプリケーションを作成しています。
その処理の中で、所定のフォルダ内のテキストを読み込んでデータセットに取り込んだり、Deleteで削除しているのですが、
テキストファイルが使用中のステータスになってしまうのか、アクセスが拒否される場合があります。

この例外をcatchするのにふさわしい Exception の種類は何でしょうか。
(上位階層のExceptionクラスを使いたくなく、上記エラーに限定してcatchするようにしたいんです。

IOexceptionでは拾うことができませんでした。

どの種類が適しているのでしょうか。ご存知の方、よろしくお願いします。
315デフォルトの名無しさん:2011/02/28(月) 05:01:31.55
MSDNにどんな状況でどの例外がスローされるのかちゃんと書いてある
316デフォルトの名無しさん:2011/02/28(月) 05:43:40.91
>>314
一旦最上位で受けてワザと例外起してcatch側で詳細な例外を見るとかできないんだっけ?
317デフォルトの名無しさん:2011/02/28(月) 11:20:09.33
MSDNで分からないようなら、飛んでくる例外クラスでググる
まではやった?
318デフォルトの名無しさん:2011/02/28(月) 14:47:55.04
System.timers.timerを使用しています。
最初のElapsedイベントはEnabledをtrueにしてからInterval後に発生しますが、Enabledをtrueにした時も実行されるようにすることは出来ないでしょうか?
Intervalが1秒の場合、1秒・2秒・3秒と実行されるのでは無く、0秒・1秒・2秒・3秒と実行させたいのです。

Intervalを1にしてAutoResetをfalseにして、最初に短いIntervalで実行させようとしてもダメでした。
(タイマーを実行する前に、毎回呼び出す関数を実行すれば良いだけかもしれませんが)
何か良い方法がありましたら教えてください。

よろしくお願いします。


//*** [ポイント測定]タイマー(System.timers.timer使用) ***
private System.Timers.Timer timePoint = new System.Timers.Timer();

// タイマー作成&開始
private void subTimerPointStart()
{
timePoint = new System.Timers.Timer();
timePoint.Interval = 1; // 計測間隔(0秒時)
timePoint.Elapsed += new ElapsedEventHandler(MyClock);
timePoint.AutoReset = false; // 1回だけ実行
timePoint.Enabled = true; // タイマー開始

timePoint.AutoReset = true; // 毎回実行
timePoint.Enabled = true; // タイマー開始
timePoint.Interval = 1000; // 計測間隔(1秒)
}
319デフォルトの名無しさん:2011/02/28(月) 14:57:37.39
タイマーを実行する前に、毎回呼び出す関数を実行するのが良い方法ですね
320デフォルトの名無しさん:2011/02/28(月) 15:05:25.17
扱いづらいけどSystem.Threading.Timerを使うとか
321デフォルトの名無しさん:2011/02/28(月) 15:55:58.76
>>319
厳密な精度は求めていないので、下手なことするよりは結局それが一番楽そうですね

>>320
Threading.Timerは開始時間も設定出来るのですね、ありがとうございます。
322200:2011/03/01(火) 01:15:52.54
解決できますた
「C:\doc\unko」、「C:\doc\chinko」、「C:\doc\manko」の3つのフォルダをひとつのzipにまとめたいとする
下記のようなコードで実装可能

private void button1_Click(object sender, EventArgs e)
{ string zipFileName = @"C:\test.zip";
string sourceDirectory = @"C:\doc";
bool recurse = true;
ICSharpCode.SharpZipLib.Zip.FastZip fastZip =
new ICSharpCode.SharpZipLib.Zip.FastZip();
fastZip.CreateEmptyDirectories = true;
fastZip.UseZip64 = ICSharpCode.SharpZipLib.Zip.UseZip64.Dynamic;
fastZip.CreateZip(zipFileName, sourceDirectory, recurse, @"\.txt$", null);
}
323デフォルトの名無しさん:2011/03/01(火) 10:14:01.29
#ziplibってGPLだろ
リンク例外付きとはいえ、MS-PLのDotNetZipの方が無難
324デフォルトの名無しさん:2011/03/01(火) 10:43:15.59
GPL!GPL!
325デフォルトの名無しさん:2011/03/01(火) 11:06:32.51
MessageBox.Show(string)で表示するダイアログって、表示位置は設定できないのですか?
常に表示エリアのど真ん中ですか?
326デフォルトの名無しさん:2011/03/01(火) 11:07:50.36
オーバーロードで位置指定できるようにはなってないからそうでしょうね
327デフォルトの名無しさん:2011/03/01(火) 11:11:16.38
まあ元からそんな多機能を要求されるものじゃないしそういうことがしたいのなら
ダイアログでも作って自分でそれっぽい物をつくるしかない
328デフォルトの名無しさん:2011/03/01(火) 11:14:02.40
そうですかー残念。ありがとうございました。
329デフォルトの名無しさん:2011/03/01(火) 18:08:16.33
フォルダroot\区分番号\年\月\日\時間\分

てフォルダ構造があって適当にループで常時動いてる時に
1か月以前のフォルダを効率よく消していく方法ないでしょうか?

削除とは別に5秒に1個のファイルが生成されているので
全部のフォルダを常に見回すというのは処理に遅れが出たりしそうで…

年月日をまたいだ時におかしくなっちゃうのはNGだとは思うんですがうまい方法が思いつきませぬ

言語はC#4.0ですが、そもそも設計がおかしいのは承知の上なんですが火消しらしいので設計変更は無理っぽそうです
330デフォルトの名無しさん:2011/03/01(火) 18:12:51.53
素直に回せばいいじゃん
早くしたいならrootにindexファイルでも作ればいいじゃん
331デフォルトの名無しさん:2011/03/01(火) 18:12:51.22
初心者スレで上手いネタが出てくると思うのかい
332デフォルトの名無しさん:2011/03/01(火) 18:14:27.66
素直なのが一番
333デフォルトの名無しさん:2011/03/01(火) 18:15:16.11
>>330
件数が半端ない数になるので難しいかなと・・・

初心者スレなので逆に期待してしまっておりました・・・・orz
334デフォルトの名無しさん:2011/03/01(火) 18:16:44.72
で、現在の件数見積もりは何回なわけ?
それすらもやってないとかいわないだろうな?
335デフォルトの名無しさん:2011/03/01(火) 18:18:06.89
index作って0.000000001秒で終わり
336デフォルトの名無しさん:2011/03/01(火) 18:34:26.91
現状1ヶ月ですが 最大3ヶ月にしたいとの声もあるので
最大で言えば・・・

12ファイル/分 * 60分 * 24時間 * 31日 * 3ヶ月 = 1607040

160万ファイルほどでしょうか・・・・
しかも常時ファイルをところてん式に作りつつファイル・フォルダを削除
ときたものです・・・
337デフォルトの名無しさん:2011/03/01(火) 18:34:55.34
いやだからインデックスつくれよ
338デフォルトの名無しさん:2011/03/01(火) 18:38:26.08
indexというのはファイルを管理するファイルみたいなものでしょうか?
パスと時間が書き込まれている感じの
339デフォルトの名無しさん:2011/03/01(火) 18:48:26.81
160万程度ならあっという間だろ…
340デフォルトの名無しさん:2011/03/01(火) 18:49:57.61
しかし酷いバカさ加減
341デフォルトの名無しさん:2011/03/01(火) 18:50:10.03
そうですか・・・
自分の中では結構な数のつもりだったのですが・・・

あと凄い大事なこと書き忘れていて、全ての保存先がローカルではなくLANDISKの中にあるんです・・・・
どこまで問題になるかは判りませんが・・・・

342デフォルトの名無しさん:2011/03/01(火) 18:50:47.50
もうどうでもいいから#の突起部を頭にぶっさして死ねよ
343デフォルトの名無しさん:2011/03/01(火) 18:52:33.37
つーかゴチャゴチャ言う前にコード書いて
200万ファイル用意してテストしてみりゃいいじゃん
344デフォルトの名無しさん:2011/03/01(火) 18:53:09.30
はい、逝ってきます
345デフォルトの名無しさん:2011/03/01(火) 18:54:37.67
200万なんて3秒で終わった
346デフォルトの名無しさん:2011/03/01(火) 18:55:30.57
やだ…冷たい
347デフォルトの名無しさん:2011/03/01(火) 18:55:58.80
3ヶ月前の年月日なんてすぐ分かるんだから、どれ消せばいいかなんてすぐ分かるだろ。
348デフォルトの名無しさん:2011/03/01(火) 18:56:22.57
index作って終わり
sqliteでちゃっちゃと作ってはいおしまい
349デフォルトの名無しさん:2011/03/01(火) 18:59:43.00
index作れば数時間かかって200万件処理してもいいんだからな
350デフォルトの名無しさん:2011/03/01(火) 19:00:58.93
HDDのインデックスなんてOSが勝手に作ってやってくれてるだろ。
しかもループ回してりゃOSが勝手にメモリにキャッシャしてくれる。

おまえのすることは最大までメモリを積むことだけだ。
351デフォルトの名無しさん:2011/03/01(火) 19:01:30.26
設計のやり直し以外に手立てはありません
素直にDBにぶち込め
352デフォルトの名無しさん:2011/03/01(火) 19:07:13.71
LANDISKはキャッシュしないだろう
353デフォルトの名無しさん:2011/03/01(火) 19:27:07.85
LANDISKってなんだよ?
354デフォルトの名無しさん:2011/03/01(火) 19:30:29.10
DOS時代に聞いたことあるな。
355デフォルトの名無しさん:2011/03/01(火) 19:34:22.54
RAMDISK?
356デフォルトの名無しさん:2011/03/01(火) 19:36:07.64
どう考えてもネットワークストレージだと思うがLANDISKってなんだよ?
357デフォルトの名無しさん:2011/03/01(火) 19:39:43.28
それはLanManagerだろ?
358デフォルトの名無しさん:2011/03/01(火) 19:39:49.19
ググれカス共

LANDISKはIO-DATAのNASの商品名だ
359デフォルトの名無しさん:2011/03/01(火) 19:41:15.13
知らんがな。
360デフォルトの名無しさん:2011/03/01(火) 19:45:23.79
商品名かよ・・・NASって書けよw
361デフォルトの名無しさん:2011/03/01(火) 20:27:28.87
DLL作り方覚えたんだけど(VC++で)
本によると、C/C++言語以外から呼び出す場合DLLの関数でAPIENTRYっていうキーワードをつけなきゃいけないって書いてあるんだけど
C#から呼び出す場合は(これまた別の本に書いてある)APIENTRYはいらないみたい。

どうしてですか?
362デフォルトの名無しさん:2011/03/01(火) 20:31:44.89
つ呼出規約
363デフォルトの名無しさん:2011/03/01(火) 20:32:31.82
C#はC言語でもC++でもないからです
364デフォルトの名無しさん:2011/03/01(火) 20:44:38.27
Sendinputを使わずに、同様のことを指示するにはどうしたら良いでしょうか?
365デフォルトの名無しさん:2011/03/01(火) 20:46:55.85
keybd_eventとか
この前のSendInputのあれを見て無理だと思ったんならっこっちも無理

つかC#使ってはあきらめた方がいいね
366361:2011/03/01(火) 20:49:09.61
呼び出し規約が合致するんですね。自分はなんとなくしか想像つきませんが。
なんとなく、わかります。

秀丸マクロはAPIENTRYをつけなきゃ駄目らしいです。ありがとうございました。.
367デフォルトの名無しさん:2011/03/01(火) 20:50:12.10
>>364
ここのクラス使わせてもらったら?
http://cs2ch.blog123.fc2.com/blog-entry-85.html
368デフォルトの名無しさん:2011/03/02(水) 10:08:00.29
radioButtonのBackColorって、ボタンの所だけ変わればいいのになあ。
ラベルのところまで変わるから格好悪くて使えない。
369デフォルトの名無しさん:2011/03/02(水) 10:49:56.98
自分でつくっちゃいなよ
370デフォルトの名無しさん:2011/03/02(水) 11:55:34.51
作り方教えて
371デフォルトの名無しさん:2011/03/02(水) 11:58:47.98
ButtonBase〜RadioButtonのOnPaintは使えないことになってるから
Controlからの派生だな
そんなことしてられるかと思うんだったらWPFへ
372371:2011/03/02(水) 12:06:58.31
訂正
たぶんRadioButtonから継承してOnPaintオーバーライドでいける
373166:2011/03/02(水) 19:27:37.13
groupbox内のTextboxにアクセスするにはどうしたらいいのでしょうか?
374デフォルトの名無しさん:2011/03/02(水) 19:35:51.06
あのさ…デザイナでコントロールに名前振ってるだろ?
375デフォルトの名無しさん:2011/03/02(水) 19:38:26.22
定義してるForm外からアクセスしたいのかもよ。
決め付けちゃあいかんね。

ま、情報が少なすぎて、そういう回答されても仕方ないだろうけど。
376デフォルトの名無しさん:2011/03/03(木) 05:15:12.04
文字列を指定の桁数まで空白で埋めたい場合はどうしたらいいでしょうか?

10桁を空白で埋める場合、
「Hello」→「Hello 」
という風にしたいです
377376:2011/03/03(木) 05:16:52.11
半角スペースが消されてる。。。
Helloの後ろに半角スペースが5個ついてる感じです
378デフォルトの名無しさん:2011/03/03(木) 05:25:03.41
String.PadRight
379デフォルトの名無しさん:2011/03/03(木) 05:29:00.08
>>378
ありがとうございます!
380デフォルトの名無しさん:2011/03/03(木) 05:35:34.95
teswt
381デフォルトの名無しさん:2011/03/04(金) 21:51:36.64
入門サイトでオススメってどこですか?
382デフォルトの名無しさん:2011/03/04(金) 22:44:53.66
完全初心者向けは無い

ある程度何かの言語が分かるなら未確認飛行Cあたりへどうぞ
383デフォルトの名無しさん:2011/03/04(金) 23:01:50.55
>>381
MSDNのビギナーガイドのページがいいんじゃないかな
VSの使い方から文法まで細かく丁寧に書いてあるし
384デフォルトの名無しさん:2011/03/05(土) 00:47:39.86
HTMLヘルプを作るのってかなり大変そうだし、たいした説明も無いので、
HTMLファイルを埋め込んでwebBrowserで表示させて簡単に済ませたいのですが、
どうしたらいいのでしょうか?
string url = "res://" + System.Reflection.Assembly.GetExecutingAssembly().Location + "/Readme.HTML";
webBrowser1.Navigate(url);
じゃ駄目でした。
VC#2010Expressのプロパティでリソース管理してるのですが、それが間違ってるのかな?
385デフォルトの名無しさん:2011/03/05(土) 00:51:03.17
"//Readme.HTML";
386デフォルトの名無しさん:2011/03/05(土) 00:56:02.67
>>384
HTML Help Workshop

じゃだめなのか?
387デフォルトの名無しさん:2011/03/05(土) 01:15:43.06
>>385 それでも駄目でした
>>386 そこまでする必要も無いかな・・・と。DLして、使い方調べて・・・
他に方法が無いなら、仕方ないですが・・・今は面倒だなと。それExpresssでもつかえるんですか?
388デフォルトの名無しさん:2011/03/05(土) 01:17:47.84
>>384
アドレスは判らんが、Navigateの引数はUriオブジェクトじゃないの?
389デフォルトの名無しさん:2011/03/05(土) 01:23:41.63
あそか。どうやって変換するんだ?
390デフォルトの名無しさん:2011/03/05(土) 01:31:05.63
別に埋め込まなくてもバイナリと一緒に配布すればいいだけでは...

っていうか、HTMLヘルプもHTMLも嫌い。
見難いし作りにくいし、あんなもん誰か嬉しい奴いるのかと思う。

今時どんなPCにもアクロバットリーダーぐらい入ってるだろうから、
ヘルプはpdfで配布みたいな流れにならんもんかなと
391デフォルトの名無しさん:2011/03/05(土) 01:33:10.83
pdfヘルプとかぶち切れるわ
392デフォルトの名無しさん:2011/03/05(土) 01:38:54.57
じゃあXPSで
393デフォルトの名無しさん:2011/03/05(土) 01:39:58.81
PDFとかマゾいなぁ
394デフォルトの名無しさん:2011/03/05(土) 01:43:43.43
HTMLヘルプの方がマゾいでしょ。もう見る気しない。
何だかんだ言っても物理的なページベースのレイアウトのドキュメントの方が
読みやすい。
395デフォルトの名無しさん:2011/03/05(土) 01:45:35.44
>>389
Navigate(new Uri(url))で
396デフォルトの名無しさん:2011/03/05(土) 01:47:20.36
>>394
それは作る側がアホなだけだろ
397デフォルトの名無しさん:2011/03/05(土) 01:48:21.20
HTMLいいよな
お気に入りにも追加できるし
398デフォルトの名無しさん:2011/03/05(土) 01:53:17.99
自民党宮城県連みたいに画像を使うのがベストプラクティスです
399デフォルトの名無しさん:2011/03/05(土) 01:58:03.25
じゃあtxtで
400デフォルトの名無しさん:2011/03/05(土) 01:59:03.15
readmeに全部書いとけ
401デフォルトの名無しさん:2011/03/05(土) 02:15:48.30
readme.pdf

こんなことするやつのソフトは扱いづらいに違いない
402デフォルトの名無しさん:2011/03/05(土) 02:26:02.54
そこまでpdfに執念燃やさなくてもいいだろw
403デフォルトの名無しさん:2011/03/05(土) 02:45:31.82
readme.pdf                                        .exe
404デフォルトの名無しさん:2011/03/05(土) 10:09:53.76
>>403
それ一回踏んだ事あるから笑えない
405デフォルトの名無しさん:2011/03/05(土) 10:12:40.78
readme.sln
406デフォルトの名無しさん:2011/03/05(土) 10:17:31.23
readme.scr
readme.bat
readme.vbs
407デフォルトの名無しさん:2011/03/05(土) 13:19:09.70
拡張子pifが出てこない時代になった
408デフォルトの名無しさん:2011/03/05(土) 14:37:02.65
俺も>>394みたいにページベースのほうが読む気する。
今やPDFもだいぶ丸くなったもんよ。
409デフォルトの名無しさん:2011/03/05(土) 14:46:01.01
Formがアクティブじゃなくてもキーボードのキー処理をするにはどうすればいいんでしょうか?
410デフォルトの名無しさん:2011/03/05(土) 14:48:48.77
>>409
何をやるソフトを書きたいのかしらんがシステム全体のキーを監視するのなら
フックするしかないんじゃないの?
411デフォルトの名無しさん:2011/03/05(土) 14:59:15.14
HTMLの代替がPDFとかどんなギャグだよ。まじ笑えない。
412デフォルトの名無しさん:2011/03/05(土) 15:01:45.37
HTMLの代替はbmpがくるね
間違いない
413デフォルトの名無しさん:2011/03/05(土) 15:02:12.72
すいませんいきなり出来てしまいました
System.Windows.Forms.Control.ModifierKeys == Keys.Shift
414デフォルトの名無しさん:2011/03/05(土) 17:10:07.47
Window
├ UserControl1
│ └ Button

├ UserControl2
│ └ Button


UserControl内のButtonを押すとWindowにフォーカスを移すようにしたいです。
最初UserControlのFocusableをfalseにすればいけるかと思いましたがだめで、
Windowのインスタンスを持っていればFocusメソッドでいけますが
あまりそのような設計にはしたくないです。
となるとUserControlでイベントを定義してWindowでハンドラを書くのでもいけそうですが
他にいい方法ありますか?WPFを使ってます。
415デフォルトの名無しさん:2011/03/05(土) 17:28:34.74
Window.GetWindowでどっからでもウィンドウ取れる
確かにスマートじゃないけどWPFではコントロールがルート要素にアクセスしたりとかは結構よくあること
416デフォルトの名無しさん:2011/03/05(土) 17:34:18.36
Windowに直接依存させたくないなら、フォーカスを移すためのメソッドを宣言したインターフェイスを
ウィンドウが実装して、インターフェイス経由でコントロールにウィンドウのインスタンスを渡す方がいいと思う
やってることは本質的にはイベントと一緒だけど、そういうことをイベントでやるのは意味的に変
417デフォルトの名無しさん:2011/03/05(土) 17:40:58.95
>>415-416
なるほど。インスタンスを送るという考え方なら、Focusメソッドをオーバーロードして
UserControl1.Focus(this);みたいに自身を送るという手も使えますね。
418デフォルトの名無しさん:2011/03/05(土) 18:04:47.71
UserControl1.Focus(this)は都合が悪いだろ。タイミングはUserControl1側が握ってるんだから。
コントロールにウィンドウを渡すならこんな感じ
interface IFocusable { void Focus(); }
class MyWindow : IFocusable {
 void Window_Loaded(object sender, EventArgs e) { this.userControl1.FocusTarget = this; }
 void IFocusable.Focus() { this.Focus(); }
}
class UserControl1 {
 public IFocusable FocusTarget { get; set; }
 void button1_Click(object sender, EventArgs e) { this.FocusTarget.Focus(); }
}
419デフォルトの名無しさん:2011/03/05(土) 18:07:57.49
Focusってメソッドしかないんだっけ?
boolとかならバインドとかできそうだけどな
420デフォルトの名無しさん:2011/03/05(土) 18:21:39.24
バインドといってもUserControl1やUserControl2がウィンドウのインスタンスを知らなきゃバインドのしようがないでしょ
バインディングならWindow型に直接依存しなくて済むという意味なんだったら、
それはdynamic型でウィンドウのインスタンスを渡せばいいと言ってるのと同じだぜ
単体テストのことを考えてるんでないなら、わざわざインターフェイス使わなくても
FrameworkElement型で渡せばいいと思う
421デフォルトの名無しさん:2011/03/05(土) 18:37:17.15
>>418
そういうふうに実装するのか。やっぱいろいろやり方あるなあ。ありがとございます
422デフォルトの名無しさん:2011/03/05(土) 19:39:03.66
LINQ To XMLを使って試しにタグを追加したら
xmlns= ""
というのが勝手にタグの最後に追加されてしまう
XML名前空間を宣言すると、今度はそれが含まれたものが追加されてしまう
どうすればよかとですか?
423デフォルトの名無しさん:2011/03/05(土) 20:16:01.77
デフォの名前空間と異なる名前空間の要素を追加したからじゃけ
424デフォルトの名無しさん:2011/03/05(土) 20:32:59.71
GoogleIMEだと不具合でるからMS IME2010
使っているが、相変わらず英数字を常に半角に設定してても
スペースで変換すると全角にしやがる!!
もうこれがうざくてうざくて!!
GoogleIMEならちゃんと英数字や記号は半角のままになるのによ
425デフォルトの名無しさん:2011/03/05(土) 20:57:32.75
どうせスペースは常に全角に設定してんだろ。
426デフォルトの名無しさん:2011/03/05(土) 21:06:52.52
C#と何の関係が....
古川とかいう元MSのオッサンも文句言うぐらいだからMSのIMEが使いやすいとは思わんけど、
>>424は本人の使い方にも問題があるような。

っていうか、いい加減[ESC]とか[半角/全角]キーをもっと叩きやすい位置に配置した
新しいレイアウトのキーボードを日本のMSも提唱すべきだよな本来。
そこに問題があるから>>424みたいな妙な使い方をする人も出てくる。
427デフォルトの名無しさん:2011/03/05(土) 21:08:50.39
MS-IMEなら好きなキーに設定できるだろ。
428デフォルトの名無しさん:2011/03/05(土) 21:37:42.65
プログラミング専用キーボードとか出れば良いのに
429デフォルトの名無しさん:2011/03/05(土) 21:44:31.95
余談だけど最近タッチパネルのキーボードがでてたなw
表示はLEDのやつw
430デフォルトの名無しさん:2011/03/05(土) 21:45:01.51
ショートカットやマクロも自由自在に設定できるのに専用はいらないだろ。
手にフィットしたかっこいい好きなキーボード使えばいいだけ。
431デフォルトの名無しさん:2011/03/05(土) 21:47:35.78
>>427>>430
パソヲタの発想だねそれは。
キーボードだってGUIと同じで、操作が統一されていることに意味があるのに。
432デフォルトの名無しさん:2011/03/05(土) 21:52:26.93
マクロなんか統一できるか。使い捨て感覚で登録するのに。
よく使うCtrl+VやCtrl+Cとかだけ統一されてりゃ十分。

というかここはパソオタ板だろ。
433デフォルトの名無しさん:2011/03/05(土) 21:55:22.01
そもそもPCにしろキーボードにしろ英語圏でできた物なので
日本語にあわせるのは結構大変だったりする
日本語の関係で特殊キー増えてるし

英語圏だけだと新しいレイアウトのキーボードを提唱する意味あるのかな?
せいぜいエルゴノミクス対応くらいじゃないの?
434デフォルトの名無しさん:2011/03/05(土) 22:00:41.99
\が¥ってのはキツイな
435デフォルトの名無しさん:2011/03/05(土) 22:05:25.17
>>434
あの辺は中途半端にガラパゴスでパソコンが普及しちゃったのが原因だっけ?
アスキーコードの後半部分に半角カナとか勝手に拡張しちゃうし・・・
436デフォルトの名無しさん:2011/03/05(土) 22:12:27.25
当時はまだマイコンと言っていてだな・・・
437デフォルトの名無しさん:2011/03/05(土) 22:17:51.89
>>435
むしろ日本はアメリカのポチだけあってASCIIとほぼ同じ割り当てじゃん。
ヨーロッパなんか{}とかもないんだよw
438デフォルトの名無しさん:2011/03/05(土) 22:18:00.49
勝手にも何もPCハードは各社設計はバラバラで、
OSの代わりにしていた付属言語のBASICもバラバラ。
シャープなんてMZとX1と内部でもバラバラ。

たまたまIBM仕様が生き残っただけ。
439デフォルトの名無しさん:2011/03/05(土) 22:20:42.34
閉鎖的で独自仕様が好きだね日本人は
その結果ゲーム業界は競争に生き残れなくなったけどな
ケチケチすっからだ
440デフォルトの名無しさん:2011/03/05(土) 22:21:04.96
というか、昔持ってた技術評論社の「C言語辞典」によると、
確か記号部分はISOでも各国が勝手に割り当ててよいルールになってたということだと思ったけど。

もちろんこのルールより先に各国バラバラという現実があって、ルールはその事実の追認という可能性もあるけど
441デフォルトの名無しさん:2011/03/05(土) 22:23:17.16
一番大きかったのはCP/M86でパス区切り文字を”\”にしたことだね
それのクローンであるMS-DOSも同じく”\”を採用

UNIXと同じ”/”の何処が不味かったんだよ
442デフォルトの名無しさん:2011/03/05(土) 22:23:50.61
追認・・・
難しい言葉使うんだな
頭良さそう

もしかして低学歴にゃプログマラは無理?
443デフォルトの名無しさん:2011/03/05(土) 22:28:12.87
Windowsは/もパス区切りとして認識するけどね
コマンドプロンプトは駄目だけど
444441:2011/03/05(土) 22:35:12.66
もしかするとCP/Mって名前だったから、/をパス区切り文字にするとOS名が表記できなかったからなのかな?
それならばCP/Mって名前を付けたのが諸悪の根源?
445デフォルトの名無しさん:2011/03/05(土) 22:36:22.03
>>444
ありえるw
446デフォルトの名無しさん:2011/03/05(土) 22:37:54.80
プログマラw
447デフォルトの名無しさん:2011/03/05(土) 22:53:56.48
お前らよく飽きないな
448デフォルトの名無しさん:2011/03/05(土) 22:55:21.66
>>444
意味が分からんわ
文字列の出力とファイルのパスなんも関係ねぇ
449デフォルトの名無しさん:2011/03/05(土) 23:53:36.72
プロマベラの皆さんに質問なのですが
高卒で今年35歳になるのですが大丈夫ですか
450デフォルトの名無しさん:2011/03/06(日) 00:08:52.28
マ板に行け
451デフォルトの名無しさん:2011/03/06(日) 10:52:46.79
WPFで

public Window1() {
  InitializeComponent();

  RoopStart();
}

の後にループを作るとアプリケーションが起動しないんですが、
これはWindow1を一度抜けた後にループを始めないといけないんですよね?
アプリケーションが完全に立ち上がった後ループを始めるにはどうすればいいんですか?

Thread thread = new Thread(new ThreadStart(RoopStart));
thread.Start();

をやったんですが、今度は別スレッドからWindows1のコンポーネントにアクセス出来ないんです。
どうすればいいんでしょうか?
452デフォルトの名無しさん:2011/03/06(日) 10:54:43.69
>>451
ゲームかなにか?
ゲームならstoryboardで定期呼び出ししてもらうとか
453デフォルトの名無しさん:2011/03/06(日) 11:05:53.56
>>451
コンストラクタじゃなくてLoadedからRoopStart()
別スレッドからコンポーネントにアクセスする場合は
this.Dispatcher.Invoke(new Action(() =>
{
 this.Title = "たいとる";
}));
こんな感じでできたと思う
WPFでゲームとかはあまり推奨できない
454デフォルトの名無しさん:2011/03/06(日) 11:22:16.16
>>453
できました、ありがとうございます
何をしているコードか意味不明ですがあとは自分で調べます。
Formアプリが飽きてあの事務的なコントロールを見るのも嫌になってきたので
これからはもっと動的に動くアプリにしようと思ってWPFにしました
storyboardも勉強しますありがとうございました。
455デフォルトの名無しさん:2011/03/06(日) 11:28:00.13
WPFしばらく勉強してたが、久々WinFormやってみたら
とても簡単に作れてびっくりした
WPFって手間がかかるし、オサレなGUIが作れるだけなんだよな
456デフォルトの名無しさん:2011/03/06(日) 11:28:40.43
WPFは原則として自分でループ回してアニメーションしたりしないんだよね
アニメーション機能を使うか、フレーム単位の細かい制御が必要な場合はCompositionTarget.Renderingイベント使う
457デフォルトの名無しさん:2011/03/06(日) 11:41:37.33
"WPF" "WinForm" "オサレなGUI"
またお前かよもういいよ
458デフォルトの名無しさん:2011/03/06(日) 11:41:54.94
>>455
WPFはSilverLightの踏み台になったのだ
OOBできるようになったらマジでWPFの存在って微妙だよね

機能的な差はあるんだろうけど今後拡張されるだろうし
459デフォルトの名無しさん:2011/03/06(日) 11:42:00.16
>>455
WinFormsはレイアウト固定のダイアログを量産するだけなら簡単だが
TableLayoutPanelとか使い出したら糞
ブチ切れそうになる
460デフォルトの名無しさん:2011/03/06(日) 12:21:44.74
Silverlightはメモリー制限きついんでしょ?
WPFなくなると困る
461デフォルトの名無しさん:2011/03/06(日) 12:27:22.00
メモリー制限なんか無い
462デフォルトの名無しさん:2011/03/06(日) 13:22:03.17
Silverlightじゃローカルファイルに自由にアクセスできないじゃん。
わざわざダイアログで開かないといけないとか馬鹿げてる。
463デフォルトの名無しさん:2011/03/06(日) 13:24:02.86
Out of Browser + Elevated Permission モードなら自由にアクセスできる
アクセスできる場所には制限があるが、それは最近のWindowsでも一緒だし
464デフォルトの名無しさん:2011/03/06(日) 13:42:46.26
STLで言うところのnext_permutationみたいな関数は用意されていないんですか?
465デフォルトの名無しさん:2011/03/06(日) 14:14:20.56
うん
466デフォルトの名無しさん:2011/03/06(日) 14:34:54.74
WinFormだけありゃ済む話
467デフォルトの名無しさん:2011/03/06(日) 14:37:31.16
有志がWinForms拡張してくんないもんかね

もう碌な更新されてないじゃん
468デフォルトの名無しさん:2011/03/06(日) 14:43:13.45
今以上やることがない
よくあるテキストボックスを半透明にしたいとかは構造上無理だし
だからってフルスクラッチで描画したらそれはもうWPF
469デフォルトの名無しさん:2011/03/06(日) 15:14:54.01
テキストボックス(リッチテキストボックス)の透明化は簡単にできる。

ネット上にも色々なやりかたが転がってるけど、一番簡単なのは、
RichTextBoxから派生させたクラスで、CreateParamsをオーバーライドするだけだ。
470デフォルトの名無しさん:2011/03/06(日) 15:28:26.01
まあ普通できてもそんなことしないよね。
そんなことしたいと思う人は、たぶんwebページ作らせたらマーキー使いまくるような
ちょっとセンスがズレたタイプだと思う。

そんなのは要らないと思うけど、レイヤードウィンドウで文字の部分だけ不透明度100にできる
ギミックはあったらいいなと思う。
471デフォルトの名無しさん:2011/03/06(日) 15:34:04.79
テキストボックスの透明化や半透明化は普通に需要は高いと思うが?
本来ならできて当然だと思う。
472デフォルトの名無しさん:2011/03/06(日) 15:36:11.84
需要がないとは言ってない。センスがズレてると言ってるだけ。

需要の高さだけいったらwebページのマーキーだってそう。
ただ、あんなものを使いたいと思う人は、センスがないと一般にみなされる。
473デフォルトの名無しさん:2011/03/06(日) 15:43:19.63
某病院のwebサイトを思い出した
474デフォルトの名無しさん:2011/03/06(日) 15:48:02.20
半透明化とマーキーじゃ利便性的に同列にならんだろう
475デフォルトの名無しさん:2011/03/06(日) 16:04:00.72
PowerPointで文字を入力する際に、いちいち背景が消されて見えなくなったら不便だと思う。
476デフォルトの名無しさん:2011/03/06(日) 16:06:25.47
それは設計者のセンスがないんでしょうね。
477デフォルトの名無しさん:2011/03/06(日) 16:09:21.44
いちいち極端だよなァ
車のブレーキが利かなくなったら不便ですみたいな、誰が好き好んでそんなもん作るかって例えを出さんでも
478デフォルトの名無しさん:2011/03/06(日) 16:11:36.63
どうでもいいことで伸びるな

誰かやって〜って言ってる暇があれば自分でやれってことだ
日本の開発者は他人を巻き込むことをやらない
479デフォルトの名無しさん:2011/03/06(日) 16:37:50.96
巻き込む度胸がないから、海外のプログラマーに負けるんだろ
480デフォルトの名無しさん:2011/03/06(日) 16:41:47.83
趣味でやってるようなオープンソース開発者はそりゃ新しい方に行くわな
MSも最近の技術に関してはソースの開示に積極的だし
481デフォルトの名無しさん:2011/03/06(日) 16:49:27.17
xpsp4まだ?
482デフォルトの名無しさん:2011/03/06(日) 16:52:50.29
でねぇよ
既にXPは通常サポートが終わっている上に、SP3リリース時に最後のSPだってMSが言ってただろ
483デフォルトの名無しさん:2011/03/06(日) 17:01:27.53
それよりもVistaSP3をですね…スレチだな。うん。
484デフォルトの名無しさん:2011/03/06(日) 21:31:54.61
ASP.NETでデータベースでイメージや他のバイナリデータ管理する場合、データベースに直接バイナリ入れるのとファイルのパスだけ入れるのじゃどっちがかしこい?
485デフォルトの名無しさん:2011/03/06(日) 22:50:31.55
そんな質問するお前は馬鹿
486デフォルトの名無しさん:2011/03/07(月) 00:06:16.48
C#のテキストボックスなどにワードの数式エディターやLaTexなどのように
学校の試験の問題文みたいにインテグラルなどを書きたいのですがどうすれば良いでしょうか?
487デフォルトの名無しさん:2011/03/07(月) 00:13:50.21
難しい
数式エディタのコンポーネントを使うことはできるはずだけど、動作にOfficeが必要になる
数式を送ればLaTexなどで画像を生成してくれるWebサービスがあるのでそういうのを利用する手もある
488デフォルトの名無しさん:2011/03/07(月) 00:26:42.71
グラフィックだけならそれほどでもないと思うけど
現存するツールのようにってなると大変かもね〜
489デフォルトの名無しさん:2011/03/07(月) 00:33:33.89
ざっくり調べたらグーグルがwebAPIで公開してるな
http://www.kawaz.jp/tmp/formula-chart-editor/index.html
これをブラウザコンポーネントで呼び出して画像だけ貰うとかする方が楽かも

自分で作るとなるとグラフィック回りを勉強するしかない
490デフォルトの名無しさん:2011/03/07(月) 00:34:40.31
ありがとうございました!
491デフォルトの名無しさん:2011/03/07(月) 00:41:45.48
>>489
URLにエンコードしてリクエストしたら画像が返ってくるだけみたいだから
ブラウザ使わないほうが簡単だと思うよ
利用規約に反したりしないかは知らんけど
492デフォルトの名無しさん:2011/03/07(月) 00:44:51.12
>>491
まーユーザーエージェントをそのままにしておけばIEで名乗ってるので見た目わからんでしょw
有名なツールとして知れ渡ると何か言われるかもしれないが

でもどうせ欲しいのなら作ってしまった方がいいけどね
winformならフォントデータからグラフィックパスを取得したりして調整すればいいだけだし
493デフォルトの名無しさん:2011/03/07(月) 02:39:45.04
>>455
WPFがアニメーションや派手な装飾のためだと思ってるなら、一回CodeplexにあるPrism見てこい
494デフォルトの名無しさん:2011/03/07(月) 04:48:23.20
もしかしたらプログラムの問題ではないかもしれませんが、
切り分けのために質問させてください。

クライアント/サーバアプリケーションを作っていて、
LAN内(同一サブネット)での通信までは出来ました。
これをインターネット経由で通信させることが出来ず四苦八苦してます。

そもそも出来るのかどうかも判っていないのですが、
もし可能だとしたら、どのようにすれば良いでしょうか?

TcpListenerクラスとTcpClientクラスを使用していて、TcpClient.Connect()メソッドのところで
『接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。
または接続済みのホストが応答しなかったため、確立された接続は失敗しました。』
のエラーが出ます。
サーバ側はTcpListener.AcceptTcpClient()で待ったままです。

サーバ側ネットワークのルータのログには
『TCP connection accepted from xxx.xxx.xxx.xxx:wwwww to yyy.yyy.yyy.yyy:zzzzzz (eth1)』
というログが出ているので、サーバ側ネットワークのルータまでは来ているように思えるのですが。

環境の問題でしょうか?
495デフォルトの名無しさん:2011/03/07(月) 05:05:18.73
ルータの接続ポートは設定したのかい?
496デフォルトの名無しさん:2011/03/07(月) 13:32:47.47
Buttonしかないフォーム表示させるだけで
どうして20MBもメモリ食うかね・・・
497デフォルトの名無しさん:2011/03/07(月) 13:35:02.32
>>494
同じマシン上で両方起動して通信可能?
498デフォルトの名無しさん:2011/03/07(月) 13:51:40.96
アセンブリのサイズから言って妥当
499デフォルトの名無しさん:2011/03/07(月) 13:54:47.45
>>498
今のメモリサイズからすれば問題ないし散々いろんなFormだけ
でもいろんなクラスを継承したりしてるから割とメモリは食うはずなんだよな・・・
そういうのってやっぱりアセンブラとか経験できてないと無理なのかな?
500デフォルトの名無しさん:2011/03/07(月) 14:01:16.64
new From()のどこにアセンブラの経験が絡むの過去一時間
501デフォルトの名無しさん:2011/03/07(月) 14:02:24.75
プログラマって日本語不自由な方が多いですね
502デフォルトの名無しさん:2011/03/07(月) 14:03:03.78
>>500
あほか
クラスをインスタンスする場合はメソッドへの参照一つで
どれくらいバイト使いそうとかさ

継承すればするほどBaseが持ってるメソッドとかその他もろもろ
の分で大きくなるのは容易に想像が付くかどうかってことだよ
503デフォルトの名無しさん:2011/03/07(月) 14:05:14.55
凄い勘違いをしている悪寒
まさかインスタンス1個1個にメソッド実体化してると思ってるの?
504デフォルトの名無しさん:2011/03/07(月) 14:06:17.25
>>503
文章読める?
>クラスをインスタンスする場合はメソッドへの参照
505デフォルトの名無しさん:2011/03/07(月) 14:06:58.68
継承ってC++でもあったが、ほとんどメモリ食わないけど?
ちょっと見解がズレてるんじゃない?
506デフォルトの名無しさん:2011/03/07(月) 14:07:21.76
じゃあアセンブラ経験して消費メモリ減らしたらいいんじゃね。
507デフォルトの名無しさん:2011/03/07(月) 14:08:25.32
virtualになってなきゃ参照も必要ない。
508デフォルトの名無しさん:2011/03/07(月) 14:08:27.14
何でexeファイルが十数キロバイトしかないのに
20MBになるのさ
詐欺じゃん
509デフォルトの名無しさん:2011/03/07(月) 14:09:37.43
>>508
そりゃインスタンス化したからって単純にそれだけじゃなく
過程でエリア確保したりするだろう・・・
510デフォルトの名無しさん:2011/03/07(月) 14:10:07.17
>>508
100MBのDLLをLoadLibraryしたら100MB消費しないとおかしいだろ?
511デフォルトの名無しさん:2011/03/07(月) 14:12:20.67
Httpしか使ってないコンソールでも4MB食っとるし
512デフォルトの名無しさん:2011/03/07(月) 14:13:57.66
これって1アプリごとに.net freamworkの何かが
メモリにロードされているんじゃないの?

A,Bの機能があるとして

Aだけの機能を持ったアプリ20mb
Bだけの機能を持ったアプリ20mb
A、B両方の機能を持ったアプリ23mb

メモリ節約するなら複数の小物アプリより
1つの多機能アプリ作った方がいいってことか?
513デフォルトの名無しさん:2011/03/07(月) 14:15:59.18
初めから誰もがそう言ってると思うけど。
514デフォルトの名無しさん:2011/03/07(月) 14:16:34.56
>>513
なんだって!!
515デフォルトの名無しさん:2011/03/07(月) 14:16:37.67
それだけメモリ使用量が増えて困るのか?
516デフォルトの名無しさん:2011/03/07(月) 14:17:07.04
これは香ばしい
517デフォルトの名無しさん:2011/03/07(月) 14:17:45.58
64kbと闘った人は貧乏性なんだよ
518デフォルトの名無しさん:2011/03/07(月) 14:18:22.18
俺のときは640KBだったな
519デフォルトの名無しさん:2011/03/07(月) 14:19:31.68
生産性向上のために.net選ぶの高々数MBで目くじら立てるって・・・
520デフォルトの名無しさん:2011/03/07(月) 14:20:58.08
細かいことは気にせずアセンブラで書けばいい。
それで全て解決する。
521デフォルトの名無しさん:2011/03/07(月) 14:34:35.82
あほくせぇ・・・
522デフォルトの名無しさん:2011/03/07(月) 14:35:13.54
new Threadでスレッドを作った場合、このスレッドは複数CPUがある時違うCPUで処理しようとするんですか?
それともCPUは1つで交互に処理しようとするんですか?
523デフォルトの名無しさん:2011/03/07(月) 14:49:10.92
スレッドを何だと思っているんだ
524デフォルトの名無しさん:2011/03/07(月) 14:52:57.09
スッドレは1つのプロセスに与えられた能力を複数に分ける技術だろ
525デフォルトの名無しさん:2011/03/07(月) 14:54:39.81
そうだったんですか!
いままでずっとスレッドを別にすればOSが勝手に判断してマルチコアを生かした割り振りをしてくれると思ってましたw
CPUを指定するにはどうすればいいんですか?
526デフォルトの名無しさん:2011/03/07(月) 15:00:49.72
念力
527デフォルトの名無しさん:2011/03/07(月) 15:06:21.73
風水
528デフォルトの名無しさん:2011/03/07(月) 15:15:47.89
俺ダイスで決めてる

と、アホな話は置いといて

所で君の使っているフレームワークはいったいどのバージョンだ?
529デフォルトの名無しさん:2011/03/07(月) 15:22:36.99
まじですか!
フレームワークでCPUがきまってたんですか・・・
VS9で.net3.5を使ってます
この場合はマルチコアになってますか?
というかどこで知るんですか?
530デフォルトの名無しさん:2011/03/07(月) 15:24:28.87
CPUを決めるのはOSじゃないの?知らないけど。
531デフォルトの名無しさん:2011/03/07(月) 15:25:30.97
とりあえず
C# Parallel
でも調べてみてはいかが?
532デフォルトの名無しさん:2011/03/07(月) 15:25:55.04
.netでコンパイルしてれば、自動でCPUに振り分けられる
指定のやり方は知らない
533デフォルトの名無しさん:2011/03/07(月) 15:37:48.76
プログラムで変更するならP/InvokeでSetProcessAffinityMask
起動時から指定したCPUで動かすなら imagecfg -a か start /affinity
534デフォルトの名無しさん:2011/03/07(月) 15:44:41.52
>>533
ピンボケ乙wwwwwwwwwwwwwwwwwwwwwwwwwwww
535デフォルトの名無しさん:2011/03/07(月) 15:46:51.73
CPU指定ではなく単純ににマルチコアで動かすには
て質問じゃないのか?
536デフォルトの名無しさん:2011/03/07(月) 15:58:19.94
0.そもそもパフォーマンスが実際に問題になっているのかどうか検討する。ほとんどの場合不要。
1.ホットスポットを探す。ほとんどの場合、実行を遅くする原因はコードの一ヶ所だけ。
2.普通に修正する。
3.それでも許容できるパフォーマンスが出なければ自分で並列化。.NET4でないならスレッドプールを使う。
4.それでもダメなら1に戻る。
537デフォルトの名無しさん:2011/03/07(月) 16:02:00.76
>>534
頭大丈夫?
538デフォルトの名無しさん:2011/03/07(月) 16:09:42.35
>>537
デスマで煮詰まってるんだよ きっと
そっとしといてあげようよ?
539デフォルトの名無しさん:2011/03/07(月) 16:13:57.69
普通にスレッド複数作れば複数のプロセッサに割り振ってくれるよ
でもうまく各プロセッサをフル活用できるケースは稀
ホットスポットになってるループを並列実行するような場合には有効だけど、
各スレッドに全然別のことをやらせると、まず確実に一つのCPUだけ100%で他は寝てるだけになる
540494:2011/03/07(月) 16:20:55.27
遅くなりました。回答ありがとうございます。

>>495
サーバ側ルータのポートは開放しています。

>>497
はい、通信可能です。

ソースどこかに上げた方がいいでしょうか?
541デフォルトの名無しさん:2011/03/07(月) 17:00:20.52
string[]から特定の文字列があった要素を削除して
新しい配列を作るようなラムダありますか?
542デフォルトの名無しさん:2011/03/07(月) 17:03:11.57
ラムダありますかは始めて見るタイプの質問だな
そんなもんねぇよ

IndexOfで自分で書け
543デフォルトの名無しさん:2011/03/07(月) 17:06:58.31
いいラムダありますよ
544デフォルトの名無しさん:2011/03/07(月) 17:17:50.43
var newlines = lines.Select(l => l.IndexOf("削除しない行") != -1);
こうやるとnewTxt<bool>って型になる
文字列を格納したいんですが・・
545デフォルトの名無しさん:2011/03/07(月) 17:19:52.87
Where
546デフォルトの名無しさん:2011/03/07(月) 17:25:16.30
メソッドのヘルプすら読めない奴はプログラミング自体止した方がいい
547デフォルトの名無しさん:2011/03/07(月) 17:37:57.22
>>545
まさにこれだわ、ありがとう

>>546
お前はまず日本語勉強しろ
548デフォルトの名無しさん:2011/03/07(月) 17:44:15.96
>>540
超最小構成でやってる?
549デフォルトの名無しさん:2011/03/07(月) 17:48:47.79
止した方がいいが読めなかったのなら小学校に行った方がいい
550デフォルトの名無しさん:2011/03/07(月) 18:07:24.35
>>548
ありがとうございます。

最小構成はまだやってないので、余計な部分を削って試してみます。

ところで、今までいただけた回答から察するに、
プログラム上はLAN内であってもインターネット越しであっても、
意識する必要は無いということで良いでしょうか?
551デフォルトの名無しさん:2011/03/07(月) 18:10:26.99
>>550
途中の装置のポート次第じゃない?
552デフォルトの名無しさん:2011/03/07(月) 18:32:10.81
フォワードで捻じ曲げられてたらアウトだね
553デフォルトの名無しさん:2011/03/07(月) 18:32:52.93
int y = ((int x) => x * x)(5);
ってできないんだな…
554デフォルトの名無しさん:2011/03/07(月) 18:47:00.30
型情報が足りないとコンパイラたんが泣いちゃうよ・・・
555デフォルトの名無しさん:2011/03/07(月) 18:53:40.30
>>553
OCamlでは let y = (fun x -> x * x) 5;; で int = 25 と出るんだがな
556デフォルトの名無しさん:2011/03/07(月) 19:01:22.06
var f = function(x){return x*x;}(5);
javascriptでもこんなのできるけどさ
ぶっちゃけ使いどころがない現実(即時関数は引数無しが多いからそれとはまた別)
名前空間絡みでたまーに使う事があってもC#はそういうのしっかりしてるからねぇ
557デフォルトの名無しさん:2011/03/07(月) 19:03:31.17
確かに使い道はない、が、型情報が足りないってのは間違い
C#では int y = ((Func<int, int>)(x => x * x))(5); でいけるけど、>>553の記述で推論可能だからこの記述は冗長
558デフォルトの名無しさん:2011/03/07(月) 19:06:04.74
いやintを引数にとってintを返す関数なのは分かっても
Func<int, int>かどうかはわかりようがない
559デフォルトの名無しさん:2011/03/07(月) 19:06:56.14
まあ戻りがintでいいならね
560デフォルトの名無しさん:2011/03/07(月) 19:08:43.27
まぁ関数型言語の側面を取り入れただけだからなぁ、劣化するのは仕方ない
561デフォルトの名無しさん:2011/03/07(月) 19:13:09.48
いやラムダ式はC#が先だから
OCamlだとかjavaだとかは後からC#のラムダ式をパクっただけ
推論可能とか適当なこと言ってんじゃねーよクズ
562デフォルトの名無しさん:2011/03/07(月) 19:14:31.95
お前自殺まで秒読みだな
563デフォルトの名無しさん:2011/03/07(月) 19:17:29.03
型推論と言ってもC#たんが一生懸命あれこれ悩んで決めてるわけじゃないんだぞw
564デフォルトの名無しさん:2011/03/07(月) 19:17:46.82
ヒント:風が吹けば桶屋が儲かる

後は分かるな?
565デフォルトの名無しさん:2011/03/07(月) 19:21:35.38
取り入れたっていうか関数型言語の原点はC#って研究者が言ってるぞ
566デフォルトの名無しさん:2011/03/07(月) 19:23:43.65
NASAが見つけた地球外生物がここにいるで…
567デフォルトの名無しさん:2011/03/07(月) 19:25:32.63
NASAとか意味分からんw
OCAMLとかSCALaとかJAVASCriptとか所詮C#のパクリだろがww研究者でもそう言ってるぞwww
568デフォルトの名無しさん:2011/03/07(月) 19:28:19.06
C#ってそんなに原点的存在だったのか・・・
569デフォルトの名無しさん:2011/03/07(月) 19:29:52.82
太古の石版にもC#がかかれたっていう夢を見たよ!
570デフォルトの名無しさん:2011/03/07(月) 19:32:07.47
ギリシア人の公用語は古来よりラムダ式らしいからな
571デフォルトの名無しさん:2011/03/07(月) 20:07:35.47
糞スレってレベルじゃねーな。
572デフォルトの名無しさん:2011/03/07(月) 20:09:18.88
何を今更
573デフォルトの名無しさん:2011/03/07(月) 20:11:39.67
何はともあれC#が最強ってことで。
関数型言語とか糞だから。
574デフォルトの名無しさん:2011/03/07(月) 20:31:33.65
研究者って誰よ
575デフォルトの名無しさん:2011/03/07(月) 20:39:16.34
VSのプロジェクトでDLLのテストも同時にスル方法はないですか?
C++で作ったDLLをコンパイルしてC#プロジェクトに入れて実行する以外無いんですか?
576デフォルトの名無しさん:2011/03/07(月) 21:21:36.11
んなイレギュラーな方法はありません
577デフォルトの名無しさん:2011/03/07(月) 21:57:07.42
くっ・・・!
沈まれ、俺の右腕・・・!
578デフォルトの名無しさん:2011/03/07(月) 22:07:14.63
>>551,552
いろいろ試してみたところ、ご想像通りのことが原因のようです。
試しに80番にしてみたところ、問題なく通信できました。
お騒がせしました&ありがとうございました。
579デフォルトの名無しさん:2011/03/07(月) 23:09:09.77
&演算子
580デフォルトの名無しさん:2011/03/08(火) 06:54:53.16
WPFにはXSLみたいなのはないの?
581デフォルトの名無しさん:2011/03/08(火) 07:05:42.87
いいかげんWPFは専用スレ池。
582デフォルトの名無しさん:2011/03/08(火) 08:48:06.59
私のどこがいけないって言うの!

foreach (int i in (int[])new object[]{1,2,3,4,5})
{
listBox1.Items.Add(i);
}
583デフォルトの名無しさん:2011/03/08(火) 08:53:24.83
なんでそんなアホな書き方するの?
584デフォルトの名無しさん:2011/03/08(火) 09:08:47.24
またすぐ釣られちゃう
585デフォルトの名無しさん:2011/03/08(火) 11:41:40.69
型推論とか適当なこと言ってんじゃねーよクズ
586デフォルトの名無しさん:2011/03/08(火) 12:23:19.77
メモリをすぐに開放(ガーベージコレクションを実行?)する方法を教えてください
587デフォルトの名無しさん:2011/03/08(火) 12:24:54.66
588デフォルトの名無しさん:2011/03/08(火) 12:25:58.09
thread.ApartmentState = System.Threading.ApartmentState.MTA;
のMTAはどういう挙動をするんですか?
thread.ApartmentState が古い形式だという警告がでるんですが間違ってるんですか?
589デフォルトの名無しさん:2011/03/08(火) 12:27:11.03
>>587
ありがとうございました
590デフォルトの名無しさん:2011/03/08(火) 12:28:17.31
間違ってるから警告されているという発想はできないのか?
http://msdn.microsoft.com/ja-jp/library/system.threading.thread.apartmentstate%28v=vs.80%29.aspx
591デフォルトの名無しさん:2011/03/08(火) 12:45:51.46
The ApartmentState property has been deprecated. Use GetApartmentState, SetApartmentState or TrySetApartmentState instead.

馬鹿丁寧にどうすればいいかまで説明してくれてるのに、仕事とはいえ書いた人間が可哀相だな
592デフォルトの名無しさん:2011/03/08(火) 13:09:58.53
マルチスレッドを作るためにスレッドを作るのにシングルスレッドにするかマルチスレッドにするかってどういうことですか?
これがCPUを均等に使ってスレッドを実行するか1つのCPU内で複数スレッド交互に実行するかじゃないんですか?
593デフォルトの名無しさん:2011/03/08(火) 13:15:48.97
なんか昨日から小学生が混じってるぞ。
594デフォルトの名無しさん:2011/03/08(火) 13:22:46.87
>>592
だからマルチスレッドはCPUとは関係ないから
595デフォルトの名無しさん:2011/03/08(火) 14:03:18.97
えっ
596デフォルトの名無しさん:2011/03/08(火) 14:13:52.28
CPUがなくてもマルチスレッドにはできるからな
597デフォルトの名無しさん:2011/03/08(火) 14:16:26.80
CPU(演算装置)がないとコンピューターうごきません。
598デフォルトの名無しさん:2011/03/08(火) 14:17:56.33
つ そろばん
599デフォルトの名無しさん:2011/03/08(火) 14:31:23.50
演算装置だったらPUな気が
600デフォルトの名無しさん:2011/03/08(火) 15:20:03.72
マルチCPU処理 マルチスレッド 
Windowsタスクとの関係を調べなおしておとといきやがれ
601デフォルトの名無しさん:2011/03/08(火) 15:29:36.93
何こいつ
602デフォルトの名無しさん:2011/03/08(火) 16:19:11.98
System
603デフォルトの名無しさん:2011/03/08(火) 17:54:01.70
>>592って>>588の人なの?

スレッドアパートメントが何なのかは↓を読むといいよ
http://d.hatena.ne.jp/zecl/20070708/p1

多分君が気にしていることにはぜんっぜん関係ない
604デフォルトの名無しさん:2011/03/08(火) 18:10:40.01
まぁ、COMだよな
605デフォルトの名無しさん:2011/03/08(火) 19:22:08.03
enum eroからstring[]{a,b,c}として取り出す方法はありませんか?

string[] list = (?)ero;//みたいな

private enum ero
{
a, b, cl
}
606デフォルトの名無しさん:2011/03/08(火) 19:25:06.51
Enum.GetNamesで
607デフォルトの名無しさん:2011/03/08(火) 19:48:27.13
えなむ
608デフォルトの名無しさん:2011/03/08(火) 19:55:13.16
>>606
ありがとうございます
609デフォルトの名無しさん:2011/03/08(火) 20:06:09.96
TableLayoutPanelを使い、罫線を表示するようにしたのですが
特定の行や列の罫線だけ非表示にする、なんてこと出来ませんか?
610デフォルトの名無しさん:2011/03/08(火) 22:09:44.03
C#よりニコニコ動画の方がすごい
611デフォルトの名無しさん:2011/03/08(火) 22:11:15.28
誰かLinq to nico作って
612デフォルトの名無しさん:2011/03/08(火) 22:19:42.63
もうあるじゃん
613デフォルトの名無しさん:2011/03/08(火) 22:25:31.31
誰かLinq to html作ってくれ
614デフォルトの名無しさん:2011/03/08(火) 22:31:08.95
>>612
ほんとだw
ひろゆきが関わっていて素直にXMLにパースできるなんて超意外っ!
615デフォルトの名無しさん:2011/03/08(火) 22:49:22.13
Javaの質問していいですか?
616デフォルトの名無しさん:2011/03/08(火) 22:52:05.58
どうぞ
617デフォルトの名無しさん:2011/03/08(火) 23:09:14.62
Func<void>っていうのは定義できないみたいだけど、() => {何か処理}みたいなのはデリゲートを書くしかない?
618デフォルトの名無しさん:2011/03/08(火) 23:13:57.13
Action
619デフォルトの名無しさん:2011/03/08(火) 23:23:44.22
CPUに備わっているコア数を取得するにはAPIを使うGetSystemInfo以外で方法はあるん?
620デフォルトの名無しさん:2011/03/08(火) 23:36:27.38
cpuid
621デフォルトの名無しさん:2011/03/08(火) 23:49:43.04
アクセス修飾子について質問させてください。
C#の場合、アクセス修飾子を省略した場合、デフォルトの修飾子が自動的に選ばれると思います。
デフォルトの修飾子を選択したい場合は、アクセス修飾子を書かないのが普通なのでしょうか?それとも書くべきでしょうか?
私が読んだ書籍ではアクセス修飾子は省略しない方がわかりやすいと解説されていましたが、
私の開発環境(VisualC#2008)でクラスを自動生成すると、クラスの修飾子は省略されているようです。

デフォルトのアクセス修飾子を書くべきか、書かないべきか、一般的にどちらが優勢なのか教えていただけると助かります。

よろしくお願いいたします。
622デフォルトの名無しさん:2011/03/08(火) 23:51:43.13
EnvironmentにProcessorCountなんてずばりなプロパティがあるような
623デフォルトの名無しさん:2011/03/08(火) 23:53:43.84
>>621
アクセス修飾子書いた時点でデフォルトじゃなくね?
624デフォルトの名無しさん:2011/03/08(火) 23:54:17.69
↓みたいなジェネリッククラスの対象の型TValueにintやfloat等の特定の型を代入したいのですがなにか方法はないでしょうか?
特定の型はintやfloat等の組み込み型のみ想定しており、対象の型とTValueは常に等しい型になります。
(stringも想定しているのですが、TypeConverter持ち込みで変換した後の代入が出来ないことが問題なので、その点は考慮しなくて大丈夫です。)
マーシャルコピー(可能かどうかは知識なし)を検討してるのですがそれ以外でスマートなやり方があればご教授ください。

public struct Struct<TValue>
where TValue : struct //int or float
{
TValue value;
public Struct(int a) // (int and float) or string
{
this.value = (TValue)a;
}
}
625624:2011/03/08(火) 23:57:37.05
× 対象の型とTValueは常に等しい型になります。
○ 特定の型(int/float)とTValueは常に等しい型を想定してます。
626デフォルトの名無しさん:2011/03/09(水) 00:03:37.36
public Struct(TValue a)じゃダメなのか?
627624:2011/03/09(水) 01:00:59.79
>>626
返答ありがとうございます。
本当にやりたいことは、連動する別のStructSupportで文字列からStructを生成することです。
case:1かcase:2のいずれの場合でも、代入することができないため質問しております。


public struct Struct<TValue>
where TValue : struct //int or float
{
TValue value;
public Struct(int a){this.value = (TValue)a; /*castが不正*/}
public static From(string s){return new Struct(int.Parse(s));}
public TValue Value{set{ this.value = value;}}
}

public struct StructSupport<TValue,TValueConverter>
where TValue : struct
where TValueConverter : TypeConverter,new()
{
public void Create(string s)
{
//case.1
var v1 = new Struct();
v1.Value = (TValue)(new TValueConverter()).ConvertFrom(s); //castが不正

//case:2
var v2 = TValue.From(s);
}
}
628デフォルトの名無しさん:2011/03/09(水) 01:52:55.70
よく分からんが、キャストを制約に入れるのは無理だったかな・・・
629624:2011/03/09(水) 02:15:58.65
>>628

自分が示していた>>627のコードで動くようなので、これをそのまま使うことにしました。
コンパイルせず早合点でソースだして失礼しました。
実際には他のTValue!=structの制約で、作業していたため、気づきませんでした。
>>628さんのアドバイスありがとうございました.。そして失礼しました。
630デフォルトの名無しさん:2011/03/09(水) 02:33:58.73
これコンパイル通るの?
631624:2011/03/09(水) 02:38:07.29
case::1がとおるようです。
いったんobjectにキャストしてしまえば良いようでした。
制約もなにもないですが。
632デフォルトの名無しさん:2011/03/09(水) 03:56:04.01
>>623
例えば、classは何も書かなければinternalでinternalと書いた場合もinternalなのではないでしょうか?
クラスのメンバも何も書かなければprivateでprivateと書いた場合もprivateなのではないでしょうか?
間違えて理解してますかね?
633デフォルトの名無しさん:2011/03/09(水) 04:31:44.57
>>632
デフォルトがinternalかどうかしらんが、internalと書いてあればそれに違いない
だからデフォルトでも書いた方が良い、と本に書いてある通り
書く人は書くだろうし、書かない人は書かないだろう
書く人と書かない人とどちらが優勢かなんて、お前が統計でもとって調べてくれ
634デフォルトの名無しさん:2011/03/09(水) 04:45:59.55
書いて損はしないのだから書けばいいという発想
635デフォルトの名無しさん:2011/03/09(水) 04:55:03.19
統一されてればどっちでもいいよ。
636デフォルトの名無しさん:2011/03/09(水) 12:43:30.06
C#の全体を知るにはどうすれば良いんですか?
Objectから始まって全体の枝が見える解説付きの表は無いんでしょうか?
637デフォルトの名無しさん:2011/03/09(水) 12:47:00.45
638デフォルトの名無しさん:2011/03/09(水) 16:26:49.60
>>632
Javaはメンバのアクセスレベルを省略すると
internalに似たアクセスレベルになるという糞仕様なので
その慣習があるからC#でもprivateは省略せずに書くことが多いんだと思う。
C#ではデフォルトでprivateだから書かないことにするならそれでも全く問題ない。
639デフォルトの名無しさん:2011/03/09(水) 16:53:12.41
周りに合わせればいいよ。個人ならお好みで
640デフォルトの名無しさん:2011/03/09(水) 16:56:53.07
publicにしてもprivateですがどうやってアクセスのintだとしてら
例えばプロパテュにコンストラクタで入れるなら外部からは
でも{get}と{getprivatesett}は違うんですほね」。教えて
641デフォルトの名無しさん:2011/03/09(水) 16:58:13.20
ワロタ
642デフォルトの名無しさん:2011/03/09(水) 17:03:58.33
in english please
643デフォルトの名無しさん:2011/03/09(水) 17:04:06.44
パチュリーをpublicにすればおk
644デフォルトの名無しさん:2011/03/09(水) 17:04:58.10
エキサイトで再翻訳かけたような文章だなw
645デフォルトの名無しさん:2011/03/09(水) 17:13:45.00
C#を今勉強しているんですが
・変数、配列
・アクセス制御
・クラスとインスタンス
・メソッド
・条件分岐
・反復処理
・キャスト変換
・コンストラクター
・プロパティ
・継承
・例外処理
・列挙型、構造体
あたりまではわかるんですか、
静的メソッドインデクサー、ラムダ式、デリゲートとかになると頭が混乱してしまい、覚えることができません。
またC#2.0ではこういう機能が、C#3.0では型推論がとかでバージョンの違いで覚えることも多くて大変です
そこで、こうやって行き詰まったときはどうすればいいか教えてください・・・
646デフォルトの名無しさん:2011/03/09(水) 17:18:13.57
仕事じゃないのなら根詰めて覚える必要ないだろう
647デフォルトの名無しさん:2011/03/09(水) 17:19:07.82
少しずつ覚えればいいじゃん
648デフォルトの名無しさん:2011/03/09(水) 17:19:55.30
>静的メソッドインデクサー、ラムダ式、デリゲートとかになると頭が混乱してしまい、覚えることができません。
>またC#2.0ではこういう機能が、C#3.0では型推論がとかでバージョンの違いで覚えることも多くて大変です
>そこで、こうやって行き詰まったときはどうすればいいか教えてください・・・
必要になったら覚えればいい
書くソフトによっては使わないだろうし
649デフォルトの名無しさん:2011/03/09(水) 17:22:04.55
仕事だけど使ったことない
650デフォルトの名無しさん:2011/03/09(水) 17:22:18.17
asってなんで存在してるんですが、どうしてもあってはいけないものだと思うんですが
なぜ使ってる人が存在するんですか?
651デフォルトの名無しさん:2011/03/09(水) 17:24:00.97
必要だから
652デフォルトの名無しさん:2011/03/09(水) 17:26:48.48
>>645
そんだけ覚えたら何でも作れるからとりあえず何か作れ
なぜそういう機能が必要かを理解するのが一番大事

>>650
asがないと、失敗する可能性があるダウンキャストを行うときに if (a is Hoge) foo((Hoge)a);
と二回型チェックが必要になって非効率(キャスト時にも型チェックは行われる)
asは型チェックとキャストが同時に行われるので効率が良い
653デフォルトの名無しさん:2011/03/09(水) 17:27:00.13
isでチェックして次にキャストってパターンが多いからでしょうねえ
654デフォルトの名無しさん:2011/03/09(水) 17:33:17.72
絶対に失敗しないダウンキャスト(失敗したらバグ)の場合でもasが使われてしまってるのは
確かによく見かける。asだと失敗した時にNullReferenceExceptionが出るので分かりにくい。
asの方が自然に書けるからついつい使いたくなるんだよな。
むしろキャストの方をasに合わせて a to Hoge みたいに書けたらいいのに。
655デフォルトの名無しさん:2011/03/09(水) 17:35:44.56
asの方が速いから失敗しなくてもas
656デフォルトの名無しさん:2011/03/09(水) 17:39:32.96
ありがとうございます。
asを使わない人ってなんで存在してるんですか?
657デフォルトの名無しさん:2011/03/09(水) 17:44:55.09
nullチェックしないならasは使うなよ。(nullになってもいい場合は構わないが)
失敗しないならキャストの方が速いし、
もしバグで失敗したときにキャストならInvalidCastExceptionがその場で出るが
asだと使われるまで例外が出ないから原因を見つけにくい。
658デフォルトの名無しさん:2011/03/09(水) 17:45:12.67
Oh...今日まで誤解してた
as は is + キャスト相当だと思ってたが
is が as + nullチェック相当なのね
659デフォルトの名無しさん:2011/03/09(水) 18:04:53.70
>>640に答えられる人間がこのスレにいないことが分かった
660デフォルトの名無しさん:2011/03/09(水) 18:08:17.35
Invalid Syntaxだし
661デフォルトの名無しさん:2011/03/09(水) 18:11:48.67
>>659
もうちょっと分かりやすい日本語でお願いします。
662デフォルトの名無しさん:2011/03/09(水) 18:13:06.48
663デフォルトの名無しさん:2011/03/09(水) 18:15:44.80
無理せず英語でも構いません
664デフォルトの名無しさん:2011/03/09(水) 20:04:02.20
ほね語w
665デフォルトの名無しさん:2011/03/09(水) 20:18:55.84
this.Closing += (s, e) => loopFlag = false;

これはどういう意味ですか?
Closingメソッドに行を追加するという意味なんでしょうか?
これを複数やった場合、どの追加が行の前に来るんですか?
666デフォルトの名無しさん:2011/03/09(水) 20:20:26.89
それはイベントハンドラだ
追加順は保証されない
667デフォルトの名無しさん:2011/03/09(水) 20:22:12.92
ちょっとイベントの登録の仕方とかは適当に書いたけど
普段イベントハンドラを書くとこういう感じなるのを超省略(ラムダ式)にしたのがそれ

this.Closing += event(hoge)

void hoge(object sender,xxxxx e)
{
loopFlag = false;
}
668デフォルトの名無しさん:2011/03/09(水) 20:27:45.29
正確にしておこw

this.Closing += new ClosingEventHandler(hogeClosing);


void hogeClosing(object sender, ClosingEventArgs e)
{
loopFlag = false;
}
669デフォルトの名無しさん:2011/03/09(水) 20:41:30.25
テキストからデータを切り出してDBに追加するプログラム作ってるんだとしてら
例えば既にレコードが存在する場合更新にしたいならどうやってDataSet経由と
DataAdapter直接は違うんですほね」。教えて
670デフォルトの名無しさん:2011/03/09(水) 20:43:59.68
ワロス
671デフォルトの名無しさん:2011/03/09(水) 20:46:20.63
必要なレコードだけ取り出して、Exceptで差集合を生成してInsertなりUpdateするのが簡単
672デフォルトの名無しさん:2011/03/09(水) 20:47:28.41
ほね」。って何なんだ?
673デフォルトの名無しさん:2011/03/09(水) 20:50:16.10
そんな感じでやってみます。ありがとほね
674デフォルトの名無しさん:2011/03/09(水) 20:51:28.01
がんばれほね
675デフォルトの名無しさん:2011/03/09(水) 20:51:41.05
asってコピーつくっちゃうの?
型チェックだけ?
676デフォルトの名無しさん:2011/03/09(水) 21:00:23.26
as…オブジェクトの型情報をチェックして、型が適合すればその参照をそのまま返す。適合しなければnullを返す。
is(参照型)…オブジェクトの型情報をチェックして、型が適合すればtrueを返す。適合しなければfalseを返す。
内部的にはfalseは0でtrueは0以外なので、実質的にはこの二つはまったく同じことをやってるわけ。
677デフォルトの名無しさん:2011/03/09(水) 21:14:49.58
0とnullって同じなの?
別物だってどっかでみたんだけど
678デフォルトの名無しさん:2011/03/09(水) 21:19:59.22
同じかどうかは問題じゃないの
真偽値をオペランドにとるILの命令は0もfalseもnullも「偽」として評価する
679645:2011/03/09(水) 21:47:17.89
焦っていました。徐々に理解していこうと思います・・・
何かつくってみます・・・
自分のレベルあたりで作れそうなプログラムって何がありますか?

あと切り上げについて質問ですが、十の位を切り上げしたいんですが、
例えば1920と数値に対し、切り上げすると2000と言うふうにしたいんですが
Math.Ceiling使えばいいことがわかったんですが、どのように使えばいいのかわからないんです
680デフォルトの名無しさん:2011/03/09(水) 21:54:36.89
値をdoubleに変換して、切り上げたい桁が小数点第一位にくるようにして、Celingして、元の桁に戻せばいい

数当てゲームでも作ってなさい
681デフォルトの名無しさん:2011/03/09(水) 22:20:58.48
なんでもそうだけど教科書読むより、先に手を動かしてどんどん作ったほうがいい。
それから教科書読むと頭にも入ってくるだろう。
682デフォルトの名無しさん:2011/03/09(水) 22:25:34.38
そんな効率の悪い習得方法が成立するのは子供だけだろ。
683デフォルトの名無しさん:2011/03/09(水) 22:30:00.72
>>682
一番効率がいい方法だろ。
勉強でも何でも本読んでる暇があったら手動かして問題解いたほうがいい。
684デフォルトの名無しさん:2011/03/09(水) 22:44:53.79
言語の基礎を学ぶのはお勉強でいいけど
あるロジックをその言語で実現するにはやってみないとわからないことも多いからなあ
それにアナログと違って失敗が許されるんだしトライしまくればいいんだし・・・
685デフォルトの名無しさん:2011/03/09(水) 22:49:16.79
で、設計書、仕様書、ドキュメントが全くないコードの保守を
任せられるんですね。わかります。
686デフォルトの名無しさん:2011/03/09(水) 22:53:27.62
俺なんか自分で書いたコードも半年経ったらまったくわからん
687デフォルトの名無しさん:2011/03/09(水) 22:53:55.47
>>685
そんなのは基礎訓練終わったやつが考えることだろw
それに最近は資料をかっちり作成してから開発する方式じゃなく
作っては顧客に確認してと段々と仕様を詰めるアジャイルなんてのもあるじゃねーか
.netだとソースから資料も興しやすいんだし
688デフォルトの名無しさん:2011/03/09(水) 22:58:14.95
つか645は勉強だっつってんだから
ドキュメント云々は完全に筋違いだろ
689デフォルトの名無しさん:2011/03/09(水) 22:59:29.56
経験上、アジャイル謳い文句にしてる会社は信用しねえ
設計能力がない事を誤魔化してるケースばっかだ
690デフォルトの名無しさん:2011/03/09(水) 23:01:08.69
アジャイル謳い文句にしてる会社なんてあんの?
Ruby専門か?
691デフォルトの名無しさん:2011/03/09(水) 23:02:59.43
>>689
ウォーターフォールの糞さをみてるとわがままな顧客相手の開発なんて
アジャイルの方が向いてると思うけどね
692デフォルトの名無しさん:2011/03/09(水) 23:15:53.38
>>679
500足して100で割って100かけろ
693デフォルトの名無しさん:2011/03/09(水) 23:17:11.78
>>692
それ四捨五入やないかーい
694デフォルトの名無しさん:2011/03/09(水) 23:21:18.33
>>687
日本のSEは、顧客との確認事項をドキュメント化することからとことん逃げます。
いつも試してみないと、作ってみないと、これが効率いいんですよね
といいますが、デスマーチになった頃には、いつもそのSEはいなくなってます。

これが日本のSEの現実です。
695デフォルトの名無しさん:2011/03/09(水) 23:22:39.71
>>679
ほね語でおk
696デフォルトの名無しさん:2011/03/09(水) 23:24:30.65
で、動かないコードだけがあって、仕様はソースを見てくれって
言われるんですね。わかります。

そんな仕事ばっかり。
697デフォルトの名無しさん:2011/03/09(水) 23:25:11.45
愚痴臭くなってきたから止めようぜ…もう
698デフォルトの名無しさん:2011/03/09(水) 23:26:06.22
それはアジャイルが悪いんじゃなくゼネコン方式が悪いだけだろw
699デフォルトの名無しさん:2011/03/09(水) 23:32:24.81
アジャイルって要は、テストとドキュメント化をしない開発手法だろ。
700デフォルトの名無しさん:2011/03/09(水) 23:34:39.69
>>699
テストはその場でしながらだろ
ドキュメント化はそりゃできないわな。
要望汲みながら改良重ねてるんだし
701デフォルトの名無しさん:2011/03/09(水) 23:34:50.20
プログラマ目指さなくて本当に良かったと思う
あんなの病気になってしまうわ
趣味でやってるのが金もかからなくて楽でいい
702デフォルトの名無しさん:2011/03/09(水) 23:43:26.05
>>700
そのテスト手法でどうやってテスト品質を保つんだよ?
手抜きするための手法でしかない。方法論として最悪の手法。
顧客から早くテストしろと言われたら、奴隷PGは間違いなくテストを端折る。
1000項目テストは必要なのに数個テストしただけで、
テストしましたって言うPGは腐るほど見てきた。
703デフォルトの名無しさん:2011/03/09(水) 23:46:25.43
>>702
日本方式の階層でやるからそうなるんだろw
海外のようにある程度の人間に担当を任せてしまえばいいのに
そうすれば補助的なテスト要員だけ置いてやらせるだけで済むのに・・・
704デフォルトの名無しさん:2011/03/09(水) 23:50:30.27
ほね」。
705デフォルトの名無しさん:2011/03/09(水) 23:50:50.83
アジャイル→リファクタリング多用→自動テスト完備ってイメージなんだけど違うのか
706デフォルトの名無しさん:2011/03/09(水) 23:52:19.92
アジャイル→リファクタリング多用→いくえ不明
707デフォルトの名無しさん:2011/03/09(水) 23:57:31.22
郁恵?
アイスクリーム?
708デフォルトの名無しさん:2011/03/10(木) 00:01:33.72
ユースクリーム?
709デフォルトの名無しさん:2011/03/10(木) 00:57:48.97
ほねさ〜♪
710デフォルトの名無しさん:2011/03/10(木) 02:34:14.89
rock (obj) { }
711デフォルトの名無しさん:2011/03/10(木) 09:50:19.47
ビット処理は簡潔で高速だが、1変数でやるなら整数型の制限を受ける
32ビットなら32個、64ビットなら64個までしか扱えない
フラグの数がそれ以下であればこれでいいし、
それ以上フラグがある場合Set<T>に入れるのが普通のやり方だと思う
このビット処理は本質的に集合演算と変わらないから

うわあ、C#って集合型無いのか
ググったら、Dictionaryのキーにするとか、.Netの人は大変そうだわ
フラグ処理なら和集合/共通部分は使える方が便利だと思うが
712デフォルトの名無しさん:2011/03/10(木) 09:53:56.82
いきなりどうした
713デフォルトの名無しさん:2011/03/10(木) 09:56:29.29
.NET4でISet<T>,HashSet<T>,SortedSet<T>が追加された
セット使わなくてもLINQがあればIEnumerable<T>の重複を除いてから
和集合や積集合をつくることはできた
714713:2011/03/10(木) 10:06:51.60
間違えた
ISet<T>系が追加されたのは.NET3.5から
715デフォルトの名無しさん:2011/03/10(木) 10:59:35.02
すいません、
C#でOpenFileDialogとかSaveFileDialogとかの拡張ダイアログを作りたいんですが、
あれってsealedですよね・・
作るならWinAPIとかじゃないとダメなんでしょうか?
それとも.NET単体で作れるでしょうか?
ご教授お願いしますm(__)m
716デフォルトの名無しさん:2011/03/10(木) 15:39:31.58
P/InvokeなりC++/CLI経由なりでCOM使わないと無理
WindowsApiCodePackにそんなサンプルが入ってたような
717デフォルトの名無しさん:2011/03/10(木) 16:27:11.76
>>716ですよね・・・
調べてみます。ありがとうございましたm(__)m
718デフォルトの名無しさん:2011/03/10(木) 16:42:28.45
なんてね
719デフォルトの名無しさん:2011/03/10(木) 17:02:11.02
( ゚д゚)
720デフォルトの名無しさん:2011/03/10(木) 17:12:18.73
ほね」。
721デフォルトの名無しさん:2011/03/10(木) 17:13:42.59
こっちかもう一つか忘れたけど変わった捨て台詞が一時期ブームだったけど
すぐに廃れたな
722デフォルトの名無しさん:2011/03/10(木) 17:25:52.89
>>680
ありがとうございます
やりたいことはできました

数当てゲームは作ったことあります・・・・
723デフォルトの名無しさん:2011/03/10(木) 17:28:18.41
Hit&Blowをどうぞ
724デフォルトの名無しさん:2011/03/10(木) 18:46:27.75
>>721
日本語で
725デフォルトの名無しさん:2011/03/10(木) 19:59:56.21
TreeViewを使って

AAAAAA
□xxxxxxxx
□xxxxxxxx
BBBBBBB
□xxxxxxxx
□xxxxxxxx
CCCCCCC
□xxxxxxxx
□xxxxxxxx

みたいな感じでルートの項目にはチェックボックスを付かないようにしたいのですがどうやればいいのでしょうか?
726725:2011/03/10(木) 20:00:37.75
すみません。スペースが消えたのでもう一度

AAAAAA
 □xxxxxxxx
 □xxxxxxxx
BBBBBBB
 □xxxxxxxx
 □xxxxxxxx
CCCCCCC
 □xxxxxxxx
 □xxxxxxxx
727デフォルトの名無しさん:2011/03/10(木) 20:27:39.01
継承ハンドラでオーバースウェイすればできる
728デフォルトの名無しさん:2011/03/10(木) 20:30:38.09
また再翻訳か
729725:2011/03/10(木) 20:50:49.71
>>727
すみません。オーバースウェイっていうとどういうものでしょうか?
似たような語でググってもでないので。
もう少しヒントをいただけないでしょうか?
730デフォルトの名無しさん:2011/03/10(木) 21:14:58.98
>>726
自分でツリービューを作るかオーナードロー関連でなんとかするくらいしか思いつかないな
チェックボックスの表示非表示に関しては細かい制御はできないようだし・・・
731デフォルトの名無しさん:2011/03/10(木) 21:19:36.29
WPFのTreeViewなら普通にできるよ
WPFで作ってElementHostで貼れば
732デフォルトの名無しさん:2011/03/10(木) 21:47:19.96
C++でも普通にできるよ
733デフォルトの名無しさん:2011/03/10(木) 22:04:34.97
WPFはやめたほうがいい。
734デフォルトの名無しさん:2011/03/10(木) 22:07:10.64
WPFが標準になるけどね
組み込み機器のプログラムもWPFになるよ
735725:2011/03/10(木) 22:09:24.35
>>730
やっぱりオーナードローしかないんですか。いろいろ面倒そうなイメージなので避けてましたが調べてやってみます。
ありがとうございます。

>731
WPFの方が高機能なんですね。でもWPFは使えないので今回はその方法はあきらめます。

>732
やっぱりそうなんですか。C,C++で作られたやつは725のようなTreeViewを使ったアプリが結構あるからもしかしたらとは思っていたのですが。
736デフォルトの名無しさん:2011/03/10(木) 22:16:27.39
WPFがXPにちゃんと対応していたら
みんなスムーズに移行できてたのに
737デフォルトの名無しさん:2011/03/10(木) 22:17:28.39
なんで化石にあわせなきゃいけないんだよ
738デフォルトの名無しさん:2011/03/10(木) 22:18:37.92
あと三年でサポート切れるのに…
739デフォルトの名無しさん:2011/03/10(木) 22:19:54.84
WPFが便利なのは認めるが標準になるまえに消えるだろう
740デフォルトの名無しさん:2011/03/10(木) 22:24:36.78
なんでゴミOS限定のアプリなんか作らなきゃならないんだよ。
741デフォルトの名無しさん:2011/03/10(木) 22:33:15.07
なぜ今更XPみたいな糞OSの話を
742デフォルトの名無しさん:2011/03/10(木) 22:33:55.66
WPFが主流になったら敷居高くなっちゃうな
743デフォルトの名無しさん:2011/03/10(木) 22:36:49.20
WinFormsと同じ使い方をしている限り別に敷居は高くねえと思う
744デフォルトの名無しさん:2011/03/10(木) 22:36:54.92
別にイベントハンドラでゴリゴリでも出来るだろ
745デフォルトの名無しさん:2011/03/10(木) 22:38:03.18
MSのこれまでのパターンだと主流になることはない。
746デフォルトの名無しさん:2011/03/10(木) 22:39:33.88
適当言うな
今や組み込みOSもWPFで書くのが一般的になっている
747デフォルトの名無しさん:2011/03/10(木) 22:40:11.61
今のところMeやVista、J#、.net1.1みたいな位置だもんな。
748デフォルトの名無しさん:2011/03/10(木) 22:41:20.58
その組み込みOSは、組み込みOSとして一般的ではないだろう?
749デフォルトの名無しさん:2011/03/10(木) 22:42:08.81
WPFスレでやれ。
なぜいつもここに出張してくる?
750デフォルトの名無しさん:2011/03/10(木) 22:42:43.98
だったらWinFormsの話だって本来スレ違いだ
751デフォルトの名無しさん:2011/03/10(木) 22:44:17.98
WPFは人気があるから専用スレがあるのだ。
だからWPFスレでやれ。
752デフォルトの名無しさん:2011/03/10(木) 22:47:35.93
WPFわかんないならほっとけばいいのに
名前が出ただけで文句言わないと気がすまない人がいるね
そんなに怖いの?
753デフォルトの名無しさん:2011/03/10(木) 22:55:10.33
ピッチャーびびってる
754デフォルトの名無しさん:2011/03/10(木) 23:01:34.24
WinForm(笑)
755デフォルトの名無しさん:2011/03/10(木) 23:06:45.99
歳を取るとついていけなくなるからな
756デフォルトの名無しさん:2011/03/10(木) 23:22:55.09
WPF、Silverlight、ASP.NET、Mono、LINQ,...はあるのにWinFormsがないってのもおかしな話だな。
WinFormsも専用スレ作っていいんじゃね。
757デフォルトの名無しさん:2011/03/10(木) 23:25:07.51
未だXPは6割のシェア獲得しているが?
758デフォルトの名無しさん:2011/03/10(木) 23:25:44.48
まあ他のはある程度わかってる人が使うものだけど
WinFormsがわからない人はそれ以前にC#が全く分かってない人が殆どだからなあ
レベルの高いWinFormsの質問なんて見たことがない
759デフォルトの名無しさん:2011/03/10(木) 23:33:25.97
未だXPは6割のシェア獲得しているが?
760デフォルトの名無しさん:2011/03/10(木) 23:33:48.84
専用スレだからってレベルの高い話をしないといけないわけじゃないよね。
WinFormsスレにC#が分かってない人が来たらこっちに誘導すればいい。

過去スレ読んだらよくある質問ぐらいは解決するかも って程度に情報が集まるけど
ふらっと みたいに雑談のノイズが多いとこじゃそれも期待できない。
761デフォルトの名無しさん:2011/03/10(木) 23:36:08.52
未だXPは6割のシェア獲得しているが?
762デフォルトの名無しさん:2011/03/10(木) 23:37:17.82
コピペ君って略
763デフォルトの名無しさん:2011/03/10(木) 23:38:50.38
>>762
そうやって現実から目を背けてるといいよ
764デフォルトの名無しさん:2011/03/10(木) 23:39:07.44
XPのネガキャンか。
765デフォルトの名無しさん:2011/03/10(木) 23:45:27.01
分類パラノイアにしか思えないな。そこに合理性が感じられない。
何のために分割する必要があるんだよ。
ふらっとスレの存在意義すら疑問に思ってる人も多いのに。

こういう人に限ってコードの分割統治は苦手だったりしそうだなw
766デフォルトの名無しさん:2011/03/10(木) 23:46:22.29
完全に板違いだが一応言っておくと

Net Applicationsの調査によると
XPのシェアは昨年10月に60%を割り込んだ。
前年の同時期に70%あったので1年で10ポイント減だね。

>>757,761,763
そうやって現実から目を背けてるといいよ
767デフォルトの名無しさん:2011/03/10(木) 23:47:11.89
>>765
>ふらっとスレの存在意義
隔離スレとして立派に機能してるじゃないか。
768デフォルトの名無しさん:2011/03/10(木) 23:47:24.13
WPF厨にとってはもXPのシェアが減らないことが許せないのだろう?
自分を否定されてるのと同じだからな。
769デフォルトの名無しさん:2011/03/10(木) 23:49:43.44
もう頭の容量がいっぱいだから新しいアーキテクチャを増やさなくていいです
770デフォルトの名無しさん:2011/03/10(木) 23:50:32.29
6割のシェアがあると言ってたXP厨はソース出せよwwwww
771デフォルトの名無しさん:2011/03/10(木) 23:51:43.45
そのうち何%が海賊版なのか気になるな
772デフォルトの名無しさん:2011/03/10(木) 23:54:48.59
完全に板違いだが一応言っておくと

Net Applicationsの調査によると
XPのシェアは昨年10月に60%を割り込んだ。
前年の同時期に70%あったので1年で10ポイント減だね。

>>757,761,763
そうやって現実から目を背けてるといいよ
773デフォルトの名無しさん:2011/03/10(木) 23:56:16.44
どうでもいいことでスレ延ばすな
774デフォルトの名無しさん:2011/03/10(木) 23:57:15.79
隔離スレらしいからどんどん雑談しろ。
775デフォルトの名無しさん:2011/03/11(金) 00:00:19.45
java最強伝説
776デフォルトの名無しさん:2011/03/11(金) 00:02:39.83
>>774
マ板でやれ
777デフォルトの名無しさん:2011/03/11(金) 00:03:04.89
元くだスレの貫禄を見せつける
778デフォルトの名無しさん:2011/03/11(金) 00:04:46.54
プ板でやれ
779デフォルトの名無しさん:2011/03/11(金) 00:07:59.64
>>778
プ板とか言うやつ初めて見た
780デフォルトの名無しさん:2011/03/11(金) 00:08:38.38
ネタ、ネタ!
781デフォルトの名無しさん:2011/03/11(金) 00:13:37.98
                 _r'ニ二> 、
               _,. :'´ ̄: :`ヽ\::.::`ヽ
            _,.:'´: : : : : : : : : : ヽ ';:.::.::ハ
          ∠,仁._‐-、 : : : : : : : : : :}_j::/::.::i
        , '´ ̄¨´‐.、 `y'^ー、: : : : : : :/'イ::.::.::{       ,.、
      /  .   : :  Y }   }_;.-'TT´::::::.::.::.:;ノ   _,.f´__,\
      .′ :   :    :}v  .i`ト-く._!:::::::_;.イ--、―¬;.:.:.:.:_:.:.:\
.     l .  :     :. .:!|   !!  /イ ̄ /   j_,. -亠'¨⌒ヽ:_ノ
      ! {  :  :.  |:.:,! !  | `ー'´ ヽ.__,,.. -‐'´
     }.:}.  :.l  :.: .!:.i r' , 、〉
   (_,ノ_;{:...:.:.:!: .:.:. .ハ:{_`T~^i
      f彡Y:.:.}:|:.!:.:!:{:イ'` |  ! <またWPFで荒れてる。わざわざ隔離スレ作ったのに。
     ⌒j,ィ:.{:!:ハ:|:!{{|   j  !
       ,レ^ト! }川`ー/,.  {
              }n.n r}
                 ´ ゙′
782デフォルトの名無しさん:2011/03/11(金) 00:14:39.57
またWPF厨が沸いたのか
783デフォルトの名無しさん:2011/03/11(金) 00:17:05.81
WPF厨というよりWPF叩き厨
784デフォルトの名無しさん:2011/03/11(金) 00:17:26.71
そしてWPFアンチが沸くと
785デフォルトの名無しさん:2011/03/11(金) 00:18:48.87
DataSetって何?
786デフォルトの名無しさん:2011/03/11(金) 00:19:14.73
↑ 対 立 煽 っ て 荒 ら し に 利 用 さ れ て る の に 気 付 か な い 馬 鹿 共 ↑

最小の労力でうまく荒らすにはこうやりゃいいって手本だな。
787デフォルトの名無しさん:2011/03/11(金) 00:19:36.27
786 :デフォルトの名無しさん:2011/03/11(金) 00:19:14.73
↑ 対 立 煽 っ て 荒 ら し に 利 用 さ れ て る の に 気 付 か な い 馬 鹿 共 ↑

最小の労力でうまく荒らすにはこうやりゃいいって手本だな。
788デフォルトの名無しさん:2011/03/11(金) 00:21:01.06
>>785
業務プログラミングで馬鹿の一つ覚えで乱用されるクラス
789デフォルトの名無しさん:2011/03/11(金) 00:23:12.49
未だにシェアの半分を占めるXPに目を背けるの?
790デフォルトの名無しさん:2011/03/11(金) 00:23:54.00
6割→半分www
791デフォルトの名無しさん:2011/03/11(金) 00:31:06.82
未だにシェアの何割かを占めるXPに目を背けるの?
792デフォルトの名無しさん:2011/03/11(金) 00:33:09.83
未だにシェアの何割かを占める2000に目を背けるの?
793デフォルトの名無しさん:2011/03/11(金) 00:37:37.20
未だにシェアの数‰を占める3.1に目を背けるの?
794デフォルトの名無しさん:2011/03/11(金) 00:38:11.72
しかし、カトラーの開発したOSはバケモノだな。
10年以上経っても今なお使い続けられるって。
795デフォルトの名無しさん:2011/03/11(金) 00:40:46.87
それをすてるなんて とんでもない!
796デフォルトの名無しさん:2011/03/11(金) 00:43:05.16
>>794
今はWindows Azureやってるんだっけ?
797デフォルトの名無しさん:2011/03/11(金) 00:53:00.85
>>792>>793
2k…2.6‰
98…0.3‰
3.1…0.1‰以下で調査結果書いてないよ…。
798デフォルトの名無しさん:2011/03/11(金) 00:54:51.92
3.1はともかくとして98も数‰にすら届いてないってことは、糞#が消えるのも時間の問題
799デフォルトの名無しさん:2011/03/11(金) 01:00:14.91
1%だからってばかにするんじゃないよ
日本のテレビドラマの視聴率とはわけが違う
世界規模でのシェアだからな
2kもサブマシンとして未だに使っている人は
もっと多いはず
多分40%ぐらいはいる
7なんて展示品で使われているだけ
800デフォルトの名無しさん:2011/03/11(金) 01:01:34.83
ゴミをネットに繋いでおいて威張るな
くっせー体臭で繁華街歩いてるのと変わらん
801デフォルトの名無しさん:2011/03/11(金) 01:05:50.26
>>799
ソース
802デフォルトの名無しさん:2011/03/11(金) 01:10:16.32
なんてね
803デフォルトの名無しさん:2011/03/11(金) 01:10:29.73
ほね」。
804デフォルトの名無しさん:2011/03/11(金) 01:12:57.08
糞#
805デフォルトの名無しさん:2011/03/11(金) 01:13:30.19
806デフォルトの名無しさん:2011/03/11(金) 01:20:11.40
>>805
thx
807デフォルトの名無しさん:2011/03/11(金) 08:12:05.48
動的に作成するチェックボックスを
最初からチェックされた状態にするにはどうすればいいですか?
808デフォルトの名無しさん:2011/03/11(金) 08:16:08.12
>>807
private void Form1_Load(object sender, EventArgs e)
{
CheckBox cb = new CheckBox();
cb.Checked = true;
this.Controls.Add(cb);
}
809デフォルトの名無しさん:2011/03/11(金) 08:16:18.07
表示する前にChecked=trueしておけばいいのでは
810807:2011/03/11(金) 12:19:06.05
ボタンを押すとファイル舐めて
その数だけチェックボックスをつくってます
checkedプロパティでいいんですね
ありがとうございます
811デフォルトの名無しさん:2011/03/11(金) 15:16:47.10
最大値や最小値を決めて、足し算や掛け算してもそれ以上(以下)の数にならないintのような自作クラスを作りたい

たとえばそのClassをMyClassという名前にすると

MyClass value = 6;
value.MaxValue = 100;
value = value + 50; // ここでvalueは56になる
value = value +50;//ここでMaxValue以上にならないので100になる
value = 300;//100を超えたので100になる
value = 20;
value = value * 10//100を超えたので100になる

みたいな感じです!

作りかたを教えて下しあ
812デフォルトの名無しさん:2011/03/11(金) 15:49:47.18
つプロパティ
813デフォルトの名無しさん:2011/03/11(金) 16:00:16.77
セッターゲッターで
814デフォルトの名無しさん:2011/03/11(金) 16:22:25.66
そんな使いにくいクラス使いたくない
815デフォルトの名無しさん:2011/03/11(金) 16:47:20.85
設計見直せ
816デフォルトの名無しさん:2011/03/11(金) 17:09:43.78
プロパティの実装として不適切
範囲外なら例外投げろ
817デフォルトの名無しさん:2011/03/11(金) 17:24:08.89
>>814-816
ほね」。
818デフォルトの名無しさん:2011/03/11(金) 17:25:02.15
システムメニューを開くにはどうすればよいでしょうか?
やりたいことは、Altキーを押したときにシステムメニューを開きたいのですが
フォームにOnPreviewKeyDownをオーバーライドしてAltキーが押された時にAlt+Spaceキーを送る方法を
考えたのですが、フラグを使わないと無限ループしてしまい、もっと上手い方法はないでしょうか?
819デフォルトの名無しさん:2011/03/11(金) 17:49:55.82
>>817
全文ないと面白くないよ
820デフォルトの名無しさん:2011/03/11(金) 19:10:46.72
本人が例外として扱う気なさそうなのに例外投げろって酷いw
821デフォルトの名無しさん:2011/03/11(金) 19:17:11.53
例外は投げるもの
822デフォルトの名無しさん:2011/03/11(金) 20:06:19.21
プロパティは不正な値が設定されようとしたら例外を投げて値は前のままで変更しないもの
やるならSetValueのようなメソッドにしとけ
823デフォルトの名無しさん:2011/03/11(金) 20:26:19.92
まあ他人がどうこういうことじゃないな
824デフォルトの名無しさん:2011/03/11(金) 20:27:14.24
他人じゃないし
825デフォルトの名無しさん:2011/03/11(金) 20:34:51.12
事実婚か・・・
826807:2011/03/11(金) 22:00:17.49
確認したらcheckedlistboxでした…
同じ手法で行けるのかな?
827デフォルトの名無しさん:2011/03/11(金) 22:10:46.03
オーバースウェイすればおk
828デフォルトの名無しさん:2011/03/11(金) 22:51:07.24
メソッドをメソッドの引数として渡して使いたいのですがどうしたら良いのでしょうか?

public void a(){
c(b)
}

public void b(){
}

public void c(??? func){
}
829デフォルトの名無しさん:2011/03/11(金) 22:54:45.81
デリゲートにしないとだめなんじゃないの?
830デフォルトの名無しさん:2011/03/11(金) 23:01:53.12
Action
831デフォルトの名無しさん:2011/03/11(金) 23:19:06.76
くしゃみかよ
832828:2011/03/11(金) 23:21:38.02
class mainのクラス名が不定の場合はどうしたら良いのでしょうか?

class main
{
public main()
{
lib l = new lib();
l.lib_a(戻ってきて!);
}

public void 戻ってきて!(string path){
//ここだけはclass mainの方で処理したい
}
}

class lib
{
public void lib_a()
{
while(true){
戻ってきて!("path");
}
}
}
833デフォルトの名無しさん:2011/03/11(金) 23:27:38.15
>>832
class main
{
public main()
{
lib l = new lib();
l.lib_a(戻ってきて); //メソッドを渡す
l.lib_a(() => { /*ここだけはclass mainの方で処理したい*/ });//使い捨てならこう書いてもよい
}

public void 戻ってきて(string path){ /*ここだけはclass mainの方で処理したい*/ }
}

class lib
{
public void lib_a(Action action) { while(true){ action("path"); } }
}
834デフォルトの名無しさん:2011/03/11(金) 23:27:49.74
>>832
デリゲート
835デフォルトの名無しさん:2011/03/11(金) 23:30:07.43
「帰ってこいよ」って金沢明子じゃないんだな
836デフォルトの名無しさん:2011/03/11(金) 23:30:26.84
Action<string>だな
837デフォルトの名無しさん:2011/03/11(金) 23:32:08.02
NyaRuRuさんって人はすごいんですか?
838デフォルトの名無しさん:2011/03/11(金) 23:37:05.35
ユーザーがメソッドを書いたテキストファイルを
読み込んで実行するようなプログラムって
どのようにすればできますか?
839デフォルトの名無しさん:2011/03/11(金) 23:39:43.08
コンパイラを実装する気なのか?
840デフォルトの名無しさん:2011/03/11(金) 23:40:08.38
>>838
C#が使えるようにしたいならCodeDOMだが問題が多くてお勧めできない
スクリプトを組み込みたいならIronRubyかIronPythonを使うのがいいよ
>>873
まさにこういうネタが大好きな人
知識はすごいと思うけど道具が目的化してる感じ
841デフォルトの名無しさん:2011/03/11(金) 23:43:47.82
>>839
>>840
C#じゃすんなりできないってことですか
そういうことをしているフリーソフトがあったので
どうやるのかと思ったんだけど
やっぱその人相当技術力あるんですね

rubyやりたいとおもってたし、IronRubyやってみます
842デフォルトの名無しさん:2011/03/11(金) 23:45:18.87
違う違う
C#で書いたソフトにIronRubyを組み込むんだよ
C#からIronRubyを呼び出して、rubyスクリプトを実行するの
843828:2011/03/11(金) 23:47:23.69
みなさん、ありがと
なんとかなりそうです

Actionは使った事が無かったので迷いましたが>>836さんので全てが繋がりました
844デフォルトの名無しさん:2011/03/11(金) 23:47:59.56
>>842
ほっほー
それだとコンパイラを独自に書かなくて済むってことね
どうもありがとう
845デフォルトの名無しさん:2011/03/11(金) 23:49:58.88
>>844
その方法でいいのならIEコアにjavascriptを実行させるとかできるんじゃね?
846デフォルトの名無しさん:2011/03/11(金) 23:53:06.04
誰かC#Script作って
847デフォルトの名無しさん:2011/03/11(金) 23:53:13.00
>>845
それだ!
多分そんな感じでやってるんだな
そのソフトはjavascriptで書くように指示しているし
848デフォルトの名無しさん:2011/03/11(金) 23:59:42.85
JavaScriptならv8とかspidermonkeyとか組み込んでるんだろ
やってることはIronRuby組み込むのと一緒
わざわざブラウザ使ったりはしてないと思う
849デフォルトの名無しさん:2011/03/12(土) 00:07:25.02
外部の部品組み込むのなら標準でついてる部品にナビゲートさせる方がよくね?
850デフォルトの名無しさん:2011/03/12(土) 00:13:14.32
インストールされてるIEのバージョンの影響を受けてしまう
851デフォルトの名無しさん:2011/03/12(土) 01:36:40.94
protected void Button1_Click(object sender, EventArgs e)
{
string[] usercheck = new string[2];
String data = Server.MapPath(".") + "\\user.txt";
StreamReader sr = new StreamReader(data, System.Text.Encoding.Default);

while (sr.Peek() >= 0)
{
usercheck = sr.ReadLine().Split(',');
if (usercheck[0] == TextBox1.Text && usercheck[1] == TextBox2.Text)
{
sr.Close();
Response.Redirect("WebForm2.aspx");
}
else
{
Label1.Text = "error";
}
}
sr.Close();
}

userdata.txtにユーザ名、パスワードをcsv形式で保存しておき、TextBox1にユーザ名、TextBox2にパスワードを入力してもらうウェブフォームを作成しました
このログインチェックをSQLインジェクションのような方法で突破は可能でしょうか?
TextBox1に"を入力した場合、TextBox1.Textでは"\""となり文字列を表す""を外せないので安全だと思い作成したのですが
852デフォルトの名無しさん:2011/03/12(土) 02:08:41.21
WPFはクサムルが書けないとキツイ
853デフォルトの名無しさん:2011/03/12(土) 02:22:03.58
WPF叩き厨
854デフォルトの名無しさん:2011/03/12(土) 02:24:05.57
未だにシェアの半分もあるXPを蔑ろにしたからWPFは失敗したんだよ
855デフォルトの名無しさん:2011/03/12(土) 02:32:49.67
WindowsNTを蔑ろにするな
856デフォルトの名無しさん:2011/03/12(土) 02:57:19.03





P/Invoke




857デフォルトの名無しさん:2011/03/12(土) 10:01:03.96
>>851
そのコードなら心配している件の内容自体がかなり的外れ。
SQLインジェクション的な何かについては、まったく問題ない。

ユーザの入力を扱う箇所ということで、SQLインジェクションが気になったんだろうが
なぜSQLインジェクションという問題が発生しえるのか調べなおした方がよい。
858デフォルトの名無しさん:2011/03/12(土) 15:44:22.15
アヘ顔
859デフォルトの名無しさん:2011/03/12(土) 16:05:36.81
車輪の再発明は悪
860デフォルトの名無しさん:2011/03/12(土) 16:12:25.38
SQLインジェクション以前にパスワードをCSVにそのまま保存するのは…
861デフォルトの名無しさん:2011/03/12(土) 16:12:49.55
車輪板でやれ
862デフォルトの名無しさん:2011/03/12(土) 18:26:15.48
お前ら叩くだけで質問には答えてやらないんだな・・・
863デフォルトの名無しさん:2011/03/12(土) 18:39:26.43
civスレかと思った
864デフォルトの名無しさん:2011/03/12(土) 20:24:49.53
>>859
なんで?
865デフォルトの名無しさん:2011/03/12(土) 21:07:01.38
>>859
お前は今までに作ったロガーの数を覚えているのか?
866デフォルトの名無しさん:2011/03/12(土) 21:23:11.85
これまで作られたコンパイラにあやまれ
867デフォルトの名無しさん:2011/03/12(土) 22:11:47.37
今使ってるOSに謝れ
868デフォルトの名無しさん:2011/03/12(土) 22:14:12.88
改めて作る意味が全く無い程に、単純且つ洗練された物ならともかくとして
場合によっては、改良を目的として作るのはアリだよなあ。
(勿論、学習目的で作るのもアリ)

でも、ロガーみたいなのは標準ライブラリにしてくれても良いかも。
869デフォルトの名無しさん:2011/03/12(土) 22:30:06.46
ログ関係はSystem.DiagnosticsとVBのFileLogTraceListenerで殆どカバーできるんだけど、
そのあたりの使い方をちゃんと勉強してる奴が少なすぎる
870デフォルトの名無しさん:2011/03/12(土) 22:56:43.99
自分はちゃんと勉強してますアピール
871デフォルトの名無しさん:2011/03/12(土) 23:27:29.87
自分の勉強のために、Hit&Blowを作っているんですが
123以上乱数を発生させて同じ数字が重なる場合(例えば133とか311等の数字)の場合、
もう一度乱数を発生させて重ならない数値が出るまで繰り返す場合、どのようにして数字が重なってるか判断すればいいですか?
872デフォルトの名無しさん:2011/03/12(土) 23:28:27.28
>>871
文字列に直して比べるとか
873デフォルトの名無しさん:2011/03/12(土) 23:37:01.63
>>871
3桁の数字を1つ生成するのではなく、
文字を3つ生成すると考えた方がいいよ
874デフォルトの名無しさん:2011/03/12(土) 23:37:23.59
>>871
最初から重ならないように作ればいい
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]のリストを用意して0〜(リストの要素数-1)の乱数を生成
その乱数をインデックスとしてリストから数字を取り出して、その数字をリストから削除
それを必要な桁数だけ繰り返す
875デフォルトの名無しさん:2011/03/12(土) 23:40:32.61
>>871
デリゲートを使う
876デフォルトの名無しさん:2011/03/12(土) 23:43:58.71
3桁の数を桁で分ける

int a, b, c;
int i = 166;
a = i / 100;
b = (i - a * 100) / 10;
c = (i - (a * 100 + b * 10));
Console.WriteLine("{0}, {1}, {2}", a, b, c);

でも今回のケースなら>>874の方法がいいな。生成の段階で重複を出さないやり方。
877デフォルトの名無しさん:2011/03/12(土) 23:59:10.32
生成する数値だけでなく、入力される数値も重複チェックするなら
重複チェックルーチン作っておくべき
878デフォルトの名無しさん:2011/03/13(日) 00:00:42.81
重複チェックも>>874の逆をやればいいだけ
879デフォルトの名無しさん:2011/03/13(日) 00:02:02.77
重複チェックメソッドを作ればいいんじゃないかな
880デフォルトの名無しさん:2011/03/13(日) 00:19:40.46
LINQでシャッフルさせてみた。テストはしてない
public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> source)
{
  var random = new Random();
  var query = from q in source
    select new {Order = random.Next(), Item = q} into p
    orderby p.Order
    select p.Item;
  return query;
}
881デフォルトの名無しさん:2011/03/13(日) 00:33:04.12
LINQ病にかかるとこうなってしまうという例
882デフォルトの名無しさん:2011/03/13(日) 00:38:00.19
これはひどい。LINQが嫌われるわけだ。
883デフォルトの名無しさん:2011/03/13(日) 00:42:15.27
>>874なら
public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> source) {
var buf = source.ToList();
while (0 < buf.Count) {
var index = random.Next(buf.Length - 1);

}
884883:2011/03/13(日) 00:44:49.33
すまん
public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> source) {
var buf = source.ToList();
while (0 < buf.Count) {
var index = random.Next(buf.Length - 1);
yield return buf[index];
buf.RemoveAt(index);
}
}
かな
書き捨てならLINQでもいいがメソッドにするならどう考えてもこっちだな
885デフォルトの名無しさん:2011/03/13(日) 00:47:13.29
>>884
劣化ワラタ
886デフォルトの名無しさん:2011/03/13(日) 00:49:19.42
なんかなー、こういうのはRubyの方がすっきりするね
887デフォルトの名無しさん:2011/03/13(日) 00:56:44.21
手段が目的化してるいい例
本人もそれを自覚してるから「〜てみた」とネタを装うことで逃げを作っている
888デフォルトの名無しさん:2011/03/13(日) 00:57:29.28
いつもそうだ!いつもそうだ!いつもそうやって…
LINQは何やってんです!?そんな所で!!
889デフォルトの名無しさん:2011/03/13(日) 01:00:28.85
まぁあれだな、何に向いていて何に向いていないのかが見抜けないと(LINQを使うのは)難しい
890デフォルトの名無しさん:2011/03/13(日) 01:03:28.70
Linq使うにしてもリストから毎回Removeするのはちょっとw
891デフォルトの名無しさん:2011/03/13(日) 01:07:47.94
RemoveAtならO(1)でしょ
List<T>のインデックスの調整が行われるだけでパフォーマンス的には全く問題ない
892891:2011/03/13(日) 01:08:31.46
ああすまん寝ぼけてた
明らかに間違ってる
893デフォルトの名無しさん:2011/03/13(日) 01:18:54.34
LINQのせいで流れが止まったじゃねーかw
894デフォルトの名無しさん:2011/03/13(日) 01:19:41.01
要素数が多ければ削除時のメモリのコピーがあるからLINQの方が速くなるか?
そんな状況なら構造体のList<>に入れて乱数振ったフィールドについてソートするほうがいいとは思うけど
895デフォルトの名無しさん:2011/03/13(日) 01:22:47.33
別にLinqは関係ないだろ。単にアルゴリズムの問題
896デフォルトの名無しさん:2011/03/13(日) 01:25:58.14
Linqの方が速くなる状況なんてあるの?
897デフォルトの名無しさん:2011/03/13(日) 01:30:30.95
Linqタウン
898デフォルトの名無しさん:2011/03/13(日) 01:30:44.26
>>そんな状況なら構造体のList<>に入れて乱数振ったフィールドについてソートするほうがいいとは思うけど
>>880がそんな感じかと。多分
899デフォルトの名無しさん:2011/03/13(日) 01:31:02.19
880のコードはLINQ病とかじゃなく、単純に酷い。
何やってるのか全然分かってないで書いてる。
シャッフルをLINQで書くなら

var rand = new Random();
var shuffled = source.OrderBy(_ => rand.Next());

の二行だけで済むのだから。
書き捨てならこれでいい。
パフォーマンス的には、シャッフルの場合ソートの必要性はないので
外部メソッドとして用意するならFisher-Yatesでやるのがいいかと。
http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
900デフォルトの名無しさん:2011/03/13(日) 01:33:23.79
え?w
901デフォルトの名無しさん:2011/03/13(日) 01:35:09.71
もうLINQ厨は帰れよw
902デフォルトの名無しさん:2011/03/13(日) 01:36:42.05
>>880とか超おせーんじゃねーの
903デフォルトの名無しさん:2011/03/13(日) 01:41:07.37
例外さん臭・・・
904デフォルトの名無しさん:2011/03/13(日) 01:50:25.85
System.out.println
905デフォルトの名無しさん:2011/03/13(日) 01:58:47.46
Linq l = new Linq("from x in xs where x.box select x.x");
var ocel = l.DoSomthing();
ocel.WriteIntoFileStreamUsingByFileNameString("out.txt");

みたいなことができれば便利なんだがなぁ
906デフォルトの名無しさん:2011/03/13(日) 02:01:02.68
eval的な何かがいるな
907デフォルトの名無しさん:2011/03/13(日) 02:01:53.63
>>905
文字列からのLinq to Objects実行ならDynamicQueryというものが一応ある
908デフォルトの名無しさん:2011/03/13(日) 02:10:23.33
>>905
この場合、xとかそのメンバとかはレフレクション的な奴で。か?
909デフォルトの名無しさん:2011/03/13(日) 02:14:30.22
>>905
そこまでするなら
Linq l = </ from x in xs where x.box select x.x />;
とできた方が、IDEの支援も受けることができるな。Linq部分は既存の処理系が使えるし。
910デフォルトの名無しさん:2011/03/13(日) 02:28:09.93
やねうらお
911デフォルトの名無しさん:2011/03/13(日) 03:13:34.40
日本が終わろうとしているときにプログラミングなんざやってられるか
節電のためにPCの電源ひっこぬけ
912デフォルトの名無しさん:2011/03/13(日) 03:49:34.19
確かに簡単な見積もりもできないようじゃプログラミングやめた方がいいな
913デフォルトの名無しさん:2011/03/13(日) 11:41:36.78
Consolas評判がいいから使ってみたけど
字間が飽きすぎてて逆に見づらいね
一文字一文字見比べてチェックするような場合はいいかもしれないが・・・
Tahomaの方が締まってて、全体をパッと見たときに
どんなコード書いているかわかりやすい
914デフォルトの名無しさん:2011/03/13(日) 11:51:54.79
いやいや、比べるものおかしいでしょ、それ。
Consolas : 固定幅フォント
Tahoma : プロポーショナルフォント
915デフォルトの名無しさん:2011/03/13(日) 12:06:31.50
で、みんな、固定と可変どっち使ってるの?
916デフォルトの名無しさん:2011/03/13(日) 12:08:53.01
固定・・・おっさん
プロポーショナル・・・それ以外
917デフォルトの名無しさん:2011/03/13(日) 12:38:35.87
そう
918デフォルトの名無しさん:2011/03/13(日) 13:10:21.62
むしろプロのプログラマでPフォント使ってる人っているの?

まあ昔みたいにコメントにAAでテーブルとかブロック図とか書いたりする
必要性はほとんど無くなってきてるから、等幅使う必要性が減ってきてるのは
確かだとは思うが。

でもPフォントで↑↓カーソル移動させると面白いことになりそうだなw
919デフォルトの名無しさん:2011/03/13(日) 13:13:21.60
プロポーショナルフォントの一番の問題はスペースが見づらいこと
920デフォルトの名無しさん:2011/03/13(日) 13:17:36.20
俺おっさんだ
921デフォルトの名無しさん:2011/03/13(日) 13:21:45.02
まだ若輩だけど、等幅の方が好きかなー
MS Gothic 辺りで良いっす、慣れてるし
922デフォルトの名無しさん:2011/03/13(日) 13:22:51.46
重度のおっさんはエクセルで方眼を作って1セル1文字をはじめます
923デフォルトの名無しさん:2011/03/13(日) 13:26:12.21
固定派…文字を文字として認識する。コードの読み書きが遅い。老眼。無能。
プロポーショナルフォント派…文字を絵として認識。コードの読み書きが速い。イケメン。有能。
924デフォルトの名無しさん:2011/03/13(日) 13:34:02.69
>>923
前に、英単語は先頭と末尾だけ一緒で残りの順序入れ替えても同じ単語と認識しちゃうって研究出てたよな。

文字を絵として認識したら誤字だらけになりそう。
C#はIntelliSense前提だから大した問題にならなさそうだけども。
925デフォルトの名無しさん:2011/03/13(日) 13:36:41.51
プロポーショナルフォントでコーディングw
926デフォルトの名無しさん:2011/03/13(日) 13:37:59.27
読むのにはいいかもしれんが書くのはキツい
英単語とかよりも、プロポーショナルフォントは記号が潰れて見づらい
927デフォルトの名無しさん:2011/03/13(日) 13:38:47.37
>>924
だいょじうぶ
928デフォルトの名無しさん:2011/03/13(日) 13:39:39.95
普通は言語にかかわらずプログラミングには等幅だと思ってたけど
プロポーショナル使っている人もいるのね
929デフォルトの名無しさん:2011/03/13(日) 13:41:03.94
C#は変数名長くしたくなるからプロポだな
930デフォルトの名無しさん:2011/03/13(日) 13:41:08.16
Consolasだと○がoに見えるからやだ
931デフォルトの名無しさん:2011/03/13(日) 13:41:29.52
記号が少ない言語ならプロポーショナルもアリだと思う
C系は無理
932デフォルトの名無しさん:2011/03/13(日) 14:56:12.42
プロポーショナルだと矩形選択はどうなるの?
ガタガタに選択されるん?
933デフォルトの名無しさん:2011/03/13(日) 16:11:03.29
>>932
うん
でもPでガタガタなのは大抵等幅でもガタガタ
934デフォルトの名無しさん:2011/03/13(日) 16:14:44.29
>>933
935デフォルトの名無しさん:2011/03/13(日) 16:17:35.66
まあ矩形選択なんて年に何回使うんだって気もするけど
936デフォルトの名無しさん:2011/03/13(日) 16:19:14.38
矩形選択したいときは秀丸にコピーして
937デフォルトの名無しさん:2011/03/13(日) 16:21:38.09
これだからWPF厨は
938デフォルトの名無しさん:2011/03/13(日) 16:30:21.13
>>936
で、そのときのフォントはどうするの?
939デフォルトの名無しさん:2011/03/13(日) 16:35:47.52
秀丸でMS ゴシックにして選択してる
940デフォルトの名無しさん:2011/03/13(日) 16:40:27.86
じゃあコンソールもMSゴシックにすりゃいいじゃん
941デフォルトの名無しさん:2011/03/13(日) 16:45:21.88
MSゴシックって、実はVista以降微妙に字形が変わってなんか見難くなってるんだよね。
まあもう使わないからどうでもいいけど。
942デフォルトの名無しさん:2011/03/13(日) 16:50:21.43
WPFみたいにグラボで描画しているから
ぼやけるんじゃなかったか
943デフォルトの名無しさん:2011/03/13(日) 16:53:14.92
全く関係ないよ
WPFもWPF4はほけないよ(もちろんXPでも)
944デフォルトの名無しさん:2011/03/13(日) 16:53:37.14
Meiryo UI が完全等幅なら良かったのにー
945デフォルトの名無しさん:2011/03/13(日) 16:53:39.51
今度はPフォント厨か
946デフォルトの名無しさん:2011/03/13(日) 17:00:09.53
>>945
気付いてないようだから一度だけ忠告しとくけど「〜厨」なんて言葉を
使うことに何の抵抗も感じない君みたいのが一番ガキ臭いんだよ。

そもそもこうい雑談ってどうなのって議論があるが、仮に雑談を是とするとしても
君みたいなガキ臭い奴ははっきりいってただ鬱陶しくて邪魔なだけ。
947デフォルトの名無しさん:2011/03/13(日) 17:02:36.82
みんな>>946を応援してあげよう!
948デフォルトの名無しさん:2011/03/13(日) 17:04:43.93
>>946
激しく同意!!!!!!!111111
949デフォルトの名無しさん:2011/03/13(日) 17:05:52.18
>>946
鋭い指摘だな
950デフォルトの名無しさん:2011/03/13(日) 17:06:28.28
>>946
厨を使いたがるのは初期の2ちゃんねら
つまりおっさんだよ
951デフォルトの名無しさん:2011/03/13(日) 17:08:38.22
>>946
君は優秀だよね
952デフォルトの名無しさん:2011/03/13(日) 17:10:11.41
>>946
大人のスメルがします!
953デフォルトの名無しさん:2011/03/13(日) 17:18:19.91
今度は946厨がうぜえな
954デフォルトの名無しさん:2011/03/13(日) 17:18:58.57
>>953
気付いてないようだから一度だけ忠告しとくけど「〜厨」なんて言葉を
使うことに何の抵抗も感じない君みたいのが一番ガキ臭いんだよ。

そもそもこうい雑談ってどうなのって議論があるが、仮に雑談を是とするとしても
君みたいなガキ臭い奴ははっきりいってただ鬱陶しくて邪魔なだけ。
955デフォルトの名無しさん:2011/03/13(日) 17:21:43.73
ほら食いついてきたw
956デフォルトの名無しさん:2011/03/13(日) 17:23:01.48
「食いついてきたw」も聞き飽きたなぁ
957デフォルトの名無しさん:2011/03/13(日) 17:25:12.66
LINQ!LINQ!
958デフォルトの名無しさん:2011/03/13(日) 17:30:13.09
LinqはLinqスレへ…と思ったけどないのか
959デフォルトの名無しさん:2011/03/13(日) 17:30:46.15
こうい雑談
960デフォルトの名無しさん:2011/03/13(日) 17:35:58.10
ほね」。
961デフォルトの名無しさん:2011/03/13(日) 17:37:50.90
あなたとは違うんです

じゃないけど福田元総理が言いそうな台詞がちょっと前にスレであったよな
962デフォルトの名無しさん:2011/03/13(日) 18:56:40.55
トイレブラシを口に突っ込まれるのだけは避けたい
963デフォルトの名無しさん:2011/03/13(日) 19:31:47.51
964デフォルトの名無しさん:2011/03/13(日) 20:51:18.97
LINQは理解されないなw
965デフォルトの名無しさん:2011/03/13(日) 21:10:46.13
一番簡単そうな>>873さんのを参考にして、一桁ずつ乱数を生成して
他の桁と比べて同じ数値だったら、もう一度乱数を生成しなおすと言うふうにしました
そして最後に文字列とすることにしました

あともう一つ質問なんですが、hit&blowの仕様で文字列を検索し、その文字列の位置も取得しなければいけないんですが
文字をバラバラにするメソッドってないですか?
"236"とあったら"2" "3" "6"というふうにしたいんです
966デフォルトの名無しさん:2011/03/13(日) 21:15:19.61
インデクサ、Substring、IndexOfあたり
967デフォルトの名無しさん:2011/03/13(日) 21:15:36.85
MSDNで調べる癖をつけると良いよ
charとかをキーワードにして探してみ

http://msdn.microsoft.com/ja-jp/library/system.string_methods.aspx
968デフォルトの名無しさん:2011/03/13(日) 21:30:07.65
やっぱNyaRuRuさんは天才なんだね
969デフォルトの名無しさん:2011/03/13(日) 21:54:15.14
970デフォルトの名無しさん:2011/03/13(日) 21:59:35.45
自作プログラムにマウスが操作されているかのように思わせる
(実際のポインタは移動してなくてもが移動したときの処理をさせたり、クリックされてなくてもクリックされたときの処理をさせたり)
にはどうすればいいですか?
971デフォルトの名無しさん:2011/03/13(日) 22:06:31.91
もー!いけない子ね!
Win32APIスレに行きなさい!
972デフォルトの名無しさん:2011/03/13(日) 22:17:41.27
Func<Form, bool> pred = x => !(x.ShowInTaskbar == (null == null));
として、pred(form)が真となるようなformのウィンドウハンドルを取得するにはどうすればいいですか?
973デフォルトの名無しさん:2011/03/13(日) 22:22:53.80
無理
974デフォルトの名無しさん:2011/03/13(日) 22:41:58.51
>>970
本当に操作されたときに呼ばれるイベントハンドラを
自分で呼べばいいんじゃないかな
975デフォルトの名無しさん:2011/03/13(日) 23:06:31.56
>>965
123以上って何気に難しくね?
976デフォルトの名無しさん:2011/03/13(日) 23:09:35.77
>>975
1〜9で重ならないように3桁生成したら必然的に123以上になるだろ
977デフォルトの名無しさん:2011/03/13(日) 23:11:56.61
>>976
0ないの?
978デフォルトの名無しさん:2011/03/13(日) 23:15:44.22
>>871
それなんか公式あるよ
忘れたけどw
979デフォルトの名無しさん:2011/03/13(日) 23:33:31.58
C#もLINQが来てから腐りだした
ラムダ式が作られてOCamlやScalaにこぞってマネされてた時期が最盛期だったな
980デフォルトの名無しさん:2011/03/13(日) 23:44:54.36
ラムダ式もLINQもC#3.0で導入されたんだけど…
delegate(int x, int x) { return x + y; }が最高だったと?
981デフォルトの名無しさん:2011/03/13(日) 23:51:26.02
つまり最盛期なんて無かったって言いたいんじゃないかな
982デフォルトの名無しさん:2011/03/13(日) 23:54:46.73
10年たってもC#製のアプリってないよね
983デフォルトの名無しさん:2011/03/13(日) 23:57:01.41
>>982
現実見ろよ
984デフォルトの名無しさん:2011/03/13(日) 23:57:07.79
ほら食いついたw
985デフォルトの名無しさん:2011/03/13(日) 23:59:14.11
未だに合わせて90%のシェアを誇るC++とXPを蔑ろにするからMSはだめになった
986デフォルトの名無しさん:2011/03/13(日) 23:59:29.72
ほね食いついた」。
987デフォルトの名無しさん:2011/03/14(月) 00:00:28.19
っていうかWPFの糞ムルとか時代逆行もいいとこだは
988デフォルトの名無しさん:2011/03/14(月) 00:02:30.82
あれはGUIデザイナーを雇えるところしか意味無いな
989デフォルトの名無しさん:2011/03/14(月) 00:06:04.27
publicにしてもprivateですがどうやってアクセスのintだとしてら
例えばプロパテュにコンストラクタで入れるなら外部からは
でも{get}と{getprivatesett}は違うんですほね」。教えて
990 忍法帖【Lv=30,xxxPT】 :2011/03/14(月) 00:08:20.82
立てれるかな
991デフォルトの名無しさん:2011/03/14(月) 00:47:15.51
LINQって配列とかコレクションをいろいろできる機能でしょ
992デフォルトの名無しさん:2011/03/14(月) 01:08:31.89
LINQアレルギーの奴って何年も前で思考停止してんな
993デフォルトの名無しさん:2011/03/14(月) 01:38:44.61
LINQ病の奴って手段が目的化してんな
994デフォルトの名無しさん:2011/03/14(月) 01:55:34.90
こんなスレでもスレッド勢いだけはこの板でトップだな
995デフォルトの名無しさん:2011/03/14(月) 02:00:56.71
C₫
996デフォルトの名無しさん:2011/03/14(月) 02:05:36.11
次スレ立てんかい
997965:2011/03/14(月) 02:11:17.02
>>967
>>969
ありがとうございます、おかげでhit&blowできました
http://ideone.com/f5ahn

ある程度C#が理解できるようなプログラムかゲームをつくってみようと思うんですが、何かおすすめないですか?
998デフォルトの名無しさん:2011/03/14(月) 02:15:23.65
このスレでLINQ書かれたらいじってやるのが礼儀だからな
999デフォルトの名無しさん:2011/03/14(月) 02:33:13.04
>>997
LINQ最大限に使ってhit&blow
1000デフォルトの名無しさん:2011/03/14(月) 02:36:13.97
ふらっとC#,C♯,C#(初心者用) Part71
http://hibari.2ch.net/test/read.cgi/tech/1300037716/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。