ふらっとC♯, C#(初心者用) Part20
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/09/29(土) 12:34:04「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
前スレ: ふらっとC♯, C#(初心者用) Part19
http://pc11.2ch.net/test/read.cgi/tech/1188872446/
↓これは多分釣です
変数名+1という式を実行したいのです
すなわちなぜ数字の1と文字列型の1が存在し区別する必要があるのかということです?
すごく面倒です
0002デフォルトの名無しさん
2007/09/29(土) 12:39:59出口を「でぐち」と読むか、「でろ」と読むかの違いだけじゃないですか?
出入口の話は今は関係ありません。
0003デフォルトの名無しさん
2007/09/29(土) 12:42:530004デフォルトの名無しさん
2007/09/29(土) 12:55:55c#にはVBのDirectCast相当のものはないの?
あと、これはドトネトの世界に限った話じゃないんだけど、
そもそも「ダウンキャスト」と、string⇒floatとかint⇒floatのような「変換」
ってまったく意味が違うのにどちらも同じ「キャスト」と呼ぶ事の弊害ってあると思うんだが、
あまり指摘されないのは何でかな。
0005デフォルトの名無しさん
2007/09/29(土) 13:10:35クラスと構造体に関わっているのかわかりません。
・インスタンスを作成した際に値型と参照型の違いがでるだけですか?
0006デフォルトの名無しさん
2007/09/29(土) 15:22:11=演算子でオブジェクトコピーをしたい → 値型の構造体にする
=でいちいちコピーする必要ない → 参照型のクラスにする
それだけでしょ
0007デフォルトの名無しさん
2007/09/29(土) 16:15:45アドバイスありがとうございます。
オブジェクトをコピーしたいというのは、データが小さい場合ですよね?(他にもあるかもしれませんが)
ここでいう、データとは何をさしているのでしょうか?
お手数をおかけしますが、よろしくお願いします。
0008デフォルトの名無しさん
2007/09/29(土) 16:18:100009デフォルトの名無しさん
2007/09/29(土) 16:32:57なんとなくですが、理解することができました。
ありがとうございました。
0010デフォルトの名無しさん
2007/09/29(土) 16:48:39dynamic_cast/static_cast/reinterpret_cast/const_cast
C++だとこの4つに区分けしたわけだが、
dynamic_castとstatic_castは危険なキャストでなく、
コンパイラもプログラマも混同することはないため、
この2つにはC-Typeのキャストですませることが多い。(異論もあるだろうけど)
C#はキャストのタイプはdynamic_castとstatic_castの2つだけなので、
無駄に構文を増やさずC-Typeのキャストだけで行くことに決めたのだと思うな。
余談だが、継承関係にあるクラス間でexplicit/implicitで変換演算子を定義すると
変なことになる予感もする。DirectCastがあるとこの辺の混乱が防げる??
0011デフォルトの名無しさん
2007/09/29(土) 17:28:07マクロを実行させてマクロで作ってしまえと言ってた奴がいたが
これのサンプルとかあります?
0012デフォルトの名無しさん
2007/09/29(土) 17:30:59そりゃさすがに異論出すよ。
static_castはC形式のキャストで代用できるが、dyamic_castは代用できない。
もし、クラスのダウンキャストにC形式のキャストを使っていたら、
それはstatic_cast相当(実行時チェックなし)で行われる。
0013デフォルトの名無しさん
2007/09/29(土) 17:42:350014デフォルトの名無しさん
2007/09/29(土) 18:57:53>継承関係にあるクラス間でexplicit/implicitで変換演算子を定義すると
さすがにそれはガードがかかってる。
CS0554: 派生クラスへ/からのユーザー定義の変換です。
0015デフォルトの名無しさん
2007/09/29(土) 23:49:21解釈が違うかもしれないが…
全部VBAでやれ!
全部VBAでやれ!
全部VBAでやれ!
0016デフォルトの名無しさん
2007/09/30(日) 00:06:00これはどうしようもないことですか?
0017デフォルトの名無しさん
2007/09/30(日) 00:15:58前任者の作ったソースのなくなった糞アプリもナントカできる。
0018デフォルトの名無しさん
2007/09/30(日) 00:39:35解釈違いすぎだろ
動的にVBAのコード作りたいんだよ
0019デフォルトの名無しさん
2007/09/30(日) 00:54:080020デフォルトの名無しさん
2007/09/30(日) 01:43:10前に試したときはasの方が速かった気がしたんだが、今試してみたら差が出なかった。
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/005castandas/castandas.html
この辺の記事でasの方が速いと思い込んでたかも。
0021デフォルトの名無しさん
2007/09/30(日) 01:54:45void Hage()
{
// 例外を投げる可能性のある処理
}
void Baka()
{
try {
Hage();
} catch (...) { // 全て捕まえたい
...
} catch (...) {
...
}
}
処理が同じならExceptionを捕まえるだけでいいと思いますが。
0022デフォルトの名無しさん
2007/09/30(日) 02:29:020023デフォルトの名無しさん
2007/09/30(日) 02:52:16速度が気になるなら.NETは止めれ
0024デフォルトの名無しさん
2007/09/30(日) 02:57:30あと.NETは最初のJITコンパイルが終われば結構速いぞ
0025デフォルトの名無しさん
2007/09/30(日) 11:51:31あくまでtryブロックで囲ったりisで二回型チェック入れるよりはマシってだけでしょ。
0026デフォルトの名無しさん
2007/09/30(日) 14:31:33isチェックなしでいきなりキャストなら別に無駄なんて無い。
0027デフォルトの名無しさん
2007/09/30(日) 17:53:30あんな意味ないパフォーマンス比較なんて馬鹿なことを平気でする。
で気になるasとキャストのシンプルな比較はやらない。
でもasの方がやや速いとか書いてる。
まあ正直そんな程度の速度差なんてどうでもいいことではあるが
だったらasのが速いという結果を示せっての。
あの結果だけならむしろキャストのが若干速いようにも見えなくもないぞ。
0028デフォルトの名無しさん
2007/09/30(日) 19:47:55読んだところ別に大げさでもないし間違った方向に誘導するような記事でもないと思うんだが。
こういう奴って2chの政治系の板によくいる、批評家に悪態をつけば自分が賢くなったと思っちゃう
ネトウヨ君と同じメンタルなんじゃないの?
ジャイアンが「のび太のくせに〜」って言うようなさw
0029デフォルトの名無しさん
2007/09/30(日) 19:48:370030デフォルトの名無しさん
2007/09/30(日) 20:13:01しかし勘違いしてたやつはいっぱいいたなw
0031デフォルトの名無しさん
2007/09/30(日) 20:15:430032デフォルトの名無しさん
2007/09/30(日) 20:15:53思わねーよふつうは。
0033デフォルトの名無しさん
2007/09/30(日) 20:17:550034デフォルトの名無しさん
2007/09/30(日) 20:56:26il分かんないので教えてくれるサイト教えてください
0035デフォルトの名無しさん
2007/09/30(日) 20:59:09http://d.xenowire.net/mog/index.php?CIL%28MSIL%29%A5%E1%A5%E2%A5%D0%A5%C3%A5%AF%A5%A2%A5%C3%A5%D7
0036デフォルトの名無しさん
2007/09/30(日) 21:37:12ユーザが行を追加した場合のデフォルト値ってプロパティから決められなかったりします?
0037デフォルトの名無しさん
2007/10/01(月) 02:11:29という動きをするコントロールってありますでしょうか?
スケジューラみたいな感じで
0038デフォルトの名無しさん
2007/10/01(月) 11:09:20http://hongliang.seesaa.net/article/13958869.html
0039デフォルトの名無しさん
2007/10/01(月) 11:12:430040デフォルトの名無しさん
2007/10/01(月) 12:45:37タスクスケジューラーにコマンドで追加か、
常駐APになるけどスレッドタイマーを使うのが一番簡単じゃねーかな
0041デフォルトの名無しさん
2007/10/01(月) 21:18:39http://support.microsoft.com/kb/303872/ja
0042デフォルトの名無しさん
2007/10/01(月) 22:01:49C#でモリモリマクロ書きたいな
VBAは普段あんま使わないから忘れちゃうんだよな
0043デフォルトの名無しさん
2007/10/01(月) 22:05:55いちおうVSTOがそれだけど結局COMで中途半端なんだよね。
0044デフォルトの名無しさん
2007/10/01(月) 22:13:360045デフォルトの名無しさん
2007/10/01(月) 22:16:330046デフォルトの名無しさん
2007/10/02(火) 01:23:19VSTOって使い勝手どう?
Excelのシート作りたいだけなのに
わざわざVSTOに金かけたくないんよね
0047デフォルトの名無しさん
2007/10/02(火) 05:42:27どこで勉強すればいいのん?
0048デフォルトの名無しさん
2007/10/02(火) 07:28:340049デフォルトの名無しさん
2007/10/02(火) 08:08:43このへんかな
0050デフォルトの名無しさん
2007/10/02(火) 18:07:38浮動小数点型の数字を指数部と仮数部に分けたいのですが、
どのようにしたらいいでしょうか?
0051デフォルトの名無しさん
2007/10/02(火) 18:26:240052デフォルトの名無しさん
2007/10/02(火) 18:33:15だって内部では10を基数にしてるわけじゃないんだから、
有効数字を何桁にするかで答え変わっちゃうじゃん。
どうしてもやりたければ書式指定してToStringで一旦文字列にするしかないと思う。
0053デフォルトの名無しさん
2007/10/02(火) 18:35:59.NETのSingle/Doubleは普通のIEEE 754形式だから、UInt32*/UInt64*にキャストしてビット演算すればおk
0054デフォルトの名無しさん
2007/10/02(火) 18:48:000055デフォルトの名無しさん
2007/10/02(火) 18:49:49だから基数はいくつだよw
>>54
それは52の文章がわからないんじゃなくて基数って概念がわからないんでしょ。
0056デフォルトの名無しさん
2007/10/02(火) 18:56:450057デフォルトの名無しさん
2007/10/02(火) 19:04:440058デフォルトの名無しさん
2007/10/02(火) 19:13:23それはともかく、50はCでいうところの
frexpのような関数が欲しいという可能性も考えられる気がする。
仮にそうだとしたら、msvcr??.dllからDllImportしろと言うところだが。
0059デフォルトの名無しさん
2007/10/02(火) 19:22:50006050
2007/10/02(火) 23:23:41ないっぽいです。
>>52
やっぱりそれしかないですかね…
C++/CLIでfrexpというのも考えたのですが、そこから基数を10に戻すのがわからない… orz
今やりたいのは仮数部の小数点を消した値と、指数がほしいので、frexpのように2の指数
で返されると後どうすればいいのかわからないので>>52の方法をとろうと思います。
ありがとうございました。
0061デフォルトの名無しさん
2007/10/02(火) 23:36:10http://portal.acm.org/citation.cfm?id=93559
0062デフォルトの名無しさん
2007/10/02(火) 23:48:45俺はもう憶えてない…
0063デフォルトの名無しさん
2007/10/03(水) 01:58:41元の浮動点少数変数からキャスト後の値を引いたやつ、とかできないんだっけ?
0064デフォルトの名無しさん
2007/10/03(水) 02:00:020065デフォルトの名無しさん
2007/10/03(水) 10:09:24if (isset($_FILES)) {
// Exif情報の全取得
$exif = @exif_read_data($_FILES["imagefile"]["tmp_name"], 0, true);
if ($exif) {
$exif_data = "";
// Exif情報の解析
foreach ($exif as $key => $section) {
foreach ($section as $name => $value) {
if (is_array($value)) {
foreach($value as $k => $v) {
$exif_data .= htmlspecialchars("$key.$name.$k: $v",
ENT_QUOTES) . "<br />\n";
}
} else {
$exif_data .= htmlspecialchars("$key.$name: $value",
ENT_QUOTES) . "<br />\n";
}
}
}
} else {
$exif_data = "Exif情報がありません";
}
}
0066デフォルトの名無しさん
2007/10/03(水) 10:09:54<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Exif関数サンプル</title>
</head>
<body>
<h1>Exif関数サンプル</h1>
<form method="post"
action="<?php echo $_SERVER['SCRIPT_NAME']; ?>"
enctype="multipart/form-data">
<input type="file" name="imagefile" />
<input type="submit" value="送信" />
</form>
<div>
<?php echo $exif_data; ?>
</div>
</body>
</html>
0067デフォルトの名無しさん
2007/10/03(水) 10:11:03これはPHPで書いたものですが、C#で書いたらどのようになるかC#で書いてみてください!
お願いします!!
0068デフォルトの名無しさん
2007/10/03(水) 10:19:080069デフォルトの名無しさん
2007/10/03(水) 10:20:410070デフォルトの名無しさん
2007/10/03(水) 11:13:35http://news21.2ch.net/test/read.cgi/news4plus/1191357269/
0071デフォルトの名無しさん
2007/10/03(水) 11:14:20すまん
0072デフォルトの名無しさん
2007/10/03(水) 18:49:56はっきり言ってネトウヨになっちゃう程度の知能ならPGとしての大成は望めないと思うよ
0073デフォルトの名無しさん
2007/10/03(水) 19:37:290074デフォルトの名無しさん
2007/10/03(水) 19:49:480075デフォルトの名無しさん
2007/10/03(水) 19:51:040076デフォルトの名無しさん
2007/10/03(水) 20:00:100077デフォルトの名無しさん
2007/10/03(水) 21:22:210078デフォルトの名無しさん
2007/10/03(水) 21:29:170079デフォルトの名無しさん
2007/10/03(水) 21:38:470080デフォルトの名無しさん
2007/10/03(水) 21:54:11。・゚・(ノД`)・゚・。
0081デフォルトの名無しさん
2007/10/03(水) 22:33:030082デフォルトの名無しさん
2007/10/03(水) 22:40:42でとりあえずは出来るんじゃない?
効率がいいかどうかは知らないけど
0083デフォルトの名無しさん
2007/10/04(木) 00:02:532枚のBitmapを飽和加算したいんですが、
各ピクセルのRGBそれぞれについてMath.Min(c,255)とかやりたくないんで...
0084デフォルトの名無しさん
2007/10/04(木) 00:04:420085デフォルトの名無しさん
2007/10/04(木) 01:10:38みたいに@をつければstrをファイルパスとして扱えますが、
str = "c:\hoge.txt";
のように、普通の文字列として値が入っているstrをファイルパス用の
文字列に変換するにはどうすればいいのでしょうか?
str = @str;
みたいなイメージなんですが…
0086デフォルトの名無しさん
2007/10/04(木) 01:18:22ファイルパス…
0087デフォルトの名無しさん
2007/10/04(木) 01:20:59@使った文字列リテラルは、単に\のエスケープをしなくなるだけで、同じstringだぞ。
0088デフォルトの名無しさん
2007/10/04(木) 02:20:430089デフォルトの名無しさん
2007/10/04(木) 03:51:240090デフォルトの名無しさん
2007/10/04(木) 03:58:13>普通の文字列として値が入っている
というあたりに、ちょっと理解不足がかいま見えるので。
string str1 = "c:\hoge.txt";
string str2 = "c:\\hoge.txt";
string str3 = @"c:\hoge.txt";
string str_newline = "c:\noge.txt";
として、それぞれメッセージボックスにでも表示してみれば分かるよ。
0091デフォルトの名無しさん
2007/10/04(木) 04:10:03あと、UTF-8とかUTF-32の文字列クラスってないの?
0092デフォルトの名無しさん
2007/10/04(木) 07:38:28つSystem.Text.Encoding
0093デフォルトの名無しさん
2007/10/04(木) 16:39:41例えば
string s="1234567890";
を処理して 1,234,567,890
ってやろうとしてるんだが、文字列を後ろから一文字ずつ取得はどうやるんでしょう?
Cだと、レングス求めてポインタをマイナスしてくとか、char str[100]とかで配列の後ろから処理してけば楽勝なんですが
同じような事出来ますか?
今はかなり煩雑なことやってます
0094デフォルトの名無しさん
2007/10/04(木) 16:46:36{
char c =s[i];
}
0095デフォルトの名無しさん
2007/10/04(木) 16:47:27>レングス求めてポインタをマイナスしてくとか、
Chars, Length
>char str[100]とかで配列の後ろから処理
ToCharArray
0096デフォルトの名無しさん
2007/10/04(木) 16:48:06訂正
sLength → s.Length
0097デフォルトの名無しさん
2007/10/04(木) 17:00:511、lengthでforループして後ろから順番に文字を取得して文字配列を作る。>>94と同じ
2、Stringインスタンスを作る。その際に文字配列を渡す。
0098デフォルトの名無しさん
2007/10/04(木) 17:05:21http://www.atmarkit.co.jp/fdotnet/dotnettips/620number3groupsep/number3groupsep.html
0099デフォルトの名無しさん
2007/10/04(木) 17:37:35サンクス
char[] c = s.ToCharArray();
これで文字列からcharの配列に変換出来るんですね。
感謝です。
符号無視で適当に作ったもの↓
string s = "123456789";
char[] c = s.ToCharArray();
int j = s.Length - 1;
string s2 = "";
for (int i = 0; i < s.Length; i++)
{
s2 = c[j--] + s2;
if (i % 3 == 2 && i != s.Length-1)
s2 = "," + s2;
}
または小数点部が無い場合は
string s3 = String.Format("{0:#,0}",int.Parse(s));
で簡単に出来ました。
@ITの資料ページは参考になりました。
有難うございます。
0100デフォルトの名無しさん
2007/10/04(木) 17:56:16・・・まさかstringのインデクサで文字が取得できることを知らない?
0101デフォルトの名無しさん
2007/10/04(木) 18:21:28インテリセンスで説明を出せるのは便利なんですが、
コード中にだらだら書いてるとコメントだらけになって見づらいのでなんとかしたいのです。
0102デフォルトの名無しさん
2007/10/04(木) 18:28:43インデクサという言葉も知りませんでした
今調べてそんなことが出来ると知りました
そのまんま s[1] みたいに使えるんですね・・・
便利。
0103デフォルトの名無しさん
2007/10/04(木) 21:17:19ふたつのクラスは共に同じ親を持っていません。
ですが、 as によるキャストでは true が返って来ます。
ClassB cb = new ClassB();
ClassA ca = cb as ClassA
as はメンバの名前やそのサイズが一致していればクラスをキャストできるのでしょうか?
手元にあるソースコードというのは、↓の XNA のサンプルコードです。
http://creators.xna.com/Headlines/developmentaspx/archive/2007/01/01/Collision-Series-4_3A00_--Collision-with-a-Heightmap.aspx
0104デフォルトの名無しさん
2007/10/04(木) 21:29:08heightMapInfo = terrain.Tag as HeightMapInfo;
これのことなら、ObjectをHeightMapInfoにダウンキャストしてるだけ。
0105デフォルトの名無しさん
2007/10/04(木) 21:33:020106デフォルトの名無しさん
2007/10/04(木) 21:42:050107デフォルトの名無しさん
2007/10/04(木) 21:43:37TerrainProcessor.cs の
model.Tag = new HeightMapInfoContent(heightfield, terrainScale, terrainBumpiness);
というところで、 HeightMapInfoContent というクラスを model.Tag へ代入しているのですが、
HeightmapCollision.cs の
heightMapInfo = terrain.Tag as HeightMapInfo;
というところでは、 その model.Tag に代入された HeightMapInfoContent クラスを、
HeightMapInfo クラスとして取り出しています。
>>105
変換演算子は定義されてないと思います。
0108デフォルトの名無しさん
2007/10/04(木) 22:02:35処理系持ってないしXNA触ったことないから、ソース見た印象でしか答えられないんだが、
おそらくコンパイルタイムにシリアライズされて、ランタイムにデシリアライズされることを利用してる。
即ち、HeightMapInfoWriterを用いて、HeightMapInfoContentをHeightMapInfoと同じ形式で
シリアライズすることによって、デシリアイザを騙して実行時にHeightMapInfoにデシリアライズ
されるようにしているんだと思う。推測だけど。
0109108
2007/10/04(木) 22:05:37プログラムが実行されるタイミングが違うってところが味噌だね。これも適当だけど。
0110デフォルトの名無しさん
2007/10/04(木) 22:14:19分かりやすい説明ありがとうございます。
なんとなく処理の内容が掴めました。
override している辺りが最高に怪しいですね。
0111デフォルトの名無しさん
2007/10/04(木) 23:32:59asは型が違う場合、nullが返るだけだから
とりあえず動くんじゃないかと。
0112デフォルトの名無しさん
2007/10/05(金) 00:05:50row.CreateCells( datagridview );
として行の初期化処理を行った後、
row.Cells[ "Key" ] = value;
と値を入れ込んで、最後にdatagridviewに追加したいのですが、
CreateCellsではセルのName属性までは設定してないようです。
datagridviewで設定してある各列のName属性をrowのCellsに設定する
良い方法はありますでしょうか?
それともforeachで一個ずつ指定して行かないとダメでしょうか。
0113デフォルトの名無しさん
2007/10/05(金) 00:15:55datagridviewで単にColumnのコレクションのキーをNameとして表示してるだけ…なんですかね?
要するに
DataGridViewRow row = new DataGridViewRow();
row.CreateCells( datagridview );
//なにか
row.Cells[ "Key1" ] = value1;
row.Cells[ "Key2" ] = value2;
…
ということがしたいだけなんですが…
0114デフォルトの名無しさん
2007/10/05(金) 01:14:41object lockObj = new object();
を作り、すべてのスレッドのすべてのメソッドの中身をlock ( lockObj ) で
囲ってやれば、シングルスレッドと同じような意識でコーディングできるという
考えは正しいでしょうか?
周期的にある処理を呼び出したいのでTimerのTickを使ってるんですが、
必ずしもn秒毎とかじゃなくて、他の処理の邪魔にならないタイミングで
呼ぶようにしたいのです。
0115デフォルトの名無しさん
2007/10/05(金) 01:43:12ロックは局所的に考えて使わないとデットロックとかいろいろ起きるぞ。
なにも考えないでというのは無理。
0116デフォルトの名無しさん
2007/10/05(金) 04:02:52○ デッドロック
0117デフォルトの名無しさん
2007/10/05(金) 04:31:17よくある方法としてはスレッド間で共有する変数とその操作をクラスでラップする。
class ThreadShare {
int i, int j; // 共有する変数
object sync = new object(); // 同期オブジェクト
public void 操作1() { lock(sync){ i, j へのアクセス} }
public int 操作2() { lock(sync){ i, j へのアクセス} }
}
lock(this) でも良さそうなものだが、thisは外部から使われる可能性があるので
privateに同期用のobjectを持つことが推奨されている。
そういう意味でどこからでも見える位置にsyncを置くのは良くない。
0118デフォルトの名無しさん
2007/10/05(金) 11:19:11どこかにStreamベースの実装例はないでしょうか?
0119デフォルトの名無しさん
2007/10/05(金) 18:35:20.NETのライブラリでrefを使ってるところを見たことがありません。
たとえば Graphics.DrawString は構造体 RectangleF を受け取りますが、refは使わないでコピーしてます。
このメソッドはGDI+の Gdiplus::Graphics::DrawString に当てはまると思いますが、
ネイティブのC++での定義を見ると const Gdiplus::RectF & なので、ちゃんと参照使ってます。constなので書き換えもされません。
C#のほうでrefが使われていない理由が分からないんですが、何か理由があるんですか。
0120デフォルトの名無しさん
2007/10/05(金) 18:53:25構造体をポインタや参照で渡したり返したりするのは、
オプティマイザが馬鹿だった時代の名残にすぎない。
0121デフォルトの名無しさん
2007/10/05(金) 19:08:100122デフォルトの名無しさん
2007/10/05(金) 19:10:46P/Invokeなど特殊な用途を除いてライブラリではサイズの大きな構造体がそもそもない。
サイズが小さければ参照よりコピーの方が効率的。
関数から構造体を返す場合関数の値(戻り値)で返す。
refを使うケースは2値以上返す必要がある場合に限られる。
0123デフォルトの名無しさん
2007/10/05(金) 20:47:49値で渡したのに最適化されて参照わたすのかよ
おかしくね?
0124デフォルトの名無しさん
2007/10/05(金) 20:48:240125デフォルトの名無しさん
2007/10/05(金) 20:51:35if (this.ItHappened != null) this.ItHappened(this, new EventArgs());
みたいに明示的にnullチェックする必要があるのは何故なんでしょう?
this.ItHappened(this, new EventArgs());
だけでnullチェックを内包してくれた方が便利だと思うんですが。
パフォーマンスの観点でも無視できる範囲、というかnullチェックしないでいい場面自体思いつかないですし。
自分の場合毎回nullチェックするのが馬鹿馬鹿しいのでInvokeItHappened()のようなメソッドを定義しているのですが・・・。
まあ割りとどうでもいい素朴な疑問です。
0126125
2007/10/05(金) 20:53:18後者だとイベントを実行する必要がない場合でも無駄にEventArgsがインスタンス化されてしまうからですね。
スレ汚し失礼しました。
0127デフォルトの名無しさん
2007/10/05(金) 20:53:450128デフォルトの名無しさん
2007/10/05(金) 20:54:230129デフォルトの名無しさん
2007/10/05(金) 20:56:26コンストラクタでデリゲート渡してそのまま変更しないとかの場合にはnullになるケースがないから
nullチェック要らないとか
0130デフォルトの名無しさん
2007/10/05(金) 20:59:14nullチェックが何度も要るってのはどこか設計がおかしいだろ。
protected void OnItHappened(EventArgs e){
if (this.ItHappened != null) this.ItHappened(this, e);
}
普通はこうやって定義して一回で済むと思うんだが。
0131125
2007/10/05(金) 21:03:12そういえばそうでした・・・
じゃあ明示的なnullチェックが必要になっているのは何故なんでしょうね?
>>129
一行目に関しては毎回暗黙的にnullチェックしてくれれば問題はなく、
二行目に関しては余分なnullチェックくらいではパフォーマンスへの影響は皆無だというのが自分の考えです。
まあいずれにせよOnItHappenedパターンではイベントを呼び出すのは一箇所なので
余分にコーディングが必要になってもさほど問題はないってことなんですかね。
0132デフォルトの名無しさん
2007/10/05(金) 21:07:39C++/CLIみたいにraiseが欲しかった
0133デフォルトの名無しさん
2007/10/05(金) 21:48:382005になってからMSDNのその場所は読んでなかった。
今は委譲モデルと継承モデルを両方サポートしろになってるし、
null判定後にnullになる可能性があるからtempにコピーしろとか書いてありますね。
EventHandler temp = myEvent;
if (eh != null) temp(this, new EventArgs());
ちゃんと読まないといかんな。
0134デフォルトの名無しさん
2007/10/05(金) 22:40:00委譲でも継承でもないイベントモデルがC#3.0で追加されてる
Partial Method、これはある意味最強
0135デフォルトの名無しさん
2007/10/05(金) 22:45:28俺は逆に美しいと思うよ。
VB系の暗黙の〜見てると反吐が出る。
0136デフォルトの名無しさん
2007/10/05(金) 22:45:33ちょっとでも、用途限られるけどね。
あと、副作用強い。
a = 0;
this.SomePartialMethod(a = 10);
の挙動とか考えるとちょっと怖い。
0137デフォルトの名無しさん
2007/10/05(金) 23:02:56どうせ使用されないんだから問題ないんじゃないの?
0138デフォルトの名無しさん
2007/10/05(金) 23:08:36>>136の例だとパーシャルメソッドの実体が定義されなければaが10にならない。
0139デフォルトの名無しさん
2007/10/05(金) 23:21:260140デフォルトの名無しさん
2007/10/06(土) 00:01:50みたいなのシングルスレッドなら必要ない?
0141デフォルトの名無しさん
2007/10/06(土) 00:20:080142デフォルトの名無しさん
2007/10/06(土) 00:32:47if (obj.SomeProperty is SomeType) (SomeType)obj.SomeType ...はやめろとか
考えてたらキリが無いと思うけど
0143デフォルトの名無しさん
2007/10/06(土) 00:35:560144デフォルトの名無しさん
2007/10/06(土) 00:58:30暗黙の〜が何を意味しているか分からないけど
イベントに関してはVBのRaiseEvent方式の方がずっと直観的で美しいと思うけどな。
もちろんその美しさはイベントの本来の姿を隠蔽することによって得られたものではあるが、
かといって何か不都合があるほど隠蔽しているわけでもなし。
0145デフォルトの名無しさん
2007/10/06(土) 01:20:39結局まるっきりデリゲートってのが気に食わん
0146デフォルトの名無しさん
2007/10/06(土) 01:32:14↑なにこのアフォw
0147デフォルトの名無しさん
2007/10/06(土) 02:08:410148デフォルトの名無しさん
2007/10/06(土) 02:44:030149デフォルトの名無しさん
2007/10/06(土) 02:56:20実行される順序を1、2、3と固定にしたいのですが、どんな手があるでしょうか?
0150デフォルトの名無しさん
2007/10/06(土) 03:22:11それぞれスレッドの開始時にフラグを立て、
二番目のスレッドの先頭で一番目のフラグが立つまでブロックし、
三番目のスレッドの先頭で二番目のフラグが立つまでブロック。
これくらいしかないんじゃない?
0151デフォルトの名無しさん
2007/10/06(土) 09:03:37ひとつのスレッドで3つの処理を順に処理する。早い話が専用threadpoolを作る。
BlockingQueueがあれば実装は楽だが、見当たらないので作ってみた。
class BlockingQueue<T> {
object sync = new object();
Queue<T> qu = new Queue<T>();
public T Dequeue() { lock(sync) {
while (qu.Count==0) Monitor.Wait(sync);
return qu.Dequeue(); }}
public void Enqueue(T item) { lock(sync) { qu.Enqueue(item); Monitor.PulseAll(sync); }}
}
0152デフォルトの名無しさん
2007/10/06(土) 09:05:39struct QueueItem { public WaitCallback callback; public object state; };
Thread worker;
BlockingQueue<QueueItem> bq = new BlockingQueue<QueueItem>();
public SinglePool() {
worker = new Thread(Worker); worker.IsBackground = true; worker.Start();
}
void Worker() {
for (;;) { QueueItem qi = bq.Dequeue(); qi.callback(qi.state); }
}
public bool QueueUserWorkItem(WaitCallback callback, object state) {
if (callback == null) return false;
QueueItem qi; qi.callback = callback; qi.state = state; bq.Enqueue(qi);
return true;
}
public bool QueueUserWorkItem(WaitCallback callback) {
return QueueUserWorkItem(callback, null);
}
}
0153デフォルトの名無しさん
2007/10/06(土) 12:20:260154デフォルトの名無しさん
2007/10/06(土) 12:35:170155デフォルトの名無しさん
2007/10/06(土) 13:18:37このようなクラスを継承する方法はないのでしょうか。
0156デフォルトの名無しさん
2007/10/06(土) 13:31:080157デフォルトの名無しさん
2007/10/06(土) 13:38:32System.Drawing系は継承によるカスタマイズとか基本的に無理
0159デフォルトの名無しさん
2007/10/06(土) 16:29:03まあ市販のコンポーネントとか都合なら仕方ないかもしれないけど
そもそも現在のスレッドで同期的に実行するとか、
単に終わるまでブロックするとかの選択肢は取れないのかな?
0160デフォルトの名無しさん
2007/10/06(土) 16:43:50処理1の直後に処理2の起動処理を突っ込んじゃだめなの?
匿名メソッドとか使えばさくっと書けそうだけど。
0161149
2007/10/06(土) 17:50:44説明が分かりづらくてすいません、正しくは
forループ内でThreadPoolを利用して、特定のメソッド(SampleMethod)を3回実行した場合
でした。以下のような感じです。
WaitCallback wc = new WaitCallback(SampleMethod);
for (int i = 1; i <= 3; i++)
ThreadPool.QueueUserWorkItem(wc, i);
151-152さんので実現できていますが、他に効率的な方法ありますでしょうか?
0162デフォルトの名無しさん
2007/10/06(土) 17:54:17delegate{ SampleMethod(1); SampleMethod(2); SampleMethod(3); }
みたいな匿名メソッドを一個だけ起こせばいいんでね?
0163149
2007/10/06(土) 18:25:56理解力が乏しいので、もう少しお詳しくお願いします。非同期でSamleMethodを実行したいのでThredPoolを利用してます。
0164デフォルトの名無しさん
2007/10/06(土) 18:27:170165149
2007/10/06(土) 18:29:490166デフォルトの名無しさん
2007/10/06(土) 18:32:59どうするのが安全でしょうか?
例えば、ボタンAがクリックされたときにある条件がtrueなら、
ボタンAの代わりにボタンBがクリックされたことにするとか
単純に、
A_Click( object sender, EventArgs e ) {
B_Click( sender, e );
}
とするのは、本来Bがクリックされたときに渡されるsenderとeとは
別のものが渡されて、動作がおかしくなる場合とかないのかと思いまして。
ユーザがBをクリックしたときに呼ばれる場合と同じ条件で呼ぶには
どうすればいいのでしょうか?
0167デフォルトの名無しさん
2007/10/06(土) 18:39:16まず落ち着いて文章を推敲した方がいいでしょ。
何言ってるのかワケワカランよ。
0168デフォルトの名無しさん
2007/10/06(土) 18:39:25だったら>>162でいいだろ
>>166
PerformClick
0169デフォルトの名無しさん
2007/10/06(土) 19:38:080170デフォルトの名無しさん
2007/10/06(土) 20:14:26ボタンなら>>168の通りにbuttonB.PerformClick
一般的な話ならBのイベントの動作をメソッドに切り出して
別オブジェクトのイベントからもそのメソッドを呼ぶようにする。
まずはsenderとかEventArgsの実体がどうなってるか調べるべきじゃない?
0171デフォルトの名無しさん
2007/10/06(土) 22:44:24現在、
以下のような感じで処理しているのですが、
Assembly[] asms;
List<Assembly> referenceAsm;
public override Type BindToType(string assemblyName, string typeName)
{
Type t = null;
t = Type.GetType(String.Format("{0}, {1}", typeName, assemblyName));
if (t != null)
{
return t;
}
017250
2007/10/06(土) 22:46:11else{
for (int i = 0; i < asms.Length; i++){
t = asms[i].GetType(typeName);
if (t != null){
return t;
}
}for (int i = 0; i < referenceAsm.Count; i++){
t = referenceAsm[i].GetType(typeName);
if (t != null){
return t;
}
}
return null;}}
これだと、List<T>などが渡されたときにうまくTypeを取得できずにSerializationException
が発生してしまいます。
これを解決するにはどのようにしたらいいでしょうか?
0173デフォルトの名無しさん
2007/10/06(土) 22:47:05読みづらくなってしまってすいません orz
あと、名前も間違って入力されてしまいました orz
0174デフォルトの名無しさん
2007/10/07(日) 00:17:14System.Net.HttpRequestHeader.Referer というのを見つけましたが使い方が分かりません
助けてください
0175デフォルトの名無しさん
2007/10/07(日) 00:28:48WebClient wc = new WebClient();
wc.Headers[ "Referer" ] = 〜;
というふうにヘッダを追加したあと、Download*メソッドを使えばいい。
携帯からなんでスペルが間違ってるかも知れないが。
0176デフォルトの名無しさん
2007/10/07(日) 00:30:12意味がいまいちよくわかりません。
教えていただけますでしょうか。
ダイアログを開いて閉じた後、もう一度開いたときに前回開いていたディレクトリを
覚えていて、そこを開いた状態にするのかと思っていたんですが、
falseにしても前回のディレクトリを開くみたいで…
0177175
2007/10/07(日) 00:32:04wc.Headers.Add("Referer", 〜)
で。
0178デフォルトの名無しさん
2007/10/07(日) 00:36:19現在のって訳されてるから分からんだろうけど、要はカレントディレクトリ
0179デフォルトの名無しさん
2007/10/07(日) 00:40:45閉じてもう一回開くと、移動先のディレクトじゃなくて移動前に開いていた
ディレクトリを開くってことでしょうか?
0180デフォルトの名無しさん
2007/10/07(日) 00:46:380181デフォルトの名無しさん
2007/10/07(日) 00:56:08どうも有難うございました
助かりました
これから頑張ってやってみます
0182デフォルトの名無しさん
2007/10/07(日) 01:03:10>>180
うーん、よくわからないのでもう少し詳しく教えて貰えませんか。
0183デフォルトの名無しさん
2007/10/07(日) 01:06:44Environment.CurrentDirectoryを見てみろ
0184デフォルトの名無しさん
2007/10/07(日) 01:14:320185デフォルトの名無しさん
2007/10/07(日) 03:54:16これをExplorerみたいに、色の付いた枠・背景で描くにはどうしたらいいですか。
0186デフォルトの名無しさん
2007/10/07(日) 07:56:160187デフォルトの名無しさん
2007/10/07(日) 07:57:15ダブルバッファリングを有効にするとなぜかそうなる
0188デフォルトの名無しさん
2007/10/07(日) 21:43:31ShowBaloonTipを呼び出しているのにもかかわらず、バルーンが表示されていません
呼び出しているのはデバッグモードでステップ実行して確認しています
バルーンが表示されないのはどのような原因が考えられるでしょうか?
他のバルーン関係のイベントで呼び出すメソッドは空になっているので、
呼ばれた瞬間クリックイベントが呼ばれているとかもないみたいです
0189デフォルトの名無しさん
2007/10/07(日) 23:12:200190デフォルトの名無しさん
2007/10/08(月) 01:12:40出るのはXP以降だからな
0191デフォルトの名無しさん
2007/10/08(月) 13:38:21カーソルを動かすのはCursorクラスで出来ます。
しかしクリックを自動で行う方法は見当たりません。
WindowsAPIを使うしかないですか
0192デフォルトの名無しさん
2007/10/08(月) 14:03:030193デフォルトの名無しさん
2007/10/08(月) 14:13:140194デフォルトの名無しさん
2007/10/08(月) 14:54:47イベントとれないものでしょうか?
イベントのリスト探したけど見あたらなかったので…
0195デフォルトの名無しさん
2007/10/08(月) 15:39:200196デフォルトの名無しさん
2007/10/08(月) 16:28:43ユーザがボタンを操作したってイベントがあれば助かるんですが…
0197デフォルトの名無しさん
2007/10/08(月) 18:31:490198デフォルトの名無しさん
2007/10/08(月) 18:52:21notifyメッセージは無かった気がする
場所で判断するにも、環境とかビジュアルスタイルとかで大きさが変わるから
難しそう
0199デフォルトの名無しさん
2007/10/08(月) 22:45:29ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_mouse_event.asp
0200デフォルトの名無しさん
2007/10/08(月) 22:50:230201デフォルトの名無しさん
2007/10/08(月) 23:02:06なんでこの命令口調の「プチ北方謙三」クンってえのは例外なく馬鹿なんだろうね
0202デフォルトの名無しさん
2007/10/08(月) 23:36:16treeView1.SelectedNode
で、ツリーノードが取り出せるのはわかるんですけど、
指定した場所のノードを取り出したいとき(プログラムで指定する)はどうすればいいのでしょうか?
0203デフォルトの名無しさん
2007/10/08(月) 23:38:160204デフォルトの名無しさん
2007/10/08(月) 23:44:530205デフォルトの名無しさん
2007/10/08(月) 23:44:59そのばあい、どのように取り出せばいいのか悩んでいるんです
0206デフォルトの名無しさん
2007/10/08(月) 23:53:130207デフォルトの名無しさん
2007/10/09(火) 00:00:44その後は、どんな命令を繰り返せばいいのですか?
初心者ですみません
0208デフォルトの名無しさん
2007/10/09(火) 00:08:03これってなんのおまじない?
0209デフォルトの名無しさん
2007/10/09(火) 00:11:16とりあえずコレでノード全部列挙できると思う。
ちゃんと試してはいないが。
using (StreamWriter sw = new StreamWriter(fileName))
{
if (treeView1.Nodes.Count > 0)
{
TreeNode node = treeView1.Nodes[0];
while (node != null)
{
sw.WriteLine(node.FullPath);
if (node.Nodes.Count > 0)
node = node.Nodes[0];
else if (node.NextNode != null)
node = node.NextNode;
else if (node.Parent != null && node.Parent.NextNode != null)
node = node.Parent.NextNode;
else
break;
}
}
}
0210デフォルトの名無しさん
2007/10/09(火) 00:11:57ここはC#スレです。
0211デフォルトの名無しさん
2007/10/09(火) 00:13:25やっぱ再帰が無難か。
0212デフォルトの名無しさん
2007/10/09(火) 00:15:360213209
2007/10/09(火) 00:18:26これでOK.
public void Save(String fileName)
{
using (StreamWriter sw = new StreamWriter(fileName))
{
_Save(treeView1.Nodes, sw);
}
}
void _Save(TreeNodeCollection nodes,StreamWriter sw)
{
foreach (TreeNode node in nodes)
{
sw.WriteLine(node.FullPath);
Save(node.Nodes, sw);
}
}
0214デフォルトの名無しさん
2007/10/09(火) 00:21:150215デフォルトの名無しさん
2007/10/09(火) 00:24:500216デフォルトの名無しさん
2007/10/09(火) 00:40:390217デフォルトの名無しさん
2007/10/09(火) 00:43:300218デフォルトの名無しさん
2007/10/09(火) 00:46:59ロードも必要ですよね。
XMLDocumentにするというのは、タグで囲むようにテキストファイルに出力するということですか?
0219デフォルトの名無しさん
2007/10/09(火) 01:00:03System.Xml.XMLDocument に読み込ませてあげれば
自動的にタグ付きで出力してくれるよ。
軽く作ってみたんでよく読んでみて。
まずは保存から。
public void SaveToXml(TreeView tree, string fileName)
{
XmlDocument xml = new XmlDocument();
XmlNode xnode = xml.CreateNode(XmlNodeType.Element, "tree", null);
_SaveToXml(xml, xnode, tree.Nodes);
xml.AppendChild(xnode);
xml.Save(fileName);
}
void _SaveToXml(XmlDocument xml, XmlNode parent, TreeNodeCollection nodes)
{
foreach (TreeNode node in nodes)
{
XmlNode child = xml.CreateNode(XmlNodeType.Element, "node", null);
XmlAttribute xa = xml.CreateAttribute("name");
xa.Value = node.Name;
child.Attributes.Append(xa);
xa = xml.CreateAttribute("text");
xa.Value = node.Text;
child.Attributes.Append(xa);
_SaveToXml(xml, child, node.Nodes);
parent.AppendChild(child);
}
}
ツリーを総なめしながら同時にXMLDocumentを作成して最後に保存。
0220209
2007/10/09(火) 01:02:37XMLファイルからXMLDocumentを作成して
XMLDocumentを総なめしながらツリーを構築。
public void LoadFromXml(TreeView tree, string fileName)
{
XmlDocument xml = new XmlDocument();
xml.Load(fileName);
XmlNode xnode = xml.DocumentElement;
_LoadFromXml(xnode, tree.Nodes);
}
void _LoadFromXml(XmlNode parent, TreeNodeCollection nodes)
{
foreach (XmlNode child in parent.ChildNodes)
{
if (child.Name == "node")
{
TreeNode node = new TreeNode();
node.Name = child.Attributes["name"].Value;
node.Text = child.Attributes["text"].Value;
nodes.Add(node);
_LoadFromXml(child, node.Nodes);
}
}
}
エラー処理とかまったく書いてないんでその辺は補って。
つか便利そうなんで俺もこれ使うw
0221デフォルトの名無しさん
2007/10/09(火) 01:04:050222デフォルトの名無しさん
2007/10/09(火) 01:05:36TreeViewとXMLの相性は抜群だな。
0223174
2007/10/09(火) 02:21:28これで簡単に出来ました
どうも有難うございましたm(__)m
0224デフォルトの名無しさん
2007/10/09(火) 03:23:43バージョンが無い場合の例外に対する警告を表示させたいのでtryで囲もうと思うのですが、
例外が発生するのは何をはじめてやったときなのでしょうか?
0225デフォルトの名無しさん
2007/10/09(火) 05:36:16スレ違いでしたらすいません。
<Ellipse Width="300" Height="300" Canvas.Top="50" Canvas.Left="50" Fill="Transparent" Stroke="Black" StrokeThickness="1"/>
このような楕円がCanvas内にあります。
任意の座標が、この楕円の境界線上にあるかどうかを調べるにはどうすればよいのでしょうか。
0226デフォルトの名無しさん
2007/10/09(火) 07:34:30楕円の式に突っ込めばよくね?
0227デフォルトの名無しさん
2007/10/09(火) 08:10:27(x-50)*(x-50)/(150*150) + (y-50)*(y-50)/(150*150) == 1
ただ、今後楕円だけじゃなくて、もっと複雑な曲線についても同様なことをするつもりなので、
ちょっとこれではだめそうです。
説明不足ですいませんでした。
0228デフォルトの名無しさん
2007/10/09(火) 10:25:11宜しいでしょうか?
SELECT A,B
FROM TABLE
このようなSQLを取得し、AだけをDataGridに表示させたいのですが・・・・。
0229デフォルトの名無しさん
2007/10/09(火) 10:28:420230デフォルトの名無しさん
2007/10/09(火) 10:47:21http://msdn2.microsoft.com/ja-jp/library/ms752097(VS.80).aspx
このサンプルを参考にして、intersectionDetailがIntersectionDetail.Intersectsのときに
境界線上にあると判断したらいいんじゃね
0231230
2007/10/09(火) 10:50:45http://msdn2.microsoft.com/ja-jp/library/ms750584(VS.80).aspx
0232デフォルトの名無しさん
2007/10/09(火) 19:32:18ありがとうございます。
なんとか解決することができました。
0233デフォルトの名無しさん
2007/10/09(火) 23:31:33動的に内容が変化しない部分が多く WriteStartElement などのメソッド呼び出しが酷く無駄に思えるのですが、
その部分を手っ取り早く埋め込むのに良い方法はありませんか?
0234デフォルトの名無しさん
2007/10/09(火) 23:41:590235デフォルトの名無しさん
2007/10/10(水) 16:05:44ただ、固定的な図ではなくて、データによって変えたいのですが苦戦しています。
今、考えているのが、テキストでデータを与える形です。
(1,2はノード1からノード2へ繋がるということ)
1,2
1,3
2,4
3,4
のようにデータを与えます。
ただ、実際に描画を実現させることはできていません。
ほとんどプログラムが思い浮かばない状態なのですが、c#は図形絵画の関数が豊富なので、やってみたいと思いました。
図が描画できればokなので、生成されたノードなどをマウスで操作するなどは必要ないです。
アドバイスお願いします。
0236デフォルトの名無しさん
2007/10/10(水) 16:07:230237デフォルトの名無しさん
2007/10/10(水) 16:25:32グラフ理論とかの知識があればいいのか?
0238デフォルトの名無しさん
2007/10/10(水) 16:39:42どういうのがいいのか俺にはわからん
考えられる案としては、点三つなら正三角形、四つなら正方形・・・と増やしていって、
あるとこまで行ったらそれを縮小してその外側に三角形、四角形・・・と増やしていく
それを繰り返していく感じかな
0239デフォルトの名無しさん
2007/10/10(水) 16:50:20それだと三角形・四角形が増えたときに
結びたい点と点の間に別の点が入ってきたりしない?
ただ点をとるだけじゃなくて線がどのように引かれるかも考えないといけないから大変だな。
0240デフォルトの名無しさん
2007/10/10(水) 16:52:25大丈夫だと思うよ
0241デフォルトの名無しさん
2007/10/10(水) 16:57:220242デフォルトの名無しさん
2007/10/10(水) 17:00:060243デフォルトの名無しさん
2007/10/10(水) 19:08:10適当に探してパクれ
0244デフォルトの名無しさん
2007/10/10(水) 19:56:40ミクシなんちゃらってミクシのマイミクとかいうのを
グラフ化するソフトがイカしてたなそういや
0245デフォルトの名無しさん
2007/10/10(水) 21:27:40トーナメント表みたいなのがみやすいと個人的には思う
0246デフォルトの名無しさん
2007/10/10(水) 23:46:49http://www.componentsource.co.jp/products/addflow-suite-net/index.html
グラフ ノード 描画
http://blog.livedoor.jp/sawamur/archives/50713147.html
0247デフォルトの名無しさん
2007/10/11(木) 00:25:09ってのを買ったわけでつが、
どうも内容が薄くて、これは一体?とかこのエラーは何?とか
〜もしたいんだがどうすれば? とか
そういう痒いところに手が届かない本でした
で、もっと突っ込んだ内容のネットワーク本が欲しいんですが
ネットワークに特化した解説書でお勧めなのってありまつか?
0248デフォルトの名無しさん
2007/10/11(木) 00:31:22TCPのサイトや本は死ぬほどあるよ。
0249デフォルトの名無しさん
2007/10/11(木) 00:40:13死ぬほどあるんならひとつくらいあるでしょ?
0250デフォルトの名無しさん
2007/10/11(木) 00:44:160251デフォルトの名無しさん
2007/10/11(木) 00:48:57DOBONチャットを参考にしてみたけど
あれよりいい教材がMSDNにあるなら
トピ名を教えてくれや
0252248
2007/10/11(木) 00:52:020253デフォルトの名無しさん
2007/10/11(木) 02:30:06どうしたら良いでしょう?プロパティをstringにすればできるんですけど、
入力は 16 進でも 10 進でも受け付けるようにしたいんです。
0254デフォルトの名無しさん
2007/10/11(木) 05:07:25解決方法を教えてください。
this.printPreviewControl1.MouseWheel += new MouseEventHandler(printPreviewControl1_MouseWheel);
としているのですが、
private void printPreviewControl1_MouseWheel(object sender, MouseEventArgs e) {
}
を呼び出してくれないのです
0255デフォルトの名無しさん
2007/10/11(木) 05:08:370256デフォルトの名無しさん
2007/10/11(木) 06:05:07TypeConverter 派生クラス書いて TypeConverter 属性につける
0258デフォルトの名無しさん
2007/10/11(木) 10:08:43関数の補間は、どの様にするのでしたっけ?
int PASCAL WinMain(HINSTANCE〜
とかを入れています。
今は何とかカット・ペーストでやっているのですが、泣きが入ります。
関数の入力とか、上手い使い方とか、サイト等を教えてもらえると有り難いです。
0259デフォルトの名無しさん
2007/10/11(木) 10:30:460260254
2007/10/11(木) 15:41:22で、別な質問なのですが、PrintPreviewControlをAcrobatみたいにドラッグで
スクロールするようにしたと思ったのですが、それらしいプロパティなどが
見あたりません。
なにか良い方法を教えてください。
お願いします。
0261デフォルトの名無しさん
2007/10/11(木) 16:17:550262デフォルトの名無しさん
2007/10/11(木) 17:36:43あなたの心の中に
0263デフォルトの名無しさん
2007/10/11(木) 17:37:160264デフォルトの名無しさん
2007/10/11(木) 23:00:04あのなあ、それってプログラム作成って言うの?
最近自分で作らないでサンプルプログラムとか言うやつ増えたなあ
仕組みを調べて自分で作るものだとおもってたけどな。
0265デフォルトの名無しさん
2007/10/11(木) 23:42:000266デフォルトの名無しさん
2007/10/12(金) 00:19:470267デフォルトの名無しさん
2007/10/12(金) 01:21:150268デフォルトの名無しさん
2007/10/12(金) 01:27:140269デフォルトの名無しさん
2007/10/12(金) 01:42:190270デフォルトの名無しさん
2007/10/12(金) 01:59:03ところでフレームワークのネイティブ周りの構造体で
引数なしのデフォルトコンストラクタの中でメンバを初期化してるやつがあるんだけど
あれはどうやってるの?
0271デフォルトの名無しさん
2007/10/12(金) 02:14:01設計資料などを公開しない限りソースだけでライブラリ全体を把握できる奴なんて極少数
0272デフォルトの名無しさん
2007/10/12(金) 02:24:16C#以外の言語、例えばMSILを使えば作れる。
でも期待したところでコンストラクタ呼び出しが行われなかったりすることがあるので
素人にはお勧めできない。
たとえばArray.Initializeとか知らないと嵌りそうだね。
ttp://msdn2.microsoft.com/ja-jp/library/system.array.initialize(VS.80).aspx
0273デフォルトの名無しさん
2007/10/12(金) 11:03:13C#で書いているんですが、100枚の画像を順に表示するプログラムを組みたいのですが、
keyUpで次の画像へ、keyDownで前の画像を表示したいのですが、画像の場所を100枚ともあらかじめ指定しないといけないのでしょうか?
001.jpgから100.jpgまでfor文か何かで回すにはどうすればよいのでしょうか?
0274デフォルトの名無しさん
2007/10/12(金) 11:22:35iに回数が入っているわけだから
0275デフォルトの名無しさん
2007/10/12(金) 11:24:460276デフォルトの名無しさん
2007/10/12(金) 11:50:52i.ToString("000")+".jpg" だな
0277デフォルトの名無しさん
2007/10/12(金) 12:23:20リトルエイディアンに従ったバイト配列の扱いなのですが、
0x12345678
をbyte配列にしようとしたら
i = 0x12345678;
byteArray = BitConverter.GetBytes(i);
Console.WriteLine(BitConverter.ToString(byteArray));
のようにすればいいのはわかったのですが、
逆に 0x78 0x56 0x34 0x12を
uint配列に0x12345678のように格納するにはどのようにすればいいのでしょうか?
お願いします。
0278デフォルトの名無しさん
2007/10/12(金) 12:45:37例えば10と2だと 12、8、20、5が答えですが、
実行すると一気に4つ表示されるのですが、1秒おきに表示させる方法ってどうすればいいのでしょうか?
最初に足し算の12が表示され、1秒後に引き算の8が表示される、というものです
0279デフォルトの名無しさん
2007/10/12(金) 12:47:340280デフォルトの名無しさん
2007/10/12(金) 12:52:36byte配列をuintに格納するって話だよな?
ビットシフトを使うと良いよ。
uint i = 0x12345678;
byte[] byteArray = BitConverter.GetBytes(i);
Console.WriteLine(i.ToString("x"));
uint j = (uint)((byteArray[3] << 24) + (byteArray[2] << 16) + (byteArray[1] << 8) + byteArray[0]);
Console.WriteLine(j.ToString("x"));
出力
12345678
12345678
0281280
2007/10/12(金) 12:55:01BitConverter.ToUInt32
こっちの方が簡単そうだ。
0282デフォルトの名無しさん
2007/10/12(金) 12:56:16if (mouseDown()) {
i++;
}
は使えないんでしょうか?エラーが出てしまいます
こうしたい場合、どうすればよいでしょうか?
0283デフォルトの名無しさん
2007/10/12(金) 12:59:550284デフォルトの名無しさん
2007/10/12(金) 13:01:57その中の文字列を右寄せにしたのですが、どのようにやれば良いのでしょうか?
TextBoxなどと違ってTextAlignプロパティが無いので、何か強引な方法でもいいので
解決方法を教えてください。
0285282
2007/10/12(金) 13:06:07すいませんよく分かりません
最初が0で、クリックするたびに数字が1増えて表示されるプログラムを作ろうとしています。
学び始めたばかりなのでホントよく分かってない状況です。
0286デフォルトの名無しさん
2007/10/12(金) 14:21:35オーナードロー
>>285
mouseDown()ってのはどこから出てきたんだろうね?
そのクリックされるコントロールにClickイベントを付ければいいよ
0288デフォルトの名無しさん
2007/10/12(金) 18:33:460289デフォルトの名無しさん
2007/10/12(金) 18:37:220290デフォルトの名無しさん
2007/10/12(金) 22:30:38今、treeViewを印刷できるようにしたいと思い、treeViewを画像にして(ビットマップなどの)
印刷しようと考えています。
または、画像にしないでtreeViewを印刷する方法があれば教えてください。
よろしくお願いします。
0291デフォルトの名無しさん
2007/10/12(金) 22:43:45BitmapのデバイスコンテキストにBitBlt
0292デフォルトの名無しさん
2007/10/12(金) 23:28:400293デフォルトの名無しさん
2007/10/13(土) 00:10:26"ddd, d MMM yyyy H:m:s zzz" かと思ったのですが、どうもタイムゾーンの書式が違うみたいで……
0294デフォルトの名無しさん
2007/10/13(土) 00:17:262行目とか3行目だと、ちゃんと値(?)が入ってるのですが
0295デフォルトの名無しさん
2007/10/13(土) 00:18:50zzzは+9:00とかその辺
0296デフォルトの名無しさん
2007/10/13(土) 00:21:49で普通に通った。
0297デフォルトの名無しさん
2007/10/13(土) 00:29:29なんですとー(;´Д`)
って、これ RFC1123 の先行セロを省略したパターンか。
"ddd, d MMM yyy H:m:s GMT" でパースできました。すいませんありがとうございます。
ちなみにほかの書式もいっぱい突っ込んであるんで ParseExact で一気にやるつもりでいました。
0298デフォルトの名無しさん
2007/10/13(土) 00:47:050299デフォルトの名無しさん
2007/10/13(土) 01:11:25C#でフォルダのパスを指定すると、そのアカウント一覧を取得するというのをやってみたいのですが
そういうライブラリってあるのでしょうか?
0300デフォルトの名無しさん
2007/10/13(土) 02:37:19とりあえずVBの質問はこちらでどうぞ。
VB.NET質問スレ
http://pc11.2ch.net/test/read.cgi/tech/1189038267/l50
あとちょっとはググれw
Visual Basic .NETは遅いのか!? − @IT
ttp://www.atmarkit.co.jp/fdotnet/vbcheer/vbcheer08/vbcheer08.html
0301デフォルトの名無しさん
2007/10/13(土) 03:38:29あんな極端な例出されても意味がないわ。
0302デフォルトの名無しさん
2007/10/13(土) 03:51:02何系なら許せるか考えてたら、なにも浮かばなかった・・・
0303デフォルトの名無しさん
2007/10/13(土) 06:08:280304デフォルトの名無しさん
2007/10/13(土) 06:09:40>グラフィック系やシステム常駐系のアプリ
XNAとかASP.NETのことかーーーー!
ttp://jp.youtube.com/results?search_query=XNA
0305デフォルトの名無しさん
2007/10/13(土) 06:19:25Directory.GetAccessControl...かな
0306デフォルトの名無しさん
2007/10/13(土) 12:11:10Paint.netで金を取ることは不可能でしょ
あんなの1円の価値もなくね?
Paint.net程度ならC/Win32APIで書いても大した工数掛からない
0307デフォルトの名無しさん
2007/10/13(土) 12:16:040308デフォルトの名無しさん
2007/10/13(土) 12:21:491円の価値もないお前が言ったところで…
0309デフォルトの名無しさん
2007/10/13(土) 12:27:510310デフォルトの名無しさん
2007/10/13(土) 12:31:13対応フォーマットが多いし使いやすい
0311デフォルトの名無しさん
2007/10/13(土) 12:34:42またまた川俣にからむいつもの人かな?w
NGENに意味はあるし、極端な例って具体的になんのことよ?
0312デフォルトの名無しさん
2007/10/13(土) 13:14:410313デフォルトの名無しさん
2007/10/13(土) 13:16:280314デフォルトの名無しさん
2007/10/13(土) 14:23:390315デフォルトの名無しさん
2007/10/13(土) 14:25:550316デフォルトの名無しさん
2007/10/13(土) 14:26:570317デフォルトの名無しさん
2007/10/13(土) 14:27:560318294
2007/10/13(土) 14:29:120319デフォルトの名無しさん
2007/10/13(土) 14:50:310320デフォルトの名無しさん
2007/10/13(土) 14:56:28なんかよく分からんが100000行のメソッドなんて作らんだろう。
仮に1000行レベルだったら差は100分の1だぜ。
1000行でもまず作らんと思うが。
0321デフォルトの名無しさん
2007/10/13(土) 14:58:430322デフォルトの名無しさん
2007/10/13(土) 14:59:42ngenが無意味だとは言わんが、明らかに効果があるというような場面は限られてる。
0323デフォルトの名無しさん
2007/10/13(土) 15:02:00JITの意味分かってないだろ。
起動時にいきなり自作コード100000行も実行が必要なGUIアプリなんかそうそうないわ。
0324デフォルトの名無しさん
2007/10/13(土) 15:43:14正規表現は常にコンパイルオプションつけた方が速いと思ってるやつもいるな。
0325デフォルトの名無しさん
2007/10/13(土) 21:59:23int型の場合は
int [] val = new int[3] {1,2,3};
とすれば良いのはわかるのですが、
クラス宣言時に初期化するにはどうしたら良いのでしょうか。
以下のクラスのstr1に"aaa"、str2[0]に"bbb", str2[1]に"ccc"
をクラス宣言時に設定したいのです。
class Test {
string str1;
string str2[];
}
Test [] tObj = new Test[2];
tobj[0]=new Test();
tObj.str1 = "aaa";
tObj.str2[0] = "bbb";
tObj.str2[1] = "ccc";
今、こんなカンジなんですけど。。。
0326デフォルトの名無しさん
2007/10/13(土) 22:09:060327デフォルトの名無しさん
2007/10/13(土) 22:11:57Test[] tObj = { new Test("aaa", new string[]{"bbb", "ccc"}), new Test("aaa", new string[]{"bbb", "ccc"})
0328デフォルトの名無しさん
2007/10/13(土) 22:13:080329デフォルトの名無しさん
2007/10/13(土) 22:13:19ふらっとスレであまり叩くのもどうかとも思うが、
そもそも325は言ってることがオカシイんだよ。
>int [] val = new int[3] {1,2,3};
これがメソッド内のローカル変数の初期化のことを言っているのなら、
クラスのフィールドの初期化に関しても書き方は何もかわらなし、
型がint[]だろうがstring[]だろうが変わらない。
0330デフォルトの名無しさん
2007/10/13(土) 22:21:460331デフォルトの名無しさん
2007/10/13(土) 22:27:280332デフォルトの名無しさん
2007/10/13(土) 22:31:31こんな感じになるの?
0333デフォルトの名無しさん
2007/10/13(土) 22:31:33インスタンスのプロパティやらフィールドといったメンバの初期化を
配列のように列挙して記述する方法があるか?って話だろ。
でC#3.0ならある程度できる。それより前のC#ではできない。
というだけの話で、つまりお前は何が言いたい?
0334デフォルトの名無しさん
2007/10/13(土) 22:32:100335デフォルトの名無しさん
2007/10/13(土) 22:32:490336デフォルトの名無しさん
2007/10/13(土) 22:32:53プロパティ名=
を忘れてた
0337デフォルトの名無しさん
2007/10/13(土) 22:41:13str2フィールドに対して宣言時に値を設定したいと>>325を解釈することもできる
0338デフォルトの名無しさん
2007/10/13(土) 22:53:31どうもありがとうございます。
メンバ変数の定義にCの様に初期値をかけないものかと
思って質問しました。
class Test {
string str1;
string str2[];
public Test(string p1, string [] p2) {
str1 = p1;
string [] str2 = new string[2];
str2[0] = p2[0];
str2[1] = p2[1];
}
}
class MyClass
{
Test [] tObj = new Test[2] {
{"aaa", {"bbb", "ccc"} },
{"aaa", {"bbb", "ccc"} }
};
public static void Main(string[] args)
}
}
の様に書けばいいのですね。
ありがとうございました。
今まではMainの中で初期化部分を書いていました。
0339デフォルトの名無しさん
2007/10/14(日) 10:52:36なんぞこれ
0340デフォルトの名無しさん
2007/10/14(日) 12:26:06配列の複製はArray.CopyかCloneを使え
0341デフォルトの名無しさん
2007/10/14(日) 12:30:31〜を使え(w
〜しろ(w
0342デフォルトの名無しさん
2007/10/14(日) 12:34:320343デフォルトの名無しさん
2007/10/14(日) 12:40:08加齢臭?
0344デフォルトの名無しさん
2007/10/14(日) 13:55:250345デフォルトの名無しさん
2007/10/14(日) 16:36:16一度Labelをクリックした後、スクリーン上のどこかをクリックするまでのMouseMoveイベント
とMouseClickイベントをLabelで取得したいのですが、どのようにしたらいいでしょうか?
SetCapture()も使ってみましたが、上手くいきませんでした。
よろしくお願いします。
0346デフォルトの名無しさん
2007/10/14(日) 16:57:51どうしたら良いでしょうか?
0347デフォルトの名無しさん
2007/10/14(日) 17:03:090348デフォルトの名無しさん
2007/10/14(日) 17:05:29treeviewはインデックス番号でデータを管理しているわけではないのでしょうか?。
0349デフォルトの名無しさん
2007/10/14(日) 17:07:160350デフォルトの名無しさん
2007/10/14(日) 17:14:12つまりプログラム側からアイテムを選択させる方法はないという事になるのかな?
0351デフォルトの名無しさん
2007/10/14(日) 17:18:440352デフォルトの名無しさん
2007/10/14(日) 17:23:321.Listコレクションの内容を全て削除する方法を教えてください。
2.Directory.GetDirectoriesなどのライブラリでパスを指定したら
それ以下の全てのディレクトリを返すメソッドを教えてください。
Directory.GetDirectoriesだとサブディレクトリしか返さないようなので。
一番下の階層のディレクトリも返すようなものがあれば教えてください。
0353デフォルトの名無しさん
2007/10/14(日) 17:25:471. List<>.Clear
2. 再帰的に適用すれ
0354デフォルトの名無しさん
2007/10/14(日) 17:28:05MSDN読めよ阿呆か
1. Clear
2. SearchOption
0355デフォルトの名無しさん
2007/10/14(日) 18:13:34昨日から始めました、みたいな初心者はまず「型」に気をつけよう
>>346とかみたいのはMSDNをちらっとでもいいから見て
(もしくはVS使ってるならF1キー押して)
public TreeNode SelectedNode { get; }
って書いてあるのを探す。この場合SelectedNodeプロパティの型はTreeNode型ね。
5、てのはまあint型だから設定できない。
つーか、これはgetしかないから設定できないけどね。
手っとり早く言うと
TreeNode.Selected というプロパティ。
public bool Selected { get; set; }
ってあるからset出来るね。
node.Selected = true;が答え。
0356デフォルトの名無しさん
2007/10/14(日) 18:24:04> public TreeNode SelectedNode { get; }
> つーか、これはgetしかないから設定できないけどね。
落ち着け、それはSystem.Web.UI.WebControlsの方だw
0357デフォルトの名無しさん
2007/10/14(日) 18:46:10あらまぁはじかしぃw
つーか検索する文字列つっこんでWeb.UIが先にでてくるなんてブツブツ
フィルターさせてほしいよまったくブツブツ
0358346
2007/10/14(日) 18:50:090359デフォルトの名無しさん
2007/10/14(日) 20:05:030360デフォルトの名無しさん
2007/10/14(日) 20:57:41C言語のfreeみたいなのって無いんでしょうか?
それともとりあえずNULLをセットしとけば良いっすか?
0361デフォルトの名無しさん
2007/10/14(日) 20:58:45nullセットすればよし
0362デフォルトの名無しさん
2007/10/14(日) 21:01:16基本は放置
IDisposable だけ Dispose
0363デフォルトの名無しさん
2007/10/14(日) 21:15:160364デフォルトの名無しさん
2007/10/14(日) 21:22:38C/C++にはなかったってだけで
0365デフォルトの名無しさん
2007/10/14(日) 21:26:070366デフォルトの名無しさん
2007/10/14(日) 21:36:07(メモリの管理はライブラリに責任移して)
プログラマはメモリの解放しなくていいようにしてたけどね。
0367デフォルトの名無しさん
2007/10/14(日) 22:35:570368デフォルトの名無しさん
2007/10/15(月) 01:07:390369デフォルトの名無しさん
2007/10/15(月) 08:29:040370デフォルトの名無しさん
2007/10/15(月) 09:46:15何形式ですか?bmp32bitは使えないようですし、ICOも使えない。png32bitってVista
からだったようなのでXPだとどの形式なのかわからんのです。
あと、ImageTransparentColorにalphaとかないので、もしかしてalphaブレンド
できないんですかね?でもWindowsアプリのツールバーアイコン見てると
確実にalphaブレンドしてるのですが・・・(XPで)
0371デフォルトの名無しさん
2007/10/15(月) 12:26:04>png32bitってVista からだったようなので
初心者が何も行動を起こす前にうだうだ言っててどうするんだよ。
まず実際やってみれ。
質問なんてのは、それでダメだということがはっきりしてからやるもんだろ。
0372デフォルトの名無しさん
2007/10/15(月) 12:54:15答えれないなら書き込むなよ馬鹿が。
0373デフォルトの名無しさん
2007/10/15(月) 15:20:34TextWriterTraceListenerのTraceOutputOptionsが使えるな?と、
TraceOutputOptionsにDateTimeを設定してみたんだけど、出力されない。
教えてください。
0374デフォルトの名無しさん
2007/10/15(月) 15:22:53png32bitで出来る。
0375デフォルトの名無しさん
2007/10/15(月) 17:56:04自分で作ってみたけどわけわかめなのでorz
どなたか知っていたら教えてください。
0376375
2007/10/15(月) 17:56:470377デフォルトの名無しさん
2007/10/16(火) 01:19:14特許に引っ掛かるからないんじゃない?
0378デフォルトの名無しさん
2007/10/16(火) 02:26:37RC6の仕組み知らんけど、初期ベクタとかパディングとかどうなのかね
0379デフォルトの名無しさん
2007/10/16(火) 12:33:58自分も仕組みは詳しく知らんけど↓はRC6対応してるって書いてある。
ttp://www.programmersheaven.com/download/54166/download.aspx
0380デフォルトの名無しさん
2007/10/16(火) 12:35:01Log4Netを使うのは駄目なん?
0381デフォルトの名無しさん
2007/10/17(水) 02:24:03TreeViewのノードドラッグ移動について質問です。
ドキュメントアウトラインのようにドラッグ中、ノードとノードの間に横線(━━━━)を入れたいのですが
TreeViewコントロールにそういう機能は付いてないのでしょうか?
なければ自分で線を描画するしかないですよね?
0382デフォルトの名無しさん
2007/10/17(水) 02:27:24初期化ベクタに何を指定すればS-Boxを使用した際と同等の暗号化が出来るのでしょうか?
それとも私は根本的な勘違いをしてるのでしょうか?
ご教授お願いします。
0383382
2007/10/17(水) 04:07:080384デフォルトの名無しさん
2007/10/17(水) 06:03:50yes
0385デフォルトの名無しさん
2007/10/17(水) 15:40:04なんぞや!!こんな便利なものが。検討してみますthx
0386デフォルトの名無しさん
2007/10/17(水) 18:50:46関数名や変数名を一括変更する要領で、
名前空間を一括変更したいのですが、どうすればいいでしょうか?
0387デフォルトの名無しさん
2007/10/17(水) 19:05:02同じ名前空間が複数のプロジェクトを跨いで存在したらどういうことになるか考えれば。。
0388デフォルトの名無しさん
2007/10/17(水) 19:12:140389デフォルトの名無しさん
2007/10/17(水) 19:19:200390デフォルトの名無しさん
2007/10/17(水) 20:57:50expressって複数のプロジェクト持てるの???
0391デフォルトの名無しさん
2007/10/17(水) 21:24:38なんで出来ないと思うの?
0392デフォルトの名無しさん
2007/10/17(水) 21:44:410393デフォルトの名無しさん
2007/10/18(木) 02:42:17ができないのですが、これってどうにかなりませんかね?
XMLにするとサイズが馬鹿みたいにでかくなるし…
0394デフォルトの名無しさん
2007/10/18(木) 08:21:35試してないけど、2.0以降ならこれでいけるらしいよ。
http://msdn2.microsoft.com/ja-jp/library/ms229752(VS.80).aspx
0395デフォルトの名無しさん
2007/10/18(木) 10:15:47それってどういう状況での話?
構造に変化が無ければバージョン変わってもいけなかったっけ?
0396デフォルトの名無しさん
2007/10/18(木) 11:29:500397デフォルトの名無しさん
2007/10/18(木) 11:32:150398デフォルトの名無しさん
2007/10/18(木) 14:11:300399デフォルトの名無しさん
2007/10/18(木) 14:12:340400デフォルトの名無しさん
2007/10/18(木) 14:15:080401デフォルトの名無しさん
2007/10/18(木) 14:18:090402デフォルトの名無しさん
2007/10/18(木) 15:08:550403393
2007/10/18(木) 15:55:39>> 394
バージョンだけが違う場合でも逆シリアライズ出来ないのでちょっと違いますね。
>>395
中身は全く変えてないのですが、バージョンが違うとだめみたいです。
0405デフォルトの名無しさん
2007/10/18(木) 16:53:43例えば480x360の画像ファイルの真ん中240x180分を480x360に拡大する、というふうにしたいのです
どのように書けばよいでしょうか?
0406デフォルトの名無しさん
2007/10/18(木) 17:06:56やっぱISerializableインターフェース実装してカスタム化するしかないんじゃないかな
0407デフォルトの名無しさん
2007/10/18(木) 17:40:29マジっすか…orz
それなら始めから実装しときゃ良かった。今から10数個分も修正とか考えたくない…
今気づいたのですが、コンパイル時に参照に加えたものと動的にアセンブリを
読み込んだときってBinaryFormatterの動作って違いますか?
バージョン違いのみでも読み込めるものとそうでないものが出てきたのですが…
0408デフォルトの名無しさん
2007/10/18(木) 17:40:49Bitmap bmp = new Bitmap( 480, 360 );
using( Graphics g = Graphics.FromImage( bmp ) )
{
g.DrawImage( bmpOriginal,
new Rectangle( 120, 90, 240, 180 ),
new Rectangle( 0, 0, 480, 360 ),
うんちゃら単位.Pixel );
}
みたいな感じ? うろ覚えだけど
0409デフォルトの名無しさん
2007/10/18(木) 18:25:41>バージョンだけが違う場合でも逆シリアライズ出来ない
え?そんなことどこにも書いてないと思うけど。。
0410デフォルトの名無しさん
2007/10/18(木) 19:05:18重要な情報が多分抜けてる。
動的な読み込みって、LoadFrom使ってるんじゃないかい?
0411デフォルトの名無しさん
2007/10/18(木) 21:30:43ソースコードをドットネットフレームワークというのが
ネイティブコードにして実行してると聞いたのですが
ネイティブコードに変換した後のEXEファイルを配布することはできますか?
0412デフォルトの名無しさん
2007/10/18(木) 21:41:21ただし効果に期待してはいけません
0413デフォルトの名無しさん
2007/10/18(木) 22:03:36そう?体感できるくらい結構違うけど・・・
まあプログラムの規模とかにも依るのかね。
0414デフォルトの名無しさん
2007/10/18(木) 22:03:38まあ、それはともかく、あんまりする意義はないかも。
JIT コンパイルの重さを気にしてるのかもしれないけど、
デメリットの方が大きい。
0415デフォルトの名無しさん
2007/10/18(木) 22:21:040416393
2007/10/18(木) 22:37:53>>410
LoadFile()を使ってるんですが、これでもだめですかね?
FileStreamとかで読み込んだ後Load()じゃないとだめですか?
0417393
2007/10/18(木) 22:40:12リンク先にはそういったことは書いてませんが、今回発生してるのが
バージョンのみしか違わない場合でも逆シリアライズ出来ないので
リンク先は直接の解決策にはならなかったという意味でした。
すいません orz
0418デフォルトの名無しさん
2007/10/18(木) 22:59:210419デフォルトの名無しさん
2007/10/18(木) 23:00:33Loadで読めない場所に配置してるような場合は。
っていうかぶっちゃけシリアライズするようなものでLoadFileやLoadFromは使うな。
0420デフォルトの名無しさん
2007/10/18(木) 23:06:235000行くらいのメソッドで試すと、、ngenあるなしで、差は100msくらいだった。
CLRの起動が多少時間かかるので、体感的には100msではごくわずかしか差は無い(Consoleでアプリで)
で、どんなサイズのメソッドを起動時に実行したら、体感できるくらい結構違うの?
0421デフォルトの名無しさん
2007/10/18(木) 23:58:14読み込んでるdllはプラグインの類なのでどうしてもLoadFileを使わないといけないのですが…
AssemblyResolveイベントも試しましたが、イベント自体発生してないみたいで意味なしでした。
あきらめるか… orz
0422デフォルトの名無しさん
2007/10/19(金) 00:10:07>AssemblyResolveイベントも試しましたが、イベント自体発生してないみたいで意味なしでした。
昔やってできたと思ったんだがな。
どういう風にやった?
0423デフォルトの名無しさん
2007/10/19(金) 00:23:04AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(メソッド)
としてイベント追加した後にプラグインの入ったディレクトリからdllファイルを取り出してLoadFile()して、
GetTypes()した後逆シリアライズをするのですが、だめみたいです。
PrivateBinPathですか、ちょっと調べてみます。
0424デフォルトの名無しさん
2007/10/19(金) 00:41:27エラーメッセージってなんてでるの?
ってLoadFileを使ってる理由は?
0425デフォルトの名無しさん
2007/10/19(金) 00:44:50XmlTextWriter での出力のとき、入れ子になった外側のタグを固定して内側を適宜入れ替えたいのですが、例えば
<foo><bar>その1</bar></foo>
<foo><baz>その2</baz></foo>
の出力のときに
StartFooElement(xw); /* ここでその1 */ EndFooElement(xw);
StartFooElement(xw); /* ここでその2 */ EndFooElement(xw);
な感じで Start と End を出力するメソッド作って挟むのが良いのか、それとも
void WriteFoo(XmlTextWriter xmlwriter, XmlWriteDelegate inner) {
xw.WriteStartElement("foo");
inner(xw);
xw.WriteEndElement();
}
なメソッド作ったほうが良いのか、それとも別の方法か……誰か好みでもいいので決めていただけませんか?
0426デフォルトの名無しさん
2007/10/19(金) 00:45:21ファイル名(アセンブリ名と同じというルールで)を一覧で取得して、
LoadFromでいったん全部読み込んでから処理とかじゃだめ?
あるいはPrivateBinPathにプラグインフォルダを追加して、
同じようにファイル名取得してLoadで読んでから。
まあこれはサブディレクトリの場合しかできないけど。
0427デフォルトの名無しさん
2007/10/19(金) 00:57:38ngenですか
>>414
実行時に環境に合わせた最適なコンパイルがされているようですが
JITコンパイルの重さではなく、
ドットネットフレームワークがないと動かないのを嫌気しています
ネイティブコードにコンパイルしているなら
それを直接配布すればいいのでは?と思ったわけです
0428デフォルトの名無しさん
2007/10/19(金) 01:00:34.NET Framework を呼び出すネイティブコードを生成してるんだよ
0429デフォルトの名無しさん
2007/10/19(金) 01:02:20XSD定義が好き
0430デフォルトの名無しさん
2007/10/19(金) 01:06:090431デフォルトの名無しさん
2007/10/19(金) 01:08:12うは、まじですか?
てっきりWinAPIとかを呼び出すネイティブコードだと思ってたのに
つまりフレームワークなしで動くネイティブコードの生成は不可能ってことですか
.netじゃないC#にはあったのに・・・・・・・・・・・・・・・・・・・・・・・・・・orz
0432デフォルトの名無しさん
2007/10/19(金) 01:12:09ってなんですか?
0433デフォルトの名無しさん
2007/10/19(金) 01:15:340434デフォルトの名無しさん
2007/10/19(金) 01:21:23アセンブリ:なんかとかかんとか〜publickey:nullが見つかりませんってかんじのです。
>>426
現在すでに全てのプラグインをLoadFileで読み込んでからやるようにしているのですが、
それをLoadFromにするってことですか?
なんだかバイナリをbyte[]にしてLoad()使った方が早い気がしてきた…
0435デフォルトの名無しさん
2007/10/19(金) 01:22:29追記:
LoadFileを使う理由は>>421にあります。
0436デフォルトの名無しさん
2007/10/19(金) 01:30:08一回やってる事をまとめてみないか?
0437デフォルトの名無しさん
2007/10/19(金) 01:32:07かなり遅いんですね。
0438デフォルトの名無しさん
2007/10/19(金) 01:36:03えーっと…… XSD 定義って具体的にどうすれば良いんでしょうか (;゚∀゚)
0439デフォルトの名無しさん
2007/10/19(金) 01:38:38なんかそんなのあったな。
フレームワーク不要! .Netアプリを単体で配布できてで動きます!
(ただし実行ファイルが30MBとか)
0440デフォルトの名無しさん
2007/10/19(金) 01:39:24>.netじゃないC#にはあったのに
をいをい
0441デフォルトの名無しさん
2007/10/19(金) 01:40:51今やりたいことは、プラグインで読み込んだクラスを含むデータをシリアライズ・逆シリアライズすることですが、
データ構造は変えず、アセンブリバージョンのみ違うものを使用すると該当する型がねぇと怒られないようにするにはどうすればいいかということです。
0442デフォルトの名無しさん
2007/10/19(金) 01:43:58アセンブリバージョン固定にしてしまえw
0443デフォルトの名無しさん
2007/10/19(金) 01:45:19xsd知って・・・なさそうだね。
XMLスキーマ定義してxsd.exeでDataSet出力
>>425でいうと
fooにはbar,bazってフィールドがあって
foo.bar= new Bar();
って感じで追加できる。
xsd.exeはxml→xsd→DataSetも出来るから触ってみな
0444デフォルトの名無しさん
2007/10/19(金) 01:51:49プラグインロードアプリ、インターフェース定義、プラグインってDLL別ければ問題なくね?
0445デフォルトの名無しさん
2007/10/19(金) 01:52:08了解しました。ちょっと試してみます。
ご意見ありがとうございました。
0446デフォルトの名無しさん
2007/10/19(金) 01:59:07さすがにそれは…w
>>444
既にそんな感じで分けているのですが、プラグインのアセンブリバージョンが変わると例外が飛んできます orz
0447デフォルトの名無しさん
2007/10/19(金) 02:13:06シリアライズは使わないで自前で適当にxmlとかで出力しろ。
読み込みも同様に自前で実装で。
バージョンアップなどアセンブリの中身が変わっても同じ設定を保持して欲しいと思うだろうから
シリアライズだとそのうち互換性が保てなくなるし
それくらいなら自前で保存と展開処理を書いてしまった方が手っ取り早いし確実かと。
0448デフォルトの名無しさん
2007/10/19(金) 02:30:07>LoadFileを使う理由は>>421にあります。
どうしてもLoadFileを使わなければならないんだ、が理由かいな。
理由になってないだろ。
>現在すでに全てのプラグインをLoadFileで読み込んでからやるようにしているのですが、
>それをLoadFromにするってことですか?
>なんだかバイナリをbyte[]にしてLoad()使った方が早い気がしてきた…
人の言うことを少し冷静に試してみなさいな。
>>426に書いてることを一回試してみ。
0449425
2007/10/19(金) 02:34:43すいません。ちょっと触ってみたんですが微妙に自分の求めているものと異なりまして(´・ω・`)
ちょうど ASP で行うように、静的な部分をどういう風に出力させようかという話題だったんです。
もうちょっと試行錯誤してみます……
0450デフォルトの名無しさん
2007/10/19(金) 02:34:480451デフォルトの名無しさん
2007/10/19(金) 02:40:30AssemblyResolveをハンドリングしながらLoadで試す。
ってか最初から、
1.プラグインフォルダからアセンブリ名を抽出。
2.Loadで読み込み。
3.AssemblyResolveが発生するので、自分でLoadFromして返す。
のがいいかも。
0452デフォルトの名無しさん
2007/10/19(金) 02:53:53DLLとしては参照先が一緒だからロード以降問題
Type参照先がDomainだったりアセンブリだったりしてない?
0453デフォルトの名無しさん
2007/10/19(金) 04:08:29どのように打ち込めば良いのか何方か教えてください
0454デフォルトの名無しさん
2007/10/19(金) 08:24:32僕は君のプログラム構造がどんなものか知らない
0455デフォルトの名無しさん
2007/10/19(金) 08:34:19>>451
プラグインのファイル名がすでにリネームされているのですが…
この場合はどうしたらいいでしょうか?
0456デフォルトの名無しさん
2007/10/19(金) 09:31:58>プラグインのファイル名がすでにリネームされているのですが…
アセンブリの名前を勝手に変えるなよ!原因はそれだ。
モジュール名とDLLのファイル名(拡張子を除く)は一致してなきゃいかん。
0457デフォルトの名無しさん
2007/10/19(金) 11:08:02さすがにバージョンでファイル名変えてるわけじゃないよね?
しかしまあ次から次へと…
アセンブリのロード絡みの問題なんだから
そういう大事なことは先に書かんかい。
0458デフォルトの名無しさん
2007/10/19(金) 11:11:51そんなことせんでもプラグイン実現出来ないことはないだろ。
まあ要件が分からんからなんとも言えんけどさ…
0459デフォルトの名無しさん
2007/10/19(金) 11:16:23LoadFromばかり紹介してるのは勘弁してほしい。
あとそういうのでインターフェイスや基底クラスを使わずに
なんでもかんでもリフレクションでやろうとするのとか。
おかげでまねする奴が続出してほっとくとひどいことになってしまう。
0460デフォルトの名無しさん
2007/10/19(金) 11:22:49何度かリネームしてみましたが読み込めるので
ファイル名が問題と言うことではないみたいですが…
それでもルール違反みたいなので以後気をつけます。
>>457
後出しですいません orz
ファイル名は関係ないと思ってましたが、よく考えて
みれば今の問題にとってはかなり重要ですよね orz
今、テスト用のプラグインを作ってみたところ、AssemblyResolve
イベントが発生してうまく読み込めました。
…どうやらプラグインを作った人が中で何かやってる
みたいで、そこで例外が発生してるかもしれません。
#友人が作ったプラグインなので、本当にそれが原因ならそいつを〆ればいいだけですむのですが…
0461デフォルトの名無しさん
2007/10/19(金) 12:21:38こういう完全修飾名というのはみたことない?
Hogehoge, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL
この名前からGACではなくEXEのあるディレクトリからアセンブリを探す場合は
先頭のHogehogeという名前でを探すことになってる。
LoadFormやCOFFイメージを直接指定するときは名前は影響しないが一致していることが基本。
csc /t:library ddd.cs
ren ddd.dll ccc.dll
csc /r:ccc.dll aaa.cs
でコンパイルして実行してみると何がまずいかわかるはず。
0462デフォルトの名無しさん
2007/10/19(金) 12:41:45コンパイル時には何も出てきませんでしたが、実行すると例外が飛んできました。
これは確かにまずいですね。気をつけます。
先ほどのプラグインの件ですが、やはりプラグイン側が原因でした。
お騒がせしてすいませんでした。 orz
しかし、dllのリネームがまずいことや、それまで気づかなかったバグを
修正することが出来ました。
本当にありがとうございました。
0463デフォルトの名無しさん
2007/10/19(金) 13:07:06シリアライズはバージョン変わるだけで出来ないとか書くなよ。
0464デフォルトの名無しさん
2007/10/19(金) 13:18:47すいません orz
本人はプラグインの処理部分のバグ修正のみをして、リビジョン番号を上げたようなのですが、
データの保存部分でなにかバージョン依存するようなことをしてたようです。
それがたまたま逆シリアライズを含む処理だったらしく、データの逆シリアライズが
出来てないのかと思ってしまいました。
こういうのは始めから「こういう事はやめれ」と言っておくべきでした。
本当にすいません。
0465デフォルトの名無しさん
2007/10/19(金) 23:49:02って異常に遅くないですか?
std::list<>
と比べると使い物にならない
3では改良されているのかしらん?
0466デフォルトの名無しさん
2007/10/19(金) 23:53:30あとデータ構造は分かってる?
0467デフォルトの名無しさん
2007/10/19(金) 23:55:58あとデータ構造は分かっるとはどういう意味?
0468デフォルトの名無しさん
2007/10/19(金) 23:57:080469デフォルトの名無しさん
2007/10/19(金) 23:58:00馬鹿じゃねえのw
0470デフォルトの名無しさん
2007/10/19(金) 23:59:31C++のstd::listと比べるならLinkedListのほうじゃね?
0471デフォルトの名無しさん
2007/10/20(土) 00:00:35いや、何時間かまえによその板でアク禁になってたから、書き込めるかなと思って。
0472デフォルトの名無しさん
2007/10/20(土) 00:00:430473デフォルトの名無しさん
2007/10/20(土) 00:03:120474デフォルトの名無しさん
2007/10/20(土) 00:03:340475デフォルトの名無しさん
2007/10/20(土) 00:16:560476デフォルトの名無しさん
2007/10/20(土) 00:17:260477デフォルトの名無しさん
2007/10/20(土) 00:34:010478デフォルトの名無しさん
2007/10/20(土) 00:39:520479デフォルトの名無しさん
2007/10/20(土) 07:36:20遅い速いの話題はプログラムソースがないと水掛け論になるからロダにアップしてみた。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5107.txt
既出のようにstd::vector = List, std::list = LinkedList で等価。
実行時の過剰な最適化の影響かもしれないが、うちの環境だとC#が勝っとるな。
// C#
List back : 1000000 : 00:00:00.0263092
List front : 100000 : 00:00:08.4251727 x 10
LinkedList back : 1000000 : 00:00:00.3142776
LinkedList front : 1000000 : 00:00:00.5049351
// C++ STL
vector back : 1000000 : 0.03
vector front : 100000 : 11.116 x 10
list back : 1000000 : 0.62
list front : 1000000 : 0.701
0480デフォルトの名無しさん
2007/10/20(土) 08:39:16たぶんだがヒープアロケーションの速度の差じゃない?
最適化が影響しそうなコードにも見えないし。
0481デフォルトの名無しさん
2007/10/20(土) 09:48:020482デフォルトの名無しさん
2007/10/20(土) 10:35:29なんでLinkedList frontがbackより極端に遅いのかと思って、
それぞれのsw.Reset(); 後にGC.Collect()するとbackと同じになった。
あとJavaに書き換えたけど、ArrayList<値型>ってできないんだな。
Win Vista + Core 2 Duo + 2GB
// C#
List back : 1000000 : 00:00:00.0150236
List front : 100000 : 00:00:04.6640524 x 10
LinkedList back : 1000000 : 00:00:00.1925839
LinkedList front : 1000000 : 00:00:00.1954827
// C++ STL
vector back : 1000000 : 0.019
vector front : 100000 : 4.655 x 10
list back : 1000000 : 0.238
list front : 1000000 : 0.239
0483デフォルトの名無しさん
2007/10/20(土) 10:53:410484デフォルトの名無しさん
2007/10/20(土) 11:01:26>って異常に遅くないですか?
>std::list<>
>と比べると使い物にならない
w
0485デフォルトの名無しさん
2007/10/20(土) 11:19:240486デフォルトの名無しさん
2007/10/20(土) 11:38:50それだとboxingしまくりじゃ…
と思いながら参考まで
// Java
ArrayList<Integer> back : 1000000 : 0.278
ArrayList<Integer> front : 100000 : 6.020 x 10
LinkedList<Integer> back : 1000000 : 0.514
LinkedList<Integer> front : 1000000 : 0.215
# LinkedListの第一世代GCで処理時間全体の8割以上かかってる…
0487デフォルトの名無しさん
2007/10/20(土) 12:47:36追加だけならガーベッジは発生しなくないか?
0488デフォルトの名無しさん
2007/10/20(土) 12:52:560489487
2007/10/20(土) 13:01:31STL版は消滅コストもカウントしてるけど
C#版はカウントしてないじゃん。
0490デフォルトの名無しさん
2007/10/20(土) 13:46:11第1世代→第2世代に移動するためのGCと思われ。
GCしてもヒープが減ってない。
C#のコンソールアプリ用のプロファイラってありますか?
0491デフォルトの名無しさん
2007/10/20(土) 14:04:05ずっとこの件でかまって欲しかったらしいな。
----------------------------------------------------
ttp://pc11.2ch.net/test/read.cgi/tech/1190845036
29 :デフォルトの名無しさん:2007/10/02(火) 02:25:51
Formだけが遅いのかと思ったら
Genericも超おせー
.NETってどんな局面で使えるのかさっぱりわからんぞ
----------------------------------------------------
ttp://pc11.2ch.net/test/read.cgi/tech/1191036844/437
437 名前: デフォルトの名無しさん 投稿日: 2007/10/19(金) 01:32:07
.NETアプリってFormが遅いだけでなく、ジェネリックコンテナもSTLと比べると
かなり遅いんですね。
----------------------------------------------------
ttp://pc11.2ch.net/test/read.cgi/tech/1191036844/465
465 名前: デフォルトの名無しさん 投稿日: 2007/10/19(金) 23:49:02
List<>
って異常に遅くないですか?
std::list<>
と比べると使い物にならない
3では改良されているのかしらん?
0492デフォルトの名無しさん
2007/10/20(土) 14:07:520493デフォルトの名無しさん
2007/10/20(土) 14:12:02遅くなりようがない
0494デフォルトの名無しさん
2007/10/20(土) 14:15:13AppDomainのロードとかJITコンパイルとか理解してるとは思えない
0495デフォルトの名無しさん
2007/10/20(土) 14:15:37465もお前さんもどっちもどっちだな。
言っちゃ悪いけどお前さんも相当気色悪いよw
0496デフォルトの名無しさん
2007/10/20(土) 14:17:13CLRProfiler
0497デフォルトの名無しさん
2007/10/20(土) 14:18:160498デフォルトの名無しさん
2007/10/20(土) 16:45:54・GridViewに記述したCheckBoxの値を取る方法
CheckBoxFieldってのがありますが、どうも入力値を取得するためのものとは
思えません。あと、ItemTemplateの中にCheckBoxを入れても、イベントで
どの行がチェックされたかを取得する方法が分かりません。
どうかよろしくお願いいたします。
0499デフォルトの名無しさん
2007/10/20(土) 17:07:13セルをCheckBoxFieldにキャストしたら値取れます。
携帯なので詳しく書けないけど
0500デフォルトの名無しさん
2007/10/20(土) 19:27:07479のソースを試したけど、うまく動作しない。
CLR Starting なんとかというダイアログが出て、その間にソフトの実行が終わって、NullReferenceExceptionで落ちる。
0501デフォルトの名無しさん
2007/10/20(土) 19:35:07バージョンは2.0か?
0502デフォルトの名無しさん
2007/10/20(土) 19:43:220503デフォルトの名無しさん
2007/10/20(土) 23:39:46ありがとうございます。e.RowIndexということは、イベントですよね?
何のイベントでしょうか。
0504デフォルトの名無しさん
2007/10/21(日) 00:05:15DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)dgv.Rows[e.RowIndex].Cells[e.ColumnIndex];
0505デフォルトの名無しさん
2007/10/21(日) 00:08:47おいらはASP.NETは知らんから助言はできんが
0506デフォルトの名無しさん
2007/10/21(日) 00:15:38Java の new Foo() { 〜 } みたいな奴。
0507デフォルトの名無しさん
2007/10/21(日) 00:20:43ただしJavaのとは違ってメソッド定義はできないインターフェイス実装も無理
C/C++の関数内構造体に近い
0508デフォルトの名無しさん
2007/10/21(日) 00:27:32C# は匿名デリゲート使うしね。
0509デフォルトの名無しさん
2007/10/21(日) 00:28:590510デフォルトの名無しさん
2007/10/21(日) 00:37:55うまくキャストする方法がわかりません。
どなたか助言をお願いします。
0511デフォルトの名無しさん
2007/10/21(日) 00:39:30意味がわかんないよう
0512デフォルトの名無しさん
2007/10/21(日) 00:39:59プロパティをnewってなんだ
取りあえずやりたいのを仮想的なコードにしてみれ
0513デフォルトの名無しさん
2007/10/21(日) 00:48:27そのプロパティがIListだとするとIList<T>を実装してない可能性が高いから
IList<T>にキャストするのは無理くさい
素直にList<T>にAddしていくのがいいんじゃないか
0514510
2007/10/21(日) 00:54:58わかりにくくてスミマセン…
こんな↓みたいな感じにしたいのですが、
このままだとItem追加時にキャストでエラーが出てしまいます。
なにかウマイキャスト方法がないかと質問した次第です。
class ListViewEx : ListView
{
public new IList<ListViewItem> Items
{
get
{
return (IList<ListViewItem>)base.Items;
}
}
}
0515デフォルトの名無しさん
2007/10/21(日) 01:19:35{
IList list;
public T this[int index]{
get{ return (T)list[index]; }
set{ list[index] = value; }
}
...
}
こんな感じのものを作ってかぶせてやればいいんだけど
0516デフォルトの名無しさん
2007/10/21(日) 03:36:29IList が IList<> にキャストなんて出来ちゃったらたぶん天地がひっくり返る。
0517デフォルトの名無しさん
2007/10/21(日) 03:42:24まあListViewItemCollectionはそんなことないけど
0518デフォルトの名無しさん
2007/10/21(日) 07:20:150519デフォルトの名無しさん
2007/10/21(日) 08:41:57ありがとうございます。ただ、>>505の方が仰るように、Webアプリなのです。
申し訳ありません、言葉たらずでした。
0520デフォルトの名無しさん
2007/10/21(日) 14:59:190521デフォルトの名無しさん
2007/10/21(日) 16:52:21俺がよく読んでなかったなスマソ。
ボタンなら簡単に選択行取れる仕組みあると思うけど、その他のコントロールなら以下参照して仕組み作りこめばOK
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.gridview.rowcommand(VS.80).aspx
0522デフォルトの名無しさん
2007/10/21(日) 20:14:400523デフォルトの名無しさん
2007/10/21(日) 20:28:10abstract class Base
{
public abstract int Prop { get; }
}
class Derived : Base
{
// エラー: Base.Propにsetがないからoverrideできない
public override int Prop
{
get{ ... }
set{ ... }
}
}
0524デフォルトの名無しさん
2007/10/21(日) 20:41:49Setメソッド用意するなり
0525デフォルトの名無しさん
2007/10/21(日) 20:55:490526デフォルトの名無しさん
2007/10/21(日) 20:59:50e.Node.Nameじゃね?
0527デフォルトの名無しさん
2007/10/21(日) 21:08:24すいません。左クリックというのはToolStripMenuItemなのですがe.Node.Name
では取れないようなのです。
0528デフォルトの名無しさん
2007/10/21(日) 21:09:51そうですか。。。不便ですなあ
0529525
2007/10/21(日) 21:20:50で取れたら良いのですがどうにかできないでしょうか?
0530デフォルトの名無しさん
2007/10/21(日) 21:35:320531デフォルトの名無しさん
2007/10/21(日) 21:44:54インターフェイスならおkだったりする
0532525
2007/10/21(日) 22:30:49あ、右と左が逆になっていました。SelectedNodeだと一度左クリックでノードを選択して更に
右クリックでメニューバーを出さないとそのノードが取れないのです。
0533デフォルトの名無しさん
2007/10/21(日) 22:42:42一からやりたいことを書け。
0534デフォルトの名無しさん
2007/10/21(日) 22:44:56どのコントロールの上でクリックしたときの処理を意図してるのか
さっぱり分からない。
もっと整理して質問してください。はげ。
>>529から推測するに
Point pnt = treeView.PointToClient ( Control.MousePosition );
TreeNode tni = treeView.GetNodeAt(pnt.X, pnt.Y);
みたいなことか?
0535デフォルトの名無しさん
2007/10/21(日) 22:59:02void treeView_MouseDown(object sender, MouseEventArgs e) {
if ((e.Button & MouseButtons.Right) != 0) {
TreeNode tn = treeView.GetNodeAt(e.X, e.Y);
if (tn != null) treeView.SelectedNode = tn;
}
}
これでOK
0536510
2007/10/21(日) 23:28:42うーんそれだとForm側でのItem追加がうまくいかないのです…
>>515
なるほど、ラッパーで対応ですか。
その方法が確実っぽい気がするので、実装してみます。
ありがとうございました。
0537デフォルトの名無しさん
2007/10/21(日) 23:29:550538デフォルトの名無しさん
2007/10/21(日) 23:46:150539デフォルトの名無しさん
2007/10/22(月) 00:11:020540デフォルトの名無しさん
2007/10/22(月) 00:15:310541デフォルトの名無しさん
2007/10/22(月) 00:18:49なんか設定すれば動いた気がする
ググればたぶん出てくるよ
0542デフォルトの名無しさん
2007/10/22(月) 00:21:38ソースちょっと弄ってビルドしなおせば動いた気がする。
0543デフォルトの名無しさん
2007/10/22(月) 00:22:44ありがとう。もっとよく探ってみます。
0544デフォルトの名無しさん
2007/10/22(月) 00:47:53.configでしょ?
でも不具合あるし、開発止まってる。
俺は修正して使ってたけどsandcastleがUIとかも増えてきたからそっちに使うようにした。
0545デフォルトの名無しさん
2007/10/22(月) 01:37:01ああ、そんなんでいいんかな。
デバッガで例外おって適当に書き換えたからよくわかんね。
0546デフォルトの名無しさん
2007/10/22(月) 10:49:01スレッドのやつとフォームじゃないもう一つのやつと、
どっちつかえばいいですか?
0547デフォルトの名無しさん
2007/10/22(月) 12:38:23タイマーのは結局単なるラッパーだし。
0548デフォルトの名無しさん
2007/10/22(月) 13:24:37アプリの設定ファイルでapp.configと
settingsファイルってどっち使っても良いんですかね?
この二つに違いってありますのん?
0549デフォルトの名無しさん
2007/10/22(月) 16:07:20まあアプリケーションスコープの設定なら一緒みたいなもんだけど。
てか設定もapp.configに書かれるし。
0550デフォルトの名無しさん
2007/10/22(月) 18:41:49テキストボックスに入力された値が入力してほしい値(日付とか)じゃない場合に
それ以降の処理を中断させる、というのやりたいのですが、どうすればよいのでしょうか?
クライアント側での制御の仕方は分かるのですが、サーバー側でチェックした時の処理の方法がいまいちわからないです
0551デフォルトの名無しさん
2007/10/22(月) 19:35:24描画した後の直線部分をクリックして移動したり、端をクリックして線の長さや角度を変えたりしたいんですが、
直線自体をオブジェクトにして、振る舞いを記述したら楽だと考えたので。
0552デフォルトの名無しさん
2007/10/22(月) 20:05:21みたいな感じじゃね
WPF使うと楽かも
0553デフォルトの名無しさん
2007/10/22(月) 20:12:06Line の端に Ellipse でも置いて、
Ellipse の Click イベントに DragMove() 書いて、
Ellipse の Canves.Left, Canvas.Top を
Line の X1, X2, Y1, Y2 とバインドしとくとかかな。
0554デフォルトの名無しさん
2007/10/22(月) 20:56:080555デフォルトの名無しさん
2007/10/22(月) 20:59:47WPFにはドローツールのサンプルもあるし
0556デフォルトの名無しさん
2007/10/22(月) 21:05:46実際>>551が何を期待してるか読み取れないし。
>直線自体をオブジェクトにして、振る舞いを記述したら楽だと考えたので。
とあるように、技術面はクリアしていて記述自体はできるのかも。
0557デフォルトの名無しさん
2007/10/22(月) 21:07:57あんたもトロいなあ。。
じゃあ通常の質問スレで質問したら初心者向けに誰か解説してくれるの?
どうせあんたみたいのはそっちで質問したらしたで「ふらっと池」って言うのが目に見えてるよ。
0558デフォルトの名無しさん
2007/10/22(月) 21:19:31通販サイトとかだと、中断されないな。
受信内容チェックしておかしかったら、再度入力しなおすように表示するだけ。
例:
電話番号が入力されていません。
電話番号を記入してください。
0559デフォルトの名無しさん
2007/10/22(月) 21:29:14this.TopMost = true;
Form2 form2 = new Form2
form2.ShowInTaskbar = false;
f.ShowDialog(this);
ShowDialogにthisを書いとかないと
Form1の後ろに表示します。
で、問題なのは実体化したform2を最小化しようと
右上の最小化ボタンを押したときの挙動。
普通はForm1共々最小化されるはずなのに
左下に逃げるのはバグですかね?
Form1のTopMostがfalseの時は普通の動作です。
何か対処方法はありませんでしょうか?
0560デフォルトの名無しさん
2007/10/22(月) 21:32:00でたーバグ説!
0561デフォルトの名無しさん
2007/10/22(月) 21:34:030562デフォルトの名無しさん
2007/10/22(月) 21:40:55でかいケツ
0563デフォルトの名無しさん
2007/10/22(月) 21:49:09ですと、メモリ上にアップロードファイル全部を持ってきた状態になって
しまうかと思います。
巨大ファイルを扱いたい場合、RequestのStreamから適当なバッファで
ファイルなりDBなりに転送したいんですが、これはASP.Netで可能なので
しょうか。
0564デフォルトの名無しさん
2007/10/22(月) 21:49:360565デフォルトの名無しさん
2007/10/22(月) 21:50:42可能だろ。
0566デフォルトの名無しさん
2007/10/22(月) 21:54:180567デフォルトの名無しさん
2007/10/22(月) 22:02:10自分でやってみたのか?
0568デフォルトの名無しさん
2007/10/22(月) 22:03:11お前が言うなw
>>563
プロパティ名だけで、クラス名(主語)が抜けてない?
アップロードされたらファイルに落とせばいいだけじゃないか?
なぜめんどい方向に持っていこうとする。
さらに、
>MaxRequestLength プロパティと RequestLengthDiskThreshold プロパティを調整することで、
>サーバーのパフォーマンスを微調整できます。また、MaxRequestLength を設定して、
>サーバーに対する大量のファイルのポストによるサービス拒否攻撃を防ぐことも検討してください。
>>562
家では全く解決しません。
0569デフォルトの名無しさん
2007/10/22(月) 22:04:19無理なんですか・・・、了解です
0570デフォルトの名無しさん
2007/10/22(月) 23:05:05主語は例えばprotected System.Web.UI.HtmlControls.HtmlInputFileです。
ここ↓には、
http://support.microsoft.com/kb/323246/ja
「アップロード処理の際には、ASP.NET によってファイル全体がメモリに読み込まれてから、
ファイルがディスクに保存されます。」
とありますね。ASP.Netでは、ポストバック時に必ずそうなってしまう、と考えるべき
なのかどうかを知りたいのです。
0571デフォルトの名無しさん
2007/10/22(月) 23:10:06「それ以降の処理」の直前にチェックしてエラーなら
「それ以降の処理」の部分を通らないようにすればいい。
0572デフォルトの名無しさん
2007/10/22(月) 23:30:33http://pc11.2ch.net/test/read.cgi/php/1184683786/
0573デフォルトの名無しさん
2007/10/23(火) 00:04:39>アップロードされたらファイルに落とせばいいだけじゃないか?
何を言ってんだ。
残念ながらASP.NETの素の機能ではできなかった、と思う。
今はできるのかな?IIS7環境だとできたりするのかな?
0574デフォルトの名無しさん
2007/10/23(火) 13:47:45やはりそうなんでしょうか。
ここ↓に書いているような、指定したバッファ以上をサーバー上で抱えない
仕組みってできるといいんですけどね。
http://www.atmarkit.co.jp/fjava/rensai2/webopt13/webopt13.html
取りあえず、上限を設けて対処することにします。
0575デフォルトの名無しさん
2007/10/23(火) 20:24:15Iconプロパティにnullをセットしても、標準のアイコンが取得出来てしまいます。
0576デフォルトの名無しさん
2007/10/23(火) 20:38:47getするとForm.DefaultIcon等が返るみたい
リフレクション使うしかないんじゃないかな
0577デフォルトの名無しさん
2007/10/23(火) 20:48:05しかし、そんなこと知って何になるのかねえ、という感がどうしても否めん
0578デフォルトの名無しさん
2007/10/23(火) 21:58:50それともちゃんとインスタンス生成して扱うのが適切なのでしょうか。
一応 StandAlone を想定していますので、static でもそうでなくても動作は同じだと思うのですが、
この先は好みの問題になっちゃうんですかね……
0579デフォルトの名無しさん
2007/10/23(火) 23:52:180580デフォルトの名無しさん
2007/10/24(水) 00:03:230581デフォルトの名無しさん
2007/10/24(水) 00:07:05要はシングルトンなんて全部static(クラスフィルドとクラスメソッドonly)
でやるのと一緒じゃん、ってことでしょ。
そりゃそうかも。
でも考え方として自然じゃないから普通はやらないよね。
潰しもきかないし
0582デフォルトの名無しさん
2007/10/24(水) 01:10:410583デフォルトの名無しさん
2007/10/24(水) 02:54:530584デフォルトの名無しさん
2007/10/24(水) 03:23:49PictureBoxの一部をGraphics.DrawImage()を使って定期的に書き換えたいのですが、
Graphics.DrawImage()で書き込む画像に透過ピクセルがあるので、画像が重なってしまいます。
たとえば「A」という画像をGraphics.DrawImage()で書いて、その後「B」という画像に
書き換えたいが、透過ピクセルを使っているのでAとBが重なって表示されます。
PictureBox1.Refresh()を使うと、毎回他のところも書き込まないといけないし、
環境にもよるでしょうけど、ちらつきが発生してしまいます。
一部画像で書き換えられているソフトについているスキン画像なんかは、
画像ビューアなどで見るとバックが紫色になってたりするので、手法が
違うのだろうかとも思ってますが、やり方がわかりません。
よろしくお願いします。
0585デフォルトの名無しさん
2007/10/24(水) 08:41:34質問なのですが、DataGridで1列目1行目の値、2行目の値を取得するには
どのようにすればいいでしょうか?
0586デフォルトの名無しさん
2007/10/24(水) 09:33:01マルチktkr
0587デフォルトの名無しさん
2007/10/24(水) 11:55:18何をしたいのかわかんないけど
書き換えたい一部だけ塗りつぶしたらいいんじゃね?
ちゃんとPaintイベントで描いてる?
0588デフォルトの名無しさん
2007/10/24(水) 16:27:41白なり黒なりで塗りつぶして消せばいいじゃん。
0589584
2007/10/24(水) 18:42:35レスども。
塗りつぶす場合、バックグラウンドに何が描かれてあったか
気にしないとダメじゃないですか。
何が描いてあったのか退避させておくとか、
PictureBoxを重ねて別レイヤー扱いみたいにするとかすれば、
できるけど、もっと気楽で簡単に出来るもんだと思ってるのですが...。
というより説明下手で何がしたいのかうまく伝わってないのか(´・ω・`)
0590デフォルトの名無しさん
2007/10/24(水) 18:53:38そのオブジェクトをコレクションに入れて覚えといて
それに従って全部描き直せば
0592デフォルトの名無しさん
2007/10/24(水) 21:25:38アニメーション程度だったらその部分だけ元画像もっておけばいいだけなんだが。
0593デフォルトの名無しさん
2007/10/24(水) 21:28:26よってGofは有罪!
0594デフォルトの名無しさん
2007/10/24(水) 23:22:400595デフォルトの名無しさん
2007/10/25(木) 01:36:15今文字列型の所をやっていたんですが、
Copyメゾットの意味がよくわからないです。。
例えば、aに代入されている文字列をbにコピーする時に、
b=aとするのと、
b=String.Copy(a)とするのに違いはあるんでしょうか?
すごく初歩的な質問かもしれませんが、宜しくお願いします
0596デフォルトの名無しさん
2007/10/25(木) 02:09:54string は参照型。
0597デフォルトの名無しさん
2007/10/25(木) 02:19:38とする。
String.Copy(a)
とすると、"あ"という文字列がコピーされてもう一個できる。
b=String.Copy(a)とすると、bは新しくできたもう一つの"あ"を参照するようになる
b=aだと、bもaも同じ"あ"という文字列を参照する
0598デフォルトの名無しさん
2007/10/25(木) 03:33:19C# にはありますか?
0599デフォルトの名無しさん
2007/10/25(木) 16:37:48WPFのExpander
0600デフォルトの名無しさん
2007/10/25(木) 19:54:350601デフォルトの名無しさん
2007/10/25(木) 21:52:41t.Add(hoge);
t[] tt = (T[])t;
0602デフォルトの名無しさん
2007/10/25(木) 21:55:170603デフォルトの名無しさん
2007/10/25(木) 23:14:210604デフォルトの名無しさん
2007/10/25(木) 23:19:300605デフォルトの名無しさん
2007/10/25(木) 23:36:360606デフォルトの名無しさん
2007/10/25(木) 23:50:540607デフォルトの名無しさん
2007/10/26(金) 00:01:200608デフォルトの名無しさん
2007/10/26(金) 12:00:10どのようにすればいいんでしょうか?
KeyEventArgs.Handledプロパティを設定してみたりしたんですがどうもだめでした。
0609デフォルトの名無しさん
2007/10/26(金) 12:36:23処理された、とか処理しない、とか何のこと言ってるんだよ。
本当こういう奴ってどういう頭の構造してるの?
世の中俺以外全員エスパーとでも思ってるのか?
0610デフォルトの名無しさん
2007/10/26(金) 14:21:11OnKeyDownが発生してOnKeyPressが発生するわけだから、それって何も処理したくないってことじゃないの?
0611デフォルトの名無しさん
2007/10/26(金) 16:51:55OnKeyDownで処理したらフラグ立てといて
OnKeyPressの中ではif(フラグ立ってなかったら){処理}フラグ戻す
0612デフォルトの名無しさん
2007/10/26(金) 17:02:22OnKeyPressでフラグ戻しちゃだめだな
OnKeyUpか次のOnKeyDownで
0613デフォルトの名無しさん
2007/10/26(金) 17:31:180614デフォルトの名無しさん
2007/10/26(金) 18:36:480615デフォルトの名無しさん
2007/10/26(金) 18:40:440616デフォルトの名無しさん
2007/10/26(金) 21:00:10エスパー以外はすっこんでろってこと。
0617デフォルトの名無しさん
2007/10/26(金) 23:42:01いやもちろん
int count = 0 ;
foreach ( T item in items ) { ++count ; }
で数えられるのはわかっているのだが…
0618デフォルトの名無しさん
2007/10/26(金) 23:49:06ICollection にキャストしてみてキャストできたらそこで個数をチェックしていた
0619デフォルトの名無しさん
2007/10/26(金) 23:51:03そのメソッド、何が悲しゅうてわざわざIEnumerable<T>を引数に取るの?
自分で自分の手を縛ってどうするよ
0620デフォルトの名無しさん
2007/10/26(金) 23:53:34それを C# 3.0 の拡張メソッドにでもすればよくね?
static int Count<T>(this IEnumerable<T> items)
{
int count = 0;
foreach(var item in items) ++count;
return count;
}
0621デフォルトの名無しさん
2007/10/26(金) 23:59:08List<T>(IEnumerable<T>)とかあるだろ
外から便利と中で楽なら前者を取るだろ当然
その前に>>617はそんなこと言ってないだろ
0622デフォルトの名無しさん
2007/10/26(金) 23:59:160623デフォルトの名無しさん
2007/10/26(金) 23:59:44System.Linq.Enumerable.Count
0624デフォルトの名無しさん
2007/10/27(土) 00:07:24そのためにCountが付いてないんだろうし
0625デフォルトの名無しさん
2007/10/27(土) 00:10:440626デフォルトの名無しさん
2007/10/27(土) 03:03:510627デフォルトの名無しさん
2007/10/27(土) 03:22:00それが嫌ならリスト使えよって感じよね。
0628デフォルトの名無しさん
2007/10/27(土) 03:47:56http://www.microsoft.com/japan/msdn/net/bb394939.aspx#standardqueryops_topic16
0629デフォルトの名無しさん
2007/10/27(土) 05:07:390630デフォルトの名無しさん
2007/10/27(土) 05:08:460631デフォルトの名無しさん
2007/10/27(土) 06:23:380632デフォルトの名無しさん
2007/10/27(土) 07:16:12.NET 的には無しじゃなかったっけ?
.NET内部でもやってるけどw
0633デフォルトの名無しさん
2007/10/27(土) 07:24:57属性調べる、インターフェースをisで調べる、
boolを返すvirtualプロパティにする、boolのパブリックフィールドにする
といった方法があると思うけど
0634デフォルトの名無しさん
2007/10/27(土) 08:34:040635デフォルトの名無しさん
2007/10/27(土) 08:42:230636デフォルトの名無しさん
2007/10/27(土) 10:22:26ラジオボタン2個、ボタン1個のwindow作ってます。
MFCでラジオボタンにintの変数を追加しようと
してもbuttonにしか変数が追加できません。
どうすれば、受付けてくれるのでしょうか?
VS.NET仕様のテキストを見ながらやってて違いに困ってます・・・
0637デフォルトの名無しさん
2007/10/27(土) 10:25:480638デフォルトの名無しさん
2007/10/27(土) 10:28:320639デフォルトの名無しさん
2007/10/27(土) 10:30:37そろそろC#に乗り換えないと世間の流れに取り残されるなぁと思って乗り換えようと思うんだけど
C#でできてVB.NETでできないこと(たとえばポインタ扱うとか)
いまいちググっても違いがあんまわからない
C#の優位性を教えてもらえまいか?
0640デフォルトの名無しさん
2007/10/27(土) 10:33:390641デフォルトの名無しさん
2007/10/27(土) 10:34:18C#は最悪だからこないでくだちぃ
ほんとにお願いします
0642デフォルトの名無しさん
2007/10/27(土) 10:40:48かわんないよね?
フレームワーク使って開発するんなら細かい部分しかかわらないと思うんだ
でも、+αのなにかがあるから皆そっちなんだろうなぁ・・・とか思ってしまう
なにかピンポイントでこういうときにVBよりイインダヨみたいなのが知りたかった
それだったら最悪VB.net+C#でプロジェクト分けて開発も考えられるし
>>641
サーセンwwww
0643デフォルトの名無しさん
2007/10/27(土) 10:57:58VBの変態的な文法に馴染めるかどうかだけ
0644デフォルトの名無しさん
2007/10/27(土) 11:25:00using Microsoft.VisualBasic.FileIO;
と書くと、FileIOは名前空間Microsoft.VisualBasicに無い、アセンブリ参照が不足と
コンパイルエラーが出てしまいます。
.NET2.0だと何も参照しなくても標準で使えると思っていたのですが、
何か操作をしないといけないのでしょうか?
Vistaなので.NET2.0は入っています
0645デフォルトの名無しさん
2007/10/27(土) 11:38:09昔から VB 使ってた人用が VB.NET で、
C の系譜使ってた人用が C#。
0646デフォルトの名無しさん
2007/10/27(土) 11:46:01> アセンブリ参照が不足
ttp://msdn2.microsoft.com/ja-jp/library/f68t4563(VS.80).aspx
> 必要条件
> アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)
ちゃんとエラーメッセージ嫁
0647デフォルトの名無しさん
2007/10/27(土) 11:56:49両方やってる人間の目から見たら、文法の変態性はどっちもどっちでしょ。
それぞれにいいところと悪いところがあるから、
一概にどっちが変態とか言えんと思うよ。
VBerからみて恐らく変態的に見えるC#の文法は、たとえば今思いつくだけで
・なんでインターフェイスの実装と継承が同じ書式なんだ?
・コンストラクタの名前がクラスによって違うって馬鹿みたい
・変数宣言時型名を最初に書く文法のせいで、初期も一緒に行うときの書式がまどろっこしい
・なんでusingってキーワードが全く異なる2つの用途に使われるの?
・インデクサ以外の引数付きのプロパティが書けないって糞じゃん
・クラスと同じ寿命のメソッドスコープの変数が書けないって糞じゃん
・プロジェクトの「ルート名前空間」が決められないのかよ
0648デフォルトの名無しさん
2007/10/27(土) 12:05:47VBとプログラミング言語一緒にされてもな・・・
0649デフォルトの名無しさん
2007/10/27(土) 13:26:180650デフォルトの名無しさん
2007/10/27(土) 13:36:590651デフォルトの名無しさん
2007/10/27(土) 15:58:480652デフォルトの名無しさん
2007/10/27(土) 16:29:06まあ、C++ からの負の遺産だなぁ。
0653デフォルトの名無しさん
2007/10/27(土) 18:23:14わざわざC++に戻さなくてもJavaと同じでいいのに
0654デフォルトの名無しさん
2007/10/27(土) 18:27:22using はキーワード増やしたくなかったのかな。
でも、あんまりよくないよな。
C++ の関数内 static、クラス内 static、ファイルスコープ static とかも気持ち悪いし。
0655デフォルトの名無しさん
2007/10/27(土) 18:31:24意味は通ってるんだから
0656デフォルトの名無しさん
2007/10/27(土) 18:36:20http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdndeepc/htm/deepc10192000.asp
これ見るとリソースのusingって後で追加されたのかな
それでキーワードが被ってるのかも
0657デフォルトの名無しさん
2007/10/27(土) 18:36:310658デフォルトの名無しさん
2007/10/27(土) 18:48:17逆に混乱することもそうはなさそうだが。
VBだと個人的には
イベントメソッドのカスタマイズ(ひょっとして2.0からは出来たっけ?)
volatileフィールド
インターフェイスの再実装
refとoutの区別と呼び出し時の明記
3項演算子
辺りが出来ないのが不便かな
本当に困ることはそう多くはないが
0659デフォルトの名無しさん
2007/10/27(土) 18:54:45これは本当にうざい
濫用されてると読めない
0660デフォルトの名無しさん
2007/10/27(土) 20:35:44labelのtextにサークルシー(C)文字を1キャラで出したいんですけど、
どういうふうにプロパティ書いたらいいの?
0661デフォルトの名無しさん
2007/10/27(土) 20:41:41\u00a9とか\xa9とかTextにぶち込んでもいいけど
0662デフォルトの名無しさん
2007/10/27(土) 20:48:23あろがとう出来ました。
ヘキサで入れるのね。で、プロパティウィンドウじゃなくて、コードを書かないと出ないみたい。
ほんとありがとう。
0663デフォルトの名無しさん
2007/10/28(日) 17:32:50マウスカーソルを動かすとCPU負荷が高くなってしまうorz
リフレッシュするタイミングが駄目なんだろうけど、ここからどうして良いかわからないです。
どなたかご教授よろしくお願いします。
private void Chrat_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
//g.DrawLineで線を書く
}
public Point ScorpPosition
{
get { return m_ScorpPosition; }
set
{
m_ScorpPosition = value;
this.Refresh();
}
}
0664デフォルトの名無しさん
2007/10/28(日) 17:54:01大きさが問題になるのなら
OnMouseMoveでマウス近辺の軸だけInvalidateするとか。
0665デフォルトの名無しさん
2007/10/28(日) 18:57:210666デフォルトの名無しさん
2007/10/28(日) 21:29:34質問してることとコードの間の相関がまったく理解できないんだけど。
最近こういう訳の分からん奴が多くて困るよ本当。
「自分以外は皆エスパー症候群」とでも名づけるべきかね
0667デフォルトの名無しさん
2007/10/28(日) 21:33:50このスレ初めてか?力抜けよw
スルーマジオヌヌメ
0668デフォルトの名無しさん
2007/10/28(日) 21:40:490669デフォルトの名無しさん
2007/10/29(月) 00:21:22って書いてあるし、OnMouseMoveでマウスのポイントを取得してるんだべ。
0670デフォルトの名無しさん
2007/10/29(月) 11:49:12このVBソースをC#に直しているのですが、GetIEDocument関数内の
EnumChildWindows(hWnd, AddressOf EnumChild, hWndChild)
という行をどのようにしていいかわからず、詰まってしまいました。
VBのAddressOfというのはC#でいうdelegateらしい?という事は分かったのですが、
使い方が分かりません。
どのように記述すればいいか教えていただけないでしょうか?
0671デフォルトの名無しさん
2007/10/29(月) 13:07:01[DllImport( "user32.dll" )]
static extern bool EnumChildWindows( IntPtr hWndParent, EnumChildProc lpEnumFunc, IntPtr lParam );
って感じ?
0672デフォルトの名無しさん
2007/10/29(月) 14:54:280673デフォルトの名無しさん
2007/10/29(月) 15:36:36サンプルファイルを使って一つのソフトウェアを作らないとなりません。
だからメインファイルのようなものを
ファイル→新しいプロジェクト
から作りました。
sample01〜sample25(拡張子が*.csや*.slnなどが入っています)までのファイルのいくつかのファイルを使ったプログラムを作るためには
それらの呼び出しを行うコードが必要だと思うのですが
どのように呼び出せばいいのでしょうか。
検索してもDLLファイルのことしか出てこなくて悩んでいます。
抽象的で申し訳ございません。
0674デフォルトの名無しさん
2007/10/29(月) 15:48:47一つのexeにまとめたいんだったらソースコードを直接自分のプロジェクトに入れるしかない
それと、sampleXXはプロジェクトなのかC#のコードファイルなのか
プロジェクトだとしたらDLLなのかアプリケーションなのか
0675デフォルトの名無しさん
2007/10/29(月) 21:16:29意味不明
本を買って勉強。または図書館に行く。
解決。
手間と金を惜しむな。
0676デフォルトの名無しさん
2007/10/29(月) 21:19:01接続は読み書き権限のみもつSQL Serverアカウントで行っています。
このとき、dboではない所有者のストアドが実行できません。
所有者を指定してストアドを実行するにはどうしたら良いのでしょうか。
コマンド発行のコードは以下の通りです。
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "hogeuser.hogeSP";
command.ExecuteNonQuery();
例外は以下の通りです。
System.Data.SqlClient.SqlException: ストアド プロシージャ 'hogeuser.hogeSP' が見つかりませんでした。
所有者がdboであれば無事に通ります。
どなたか教えてください。
0677デフォルトの名無しさん
2007/10/29(月) 21:24:25だけど、たぶんsample01〜sample25は25個の「ソリューション」。
検索して出てきたDLLは、おそらく「クラスライブラリ」。
さぁ、具体的になってきた?
つ 『プログラムを作ろう!パソコン教科書 Microsoft Visual C# 2005 Express Edition入門 (マイクロソフト公式解説書)』
0678デフォルトの名無しさん
2007/10/30(火) 01:13:03最初はどんな言語だっていいものさ。
しかし、そのうちにあちこちに綻びが出てきてだんだんややこしくなってくる。
なんだかんだともっともらしい理屈はつけられるけど結局、対症療法さ
0679デフォルトの名無しさん
2007/10/30(火) 01:14:47次の質問をどうぞ
0680デフォルトの名無しさん
2007/10/30(火) 01:17:470681デフォルトの名無しさん
2007/10/30(火) 02:16:120682デフォルトの名無しさん
2007/10/30(火) 03:44:15使用アカウントの設定ミス
権限見直せ
0683デフォルトの名無しさん
2007/10/30(火) 04:48:04と聞いておいて、
>なんだかんだともっともらしい理屈はつけられるけど結局、対症療法さ
最初からまともに話す気なんかないのがよくわかる。
どんなレスを期待したのやら。
0684デフォルトの名無しさん
2007/10/30(火) 06:16:33放置マジオヌヌメ
0685デフォルトの名無しさん
2007/10/30(火) 13:33:44いちいち解説すんな。馬鹿造が
0686デフォルトの名無しさん
2007/10/30(火) 15:38:45->
0687デフォルトの名無しさん
2007/10/30(火) 15:41:57-> スレタイを目に穴があくまで・・・という意味
0688デフォルトの名無しさん
2007/10/30(火) 17:10:430689デフォルトの名無しさん
2007/10/30(火) 17:12:28あるPCの公開鍵 RSAKey byte配列[0x80] があるとして、
その公開鍵を用いて暗号化したいのですが、
サンプルプログラムを見ると
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSAKeyInfo = new RSAParameters();
RSAKeyInfo.Modulus = RSAkey;
byte[] Exponent = { 1, 0, 1 };
RSAKeyInfo.Exponent = Exponent;
byte[] EncryptedData = RSA.Encrypt(packets, false);
となっているのですが、Exponentとはどういった意味なのでしょうか?
また、デバッグしてEncryptedDataを見ると、公開鍵は固定なのに被暗号データが変化しているように見えます。
どなたかわかるかたいらっしゃいましたらお願いします。
0690デフォルトの名無しさん
2007/10/30(火) 22:28:55ポストバックすると設定したファイル名が消えてしまいます。画面上には
プルダウンでAutoPostbackする項目がいくつかあり、消したくないんですが、
これは可能なのでしょうか。
0691デフォルトの名無しさん
2007/10/30(火) 23:48:570692デフォルトの名無しさん
2007/10/31(水) 10:50:03ASP.NETの範疇の問題じゃない。
もちろんC#の範疇の問題でもないw
0694デフォルトの名無しさん
2007/10/31(水) 23:08:07無理。
選択したローカルのファイル名の情報はPOSTされてこないから。
でも、IEはローカルのフルパスを送ってくることがあるけどそれはIEがおかしいだけだから無視してくれ。
0695デフォルトの名無しさん
2007/11/02(金) 14:22:02昔はタブで設定項目を指定して、それからページのフォームを設定していたと思いますが、
最近は、左側にツリービュー、右側に設定値という設定ダイアログが多いですよね。
ということで、最近の流行スタイルの設定ダイアログの右側はどうやって作るのでしょうか?
左にツリービューは良いとして、右には何が置いてるのですか?
ツリーで選択されたコントロールを右に表示しなくてはならないのですが、
やっぱり、タブコントロールで、タブを非表示にして右に貼ってるのですか?
それとも、コントロールのVisibuleとかで制御してるのでしょうか?
それとも、他に適したコントロールあります?VS2005なのですが。
0696デフォルトの名無しさん
2007/11/02(金) 15:25:51treeviewの選択イベントでBringToFront
0697695
2007/11/02(金) 15:43:07どうも有り難うございます。
う〜ん、重ねるとVSのデザイナ画面でどれをいじっているのか
自分が分からなくなって困ると思ったんですが、それしか無いようですね・・・。
タブコントロールのタブだけ非表示に出来れば、
それを使いたいと思ったのですが、不可能なようです。
あとは、それぞれのPanelをカスタムコントロールにする
そうですが、それはそれで大げさな気がしますし・・・。
0698デフォルトの名無しさん
2007/11/02(金) 16:58:310699695
2007/11/02(金) 18:12:13どうも有り難うございます。
Panelで重ねるとえらいことになる雰囲気がしてきたので、
Panelをユーザーコントロールにしようと悩んでいたところでした。
本当にどうも有り難うございました。
0700デフォルトの名無しさん
2007/11/02(金) 18:38:07で作るほうがいいような気がするけど。
ツリーで選択する、ってことはそれだけ多数の画面があって、
それぞれの画面には少なからずコントロールが乗るわけで、
そんな重装備のフォームってものすごくモッサリしそうに思うけど。
0701デフォルトの名無しさん
2007/11/02(金) 22:10:08枚数が多くて後から改修するのに苦労したよ。
>>698は今度試してみる。ありがとね。
0702デフォルトの名無しさん
2007/11/03(土) 01:41:351、プログラムを起動したとき
2、DLLのクラスなどが実際に使用されるとき。
・DLLのクラスをメンバにもつクラスが初期化するとき(対象のDLLのクラスが初期化されるとき)
・クラスのメンバが初期化されたとき
3、正確にはわからない
0703デフォルトの名無しさん
2007/11/03(土) 01:50:580704デフォルトの名無しさん
2007/11/03(土) 01:51:492
静的メソッドとかもあるから、クラスのメソッドが初めて使用されたとき。
0705デフォルトの名無しさん
2007/11/03(土) 02:04:03ありがとうございます。
とにかくクラスが直接関わってきたら(staticコンストラクタが実行される直前に)、例外が出るって感じですね。
0706デフォルトの名無しさん
2007/11/03(土) 02:09:120707デフォルトの名無しさん
2007/11/03(土) 08:12:58対象のクラスを参照してる、要するに上で出てきてるようなものだけど、
それをやってるメソッドを呼び出す直前(JITコンパイル時)。
なんていうか、一段早いというか。
0708デフォルトの名無しさん
2007/11/03(土) 10:18:380709デフォルトの名無しさん
2007/11/03(土) 10:23:450710デフォルトの名無しさん
2007/11/03(土) 10:26:080711デフォルトの名無しさん
2007/11/03(土) 10:35:01.NET 3.5から
0712デフォルトの名無しさん
2007/11/03(土) 10:47:29カムサハムニダ
0713デフォルトの名無しさん
2007/11/03(土) 11:47:00何このキモイ記事・・・
0714デフォルトの名無しさん
2007/11/03(土) 13:35:380715デフォルトの名無しさん
2007/11/03(土) 13:39:220716デフォルトの名無しさん
2007/11/03(土) 13:44:03できるよ
0717デフォルトの名無しさん
2007/11/03(土) 13:54:44たしかに恥ずかしい記事だな
0718デフォルトの名無しさん
2007/11/03(土) 13:55:48ソースファイルは無理。DLLごしなら可。
0719デフォルトの名無しさん
2007/11/03(土) 14:20:49同一プロジェクト内に .cs と .vb を混在させてコンパイルと言うのは無理。
C# プロジェクトと VB プロジェクトを別にして、
VB で作ったクラスを C# 側から利用するってのは可能。
ちなみに、どうしても DLL にしたくない場合、
module 化する方法もあるんだけど、ちょっと作業が煩雑。
0720デフォルトの名無しさん
2007/11/03(土) 17:23:300721デフォルトの名無しさん
2007/11/03(土) 20:13:080722デフォルトの名無しさん
2007/11/03(土) 23:39:150723デフォルトの名無しさん
2007/11/04(日) 14:53:46追加したらエラーがでます、なにかいい解決策はないでしょうか?
0724デフォルトの名無しさん
2007/11/04(日) 18:51:28死ね役立たず。
人の足引っ張って楽しいかゴミクズ。
今すぐ死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。v死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
0725デフォルトの名無しさん
2007/11/04(日) 23:23:26何か嫌なことでもあったのか?w
0726デフォルトの名無しさん
2007/11/04(日) 23:24:250727デフォルトの名無しさん
2007/11/05(月) 00:08:18C# 2005 Express Editionをインストールして勉強し始めてたとこなんですが
.NETフレームワークのいくつでコンパイルするかってどこで指定するのでしょうか?
その選択がどこにも見当たらないのですが。
1.1〜3.0までインストールしちゃったから、3.0でコンパイルするのかなぁ?
それだと1.1のソースを貰ってきても動かない可能性あり?
0728デフォルトの名無しさん
2007/11/05(月) 00:11:322005で指定はムリ。
3.0を入れたなら3.0でコンパイルされる。
VS2008からは指定できるとか。
0729デフォルトの名無しさん
2007/11/05(月) 00:12:54あぁそうなんですか。。
早まって3.0入れちゃった。
2.0でとめとけばよかった・・・
0730デフォルトの名無しさん
2007/11/05(月) 00:16:55つまり3.0でコンパイルしたソフトはWin9Xではムリって事?
0731デフォルトの名無しさん
2007/11/05(月) 00:20:22いちおう、主要機能に関しては互換性あるから、1.1 を 3.0 でコンパイルすることも可能だよ。
3.0 を 1.1 で〜は無理だけど。
0732デフォルトの名無しさん
2007/11/05(月) 01:11:11単に3.0, 3.5で追加されたライブラリを参照しなければ、実質2.0で動くプログラムになる。
0733デフォルトの名無しさん
2007/11/05(月) 01:39:59誰も答えてないから一応答えとくが ケースバイケース もちろんADO.NETも使える
その質問の様子だとADO.NETはどんな動きなのかを知っといたほうがいいと思うぞ?
0734デフォルトの名無しさん
2007/11/05(月) 12:40:523.0のdllを参照しなければ全く無問題
0735デフォルトの名無しさん
2007/11/05(月) 13:40:280736デフォルトの名無しさん
2007/11/05(月) 13:41:130737デフォルトの名無しさん
2007/11/05(月) 16:05:130738デフォルトの名無しさん
2007/11/05(月) 16:34:010739デフォルトの名無しさん
2007/11/05(月) 17:04:540740デフォルトの名無しさん
2007/11/05(月) 17:32:210741デフォルトの名無しさん
2007/11/05(月) 17:40:58例えば480x360の画像が2枚あり、1枚目の(240,0,480,360)の範囲と2枚目の(0,0,240,360)の範囲をつなげて、
1枚の480x360で表示するというふうにしたいです
0742デフォルトの名無しさん
2007/11/05(月) 17:49:54MSDNでGraphics.DrawImageのオーバーロードを全部読んでみるといいよ
0743デフォルトの名無しさん
2007/11/05(月) 17:54:33さっそく調べてみます!
0744デフォルトの名無しさん
2007/11/05(月) 18:42:30ttp://msdn2.microsoft.com/ja-jp/library/system.drawing.graphics.drawimage(VS.80).aspx
のページでいいんですよね?
2つの範囲(240,0,480,360)(0,0,240,360)をどのように書けば良いのかよく分かりません・・・
0745デフォルトの名無しさん
2007/11/05(月) 19:08:36↑これを2回呼ぶだけでは。
0746デフォルトの名無しさん
2007/11/05(月) 21:46:56非常に初歩的な質問で申し訳ありませんが、以下を
回避する方法を教えてくださいませんでしょうか?
[やりたいこと]
MDI親フォームのボタン1をクリックすると、MDI子フォーム1を開く。
MDI親フォームのボタン2をクリックすると、MDI子フォーム1を閉じる。
[現状]
MDI子フォーム1を閉じることはできていますが、MDI子フォーム1を開く際に
MDI子フォーム1が2重に起動されている(一瞬描画された後、そのフォームの上に
また描画される)のです。
.showタイミングはボタン1クリックの1度だけなのですが、このような現象を回避
するにはどうすればよいのでしょうか?
0747デフォルトの名無しさん
2007/11/05(月) 21:55:170748デフォルトの名無しさん
2007/11/05(月) 22:09:18Bimap bmpNew = new Bitmap(480,360);
using( Graphics g = Graphics.FromBitmapとかなんとか( bmpNew ) )
{
g.DrawImage( bmp1, rct左, rct右, ほにゃらら.Pixel );
g.DrawImage( bmp2, rct右, rct左, ほにゃらら.Pixel );
}
0749746
2007/11/06(火) 10:07:22隠してませんが、もう何がなんだか。
それから、2重に起動しているという表現は正しくありませんでした。
どちらかというと一旦フォームを描画して、一瞬後、再描画するような
動きです。
例えば、フォームボーダースタイルプロパティをnoneに設定して同じように
フォームを開こうとすると、一瞬タイトルバーも表示されたフォームが開き、
その後タイトルバーの無いフォームが表示されるといった流れです。
.show時にフォームボーダースタイルプロパティが変更されていないか確かめ
ましたが、noneのままでした。
0750デフォルトの名無しさん
2007/11/06(火) 14:29:58例えば、BCLに巨大Map用クラスがあるとか、BerkeleyDB等の組み込みDBの使用するとか
0751デフォルトの名無しさん
2007/11/06(火) 15:04:22今月末には .NET Framework 3.5 が出るし、
せっかくだから LINQ to SQL を。
0752デフォルトの名無しさん
2007/11/06(火) 15:13:54一時的な領域としてその巨大Mapを使いたいのでRDBは大げさかなと思ってます。
0753デフォルトの名無しさん
2007/11/06(火) 15:19:07Random rnd = new Random(System.Environment.TickCount);
string filename = rnd.Next().ToString() + ".tmp";
とか、やってみたのですが、1万回くらいループさせてみたら、処理が速すぎて
ファイル名がぶつかる場合があるようなのですが・・・
0754デフォルトの名無しさん
2007/11/06(火) 15:24:080755デフォルトの名無しさん
2007/11/06(火) 15:49:01for(...) {
string filename = (count++) + ".tmp";
}
実にユニーク
0756デフォルトの名無しさん
2007/11/06(火) 15:50:47〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ <こいつ最高にアホ
彡、 |∪| /
/ __ ヽノ /
(___) /
0757デフォルトの名無しさん
2007/11/06(火) 15:51:28| ノ ヽ !
/ ● ● | こいつも最高にアホ
| ( _●_) ミ
彡、 |∪| / .\
/ __ ヽノ / \ ...\
(___) / .│ ..│
/ ヽ
l..lUUU
.U
0758デフォルトの名無しさん
2007/11/06(火) 16:01:300759デフォルトの名無しさん
2007/11/06(火) 17:36:53SQL Server Compact Editionが組み込みDBに相当する
0761デフォルトの名無しさん
2007/11/06(火) 21:06:540762デフォルトの名無しさん
2007/11/06(火) 21:21:560763デフォルトの名無しさん
2007/11/07(水) 00:32:52自前のサーバーから利用する方法を教えてください。
0764デフォルトの名無しさん
2007/11/07(水) 12:28:09できればURL以下のファイルもキャッシュがあればまとめて取得するようにしたいです。
お願いします。
0765デフォルトの名無しさん
2007/11/07(水) 13:23:04イミフ
0766764
2007/11/07(水) 13:55:23例えば、http://www.yahoo.co.jpと入力すると
http://www.yahoo.co.jpのキャッシュ(画像やhtml)を取得するようにしたかったのですが。
参考になりそうなサイトを見つけましたので、そっちを見てみます。
スレ汚し失礼しました。
ttp://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/T_InternetCacheHistroy.htm
0767デフォルトの名無しさん
2007/11/07(水) 16:12:38764は
「キャッシュ」=「IEのインターネット一時ファイル」
と思ってるんだろ
0768デフォルトの名無しさん
2007/11/08(木) 12:01:04どうやるのですか。オーナードローってヤツですか?参考になるのを教えて
0769デフォルトの名無しさん
2007/11/08(木) 13:56:59例えば、好きな果物は?という質問に自由に答えてもらう場合
答えをハッシュ配列にしてカウントしたいのですが、
ht["りんご"] には文字列しか入力出来ません
ht["りんご"]++; みたいにやりたいのですが無理でしょうか?
0770デフォルトの名無しさん
2007/11/08(木) 14:29:33ListView DrawItem でぐぐってみた?
>>768
文字列しか入力できませんてこたないだろ
だけど
ht["りんご"]++; という構文はHashTableじゃコンパイル通らないと思うけど
もしできたとしてもhtそのものに何の影響もないよ?
Dictionary<string, int>使って
dic["りんご"]+=1;
でいいんじゃね
まあIDictionary<string,int>とか継承して
キーの比較を真面目にやった方がいいと思うが("りんご" と "リンゴ"とかをどうするのか等)
0771デフォルトの名無しさん
2007/11/08(木) 15:27:30string ans="りんご"; int count; //private Dictionary<string, int> dic;
if(dic.TryGetValue(ans, out count)){dic[ans]=count+1;}else{dic.Add(ans, 1);}
こんなの真面目にやりだしたらキリがないよw
0772デフォルトの名無しさん
2007/11/08(木) 16:13:180773デフォルトの名無しさん
2007/11/08(木) 16:17:17一応、.NET Framework 3.5(今月末正式リリース)に HashSet クラスが追加されるけど、
それまでは HashTable / Dictionary で代用してた。
0774デフォルトの名無しさん
2007/11/08(木) 16:34:240775デフォルトの名無しさん
2007/11/08(木) 17:11:06どうもありがとうございました
0776デフォルトの名無しさん
2007/11/08(木) 20:04:54いじったらヤバいという話ですが、
じゃあBitmapとかIconとかはどうなんでしょう?
これらもハンドルありますよね?
別スレッドで作成したBitmap等をImageListに入れるとか、
大丈夫なんでしょうか。
0777デフォルトの名無しさん
2007/11/08(木) 22:52:53ビットマップ等をちゃんと排他処理して触るのなら大丈夫
0778デフォルトの名無しさん
2007/11/08(木) 23:38:31.Net3.0や3.5で追加されたクラスを含む
(.Net3.0以上の環境でコンパイルされた)
アプリを.Net2.0環境で動かすことは可能ですか?
.Net3.0以上を使ってる部分を処理しようと落ちる(例外が発生するとか)
けれども.Net2.0以下の部分は普通に動いてくれたりするとうれしいんですが・・
0779デフォルトの名無しさん
2007/11/08(木) 23:47:390780デフォルトの名無しさん
2007/11/09(金) 01:58:380781デフォルトの名無しさん
2007/11/09(金) 02:53:573.0 依存部分だけ別クラスに分けておけば、それ以外は普通に使える。
0782デフォルトの名無しさん
2007/11/09(金) 09:21:27ハンドルそのものには参照とかポインタとかと同程度の意味しかないぞ
0783デフォルトの名無しさん
2007/11/09(金) 11:56:01理想なのはQueue<T>でSort出来ればいいのだが
0784デフォルトの名無しさん
2007/11/09(金) 12:01:080785デフォルトの名無しさん
2007/11/09(金) 13:19:530786デフォルトの名無しさん
2007/11/10(土) 00:30:56ありがとございます。確認したいけど環境がない
0787デフォルトの名無しさん
2007/11/10(土) 02:01:48『ツールチップが表示される直前』 を知るにはどうすれば良いですか?
0788デフォルトの名無しさん
2007/11/10(土) 02:09:120789デフォルトの名無しさん
2007/11/10(土) 02:10:570790デフォルトの名無しさん
2007/11/10(土) 13:55:46よーわからん。
0791デフォルトの名無しさん
2007/11/10(土) 13:58:180792デフォルトの名無しさん
2007/11/10(土) 14:49:350793デフォルトの名無しさん
2007/11/10(土) 17:33:130794デフォルトの名無しさん
2007/11/10(土) 23:37:15stream.Readでデータを受け取っているのですが
受け取ったデータをHTMLで表示したいと思っております。
そこでaxWebBrowser1.Navigateで表示すればよいかと考えていたのですが
うまくいきません。
どのようにすればうまくいくかアドバイスいただければと思います。
0795デフォルトの名無しさん
2007/11/11(日) 00:44:330796デフォルトの名無しさん
2007/11/11(日) 12:09:460797デフォルトの名無しさん
2007/11/11(日) 13:23:36例えば、バーコードリーダー複数を1つのPCに接続して
バーコードから1回の応答があるたびに、1回プログラムを処理することを
考えてるんですけど、どのようにして実現すべきですか。
インターフェースもどうしたらいいものか。USBハブでいいのかな。
WindowsCEでC#を使います。
OSへの入力を1回ずつ判断するような仕組みが必要と思っています。
WEBのようにTomcatのようなミドルウェアがあるんですかね。
当方、プログラム経験少なく、周りに聞く人もいなく途方にくれてます…
0798デフォルトの名無しさん
2007/11/11(日) 16:36:43指定した文字コードを使って、指定したコード番号の文字を画面に描画したいと思っています。
例えば、SHIFT_JISにおける33440番の文字(「あ」)を出力するとして……
Graphics g = pictureBox1.CreateGraphics();
int pagenum = 932; //←SHIFT_JISのページコード
int num = 33440; //←ひらがな「あ」の文字コード
string s = ""; //←最終的にこの変数に表示する文字を入れたい
System.Text.Encoding enc = System.Text.Encoding.GetEncoding(pagenum);
//ここに変換処理
g.DrawString(s, new Font("MS UI ゴシック", 12), SystemBrushes.ControlText, new PointF(0, 0));
↑のような感じで書き出したいと思います。
この変換処理が書けずに困っています。
↓のような変換処理を書いてみたのですが、うまく変換されず、
半角2文字とかで表示されてしまいました。
int chrSize = enc.GetMaxByteCount(1);
byte[] b = BitConverter.GetBytes(num);
System.Array.Resize<byte>(ref b,chrSize);
System.Array.Reverse(b);
s = enc.GetString(b);
長々とすみません...どなたか解決策とか案とかありませんか?
0799デフォルトの名無しさん
2007/11/11(日) 17:15:19っていうか、それなんで人に聞く前に自分で疑ってみないのかなあ理解不能だよまったく。。
0800デフォルトの名無しさん
2007/11/11(日) 17:20:27numに半角が入ってる場合はどうみなすわけ?
何も気にしなけりゃ、
byte[] b = new byte[]{ (byte)num, )byte)(num >> 8)};
とか。
0801デフォルトの名無しさん
2007/11/11(日) 17:22:320802デフォルトの名無しさん
2007/11/11(日) 18:14:06int codePage = 932;
byte[] b = {0x82, 0xA0};
Encoding enc = Encoding.GetEncoding(codePage);
string s = enc.GetString(b);
0803デフォルトの名無しさん
2007/11/11(日) 18:51:02入力された文字コードでとか、そんなことをしたいんだろう、是非は別としても。
0804デフォルトの名無しさん
2007/11/11(日) 22:00:361台のpcに複数のバーコードリーダつける意味あるの?
多分キーボードのエミュレートだからかなり無意味なものが出来る。
0805デフォルトの名無しさん
2007/11/11(日) 22:33:58一応業務的に意味があります。
で、やっぱり無理ってことですか?
0806デフォルトの名無しさん
2007/11/11(日) 22:45:19各ポートが違うんじゃないかな。想像だけど。
0807デフォルトの名無しさん
2007/11/11(日) 22:54:35自作ライブラリで同じように説明がポップアップするようにするには、どうすればいいのでしょうか?
0808デフォルトの名無しさん
2007/11/11(日) 23:08:30うまく出力できません。
private void frm分析_Load(object sender, EventArgs e)
{
OleDbConnection OleConn = new OleDbConnection();
OleDbDataAdapter OleDA;
DataTable Ds = new DataTable();
OleConn.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=C:\\etc\\開発\\test.mdb;";
string expenditure = "select sum(table1) from test";
OleDA = new OleDbDataAdapter(expenditure, OleConn);
OleDA.Fill(Ds);
DataRow dr = Ds.Rows[0];
this.lblテスト.Text = dr["table1"];
}
最後の"this.lblテスト.Text = dr["table1"];"の部分でエラーが出ます。
エラーを見ると、Select sum…の部分があやしいです、ただlblテストにtable1の
合計を出力したいだけなのですが、どなたか上のコードを修正していただけないでしょうか。。
ちなみにAccessのtestテーブルは、table1という名の列に一桁の数字が6つあるだけです
0809デフォルトの名無しさん
2007/11/11(日) 23:40:18>一応業務的に意味があります。
そんな馬鹿な回答書いて恥ずかしくないのかwww
複数の人間が使うとか、リーダーごとに入力内容を変えるとか…もっと必然性があるというアピールをしないと。
で、
USBキーボードが複数つないであって、複数の人間が同時に入力したらどうなる?
0810デフォルトの名無しさん
2007/11/11(日) 23:47:30後マルチ先にあやまってこい
0811デフォルトの名無しさん
2007/11/11(日) 23:51:550812デフォルトの名無しさん
2007/11/12(月) 00:20:18プロジェクトのプロパティ→ビルド→XMLドキュメントファイル
///←で必要な項目埋める
コメントがついてないメンバがあるとビルド時に警告がでるようになるが
0813デフォルトの名無しさん
2007/11/12(月) 00:25:20232Cって何のことよ。
バーコードリーダーって、少なくとも一般に市販されてるのは
キーボードエミュレーションの奴ばっかりだね。
だとする次の2点が直ちに問題になるね。
(1) ドトネトでキーボード入力のグローバルフックって可能だったっけ?
(2) 可能だとして、しかし(本物のキーボード経由の)普通のキー入力と
バーコードリーダーからの入力をどうやって区別したらいいのか。
0814デフォルトの名無しさん
2007/11/12(月) 15:24:010815デフォルトの名無しさん
2007/11/12(月) 15:37:35つか何のメッセージだよw
0816デフォルトの名無しさん
2007/11/12(月) 16:01:31解決しました。スマソ
0817デフォルトの名無しさん
2007/11/12(月) 19:19:33さっぱり分かりません。おしえてください。
0818デフォルトの名無しさん
2007/11/12(月) 19:20:390819デフォルトの名無しさん
2007/11/12(月) 19:54:28protected override void OnPaint(PaintEventArgs e) {
base.OnPaint(e);
e.Graphics.DrawString(progressBar1.Value.ToString(),new Font("Arial",9),new SolidBrush(Color.Blue),new Point(10,10));
}
0820819
2007/11/12(月) 20:08:000821デフォルトの名無しさん
2007/11/12(月) 20:12:310823デフォルトの名無しさん
2007/11/12(月) 22:29:45文字を描画するのってGDI+だと恐ろしく面倒になりそう。
0824デフォルトの名無しさん
2007/11/12(月) 23:40:54リーダー→画面→Onchangeイベントでどう?
0825デフォルトの名無しさん
2007/11/12(月) 23:48:27デバイスのドライバ書くしかないかも。
0826デフォルトの名無しさん
2007/11/12(月) 23:48:540827デフォルトの名無しさん
2007/11/12(月) 23:52:12なんで必要なのかさっぱりわからん。
システム屋さんがそんな提案してきたら即効却下。
0828デフォルトの名無しさん
2007/11/13(火) 00:07:15←ここに///と入力してみ?
protected override void OnPaint(PaintEventArgs e) {
base.OnPaint(e);
e.Graphics.DrawString(progressBar1.Value.ToString(),new Font("Arial",9),new SolidBrush(Color.Blue),new Point(10,10));
}
0829デフォルトの名無しさん
2007/11/13(火) 00:31:090830デフォルトの名無しさん
2007/11/13(火) 00:31:270831デフォルトの名無しさん
2007/11/13(火) 00:35:30エスパー回答 : そのコードを書く場所が違う。Formに書いてないか?
0832819
2007/11/13(火) 00:46:27public partial class ProgressBarEx : ProgressBar {
public ProgressBarEx() {
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e) {
base.OnPaint(e);
e.Graphics.DrawString("a",new Font("Arial",10),new SolidBrush(Color.Blue),new PointF(10,10));
}
}
0833デフォルトの名無しさん
2007/11/13(火) 00:47:340835デフォルトの名無しさん
2007/11/13(火) 01:07:32SetStyle
0836819
2007/11/13(火) 02:00:22元々のプログレスバー本体が描かれません・・・。
もしかして全部自分で描画するしかないのでしょうか?
0837デフォルトの名無しさん
2007/11/13(火) 02:22:48もしくはMyBase呼んだ
後である部分だけ塗りつぶすとか
0838デフォルトの名無しさん
2007/11/13(火) 03:16:180839デフォルトの名無しさん
2007/11/13(火) 12:51:160840デフォルトの名無しさん
2007/11/13(火) 14:48:45あれはバーも含め ExtTextOut だけで書いてるからなー
0841819
2007/11/13(火) 14:53:520842デフォルトの名無しさん
2007/11/13(火) 15:33:43>システム屋さんがそんな提案してきたら即効却下。
じゃあ「バーコードリーダーが4つ付いた何か」を作るときはどうやんの?
(1台だけなら二三日も悩むよりPC4台入れた方がいいかもしれないけど)
0843デフォルトの名無しさん
2007/11/13(火) 15:55:07ソケットのバーコードリーダーを業務アプリに組み込むためのSDK
ttp://www.cfcompany.co.jp/product/socket/developers_for_soket_scan_sdk.htm
0844こまった
2007/11/13(火) 16:54:49式を打ち込めば四則演算を行い、余りまでだしてくれるプログラミングを作りたいのですが、わかりません。
教えてください!!
argvを使うらしぃのですが、さっぱりわかりません!!
0845デフォルトの名無しさん
2007/11/13(火) 16:55:54あなたの想定している言語は本当にC#ですか?
0846デフォルトの名無しさん
2007/11/13(火) 16:56:13結構大変です
0847デフォルトの名無しさん
2007/11/13(火) 16:58:15たがスレ違いだ多分。
0848こまった
2007/11/13(火) 17:07:280849デフォルトの名無しさん
2007/11/13(火) 17:08:520850デフォルトの名無しさん
2007/11/13(火) 17:09:510851デフォルトの名無しさん
2007/11/13(火) 17:14:54正規表現でチェックするコードを書きたいと思ってるんですが、
この場合のどんな正規表現を書けばいいかわからなくて困っています。
誰か助けてください。
0852デフォルトの名無しさん
2007/11/13(火) 17:18:14正規表現でチェックするのではなく、
実際にアクセスしてみてエラーが出るかどうかを見るべきだ。
0853デフォルトの名無しさん
2007/11/13(火) 17:24:590854デフォルトの名無しさん
2007/11/13(火) 17:27:06そうでしたか。
アドレスやURLをチェックするようなコードがあったので、パス名にもあるのかと思ってました。
とりあえずファイルの存在をチェックする方向で行ってみます。
レス、ありがとうございました。
0855デフォルトの名無しさん
2007/11/13(火) 17:27:49固定長フィールドからなるファイルを、それぞれの変数に読み込んでリストビューに表示させたいのですが、
一番早い方法をおしえてください。
ファイルはこのような感じです。
AAABBBCCC\n
AAABBBCCC\n
0856デフォルトの名無しさん
2007/11/13(火) 17:28:22ググってみます。
0857デフォルトの名無しさん
2007/11/13(火) 18:02:49Invalidなパスだと例外出してうぜぇ
0858デフォルトの名無しさん
2007/11/13(火) 18:04:08ReadLine
0859デフォルトの名無しさん
2007/11/13(火) 18:42:27ちょっとした引数のミスで容赦なく例外投げるMSの姿勢が大好きだ
0860デフォルトの名無しさん
2007/11/13(火) 18:46:22正直、君の質問は全然おかしくない。
むしろオカシイのは>>852-853だから気にしない方がいいよ。
まわかってると思うけどさ
0861デフォルトの名無しさん
2007/11/13(火) 19:35:48アクセス権とかあるんだし正規表現で確認する意味がわからない。
>>852-853が何故おかしいのか教えてくれ。
0862デフォルトの名無しさん
2007/11/13(火) 20:19:430863デフォルトの名無しさん
2007/11/13(火) 20:28:300864デフォルトの名無しさん
2007/11/13(火) 20:47:470865デフォルトの名無しさん
2007/11/13(火) 20:49:460866デフォルトの名無しさん
2007/11/13(火) 20:58:580867デフォルトの名無しさん
2007/11/13(火) 21:17:530868デフォルトの名無しさん
2007/11/13(火) 22:27:59System.IO.Path.GetInvalidFileNameChars()
0869デフォルトの名無しさん
2007/11/13(火) 22:28:23保存先を指定する場合ならどうなんだよ、ファイルはまだ無いぞ。
0870デフォルトの名無しさん
2007/11/13(火) 22:51:56組み合わせによっては不正になる場合もあるから、難しいな
0871デフォルトの名無しさん
2007/11/13(火) 23:40:180873デフォルトの名無しさん
2007/11/14(水) 02:29:13可能性は示しておいて損はないと思うぞ
いつかトラブったときに役に立つ日がきっと来る
かも(´▽`*)アハハ
0874デフォルトの名無しさん
2007/11/14(水) 02:54:05スレ移動宣言後、ちょっと内容が変わったのですが(オフスクリーンで
レンダリングするようにしたくらい)、症状は同じで、どうしても
レンダリングコンテキストのハンドルを取得できません。
SetPixelFormat()までは上手くいっているようで(trueが返ってくる)、
wglCreateContext()までの間には他の処理は挟んでいません。
調べても該当するようなものはなく、どうしていいか全くわからず
お手上げの状態です orz
コード:
http://www12.axfc.net/uploader/93/so/File_2538.txt.html
一体何が原因なのでしょうか?
0875デフォルトの名無しさん
2007/11/14(水) 03:34:51とりあえずTao使えば? とか言ってみる。
0876デフォルトの名無しさん
2007/11/14(水) 11:54:29TaoはSDL使っててLGPLに引っかかりそうなので、できれば
使いたくないです…
しかし、試しに使ってみたらうまく取得できました。
…なんで? orz
0877デフォルトの名無しさん
2007/11/14(水) 13:34:10ラベルのフォントのBOLDを変えるとき、以下のようにすると思います。
if( boldFlag )
label1.Font = new Font(label1.Font, FontStyle.Bold);
else
label1.Font = new Font(label1.Font, FontStyle.Regular);
これを100回繰り返してもGCが勝手にメモリ開放してくれるんでしょうけど、
効率悪いでしょうか?
もっと良い方法があるでしょうか?
0878デフォルトの名無しさん
2007/11/14(水) 13:38:28ローカルから昇格させろよw
0879877
2007/11/14(水) 15:45:03どうもです。
開始時にnewして代入するよう変更しました。
private Font boldFont;
private Font regularFont;
loadイベント
boldFont = new Font(label1.Font, FontStyle.Bold);
regularFont = new Font(label1.Font, FontStyle.Regular);
任意のイベント
label1.Font = (boldFlag ? boldFont : regularFont);
0880デフォルトの名無しさん
2007/11/14(水) 17:07:410881デフォルトの名無しさん
2007/11/14(水) 18:00:04アンビエント関連で破棄できないもしくは判断が面倒なら放置しかないだろ。
0882デフォルトの名無しさん
2007/11/14(水) 18:13:55ちゃんと読んでなかった
それなら放置でいいやすまん
0883デフォルトの名無しさん
2007/11/15(木) 13:35:12何か入れたい場合には後者で、いわゆる定数値は前者ですか?
0884デフォルトの名無しさん
2007/11/15(木) 13:52:37const は、コンパイル結果がいわゆる即値として埋め込まれる。
readonly は、単にコンパイラが変更を認めないだけで、
コンパイル結果は普通の変数と変わらない。
(変更を認めてない分、最適化はかかりやすいけど)
用途的に言うと、
そのコンストラクタで何か入れたいときに readonly ってのもやるし、
そもそも参照型の変数は const にできない。
0885デフォルトの名無しさん
2007/11/15(木) 14:00:47実行時定数
後者は実行した時刻を入れたりとか、前者に入らない配列とか
0886デフォルトの名無しさん
2007/11/15(木) 15:26:34外部アッセンブリから参照される値などは不用意に const にしてしまうと、
参照側に定数として埋め込まれてしまうので注意(定義しているアッセンブリを
差し替えて変更されても、コンパイルし直さないと参照している側に反映されない)。
アッセンブリのバージョンが変わったりしてもずっと変わらない定数なら良いけど。
0887デフォルトの名無しさん
2007/11/15(木) 16:10:20C++アプリからActiveScriptSiteなどを使い、スクリプトでマクロを実行する環境を作ってます。
これにC#で作ったクラスライブラリDLLを、AddNamedItemみないな登録を簡単にすることは
できないでしょうか。
出来たらDLLを指定すると、クラスライブラリの内容全部登録みたいな事がしたいのですが。
C++側のインターフェイスを、SWIGなどを使って、マクロからアクセス出来るようにしたいの
ですが、どうせならC#がいいかなと思って調べてます。
それとも、スクリプトサイトにActiveScriptSiteを使うのはやり方がまずいのかと思って、識者
の方の意見をお願いいたします。
0888883
2007/11/15(木) 16:12:48ただ、伺った回答ですと、取り合えずstatic readonlyにせよ、という感じが
してしまいますが、constのメリットってありますか?
0889デフォルトの名無しさん
2007/11/15(木) 16:15:240890デフォルトの名無しさん
2007/11/15(木) 16:23:040891デフォルトの名無しさん
2007/11/15(木) 16:47:25だからなんだといわれても困るけど。
0892883
2007/11/15(木) 16:53:17何となく、所謂定数はconstにして、finalなんだけど動的に読み込むような値は
static readonlyにするとかっこよい感じがして、そうしてるんですが・・・。
これって、C++からの名残なんですかね。
0893デフォルトの名無しさん
2007/11/15(木) 17:10:00Javaにはreadonly(static final)しかない
0894デフォルトの名無しさん
2007/11/15(木) 17:56:48属性に使えたり
列挙体の値に使えたり
switchに使えたり
fixedで固定サイズバッファのサイズに使えたり
0895デフォルトの名無しさん
2007/11/16(金) 01:27:27Javaのstatic finalもコンパイル時に値が埋め込まれるのでC#のstatic readonlyにはならない。
readonlyよりgetのみのプロパティで固定値を返すのが確実でいいな。
readonlyは値がセットされる前に値を取得できてしまうのがいまいち。
0896デフォルトの名無しさん
2007/11/16(金) 12:57:29ツールバーのボタンをクリックするとページ全体を保存するようにしたいです。
ExecWB(SHDocVw.OLECMDID.OLECMDID_SAVEAS, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER, ref o, ref o);
でできるらしいことはわかったのですが、どうもうまくいきません。
・ツールバーのボタンを押すと、Internet Explorer_Serverのハンドルを取得する
・HTMLドキュメントを取得する
の点はできています。
・ハンドルやドキュメントからどうやってExecWBを使う(?)か分からない。
・アセンブリの生成に失敗しました -- 参照されたアセンブリ 'AxInterop.SHDocVw' は厳密な名前を持っていません。
というエラーが出る。
の点が分かりません。
どのようにすればいいでしょうか。ご教授願います
0897デフォルトの名無しさん
2007/11/16(金) 13:30:48IWebBrowser2っていうかWebBrowserClassのフィールドがあると思うけど
IWebBrowser2::ExecWB
0898896
2007/11/16(金) 13:49:57ありがとう。BandObjectLibです。
あと書き忘れたけど.NET Framework 1.1で.NET 2003です。
WebBrowserClassのフィールドってどこにあるんですか?
すみません用語が良く分からなくて・・
0899デフォルトの名無しさん
2007/11/16(金) 13:55:00protected WebBrowserClass Explorer;
てのがあるよ
てか "base." って打てばインテリセンスが探してくれるんじゃね?
0900896
2007/11/16(金) 14:11:15SUGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!!!!!!!!!!!1111111111
base.っていうのもしらなかった
おかげさまでできました!!!thx!
0901デフォルトの名無しさん
2007/11/16(金) 15:25:04と手柄を頂いてみる
0902デフォルトの名無しさん
2007/11/16(金) 17:06:09WebBrowserコントロールに便乗しますが、
例えば、FormアプリでForms.TimerとBrowserControlを使っていたとします。
メソッドのtimer_TickとBroserコントロールのDocumentCompleteのコールバックの中で
同じフィールドを操作していたとしたら、
ロックを使っていないマルチスレッドで発生するような問題が発生するのでしょうか?
それとも、その辺りはForms.Timerが勝手に、良きに計らってくれるのでしょうか?
0903デフォルトの名無しさん
2007/11/16(金) 17:22:45EventはDelegate
TimerはThread
0904デフォルトの名無しさん
2007/11/16(金) 17:45:260905デフォルトの名無しさん
2007/11/16(金) 17:46:36BrowserControl が DocumentComplete をどのスレッドで呼び出してしてくるかは
とくに記述されていないと思うけど、Main を STAThread で書いてるなら
BrowserControl を作成したUI スレッドで呼び出してくるのが作法なので
たぶんそうなっているはず。
0906902
2007/11/16(金) 18:02:06BrowserControlはSTAなスレッドでしか正常に動きませんでした。
ということで、BrowserControlもFoms.Timerも同じFormの上で動いていますから、
同じUIスレッド上にあるということで、動作は直列にしかならない、
ということなのですね。
どうも有り難うございました。
0907デフォルトの名無しさん
2007/11/16(金) 20:51:050908デフォルトの名無しさん
2007/11/17(土) 10:02:28C#、VB.NET、ASP.NETの違いについて以下でOK?
WEBアプリケーションはASP.NETしかできない。
C/SはVB.NETかC#だが、VB.NETが一般的。
C#は組み込み系とか業務系ならバッチで使われる?
C/Sでは開発の容易なVB.NETが使われる。(VB.NETの差別化がわからん。)
Javaに似ているが、ServletのようなHTTPのAPIがなく、WEBはできない。
実行速度はこんな感じ?
C >> C# > C++ > Java > VB.NET
0909908
2007/11/17(土) 10:17:54申し訳ない。もう少し調べたらわかりました。
ASP.NETは言語でないと。
C#でもVB.NETでもC/S、WEBの両方ができるってことですね。
C/S、WEBでそれぞれの言語をどのように使い分けているのでしょうか?
0910デフォルトの名無しさん
2007/11/17(土) 10:23:03ちょっと見た目の文法が違うだけで、できることに大差はない。
元々VB使ってた人が使うのがVB.NETで
C/C++派の移行を狙ったのがC#。
JavaやってたんならC#の方使えばOK。
0911908
2007/11/17(土) 10:30:51でも、VBでWEBって違和感ありますねー。
それならVB.NETは廃止して、C#に一本化した方がいいのにと思えるけど、
MSがVB技術者を救済した?。。。
0912デフォルトの名無しさん
2007/11/17(土) 10:32:290913デフォルトの名無しさん
2007/11/17(土) 10:40:39VB屋はVBっぽい文法で、C屋はCっぽい文法で。
新しいことやろうとするたびに新しい文法に染まらなきゃいけない時代は終わったよ
って言うためにもVB.NETは必要。
0914デフォルトの名無しさん
2007/11/17(土) 10:55:31C >> C# > C++ > Java > VB.NET
0915デフォルトの名無しさん
2007/11/17(土) 10:55:440916デフォルトの名無しさん
2007/11/17(土) 11:01:48ゴジラとガメラ、どっちがつおい?
みたいなこといってんじゃねーよハゲ
ゴジラは放射能吐くしガメラは空飛べるんだよ
0917デフォルトの名無しさん
2007/11/17(土) 11:03:52で、ゴジラVSガメラはどっちが勝つんだ?
0918デフォルトの名無しさん
2007/11/17(土) 11:04:080919デフォルトの名無しさん
2007/11/17(土) 11:08:000920デフォルトの名無しさん
2007/11/17(土) 11:15:430921デフォルトの名無しさん
2007/11/17(土) 11:17:340922デフォルトの名無しさん
2007/11/17(土) 11:17:57monoっていまいち
0923デフォルトの名無しさん
2007/11/17(土) 11:24:48VB.NETは
VB厨が変化についていけず救済措置にもなれない、その他言語経験者は文法のキモさに使用しない
必要とされていない子
>>918
ガメラなめんな
0924デフォルトの名無しさん
2007/11/17(土) 11:34:43C#は悲しいくらい少ない。
0925デフォルトの名無しさん
2007/11/17(土) 11:51:32新しいライブラリはほとんどC#サポートのみ。
0926デフォルトの名無しさん
2007/11/17(土) 11:54:200927デフォルトの名無しさん
2007/11/17(土) 12:07:250928デフォルトの名無しさん
2007/11/17(土) 12:13:370929デフォルトの名無しさん
2007/11/17(土) 12:25:50まあXNAに手を出すような奴がVBでってこともまずないだろうが
0930デフォルトの名無しさん
2007/11/17(土) 13:18:280931デフォルトの名無しさん
2007/11/17(土) 13:44:11俺も、配列の括弧が()なのと行の継続に_使う(かつその後ろにはコメント書けない)
の以外はVBの方がコード読みやすいと思う。
0932デフォルトの名無しさん
2007/11/17(土) 14:01:060933デフォルトの名無しさん
2007/11/17(土) 14:09:36VBコンパイラなくしてどうすんだよ・・・
0934デフォルトの名無しさん
2007/11/17(土) 14:14:11C#と同じように書いたVB.NETが一番見やすい
0935デフォルトの名無しさん
2007/11/17(土) 14:52:390936デフォルトの名無しさん
2007/11/17(土) 15:04:430937デフォルトの名無しさん
2007/11/17(土) 16:45:060938デフォルトの名無しさん
2007/11/17(土) 17:08:450939デフォルトの名無しさん
2007/11/17(土) 17:54:12Dim array() as Int32 = new int[]{ 0, 1, 2, 3, 4, 5, 6 };
foreach( i as Int32 in array )
n+= i <3 ? i : i*2;
next;
0940デフォルトの名無しさん
2007/11/17(土) 18:18:32#pragma VB
…
#pragma CS
…
0941デフォルトの名無しさん
2007/11/17(土) 18:55:00技術や言語自体がどうこうっていうよりcって付いてると高くなるので
周りにc#.NETやるやつが増えない(というか雇えない)
0942デフォルトの名無しさん
2007/11/17(土) 18:55:21ある程度予測は付いていたが、実務でC#は厳しそうだな・・・
0943デフォルトの名無しさん
2007/11/17(土) 19:10:48ドトネト製のフリーソフトってどれだけあるよ
0944デフォルトの名無しさん
2007/11/17(土) 19:21:58安くて設計からできるC#技術者は少ないからね
言語機能で見れば問題無いんだけど
実務やるならVBと同じ予算やりくりして引っ張ってこないといけないので
C#やったことないけどやってみたいって人だけ集めてやるなら可能
経験者一人くらいは赤字覚悟で入れればなんとか・・・
0945デフォルトの名無しさん
2007/11/17(土) 19:27:110946デフォルトの名無しさん
2007/11/17(土) 20:06:040947デフォルトの名無しさん
2007/11/17(土) 20:10:580948デフォルトの名無しさん
2007/11/17(土) 20:11:18経験年数が主じゃない?
0949デフォルトの名無しさん
2007/11/17(土) 21:02:32それにプラスの能力がないとスキルとして評価されないよ。
0950デフォルトの名無しさん
2007/11/17(土) 21:10:49Visual Studio solution is enable what composite C#, C++ and VB.
0951デフォルトの名無しさん
2007/11/17(土) 21:15:46業務知識(笑)
0952デフォルトの名無しさん
2007/11/17(土) 21:17:21If you think same doing for anathor language.
Does compare language speed, then C > C++ >> C# >VB.
Because C and C++ are native, but C# and VB are not.
0953デフォルトの名無しさん
2007/11/17(土) 21:18:40単純に変わるよ
でも以前より差は無くなってる
上のほうでは1〜3割違うけど曾孫請けくらいまで降りてくるとなぜか差は数万になってるw
交渉時もVBだと「VBには金を出せない」って平気で言われる
言語機能に不足は無いって言っても無駄、顧客が持ってるイメージの問題
単にCだと高くつくってイメージもあるけど実際にそう
言語なんでもいいよ〜ってところもあるけどそういうところはVB価格で出してくるね
0954デフォルトの名無しさん
2007/11/17(土) 21:22:00>交渉時もVBだと「VBには金を出せない」って平気で言われる
だって出してくんの「VBやってるからVB.NETできます」君だろ?
0955デフォルトの名無しさん
2007/11/17(土) 21:24:57無理しなくていいよ
0956デフォルトの名無しさん
2007/11/17(土) 21:49:500957デフォルトの名無しさん
2007/11/17(土) 21:51:48アナザーってなんだw
0958デフォルトの名無しさん
2007/11/17(土) 21:53:530959デフォルトの名無しさん
2007/11/17(土) 22:00:420960デフォルトの名無しさん
2007/11/17(土) 22:03:56俺も一時Rubyしてたけど結局C#メインに戻った
0961デフォルトの名無しさん
2007/11/17(土) 22:16:000962デフォルトの名無しさん
2007/11/17(土) 22:26:440963デフォルトの名無しさん
2007/11/17(土) 22:27:470964デフォルトの名無しさん
2007/11/17(土) 22:30:49言語たんは嫁。
0965デフォルトの名無しさん
2007/11/17(土) 22:31:36>>961
言語たんは嫁。
http://pggirls.asukaze.net/
0966デフォルトの名無しさん
2007/11/17(土) 23:12:300967デフォルトの名無しさん
2007/11/17(土) 23:12:37protected override でインテリセンスから選択する以外に方法あります?
メニューから選択できるとか?
0968デフォルトの名無しさん
2007/11/17(土) 23:13:130969デフォルトの名無しさん
2007/11/17(土) 23:13:170970デフォルトの名無しさん
2007/11/17(土) 23:16:09無いんじゃね
どう考えてもインテリセンス使ったほうが早い
protectedは書かなくてもoverride[スペース]だけでおk
0971デフォルトの名無しさん
2007/11/17(土) 23:21:04ないですよね。ありがとう。
0972デフォルトの名無しさん
2007/11/17(土) 23:25:440973デフォルトの名無しさん
2007/11/17(土) 23:29:340974デフォルトの名無しさん
2007/11/17(土) 23:29:540975デフォルトの名無しさん
2007/11/18(日) 00:04:30つーか現実主義って意味わかんね
0976デフォルトの名無しさん
2007/11/18(日) 00:07:220977デフォルトの名無しさん
2007/11/18(日) 00:11:01フレームワーク等の製品知識が必要だと言いたかったんだが。
0978デフォルトの名無しさん
2007/11/18(日) 02:21:09無知で頑固で無駄が大好きだから
0979デフォルトの名無しさん
2007/11/18(日) 04:33:20いつまでも古臭い書き方強要したりな
言語に合わせた書き方ってものがあるだろうに・・・
JAVAやドトネトでStringクラスに大量の文字列くっつけるのに
String str = "";
str = str + "";
・
・
・
・
str = str + "";
hoge.execute(str);
ねーよwwwwww
0980デフォルトの名無しさん
2007/11/18(日) 04:38:13ごめん・・・
それ見やすくていいじゃんとか思っちゃうんだけど
もしかして俺一緒に働いてる?
0981デフォルトの名無しさん
2007/11/18(日) 04:40:15かわいそうなオマエにはCSEオヌヌメ
>>979みたいな出力してくれる
0982デフォルトの名無しさん
2007/11/18(日) 04:43:40そうじゃなくってさ
見やすさはいいんだけどさ
パフォーマンス考えたらせめてStringBulderとかつかうだろ?
0983デフォルトの名無しさん
2007/11/18(日) 04:47:260984デフォルトの名無しさん
2007/11/18(日) 04:49:16それするような会社じゃないのよw
ビューやPL/SQLとか一個もないし
でSQLの文字列結合はこれで4000行とかあったりするし
毎回これを実行して文句ひとつ言わないPGとか頑張ってるなぁとかおもうんだぜw
0985デフォルトの名無しさん
2007/11/18(日) 04:54:07Javaから来た人はStringBufferのかわりに見つけれるみたいだけど
VBやC(C++じゃなくて)から来た人は軒並み+=してくるな
ソースレビューとかレビューイとしては正直やりたく無いんだけど
何回かやっとかないといけない現実がつらい
0986デフォルトの名無しさん
2007/11/18(日) 04:56:36+=すんのはCの人だけだった
VBの人はstr=str+だった
秀丸で\nを\nstr=str+に置換していい笑顔されたので
なんとなく笑顔で返してしまった俺はかなり弱気
0987デフォルトの名無しさん
2007/11/18(日) 05:01:250988デフォルトの名無しさん
2007/11/18(日) 05:03:40それもそんな数が多くない所や同時アクセス数が少なけりゃ否定はしないんだけどね
WEBアプリで同時にドカンとこられたら結局メモリの無駄遣いでガベコレ動いてパフォーマンスが落ちることを結構気にしちゃったりするんだよ
それにそういう事気にせずにやる会社は+αでDB鯖のデータ数が増えまくって設計が悪いと極端に性能が落ちてくるからあとでクレームや相談が来ることも結構あったりするしさ
>ソースレビューとかレビューイとしては正直やりたく無いんだけど
>何回かやっとかないといけない現実がつらい
ちょっとkwsk
0989デフォルトの名無しさん
2007/11/18(日) 05:03:38おおう、知らなかった
もうJAVAには戻るなと言う神のお告げと理解しますw
0990デフォルトの名無しさん
2007/11/18(日) 05:07:020991デフォルトの名無しさん
2007/11/18(日) 05:09:40居る所には居るってこったろ?たぶん
0992デフォルトの名無しさん
2007/11/18(日) 05:12:28正直、大手SIが金稼ぎの為に利用しただけになってるからね。
コスト意識が高い企業は.NETを選択することが増えてきているし、
失敗プロジェクトの多数がJava(言語が問題ではない開発者が問題)という事実も
知られてきている。
0993デフォルトの名無しさん
2007/11/18(日) 05:13:07開発チームリーダーとかやってるんだけど
開発時ってプログラマーを集めるが基本的に全員初対面
プログラマー同士は同じ会社だったりするけど
みんなの能力がわからないのでプログラム書いたあと
書いた人がプログラム多少知ってる人にソースコードレビュー
わかってる人と判断したら10分でレビュー終了
やばい人と判断したらソースのまずいところを指摘して
改善策も提示(だいたい自分で調べられない)
超疲れる
効果的でもあるが、ソースレビュー記録票が無いと納品拒否されるのが理由
バグが出たときはソースレビューした人(俺)がボロカスに言われる
ちなみに以降のソースレビュー記録票は捏造します
捏造係はプログラマーのうち使えない人をあてます
こんなんでおk?
もっと細かい内容のことだとしたら俺も空気読めてないんだと思う
0994デフォルトの名無しさん
2007/11/18(日) 05:14:150995デフォルトの名無しさん
2007/11/18(日) 05:16:25あれ・・・やっぱりタイムスリップしてる?・・・
0996デフォルトの名無しさん
2007/11/18(日) 05:19:23うわぁ・・・あるあるwww
プロジェクト入れられた時に各自の一本目はソースレビュー必須で先行してやってた人のベース見た時に
うぉっ!!
て思ったこともあったよ
ソースレビューの記録はやった事無いが、テスト結果の記録は・・・(´▽`*)
こんなもんでおkw
0997デフォルトの名無しさん
2007/11/18(日) 05:48:480998デフォルトの名無しさん
2007/11/18(日) 07:31:10>>993
そのまえに、.NETってだけで納品を断られることのほうが多い
0999デフォルトの名無しさん
2007/11/18(日) 07:32:371000デフォルトの名無しさん
2007/11/18(日) 07:33:2310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。