ふらっとC♯, C#(初心者用) Part16
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/05/16(水) 20:00:12「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
前スレ: ふらっとC♯, C#(初心者用) Part15
http://pc11.2ch.net/test/read.cgi/tech/1176387265/
0002デフォルトの名無しさん
2007/05/16(水) 20:09:410003デフォルトの名無しさん
2007/05/16(水) 20:37:200004デフォルトの名無しさん
2007/05/16(水) 23:21:34((Button)sender).Text = "aaa";
でよくて
(Button)sender.Text = "aaa";
では何故ダメか?
演算の優先順位があるから。
(Button) のようなキャストより . のほうが優先されるため。
(Button)sender.Textだと . が優先され sender.Text を(Button)でキャストしようとするのでNG。
そこで ( )でくくってやって ((Button)sender)としてsenderを Buttonにキャストしてやる。
その上で ButtonクラスのTextを使う。
0005デフォルトの名無しさん
2007/05/16(水) 23:28:070006デフォルトの名無しさん
2007/05/16(水) 23:29:58誰でも使えるのです。
0007デフォルトの名無しさん
2007/05/17(木) 00:13:59ちょっと上手いと思った
0008デフォルトの名無しさん
2007/05/17(木) 00:28:38いやいや、C#に使われているのです。
0009デフォルトの名無しさん
2007/05/17(木) 03:25:14if (MessageBox.Show("保存して終了しますか?", MessageBoxButtons.YesNoCancel) == DialogResult.Cancel)
Cancelの処理
else if Noの処理
else Yesの処理
と書いたのですが、実際にMessageBoxの「はい」ボタンを押すとYesの処理がされる前に閉じられてしまいます。
Yesの処理が行われた後に閉じるようにするにはどうすればいいでしょうか?
0010デフォルトの名無しさん
2007/05/17(木) 03:40:19else句以下で使えないでしょうが。
switch文使うかDialogResultをいったん変数に受けてifで分岐してください
0011デフォルトの名無しさん
2007/05/17(木) 04:20:56ありがとうございました。
間違えていた部分がわかりました。
0012デフォルトの名無しさん
2007/05/17(木) 05:51:54使えばいいでしょうか。
0013デフォルトの名無しさん
2007/05/17(木) 09:54:51よく使われると聞いたのですが、それにはexeファイルを呼ぶしかないのでしょうか?
0014デフォルトの名無しさん
2007/05/17(木) 10:24:110015デフォルトの名無しさん
2007/05/17(木) 10:40:02関連図けられたファイルのアイコン等を所得する方法ってありますか?
実行ファイルだけはわかるんですが
やりたい事はエクスプローラーみたいなのを作ろうとしています。
0016デフォルトの名無しさん
2007/05/17(木) 10:48:490017デフォルトの名無しさん
2007/05/17(木) 11:29:59各スキーマに対応したクラスでリソース取得を試みて、あるかないかを判断するしかないのでは。
つーかどのメソッドって('A`)
0018デフォルトの名無しさん ◆.CzKQna1OU
2007/05/17(木) 11:53:41最近C#を学び、もうC#にしぼって知識をみにつけ使いこなせるようになろうと
してる程度の初心者です。自分の言語の経験は
C→JAVA(かじった程度の知識)→C++(初心者脱出した程度の知識)
→C#(CodeZineで少し言語の文法を身につけた程度)
で、今、[プログラミング VisualC#2005(言語編)]と[プログラミング .NET Framework]
いう本で勉強してるんですが、どうも、自分は基礎の基礎レベルの知識が解って
いないようなので質問さしていただきます。
フィールドを自分は勝手にクラス内部(要はメンバ変数や定数とメソッド)の空間の事だと
思っていたのですが、まったく違いメンバ変数や定数の事のようだと知ったのですが
本当にその程度の理解で良いのかわかりません。フィールドとはメンバ変数や定数の事
だと思っていていいのでしょうか。
internal修飾子がいまいちよくわかりません。
下のソースのように、戻り値がインターフェイスというのはそのインターフェイス実装してる
クラスのオブジェクトを受け取れる?(戻り値がインターフェイスと言う時点でよくわかりません)
public class TestClass{public ITest GetSomething(){
AClass obj = new AClass();obj.MethodA();return obj;}}
public interface ITest { void MethodA();}
internal class AClass : ITest
{public void MethodA(){}}
0019デフォルトの名無しさん
2007/05/17(木) 12:36:15>思っていたのですが、まったく違いメンバ変数や定数の事のようだと知ったのですが
>本当にその程度の理解で良いのかわかりません。フィールドとはメンバ変数や定数の事
>だと思っていていいのでしょうか。
?? メソッドは違うといいたいの?
MSDNによると「フィールドとは、クラスまたは構造体に含まれるオブジェクトや値のことです。
フィールドを使用すると、クラスおよび構造体でデータをカプセル化できます」
>internal修飾子がいまいちよくわかりません。
趣味のレベルならわかんなくていいんじゃない?
アセンブリとか理解しない限りわかんないとおもうし
つかわないんじゃない?
0020デフォルトの名無しさん
2007/05/17(木) 12:39:05はい。
静的フィールド(クラス変数)というのもあります。
以前の理解は「メンバ」に近いやろ。
>internal
アセンブリの外からアクセスできないpublicと思えばよか。
>戻り値がインターフェイスというのはそのインターフェイス実装してる
>クラスのオブジェクトを受け取れる?(戻り値がインターフェイスと言う時点でよくわかりません)
はい。
でも戻り値がインターフェイスなら戻り値はインターフェイスです。
それ以上でも以下でもありません。
この場合GetSomething()は ITest 「としての」AClassのインスタンスを返します。
実装によってはITestを実装したBClassのインスタンスかもしれないっぺ。
例えばIEnumerableを返す場合、実体はArrayかもしれないしArrayListかもしれないし
ControlCollectionかもしれないということだっぺ。
0021デフォルトの名無しさん
2007/05/17(木) 12:44:510022デフォルトの名無しさん
2007/05/17(木) 18:35:40フォームに用意したボタンを押したら表示するとか
コードから実行することって出来ますか?
0023デフォルトの名無しさん
2007/05/17(木) 18:37:130024デフォルトの名無しさん
2007/05/17(木) 19:13:03わかりました。
ありがとうございます。
0025デフォルトの名無しさん
2007/05/17(木) 19:53:09どうやって?
0026デフォルトの名無しさん
2007/05/17(木) 19:55:280027デフォルトの名無しさん
2007/05/17(木) 20:01:260028デフォルトの名無しさん
2007/05/17(木) 20:15:570029デフォルトの名無しさん
2007/05/17(木) 20:23:46こんな感じ?
ボタンクリックのイベントハンドラに
int x = MousePosition.X;
int y = MousePosition.Y;
ContextMenuStrip.Show += delegate()
{
contextMenuStrip1.Show(x, y);
};
0030デフォルトの名無しさん
2007/05/17(木) 20:26:040031デフォルトの名無しさん
2007/05/17(木) 20:27:16private void button1_Click( object sender, EventArgs e )
{
this.contextMenuStrip1.Show( Control.MousePosition );
}
0032デフォルトの名無しさん
2007/05/17(木) 20:37:57できました!
なるほど、フィールド名はフォームにするのですね。
テキストボックスにしてどうにかしようとしてハマってしまっていました。
ありがとうございました。
0033デフォルトの名無しさん
2007/05/17(木) 21:03:12byte [][] test;
と
byte [,] test;
とでは、どう違うのでしょうか。同じ気がするんですが。
0034デフォルトの名無しさん
2007/05/17(木) 21:06:45aaaaaaaaaa
aaaaaaa
aaaaaaaaaaaaaaaa
aaaaaa
aaaaaaaaaaaaa
[,]は
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
0035デフォルトの名無しさん
2007/05/17(木) 21:17:56ありがとうございます。
謎が解けました。
0036デフォルトの名無しさん
2007/05/17(木) 22:58:06ほんとにわかったの?
すごいな。
ジャグ配列なんだけどな。
0037デフォルトの名無しさん
2007/05/18(金) 00:22:040038デフォルトの名無しさん
2007/05/18(金) 00:26:11回答書いた人もえらい。
0039デフォルトの名無しさん
2007/05/18(金) 01:39:56どちらもよく使うデータ構造なので大丈夫です。
C++やってたので、表記とデータ構造が一致せず、混乱してました。
0040デフォルトの名無しさん
2007/05/18(金) 06:50:52ジャグ配列っていまいち使い方がわからないんだよな
まぁ漏れが単純な事しか考えないってことか・・・
0041デフォルトの名無しさん
2007/05/18(金) 12:48:32実はジャグ配列の方が要素の参照高速。
int[][] array = new int[]{
0042デフォルトの名無しさん
2007/05/18(金) 12:49:59int[][] array = new {
new int[n],
new int[n],
.・・・
みたいな書き方が面倒でなくて、かつメモリよりも速度優先なら
ジャグ配列使った方がよかったり。
0043デフォルトの名無しさん
2007/05/18(金) 19:28:02ジャグ配列の方が速度よりメモリ効率優先に見えるんだが
0044デフォルトの名無しさん
2007/05/18(金) 19:33:39長方形配列だとインデクスの掛け算をするからポインタアクセスよりちょっと遅い
0045デフォルトの名無しさん
2007/05/18(金) 19:34:10連続領域を確保するのにGCする必要のある場合とかは遅くなるんかな?
0046デフォルトの名無しさん
2007/05/18(金) 19:35:23掛け算よりはメモリを読むほうが遅いだろ。常識的に考えて。
0047デフォルトの名無しさん
2007/05/18(金) 19:41:29004843
2007/05/18(金) 20:11:25ジャグ配列では、メモリのポインタ間接アクセスが二回
通常配列では、メモリのポインタ間接アクセス一回+インデックス計算の掛け算
通常、掛け算よりメモリアクセスの方が遅いので、ジャグ配列のほうがアクセス速度は遅いはず
データが疎で、ある程度大きな二次元配列を使うと、使用されない無駄なメモリ空間が大量に発生する
通常そういうデータを扱うときは二次元のリンクリストを使うのが定石なのだが、これはアクセス速度が遅くなる
で、ジャグ配列というのは、二次元配列と二次元リンクリストの折衷案に見えるんだがね
データの特性にも因るが、一般論としては
アクセス速度、配列>ジャグ配列>リンクリスト
メモリ効率、リンクリスト>ジャグ配列>配列
だと思うんだが、間違ってる?
0049デフォルトの名無しさん
2007/05/18(金) 20:19:200050デフォルトの名無しさん
2007/05/18(金) 20:24:11行単位のアクセスならジャグ配列の方が早くない?
0051デフォルトの名無しさん
2007/05/18(金) 20:24:15int a = test1[2][2];
000000ba cmp dword ptr [ebx+4],2
000000be ja 000000C5
000000c0 call 792D3239
000000c5 mov eax,dword ptr [ebx+14h]
000000c8 cmp dword ptr [eax+4],2
000000cc ja 000000D3
000000ce call 792D3239
000000d3 mov eax,dword ptr [eax+10h]
000000d6 mov dword ptr [ebp-4Ch],eax
int b = test2[2,2];
000000d9 mov eax,2
000000de mov edx,2
000000e3 mov ecx,dword ptr [ebp-48h]
000000e6 sub eax,dword ptr [ecx+10h]
000000e9 cmp eax,dword ptr [ecx+8]
000000ec jb 000000F3
000000ee call 792D3239
000000f3 sub edx,dword ptr [ecx+14h]
000000f6 cmp edx,dword ptr [ecx+0Ch]
000000f9 jb 00000100
000000fb call 792D3239
00000100 imul eax,dword ptr [ecx+0Ch]
00000104 add eax,edx
00000106 mov edi,dword ptr [ecx+eax*4+18h]
0000010a mov dword ptr [ebp-50h],edi
0052デフォルトの名無しさん
2007/05/18(金) 20:25:440053デフォルトの名無しさん
2007/05/18(金) 20:26:44多次元配列の要素にポインタを使って直接アクセスするにはどうやればいいの?
0054デフォルトの名無しさん
2007/05/18(金) 20:28:28確実にインデックスレジスターのかけ算の方が早いだろうね
.netがどうなってるかわからんけど
0055デフォルトの名無しさん
2007/05/18(金) 20:28:40要素の参照が高速という話だからいいんじゃんない?
0056デフォルトの名無しさん
2007/05/18(金) 20:34:29普通にピン刺せばいいんじゃないの?
unsafe {
int[,] a = new int[2, 2] { { 0, 1 }, { 2, 3 } };
fixed(int* p = a) {
Console.WriteLine(*(p+2));
}
}
0057デフォルトの名無しさん
2007/05/18(金) 20:36:080058デフォルトの名無しさん
2007/05/18(金) 20:37:06へーーー、そんな風に実行コードに落ちるんだ
かなりごついプログラム作ったとき効いてきそうだけど
フレームワークがコード解析する方が時間かかるきもする
0060デフォルトの名無しさん
2007/05/18(金) 20:41:31つうかCなら配列でなくポインタ使うっす
0061デフォルトの名無しさん
2007/05/18(金) 20:45:28bool[,] < bool[][]
int[,] > int[][]
0062デフォルトの名無しさん
2007/05/18(金) 20:45:58あるいは、unsafeにすれば・・・
0063デフォルトの名無しさん
2007/05/18(金) 20:56:04初心者が作る程度なら、それほど変わらない気がするな
それよりパソコンで一番遅くて気になるのは表示
まぁダイレクトなんちゃら使えば早いらしいけど
0064デフォルトの名無しさん
2007/05/18(金) 21:01:34ジャグ配列だと専用IL命令が使えるから1次元配列とパフォーマンスが同じになるって書いてあった。
0065デフォルトの名無しさん
2007/05/18(金) 21:03:47ildasmするとすごい汚いことになってる。
0066デフォルトの名無しさん
2007/05/18(金) 23:25:30ジャグ配列、っていう直観的でない言葉を使うから言葉に惑わされるんじゃないの?
ジャグ配列なんていうけど、要はただの配列の配列でっせ。
0067デフォルトの名無しさん
2007/05/18(金) 23:34:23一応残しておきましたけどみたいな
0068デフォルトの名無しさん
2007/05/18(金) 23:38:43そんなわけないでしょw
チミがメモリ上にデータが配置されるイメージを持ってないからそう思うだけ
0069デフォルトの名無しさん
2007/05/18(金) 23:46:190070デフォルトの名無しさん
2007/05/18(金) 23:47:590071デフォルトの名無しさん
2007/05/18(金) 23:51:21それとライブラリのサポートの間に何の関係が?
0072デフォルトの名無しさん
2007/05/18(金) 23:52:550073デフォルトの名無しさん
2007/05/18(金) 23:54:400074デフォルトの名無しさん
2007/05/19(土) 00:03:18int *jagged[] = { (int[]) { 0, 1 }, (int[]) { 2, 3 } };
0075デフォルトの名無しさん
2007/05/19(土) 00:04:17cの意味で「配列の配列」というなら.NETの多次元配列だって配列の配列だ
0076デフォルトの名無しさん
2007/05/19(土) 00:16:3916*16の配列へのランダムアクセスだと2次元配列のほうが速かった。5%くらいだが。
0077デフォルトの名無しさん
2007/05/19(土) 00:16:45どっちにしてもお前らが作るようなアプリに影響なんてないだろうが!
0078デフォルトの名無しさん
2007/05/19(土) 00:18:04だから用途が違うものをそもそも比べるのがおかしいって
0079デフォルトの名無しさん
2007/05/19(土) 00:18:27意味はいっしょ。。
cには配列の配列も表現できるし、多次元配列もある。
int a[2][2]; //cの多次元配列
int **b; //cのジャグ配列というかポインタのポインタ
0080デフォルトの名無しさん
2007/05/19(土) 00:19:00同じ用途に使う場合もあるだろうが。
0081デフォルトの名無しさん
2007/05/19(土) 00:26:24C言語を良く知らないのなら、しったかしないほうがいい
0082デフォルトの名無しさん
2007/05/19(土) 00:27:13大きくは間違ってはないと思うが。
0083デフォルトの名無しさん
2007/05/19(土) 00:27:48よく知ってるよ。指摘できないなら黙ってたほうがいいよ。
0084デフォルトの名無しさん
2007/05/19(土) 00:29:51int a[2][2]; は C の二次元配列だ。
0085デフォルトの名無しさん
2007/05/19(土) 00:34:03ドトネトだと
int **b;
こっちが「配列の配列」
>>84も書いてるけど、cの場合は普通
int a[2][2];
こっちの方を「配列の配列」という言い方をするんじゃないかな?
0086デフォルトの名無しさん
2007/05/19(土) 00:37:24C#では「多次元配列」が長方形配列で、「配列の配列」がジャグ配列。
用語の違いだけで、>>79も>>85も間違っていないように思われる。
0087デフォルトの名無しさん
2007/05/19(土) 00:47:280088デフォルトの名無しさん
2007/05/19(土) 00:49:54出来るであって、イコールじゃあるまい
0089デフォルトの名無しさん
2007/05/19(土) 01:09:43少なくともデータ構造的にはイコールだよ。
0090デフォルトの名無しさん
2007/05/19(土) 01:28:050091デフォルトの名無しさん
2007/05/19(土) 01:28:12確かK&Rの配列の説明だと[][]と**は同じものだと書かれてなかったっけか?
もうK&Rなんか、どこに置いたか忘れちまったくらい昔なんで怪しいんだが。
・・・文字列配列の項とごっちゃかな?
てか、多次元配列なんてオーバーフローが怖くてこの商売始めてこのかた
使ったことないな。
0092デフォルトの名無しさん
2007/05/19(土) 01:31:01> 確かK&Rの配列の説明だと[][]と**は同じものだと書かれてなかったっけか?
そんなわけがなかろう・・・。
お前は酔っているのか。それとも本当に無知なのか。
0093デフォルトの名無しさん
2007/05/19(土) 01:41:210094デフォルトの名無しさん
2007/05/19(土) 01:44:320095デフォルトの名無しさん
2007/05/19(土) 01:44:42>>51を見る限り、C# の二次元ジャグ配列はこんな感じのデータ構造だぞ
typedef struct {
int nandaro;
int size;
int arrray[size];
} ar01;
typedef struct {
int nandaro;
int size;
int kokonimo;
ar01 *arrray[size];
} JagAR;
※C言語風に書いただけであくまで概念
むしろ、Delphiの文字列型に近いメモリ管理してる感じだね
0096デフォルトの名無しさん
2007/05/19(土) 01:50:37a[x][y]は a+x+x*の要素数*yのポインタの指す位置をみてるだけ。
0097デフォルトの名無しさん
2007/05/19(土) 01:55:25Cは一次元だって境界チェックはないんだから、それを言い出すのはおかしいだろう。
0098デフォルトの名無しさん
2007/05/19(土) 02:38:25http://pc11.2ch.net/test/read.cgi/tech/1178639189/
0099デフォルトの名無しさん
2007/05/19(土) 02:42:20もう終わる。
0100デフォルトの名無しさん
2007/05/19(土) 07:25:480101デフォルトの名無しさん
2007/05/19(土) 13:49:530102デフォルトの名無しさん
2007/05/19(土) 19:35:22配列はためになったぞ
0103デフォルトの名無しさん
2007/05/19(土) 21:14:30片方がキチガイで片方がためになるって不思議な感覚だな。
まあ個人的には、演算精度の話も配列の構造の話も学部一年生レベルの話なわけで、
どちらも恥ずかしげもなく「ためになる」とは言いにくい類の話だとは思う。
0104デフォルトの名無しさん
2007/05/19(土) 21:22:21そーいった決めつけをする藻前もかなりの馬鹿、何が誰に為になるかわからんもんだよ
0105デフォルトの名無しさん
2007/05/19(土) 21:36:36今までの経験が通用しなくなるな。ILを一から勉強しとくかな。
0106デフォルトの名無しさん
2007/05/20(日) 00:50:45座標の話ではないのですが
簡単な2DCADを作ってみようと思います
んで回転させる場合、やっぱりサインコサインタンジェントなのですか?
いいサイトがあったら教えてくだちい
0107デフォルトの名無しさん
2007/05/20(日) 01:04:400108デフォルトの名無しさん
2007/05/20(日) 01:07:14すみません。。。。。リアル中卒なんで
0109デフォルトの名無しさん
2007/05/20(日) 01:46:59本屋で高校の数学の参考書を買うか、NHK教育で数学番組みたほうがいいな。
0110デフォルトの名無しさん
2007/05/20(日) 07:07:58C++使った方が良いと思うが・・・
0111デフォルトの名無しさん
2007/05/20(日) 11:50:52本当に時代が来るのかは怪しいがw
0112デフォルトの名無しさん
2007/05/20(日) 12:10:090113デフォルトの名無しさん
2007/05/20(日) 12:10:53フォームのサイズを変化させ続けるプログラムを作りたいのですが
一番簡単な作り方はどんなのですか?
0114デフォルトの名無しさん
2007/05/20(日) 12:11:390115デフォルトの名無しさん
2007/05/20(日) 12:12:57タイマーですか、わかりました。
調べてみます。
ありがとうございます。
0116デフォルトの名無しさん
2007/05/20(日) 12:13:410117デフォルトの名無しさん
2007/05/20(日) 12:25:41それなら、Formに既に実装されるし。
alt+スペース、sの後、カーソルキーでサイズ変更できる。
0118デフォルトの名無しさん
2007/05/20(日) 12:30:18もっともな話なんだけど、しかし実際問題そんな操作はパソヲタ的な人間しか
覚えられないよ。
まあしかし、一見快適そうに思えるUIの改良が、実はイライラをもたらす改悪でしかない、
っていうのはありがちな話で、>>113もその類にしか思えないな。
0119デフォルトの名無しさん
2007/05/20(日) 12:36:14アプリごとに異なるとショートカットなんかすぐ忘れてしまう。
0120デフォルトの名無しさん
2007/05/20(日) 17:39:49シフト+矢印キーでサイズ変更だな、あとはマウス操作で移動やらサイズ変更
0121デフォルトの名無しさん
2007/05/20(日) 19:51:040122デフォルトの名無しさん
2007/05/20(日) 19:54:190123デフォルトの名無しさん
2007/05/20(日) 20:12:16あるインターフェースを積んだDLLがあって、このインターフェースを積んだクラスを
以下のようにして使おうと思ったのですが、
ConstructorInfo ci;
インターフェース temp = (インターフェース)ci.Invoke(BindingFlags.CreateInstance, null, null, null);
\プログラム.exe
\インターフェース.DLL
\Directory\クラス.DLL
\Directory\インターフェース.DLL
とファイルが配置されていた場合、InvalidCastExceptionが発生してしまい、キャストできなくて
困っています。
参照している物のパスが違うだけなのに、なぜキャストできなくなってしまうのでしょうか?
0124デフォルトの名無しさん
2007/05/20(日) 20:38:10頭悪いなw
120はそう変なことは言ってない。
四角い領域のサイズを変更する、という抽象水準ではなにも変わらないからな。
0125デフォルトの名無しさん
2007/05/20(日) 20:41:02ありがとうございます!
回転行列はなんとか理解できました。三角関数で検算しても合ってるから
多分大丈夫だと思いますw
でも、数学って判った時は本当に面白い!!!!って思いますね
0126デフォルトの名無しさん
2007/05/20(日) 20:41:03日本語書こう
0127デフォルトの名無しさん
2007/05/20(日) 21:01:37日本語でおk
0128デフォルトの名無しさん
2007/05/20(日) 21:10:39それなら>>120は乞われてもいないのにいきなり語りだす変人ってことなのか?
0129デフォルトの名無しさん
2007/05/20(日) 21:25:070130デフォルトの名無しさん
2007/05/20(日) 21:27:070131デフォルトの名無しさん
2007/05/20(日) 22:01:51三角関数で検算って何なの
回転行列自体三角関数使ってるだろ
0132デフォルトの名無しさん
2007/05/20(日) 22:14:04なんか分かっててネタで書いてる気がするけど、
本当は座標系の回転なんてGDI+組み込みの機能でできるんだけどね。
107はネタというか、話の取っ掛かりを作ったつもりだったんだが。
ああ書けば誰か一人ぐらい突っ込む奴がいるだろうと思って。
精度的にも二次元のCADならまず問題にならんと思うし。
μmオーダーで設計することを意図するのなら別だろうけど、そんなの普通の用途じゃありえんよね。
0133デフォルトの名無しさん
2007/05/20(日) 23:23:16これでGUIのソフトを作って公開したとすると、利用者には別途に
.NET Frameworkのインストールが必要になると聞いています。
しかし、巷では「このソフトには.NET Frameworkが必要です」のような文言はほとんど見かけません。
これはVisualStudio2005でソフトを作っている人がほとんどいないということでしょうか?
皆さんはどのような環境でC#プログラムを作っているのでしょうか?
0134デフォルトの名無しさん
2007/05/20(日) 23:26:520136デフォルトの名無しさん
2007/05/21(月) 00:14:07ネタ投入しようとしても無駄だよ。
0137デフォルトの名無しさん
2007/05/21(月) 00:35:20よく使うサイズですよ。
俺だったら1μm = 1.0f とするんだがな。
0138デフォルトの名無しさん
2007/05/21(月) 02:26:22ちょいまち。
XPのSP2では標準では.Net1.1しか入ってないと思う。> 出典 Wikipedia
Vista なら3.0まで入っているはずだが人柱はゴメンだとSP2あたりが出るまでXPから買い換えない人も多い。
VisualStudio2005は 2.0 用なので、何も考えないで作って配布した場合、やはり別途WindowsUpdateで2.0を
入れる必要が出てくる。(もちろんダウンロード版で入れてもいい)
これは、ちょっと調べれば分かることなので一々書いていないか、もしくは1.1をターゲットに作ったかだと思う。
ということで、ダウンロードの解説あたりに.Net2.0必要と書いてあるのは親切だと思う。
0139デフォルトの名無しさん
2007/05/21(月) 02:39:04XPのSPじゃ入らないでしょ
0140デフォルトの名無しさん
2007/05/21(月) 09:35:03ただメーカー製の場合だと初めから「1.1がインストール」されているかも。
ダウンロードのページに2.0が必要な旨と.NETのダウンロードページへのリンクを貼っておくといいよ。
自分の場合はそうしている。
それからVisual Studio 2005を使わなくても.NET2.0入れてそのコンパイラ(csc.exe)でコンパイルしたら実行には2.0が必要だよ。
0141デフォルトの名無しさん
2007/05/21(月) 22:37:330142デフォルトの名無しさん
2007/05/21(月) 22:39:300143デフォルトの名無しさん
2007/05/21(月) 22:40:08C#にはjavaのループ用ラベルみたいな機能ってありますか?
2重ループの中でbreak文を使ったときに
内側のループを抜け出すか外側のループを抜け出すかを
それぞれ記述したいので、一番推奨される方法を教えてください。
0144デフォルトの名無しさん
2007/05/21(月) 22:42:000145デフォルトの名無しさん
2007/05/21(月) 22:43:03了解です。ごーつー使います。
ありがとうございます。
0146デフォルトの名無しさん
2007/05/21(月) 22:46:200147デフォルトの名無しさん
2007/05/21(月) 23:07:25常にマウスの位置を中心とした十字線を描画しようとしているのですが、
pictureBoxのMouseMoveイベントで
Graphics g = Graphics.FromImage(pictureBox1.Image);
Pen PointerPen = new Pen(Color.White);
g.DrawLine(PointerPen, 0, mousePoint.Y, pictureBox1.Width, mousePoint.Y);
g.Dispose();
こんな感じに書いてやるとCPU使用率が100%近くなってしまうのですが、他に良い方法はあるのでしょうか?
0148デフォルトの名無しさん
2007/05/21(月) 23:14:45そんなセンスだから問題が解決できないんとちゃうの?
0149デフォルトの名無しさん
2007/05/21(月) 23:24:20失礼しました。
下記のように記述してます。
private void DrawCrossHairs(Point mousePoint)
{
pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(pictureBox1.Image);
Pen PointerPen = new Pen(Color.White);
g.DrawLine(PointerPen, 0, mousePoint.Y, pictureBox1.Width, mousePoint.Y);
g.DrawLine(PointerPen, mousePoint.X, 0, mousePoint.X, pictureBox1.Height);
g.Dispose();
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
DrawCrossHairs(e.Location);
}
0150デフォルトの名無しさん
2007/05/21(月) 23:31:41一旦書いた線を消去する方法が分からない、ということだろうけど
そんな姑息な方法じゃなく正攻法でやることを考えないとダメだよ
0151デフォルトの名無しさん
2007/05/21(月) 23:36:050152デフォルトの名無しさん
2007/05/21(月) 23:45:22または、
2. 線を書く前に書く部分の状態をバックアップしといて、
線を消すときにはそのバックアップを復元する
0153デフォルトの名無しさん
2007/05/21(月) 23:53:180154デフォルトの名無しさん
2007/05/21(月) 23:53:560155デフォルトの名無しさん
2007/05/22(火) 00:15:12ありがとうございます。
無効化とか線を消すってのの意味がよくわかんないので、もうちょっと調べてみます。
0156デフォルトの名無しさん
2007/05/22(火) 00:20:450157デフォルトの名無しさん
2007/05/22(火) 00:24:290158デフォルトの名無しさん
2007/05/22(火) 00:25:240159デフォルトの名無しさん
2007/05/22(火) 00:32:50何だ、線を消すのが面倒だから毎回ビットマップ作ってそれに描画してたんじゃないんだw
むしろWinのグラフィックのお作法を本当に何も知らないんだな。
Picturebox(に限らないけど)描画するときには、Imageプロパティに設定した
イメージに描画するんじゃなくてPictureboxそのものに描画するんだよ。
つーか、そのぐらいのこと勉強してからコード書くだろう普通。
なーんも理解しないうちからこんなことで質問するって、大げさじゃなく頭オカシイと思うぞ
0160デフォルトの名無しさん
2007/05/22(火) 00:37:26>>159
>>1
0161デフォルトの名無しさん
2007/05/22(火) 00:42:34低レベルかどうかとはまた別の問題だろう
0162デフォルトの名無しさん
2007/05/22(火) 00:45:14君はこのスレに居るべきじゃない人間だね。
もっとふさわしいスレにお行き。
0163デフォルトの名無しさん
2007/05/22(火) 00:58:54> 最低限やるべきことやってない
それは、その最低限やるべきことを既に知っているものの言い分だぞ。
0164デフォルトの名無しさん
2007/05/22(火) 01:00:53まず「最低限なにを知るべきか」を人に聞くのも一つの手だろう。
そういうことならこのスレの趣旨にあってると思うし、俺も噛み付かないよ
0165デフォルトの名無しさん
2007/05/22(火) 01:04:120166デフォルトの名無しさん
2007/05/22(火) 01:08:10努力はやっているかどうか、というのはレベルが低いかどうかとは完全に別問題だろやはり
サンプルみ目を通したがここは理解できないから教えてくれ、
って質問なら文句言わないよ。
何もしないでできん・わからん、ってそりゃ当たり前だろ、って言ってんの。
0167デフォルトの名無しさん
2007/05/22(火) 01:14:55うんうん、そうだねそうだね
わかったから、これ以上荒さんでくれ
0168デフォルトの名無しさん
2007/05/22(火) 01:14:550169デフォルトの名無しさん
2007/05/22(火) 01:18:28それができたらこのスレは必要ない
0170デフォルトの名無しさん
2007/05/22(火) 01:22:57本気か?
それを言うなら、それすらできない人間ならこんなスレで何きいても所詮無駄じゃないのか?
0171デフォルトの名無しさん
2007/05/22(火) 01:25:51よく考えたら君が正しい。
俺が間違ってたよ。
0172デフォルトの名無しさん
2007/05/22(火) 02:00:120173デフォルトの名無しさん
2007/05/22(火) 03:49:580174デフォルトの名無しさん
2007/05/22(火) 07:34:52下らない質問にイライラするために居続けるなんて無駄だよね。
0175デフォルトの名無しさん
2007/05/22(火) 08:05:11それでもわかんなかったら、またいらっしゃいぐらい書けないのかなぁ。
どうしてわかんないんだ?そんな事も知らんのか?
っておごり高ぶる人は大成しないよ。
0176デフォルトの名無しさん
2007/05/22(火) 11:03:450177デフォルトの名無しさん
2007/05/22(火) 11:28:39PictureBoxの端に目盛りでもあるんじゃないのかな。
だとすれば十字線が端まで伸びてると便利だと思うけど。
0178デフォルトの名無しさん
2007/05/22(火) 11:44:450179デフォルトの名無しさん
2007/05/22(火) 11:49:13そんなことより君は初心者をバカにするためにわざわざこのスレに来てるのか?
0180デフォルトの名無しさん
2007/05/22(火) 11:55:570181デフォルトの名無しさん
2007/05/22(火) 16:24:45先生に叱られれて僕も子供ですから、と開き直った状況
0182デフォルトの名無しさん
2007/05/22(火) 17:00:360183デフォルトの名無しさん
2007/05/22(火) 17:03:38private void read()
{
FileInfo theSourceFile = new FileInfo("data.dat");
StreamReader sr = theSourceFile.OpenText();
while (sr.ReadLine() != null)
{
line.Add(sr.ReadLine());
}
}
で,下記データファイルを読み込んだところ,
a 1 0
a 2 2.0
a 3 4.0
a 4 6.0
a 5 8.0
b 1 2 1 2
b 2 2 2 3
b 3 2 3 4
b 4 2 4 5
lineには a 2 2.0,a 4 6.0,空白,b 2 2 2 3,b 4 2 4 5と一行とばしにしか入力されませんでした.
なぜでしょうか・・・
0184デフォルトの名無しさん
2007/05/22(火) 17:07:27{
line.Add(sr.ReadLine()); // <- 次の一行を読んでる
}
0185183
2007/05/22(火) 17:43:230186デフォルトの名無しさん
2007/05/22(火) 18:20:14string text;
while ((text = sr.ReadLine()) != null)
{
line.Add(text);
}
0187デフォルトの名無しさん
2007/05/22(火) 22:38:180188デフォルトの名無しさん
2007/05/22(火) 22:45:060189デフォルトの名無しさん
2007/05/22(火) 22:51:47ttp://msdn2.microsoft.com/ja-jp/library/db5x7c0d(VS.80).aspx
と書こうと思ったら先にかかれてた…
ほかにも StreamReader.ReadToEnd とかいろいろあるよ。
0190デフォルトの名無しさん
2007/05/23(水) 04:38:31上に乗っているボタンとかは半透明にしたくないのですが、
this.Opacity = 0.5f
とかにすると全部が半透明になってしまいます。
0191デフォルトの名無しさん
2007/05/23(水) 06:31:33遊びなら良いが、言語以前に論理的思考ができない香具師はこの手の仕事は
やらない方がいいな、作るモノが全部最終的につじつまが合わなくなって
ノイローゼとか鬱になる
0192デフォルトの名無しさん
2007/05/23(水) 07:57:350193デフォルトの名無しさん
2007/05/23(水) 08:04:39Opacityの型はdoubleなのに、なんで0.5fって書くの?
0194デフォルトの名無しさん
2007/05/23(水) 08:44:30設定ひとつでできるようなスマートな方法はない。
スマートでない方法なら、キャプションなしのボタンだけのフォームを別に作って、
半透明フォームの決まった位置にそのフォームが常に表示されるようにプログラムする。
0195デフォルトの名無しさん
2007/05/23(水) 10:29:01VistaでAeroだGo
0196デフォルトの名無しさん
2007/05/23(水) 17:12:25Console.Writeline("{0},{1},{2},....",hoge[0],hoge[1],hoge[2],....)とむりやり横に表示させています.
配列の成分を横に並べて表示させるとき,もっとスマートなやり方はないでしょうか?
0197デフォルトの名無しさん
2007/05/23(水) 18:04:27stringだのStringBuilderだのに連結して
それを表示したら?
0198デフォルトの名無しさん
2007/05/23(水) 18:24:52Console.Write(hoge[i] + ",");
Console.WriteLine(hoge[hoge.Length-1]);
>>197の方が効率は良そうだけど
0199デフォルトの名無しさん
2007/05/23(水) 19:08:100200デフォルトの名無しさん
2007/05/23(水) 19:09:14string.Join(",", Array.ConvertAll<int, string>(hoge, delegate(int value){return value.ToString();}));
0201デフォルトの名無しさん
2007/05/23(水) 20:05:020202デフォルトの名無しさん
2007/05/23(水) 20:51:130203デフォルトの名無しさん
2007/05/24(木) 00:25:39何のために匿名デリゲートなんか使ってるんだ?
string.Join(",", Array.ConvertAll<int, string>(hoge, Convert.ToString));
でいいやん。
0204デフォルトの名無しさん
2007/05/24(木) 02:03:260205デフォルトの名無しさん
2007/05/24(木) 11:15:150206デフォルトの名無しさん
2007/05/24(木) 15:45:14Dictionary<ClassA, ClassB> dic1;
Dictionary<ClassB, ClassA> dic2;
dic1.Add(a,b);
dic2.Add(b,a);
のように1対1のどちらからでも検索できるようなデータがあるのですが、
BinaryFormatterを使ってdic1とdic2をシリアル化して、その後、デシリアル化すると、
追加したデータaとbが、dic1とdic2で異なるインスタンスが生成されてしまいます。
これの回避方法ってありますでしょうか。
0207デフォルトの名無しさん
2007/05/24(木) 15:54:51dic1とdic2を同時にシリアライズしてみたら?
たとえば object[] objs = new object[]{ dic1, dic2 }; をシリアライズするみたいな感じで。
0208デフォルトの名無しさん
2007/05/24(木) 16:32:10ありがとうこざいます。その方法でできました。
0209デフォルトの名無しさん
2007/05/24(木) 23:40:36Rectangle.Contains とかあるのですが
多角形の領域内チェックってあるんでしょうか?
計算方法は分かりますが、もしあるならそっちを使いたいので・・・・
0210デフォルトの名無しさん
2007/05/24(木) 23:42:110211デフォルトの名無しさん
2007/05/24(木) 23:55:08あるbyte配列の中から特定の文字列を取得したいと思っています。
『Encoding.Default.GetString(byte配列)』でbyte配列を文字列に変換し、
文字列の中を正規表現で検索しようとしたのですが、
\x00〜\x80までしか検索にかからず、\x81以上の値は無視されるようです。
文字列に変換した物をbyte配列に戻すと\x81以上の値は保持されているのですが、
\x81以上の値を取得する方法はないでしょうか?
『\xFD 4byteの適当な値 \xFD』の文字列が抜き出せたらと思っています。
もう1つ、byte配列もしくはバイナリファイルの中から特定の文字列を検索する方法はありますか?
1つめの物を含め1byteづつ判定しつつ繰り返すことしか思い浮かびません、、、
0212デフォルトの名無しさん
2007/05/24(木) 23:59:45普通に
>1つめの物を含め1byteづつ判定しつつ繰り返す
でいいよ。
0213デフォルトの名無しさん
2007/05/25(金) 00:03:48ナニ言ってのお宅
>>211
まずさまざまある文字のエンコーディングの違いについて調べた方がいいよ。
それを知らないことには話にならない。
0214デフォルトの名無しさん
2007/05/25(金) 00:09:42日本語も満足に話せない連中がごろごろと
0215デフォルトの名無しさん
2007/05/25(金) 00:12:000216デフォルトの名無しさん
2007/05/25(金) 00:12:140217デフォルトの名無しさん
2007/05/25(金) 00:32:03ありがとうございます
0218デフォルトの名無しさん
2007/05/25(金) 02:10:02>>215
(・∀・)ジサクジエンデシタ
0219デフォルトの名無しさん
2007/05/25(金) 02:44:16エンコードせずに、バイト配列から取得するしかないです。
>もう1つ、byte配列もしくはバイナリファイルの中から特定の文字列を検索する方法はありますか?
>1つめの物を含め1byteづつ判定しつつ繰り返すことしか思い浮かびません、、、
それで十分です。
0220デフォルトの名無しさん
2007/05/25(金) 03:01:060221211
2007/05/25(金) 07:22:38ASCIIは7bitまでしかなく、ShiftJISで8bit目を使っているんですね。
更に正規表現の所のヘルプをよく見てみると、ASCII文字だけと。
>>『16 進数 (2 桁) で表される ASCII 文字と一致します。』
Unicodeの文字表までは見つかりませんでしたが、
『\u0000』の形式でも検索出来ないので、Unicodeでも割り当てられてないんでしょうね。
少し残念ですが、どうもありがとうございました。
0222デフォルトの名無しさん
2007/05/25(金) 19:49:54検索文字列をByte配列にエンコードして検索すりゃいいはなしだろ
0223211
2007/05/25(金) 21:29:48正直諦めてましたが、ヒントをくれたおかげで解決出来ました。
正規表現の中で文字コードを指定して検索しようとしてたのを、
検索したい文字コードを一度stringに変換することで検索出来るようになりました。
何故そうなるのか理解は出来ていませんが、とりあえず満足です。
>>212
確かにバイト配列であって文字列ではなかったですね、、
上で解決するまで指摘されてることが理解出来なかった馬鹿者でした (´・ω・`)
0224デフォルトの名無しさん
2007/05/26(土) 11:39:46struct test
{
public byte A;
public byte B;
public ushort C;
}
のような構造体をbyte[]に高速に変換する方法はありますでしょうか?
0225デフォルトの名無しさん
2007/05/26(土) 12:16:43バイト配列を構造体の他のメンバーにオーバーラップするように配置すればいいんじゃない?
ちょうどcの共用体のイメージだよ。
"c# 共用体"でググるとヒントがみつかる
0226デフォルトの名無しさん
2007/05/26(土) 12:31:00それで本当に出来るのかどうかは知らんが
0227デフォルトの名無しさん
2007/05/26(土) 12:50:59stackalloc で取った byte 配列を
無理やり test* にキャストして、
そこに test の中身を代入で byte 配列化できる。
0228デフォルトの名無しさん
2007/05/26(土) 12:54:53どうせunsafe使うなら固定して普通に読むだけだろうw
0229デフォルトの名無しさん
2007/05/26(土) 13:10:41struct
何を固定するんだよっ
普通に読むってbyte[]にしたいんだろ。
byte[]へのコピーはどうしたっているんじゃないの?
0230224
2007/05/26(土) 13:14:19にてunsafeなやり方が載っていました。
http://d.hatena.ne.jp/tetsuarossa/20070407
にてsafeなやり方が載っていました。
上記方法がやはり最適なのでしょうか。
0231デフォルトの名無しさん
2007/05/26(土) 13:34:230232デフォルトの名無しさん
2007/05/26(土) 13:41:55fixed byte Hairetsu[3];
みたいに構造体に宣言された配列にはどんな感じでアクセスするの?
Hairetsuの型は何になるの?
今試せないので
0233デフォルトの名無しさん
2007/05/26(土) 13:47:380234デフォルトの名無しさん
2007/05/26(土) 13:58:58Hairetsuの型はbyte*になる
0235デフォルトの名無しさん
2007/05/26(土) 21:42:32byte* hairetsu = stackalloc byte[3];
と同じような感じなのかな
0236デフォルトの名無しさん
2007/05/26(土) 21:48:570237デフォルトの名無しさん
2007/05/26(土) 21:51:20ドトネト的にはお行儀がよいやり方なんじゃないのかな
0238デフォルトの名無しさん
2007/05/26(土) 22:06:200239デフォルトの名無しさん
2007/05/26(土) 22:06:43一々バイナリなんて考えるなよこのロートル(プゲラ
だと思うけどね
0240デフォルトの名無しさん
2007/05/26(土) 23:05:49そうだったね。
このあたり、しばらくやってないといつも混乱するよ。
0241デフォルトの名無しさん
2007/05/27(日) 10:28:30普通にアプリ書いてる限りはね。
でも、まあ、一応、過去との互換性とかのために MarshalAs とか unsafe があるわけで。
0242デフォルトの名無しさん
2007/05/27(日) 12:50:050243デフォルトの名無しさん
2007/05/27(日) 15:45:05切り離したりドッキングができるようなコントロールはどうやって作るんでしょうか
どなたかご存知でしたら教えて頂きたい
0244デフォルトの名無しさん
2007/05/27(日) 15:45:260245デフォルトの名無しさん
2007/05/27(日) 15:52:100246デフォルトの名無しさん
2007/05/27(日) 15:53:39子コントロールにするんじゃない?
0247デフォルトの名無しさん
2007/05/27(日) 15:58:590248デフォルトの名無しさん
2007/05/27(日) 16:38:550249デフォルトの名無しさん
2007/05/27(日) 16:39:510250デフォルトの名無しさん
2007/05/27(日) 17:30:040251デフォルトの名無しさん
2007/05/27(日) 21:22:45↓
そんな営利目的には使えないようなもの自分の手柄みたいに得意げに紹介されても困るでしょ
どう書いたら「自分の手柄みたいに得意げ」じゃないと見てもらえるのだ?
0252デフォルトの名無しさん
2007/05/27(日) 21:27:21http://pc11.2ch.net/test/read.cgi/tech/1178639189/323
に答えて・・・。
ホントにバグなの?
0253デフォルトの名無しさん
2007/05/27(日) 21:55:18うはww再現したww
たぶんあっちのスレの
http://pc11.2ch.net/test/read.cgi/tech/1178639189/345
に書いてあるようなことが原因だと思うけど
this.contextMenuStrip1.Show( this, MousePosition.X, MousePosition.Y );
の前に
this.Focus();
したら発生しなくなったから
キーボードフォーカスまわりの不具合かもね。あえてバグとは言わんが
0254デフォルトの名無しさん
2007/05/27(日) 21:59:12の間違いね。。
0255デフォルトの名無しさん
2007/05/27(日) 22:15:04どうやらFormがアクティブの時は出ずに
ドロップ元のエクスプローラーがアクティブの時に出るようですね。
0256デフォルトの名無しさん
2007/05/27(日) 23:09:23どんだけ捻くれた性格なんだよ。
0257デフォルトの名無しさん
2007/05/28(月) 14:47:42でしたのでこちらでも訊かせてください。すみません。
WebBrowser で Excelファイルを表示したとき、
VB6 の頃は Excel のツールボタン列がいくらでも選択できて
表示できたのですが、VB2005 になってから表示されないようなのですが、
もし表示するための方法等がありましたら教えてください。
よろしくお願いします。
0258デフォルトの名無しさん
2007/05/28(月) 15:43:520259デフォルトの名無しさん
2007/05/28(月) 15:54:55GetNextControlで拾おうとしましたができませんでした
どのようなメソッドを使えば可能か教えていただけませんか?
0260デフォルトの名無しさん
2007/05/28(月) 15:55:54このたびはVB.NETスレからカスが流出してしまった事を真に深くお詫び申し上げます。
今後このようなことが内容にカス叩きを徹底してまいります。
今後ともよいご関係が続いていけますようお祈り申し上げて、お詫びの言葉とさせていただきますぉ
0261デフォルトの名無しさん
2007/05/28(月) 15:58:17DOMで。
HtmlDocument.GetElementFromPointあたり?
0263デフォルトの名無しさん
2007/05/28(月) 20:47:42excelはインストールされていますか?
0264デフォルトの名無しさん
2007/05/28(月) 21:02:35ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1563967&SiteID=7
0265デフォルトの名無しさん
2007/05/28(月) 21:08:56webbrowserでは閲覧だけにしといて、ツールバー使いたければオートメーションのほうを考えたほうがいいのかも。
0266デフォルトの名無しさん
2007/05/29(火) 09:59:01参照先ありがとうございました。
>>263
Excelは2003が入っていますが、VB6でのWebBrowserではツールバーも
すべて表示できていたと記憶しています。
>>265
>ツールバー使いたければオートメーションのほうを考えたほうがいいのかも
方法はあるということですね、そうですか、また調べてみます。
また質問するかもしれませんが、よろしくお願いします。
どうもでした。
0267デフォルトの名無しさん
2007/05/29(火) 10:11:030268デフォルトの名無しさん
2007/05/29(火) 11:50:18発生せず、Drag&Dropの処理ができずに困っています。
ユーザーコントロールにせず、Form内にdataGridViewを作成した場合は
マウスイベントが発生し、Drag&Dropの処理ができています。
なにかやってないからだと思うのですがヒントをいただけないでしょうか?
0269デフォルトの名無しさん
2007/05/29(火) 13:23:130270デフォルトの名無しさん
2007/05/29(火) 13:31:27ドラッグアンドドロップイベントでした。
DragEnter,DragOver,DragDrop この3つで処理するんですが、
これらがぜんぜんイベントかかりません。
0271デフォルトの名無しさん
2007/05/29(火) 13:32:070272デフォルトの名無しさん
2007/05/29(火) 13:50:30最初私もそうにらんで、ユーザーコントロール側、PageGridViewっていう
class名なんですが、_DropEnter とか作成して AllowDrop をTrueにして
やってみたんですが、ブレークポイントかけてもまったくイベントかかって
きてないんです。
0273デフォルトの名無しさん
2007/05/29(火) 14:19:21イベントの関数を書いておきながらイベントに登録してませんでした。
m(_ _)m
0274デフォルトの名無しさん
2007/05/29(火) 14:27:17Image imgGetPict = Image.FromFile(ファイルパス);
としてImageを取得しているのですが
ファイルパスがURIの場合、どのようなクラス、メソッドを使用すればよろしいでしょうか?
取得したいのはbmpやGIFファイルです
0275デフォルトの名無しさん
2007/05/29(火) 14:31:160276274
2007/05/29(火) 15:17:24Image.FromStream(MemoryStream(WebClient.DownloadData(URI)))
で読み込めました
ありがとうございます
難しいな〜
0277webmaster@気まぐれアナスイ
2007/05/29(火) 15:24:21!(Φ_Φ+)
そういえばWin.ではmouse.のcenter-click.の操作が優れています…
↑
←●→
↓
斜め〜
0278デフォルトの名無しさん
2007/05/29(火) 18:46:32コンパイル→できたプログラムをそのまま実行
っていうのを書きたいんですが
例えば
exe1:
gcc -o exe1 exe1.c
./exe1
として
$ make exe1
すると
プログラムは一応走るのですが
make: *** [step1] Error 220
ってのがプログラムの終わりに出ちゃうですよね
cygwinから
./exe1
だけだとエラーメッセージは出ないのですが…
Makefile使って
コンパイル→できたファイルをそのまま走らす
時には何か特別な書き方がいるのでしょうか?
0279デフォルトの名無しさん
2007/05/29(火) 18:58:15>>1 を100回読んで御帰り
0280デフォルトの名無しさん
2007/05/29(火) 22:20:05ヘルプにも
> 現在のディレクトリは、元のディレクトリとは異なり、プロセスが開始されたディレクトリです。
と書かれていますが、引数を拾う場合でも実行ファイルのある(フォルダ)パスを取得するにはどうしたら良いのでしょうか。
0281デフォルトの名無しさん
2007/05/29(火) 22:31:320282デフォルトの名無しさん
2007/05/29(火) 22:49:41>何故か実行ファイルのあるフォルダとは異なる場所が取得されます。
もともと 実行ファイルのあるフォルダを取得するメソッドじゃないからな。
ヘルプに書かれている通りカレントディレクトリを取得する…
答えは親切な人が書いてるけど、
カレントディレクトリってなにか調べたほうがいいんじゃないのか?
0283デフォルトの名無しさん
2007/05/29(火) 23:49:17ありがとうございます。
EnvironmentクラスやDiagnosticsクラス辺りを一生懸命探していました。
クラス名の名前と機能が一致しなくていつも目的のクラスを探すのに苦労しています。
>>282
カレントディレクトリは現時点で参照している作業ディレクトリで、MS-DOSならCHDIR(省略形CD)で変更する事が出来るものですね。
それを踏まえても何故起動方法の違いでカレントディレクトリが変わるのでしょうか。
GetCommandLineArgsを使うとコンソールアプリと見なされるから変わるのでしょうか。
仮にそうだとしても何故コンソールアプリと見なされると変わるのか理由が解りません。
0284デフォルトの名無しさん
2007/05/29(火) 23:59:07メソッド名は呪文や暗号ではない。素直に読んでみ。
0285デフォルトの名無しさん
2007/05/30(水) 00:05:35普通に起動と方法が違ってないか?
そこにヒントがある。
0286デフォルトの名無しさん
2007/05/30(水) 00:33:30実行の呼び出し元がカレントディレクトリ。
エクスプローラだとダブルクリックしているフォルダー
ショートカットだとショートカットのある位置。
コンソールだとコンソールのカレントフォルダ。
0287デフォルトの名無しさん
2007/05/30(水) 00:47:15そして OpenFileDialog
0288デフォルトの名無しさん
2007/05/30(水) 00:56:46これが全てじゃないか。
現在のディレクトリ=カレントディレクトリ
0289デフォルトの名無しさん
2007/05/30(水) 01:05:23> which is the one from which the process was started.
訳がおかしくないか?
0290デフォルトの名無しさん
2007/05/30(水) 01:14:170291デフォルトの名無しさん
2007/05/30(水) 01:30:11だから誤訳。
0292デフォルトの名無しさん
2007/05/30(水) 08:45:030293デフォルトの名無しさん
2007/05/30(水) 11:29:39表示させたGIFをローカルに取得したいのですが
URL指定ではなく(サーバーにある画像ファイルではなく)、
WebBrowserコントロールに表示されている画像を取得することは可能でしょうか。
表示後にネットから切断されたりサーバーからファイルが無い状態でも
ローカルのブラウザに表示済みのものを保存したいのです
0294デフォルトの名無しさん
2007/05/30(水) 11:38:18とにかくWEBBROWSERコントロールのこと聞きすぎなのにワロタ
0295293
2007/05/30(水) 11:44:49すみません
MSDNも参照してるのですがどうも思ったように作れなくて…
解説してるページも見つけられなかったので悩んでます
0296デフォルトの名無しさん
2007/05/30(水) 12:16:04意味が正反対になっちまったら意訳とはいえないだろうw
0297デフォルトの名無しさん
2007/05/30(水) 20:05:29>>259-261に書いてあるのにわからないのか?ネタか?釣りか?
0298デフォルトの名無しさん
2007/05/30(水) 20:28:40yhooo翻訳もおかしな結果になる。
内容としては、
現在のディレクトリはプロセスが開始されたディレクトリとは限らない。ってことだろうな
カレントディレクトリは変更できるからね。
0299デフォルトの名無しさん
2007/05/30(水) 21:26:50ディレクトリには何の関係もなかろう。
0300293
2007/05/30(水) 21:33:27ごめんマジでした
HtmlDocument.GetElementFromPoint
HtmlDocument.GetElementsByTagName
を使えばオブジェクトとして持ってこれるのかな
もう少し試してから出直してきます
ありがとうございました。
0301デフォルトの名無しさん
2007/05/30(水) 21:40:53ちなみに>>300じゃないよ。
0302デフォルトの名無しさん
2007/05/30(水) 21:50:080303デフォルトの名無しさん
2007/05/30(水) 21:53:33ああすまん、確かに誤読してるな。
まあでもお前さんほど馬鹿じゃないけど
0305デフォルトの名無しさん
2007/05/30(水) 22:58:410306デフォルトの名無しさん
2007/05/31(木) 01:14:34という動作を行っております。
ドロップされた座標のノードの下に線を表示したいと考えているのですが
どのようにすればよいのでしょうか?
0307デフォルトの名無しさん
2007/05/31(木) 06:38:13ドンピシャの内容ではないが参考になると思う
http://web.archive.org/web/20051227110729/http://park16.wakwak.com/~mimi/dotnet/control/treeview_drag_marker.html
0308デフォルトの名無しさん
2007/05/31(木) 10:30:42ドロップされた座標のノードの取得方法がわからないのか?
線の引き方がわからないのか?
0309デフォルトの名無しさん
2007/05/31(木) 18:13:07参照型引数のメンバ変数を変更禁止にする方法ってありますか。
0310デフォルトの名無しさん
2007/05/31(木) 18:16:220311デフォルトの名無しさん
2007/05/31(木) 18:46:33class wrapper{
public readonly A a;
public wrapper(A _a){a=_a;}
}
A a = new A();
zzz.Method(new wrapper(a));
こういうことでしょうか?
この方法でも、 zzz.Method内で a.x がメソッド内で書き換え可能でした。
できればコンパイルエラーになればいいんですが。
0312デフォルトの名無しさん
2007/05/31(木) 19:32:42x フィールドは好き勝手に書き換えできるわい
0313デフォルトの名無しさん
2007/05/31(木) 20:02:19class ReadonlyA{
private A a;
public wrapper(A a){this.a=a;}
public int X{get{return a.x;}}
}
もしくはCloneして渡す
関係ないけど引数名の先頭にアンダーバー付けたりするのはマナー違反
0314デフォルトの名無しさん
2007/05/31(木) 20:30:460315デフォルトの名無しさん
2007/05/31(木) 20:38:370316デフォルトの名無しさん
2007/05/31(木) 20:44:00互換性に拘らないMicrosoftだからこそなせる業。
まあ、@つけりゃ予約語も識別子として使えるしな
0317デフォルトの名無しさん
2007/05/31(木) 20:44:37っていうのがマイクロソフト様の方針
0318デフォルトの名無しさん
2007/05/31(木) 20:49:02>x フィールドは好き勝手に書き換えできるわい
この言語仕様ってどうなん?違和感があるんですが。
C++のようにメソッドの引数にconst使えないのか。
0319306
2007/05/31(木) 20:50:41線を表示するほうです
>307
参考にするもリンク切れのようで
キャッシュもなかったようですがどうすれば・・
0320デフォルトの名無しさん
2007/05/31(木) 21:12:450321デフォルトの名無しさん
2007/05/31(木) 21:37:55俺はないな。
内部構造、動作がわからないものを外から勝手にリードオンリーできるほうがおかしいと思う。
>const使えないのか。
コーディングの問題で、これは別問題。
0322デフォルトの名無しさん
2007/05/31(木) 21:58:030323デフォルトの名無しさん
2007/05/31(木) 22:05:52C++つかったことあんの?
0324デフォルトの名無しさん
2007/05/31(木) 22:10:06doubleの内部実装しらないけど、readonlyにできるよ。
メソッドの使用者に対してこの引数は弄りませんと明示できるほうがバグが減ると思う。C++はそうなってる。
0325デフォルトの名無しさん
2007/05/31(木) 22:13:59で、aメンバーもリードオンリーになるのは変だと書きたかっただけなんだけどな。
0326デフォルトの名無しさん
2007/05/31(木) 22:15:58いや、変というより貧弱というべきか。
0327デフォルトの名無しさん
2007/05/31(木) 22:17:20に対して、
>C++のようにメソッドの引数にconst使えないのか。
は的外れじゃないか?
0328デフォルトの名無しさん
2007/05/31(木) 22:17:390329デフォルトの名無しさん
2007/05/31(木) 22:20:04ファイルシステムで、c:\dataは読み取り専用なのに、c:\data\testは書き込みOKって言ってるようなもんでしょ。
0330デフォルトの名無しさん
2007/05/31(木) 22:22:380331デフォルトの名無しさん
2007/05/31(木) 22:29:17初心者乙
参照型インスタンスは実はポインタ。
実体は別物。
リードオンリーだと1回設定したら実体が入れ替え出来ないだけ。
普段は実体が入れ替え可。
めちゃくちゃな例えで言うと人間の頭とアンパンマンの頭の違い
0332デフォルトの名無しさん
2007/05/31(木) 22:30:52331の説明では意義を理解できないのは確かだと思う
0333デフォルトの名無しさん
2007/05/31(木) 22:31:03お前こそ
c++のconstの意味分かってないだろ?
0334デフォルトの名無しさん
2007/05/31(木) 22:36:16そんな基本的なことは分かった上で言っている。
c#のリードオンリーの定義に問題があると言っている。
0335デフォルトの名無しさん
2007/05/31(木) 22:36:450336デフォルトの名無しさん
2007/05/31(木) 22:37:560337デフォルトの名無しさん
2007/05/31(木) 22:39:200338デフォルトの名無しさん
2007/05/31(木) 22:39:39すいません、結局C#では、これはできないの?
0339デフォルトの名無しさん
2007/05/31(木) 22:40:18問題があるのであえてそうなってるってばっちゃが言ってた。
ちなみにC#の言語仕様ではなくCLRの仕様らしいよ。C++/CLIも然り。
俺もconst欲しいけど、まぁあくまでコンパイル時の検証より
実行時の実用性を優先させたってことでしょ。
0340デフォルトの名無しさん
2007/05/31(木) 22:40:41開発の仕事をすれば、constのありがたみが分かるよ。
0341デフォルトの名無しさん
2007/05/31(木) 22:43:30このスレの人はconstがなんだかわかってないと思うよ。
自動的に書き換え禁止になる機能とかと勘違いしてるよ。
0342デフォルトの名無しさん
2007/05/31(木) 22:53:08で
dt.Nowが何になれば満足するの?
これはプロパティで構造体か。
0343デフォルトの名無しさん
2007/05/31(木) 22:53:43んー、まぁC++のconstはあくまでコンパイル時の検出のみであることを考えれば、
逆にC++の仕様の方が不自然だったりするんだけどね。
0344デフォルトの名無しさん
2007/05/31(木) 23:00:58変更禁止ってのは取り方がいろいろあるよな。
コンパイル時にはねるのか、
書き込もうとしたら実行時例外がおこるのか、
書き込んだ値を反映させないのか。
0345デフォルトの名無しさん
2007/05/31(木) 23:02:39コンパイルが通らないという理由だけで、const_cast使う奴もいるので、結局デスマーチ。
0346デフォルトの名無しさん
2007/05/31(木) 23:05:21C 風キャストで const 外されるとタマランな。
0347デフォルトの名無しさん
2007/05/31(木) 23:05:52参照先を書き換えないと宣言することに意味はないし、
書き換え禁止を強制する仕組みにも意義を認めにくい。
メソッドの最初の行と最後の行をかく間にそのメソッドの機能を忘れてしまうような
プログラマなら、最初から何を強制しようと無意味だろう。
>>309
意味ないと思うけど、サブクラスだけにプロパティもたせてるようにして、
引数の型はプロパティをもたないベースクラスにするとか。
あとは普通にインターフェイス使うとか
0348デフォルトの名無しさん
2007/05/31(木) 23:07:030349デフォルトの名無しさん
2007/05/31(木) 23:23:18特定のメソッドのために不自然なconstが。
で、 >>334 はどこに行ったの?
0350デフォルトの名無しさん
2007/05/31(木) 23:24:10>プログラマなら、最初から何を強制しようと無意味だろう。
で、君はプロジェクトリーダーだったらどうするの?それにPGが一日20hコーディングしてたら?
PGを外してもモノはできないよ。プロジェクト放り出して逃げる気?
constが無意味とかいう奴は素人だろ。
0351デフォルトの名無しさん
2007/05/31(木) 23:27:53今後javaがconst取り入れるかどうかみとけば。
0352デフォルトの名無しさん
2007/05/31(木) 23:30:38デスマーチ乙。今日は早いお帰りですね。
0353デフォルトの名無しさん
2007/05/31(木) 23:31:56なんか忘れているような。。。
0354デフォルトの名無しさん
2007/05/31(木) 23:34:52実質あまり役に立たないおち
0355デフォルトの名無しさん
2007/05/31(木) 23:37:37constがないからだったのかw
0356デフォルトの名無しさん
2007/05/31(木) 23:47:000357デフォルトの名無しさん
2007/05/31(木) 23:49:19C#でもアンマネージドコードを呼び出す時にはInAttributeがあるわけだから、
忘れたとかではなく、設計者が明確にマネージドの範囲内ならイラネと考えたのだろう。
0358デフォルトの名無しさん
2007/05/31(木) 23:49:29それかc++使いが減ってjava使いが増える
0359デフォルトの名無しさん
2007/06/01(金) 00:40:12とふと思った
0360デフォルトの名無しさん
2007/06/01(金) 00:40:480361デフォルトの名無しさん
2007/06/01(金) 14:32:140362デフォルトの名無しさん
2007/06/01(金) 15:56:41C#の話です(.NET2003)
テキストボックスの制御の話です。
1行25文字で25行までしか入力できなくしたいのです
複数行が可能にしてあるため1行に25文字以上入力しようとすると
自動で折り返してしまい改行になりません。
折り返し時に自動で改行が入るようにしたいのですが・・・
どうすればよいですかね
0363デフォルトの名無しさん
2007/06/01(金) 16:04:04自分で改行いれればいいんじゃね?
0364デフォルトの名無しさん
2007/06/01(金) 16:19:35ProcessCmdKey ですか…
初めて聞く言葉なんでちょっと調べてみます。
ところで
テキストボックスで指定行の文字だけ取得するってできましたっけ?
たとえば現在カーソルがある行の文字数取得 とか・・・
0365デフォルトの名無しさん
2007/06/01(金) 16:29:550366デフォルトの名無しさん
2007/06/01(金) 16:33:47せめて1行あたり25文字しか入力できなく するってのでもいいんですが
行の文字数調べられないとできないですもんね・・・
0367デフォルトの名無しさん
2007/06/01(金) 16:43:35うぜぇwwwwwwww
行の文字の長さならCRLFで区切ってLength調べりゃいいだけだろうが
小細工はそれが出来てからすればいい
0368TextBox.Lines
2007/06/01(金) 17:14:070369デフォルトの名無しさん
2007/06/01(金) 18:50:10最初の行のコメントがなければいいヤツに見えるんだがな。
wの数だけでそいつのキモ度が想像できる。
0371デフォルトの名無しさん
2007/06/01(金) 21:19:50じゃあ、お前は1キモだな。
0372デフォルトの名無しさん
2007/06/01(金) 21:55:37を付ける意味が愚ぐったりもしましたが、どうしても理解出来ません
[STAThread]
static void Main(string[] args)
とかなぜstatic void Mainだけじゃ駄目なのか教えてくれませんか?
0373デフォルトの名無しさん
2007/06/01(金) 21:58:270374デフォルトの名無しさん
2007/06/01(金) 23:17:59やってみた。思ったより面倒臭いね。
public partial class TextBoxEx : TextBox
{
protected const int MaxLines = 5;
protected const int MaxCharPerLine = 10;
protected override void OnTextChanged(EventArgs e)
{
if (Lines.Length >=MaxLines)
{
base.AcceptsReturn = false;
}
else
{
base.AcceptsReturn = true;
}
base.OnTextChanged(e);
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
bool isControlChar = char.IsControl(e.KeyChar);
int lenCaretLine = GetCaretLineLength();
if (lenCaretLine >= MaxCharPerLine && !isControlChar)
{
e.Handled = true;
}
else if (e.KeyChar == '\r' && !AcceptsReturn)
{
e.Handled = true;
}
base.OnKeyPress(e);
}
0375デフォルトの名無しさん
2007/06/01(金) 23:19:12{
return GetLineTextOfCaret().Length;
}
string GetLineTextOfCaret()
{
int line = GetLineIndexOfCaret();
return GetLineText(line);
}
string GetLineText(int line)
{
if (Lines.Length <= 0)
{
return "";
}
else
{
return Lines[line];
}
}
int GetLineIndexOfCaret()
{
int charIndexOfCaret = SelectionStart;
return SendMessage(Handle, Message.LINEFROMCHAR, charIndexOfCaret, 0);
}
enum Message
{
LINEFROMCHAR = 0xc9,
}
[DllImport("User32", EntryPoint = "SendMessageA")]
static extern int SendMessage(IntPtr hWnd, Message msg, int wParam, int lParam);
}
0376374
2007/06/01(金) 23:23:08あと、AcceptsReturn 使ってるのはただの手抜きだからたぶん修正した方がいいと思う。
0377デフォルトの名無しさん
2007/06/01(金) 23:38:13削除してDrag&DropとかShellExecuteとか使ってみれば分かる
0378デフォルトの名無しさん
2007/06/01(金) 23:53:28args消したけど分かりませんでした!!
0379デフォルトの名無しさん
2007/06/02(土) 00:07:00argsは起動時のコマンドライン引数でしょうが。
いらないならいらない。
0380デフォルトの名無しさん
2007/06/02(土) 00:14:28argsを使わずに起動時のコマンドライン引数を取得するにはどうすればいいの?
0381デフォルトの名無しさん
2007/06/02(土) 00:21:040382デフォルトの名無しさん
2007/06/02(土) 00:21:07とか
0383382
2007/06/02(土) 00:36:26string[] 引数 = Environment.GetCommandLineArgs();
因に実際の引数は1以降に入るので注意。
0384デフォルトの名無しさん
2007/06/02(土) 07:07:46日本語XPでシステムの規定の言語が日本語の時と
英語XPでシステムの規定の言語が英語の時は動くんですが、
英語XPでシステムの規定の言語が日本語だと以下のエラーが出ます。
"The signature is incorrect"
このエラーはどうもsytem.web.dllの参照に問題があるようなんですが、
どうやって直したらいいのでしょうか?
おねがいします。
0385デフォルトの名無しさん
2007/06/02(土) 10:59:390386デフォルトの名無しさん
2007/06/02(土) 11:28:270387デフォルトの名無しさん
2007/06/02(土) 11:52:56File.SetAttributes(filepath, File.GetAttributes(filepath) & (! (FileAttributes.ReadOnly | FileAttributes.Hidden | FileAttributes.System)));
VB.NETなら
IO.File.SetAttributes(filepath, IO.File.GetAttributes(filepath) And (Not (IO.FileAttributes.ReadOnly Or IO.FileAttributes.Hidden Or IO.FileAttributes.System)))
で通るのに何故C#では駄目なのでしょうか。
0388デフォルトの名無しさん
2007/06/02(土) 11:57:20否定のビット演算子は別にあるので MSDN 漁ってみ
0389デフォルトの名無しさん
2007/06/02(土) 11:57:33unsafe private int RetrievalWord( bool first, string* pLog, int maxLogLong ) {
}
という文で
「マネージ型のアドレスの取得、マネージ型のサイズの取得、またはマネージ型へのポインタの宣言が実行できません ('string')」
というエラーが出て困っています。
いったいどこがいけないのでしょうか?
0390デフォルトの名無しさん
2007/06/02(土) 11:58:00c#は普通で、vbは適当に解釈してるから。
0391デフォルトの名無しさん
2007/06/02(土) 11:59:13string*
0392デフォルトの名無しさん
2007/06/02(土) 11:59:37どこがと言われても、エラーメッセージ通りとしか言いようがないが。
コンパイルエラーなら MSDN でエラーコード調べるといいよ。
0393デフォルトの名無しさん
2007/06/02(土) 12:14:38マネージ方のオブジェクトは場所が変わる可能性があるからそのままだとポインタでさせない。
0394デフォルトの名無しさん
2007/06/02(土) 12:33:47~ 演算子(反転)というのがあったのですね。
「否定」で一生懸命探していたので気付きませんでした。
ありがとうございます。
File.SetAttributes(filepath, File.GetAttributes(filepath) & (~ (FileAttributes.ReadOnly | FileAttributes.Hidden | FileAttributes.System)));
0395デフォルトの名無しさん
2007/06/02(土) 13:10:07fixed( string* pLog = log ) {
pLog = RetrievalWord( true, pLog, LoadIndexLong );
}
の様にすれば良いということでしょうか?
0396デフォルトの名無しさん
2007/06/02(土) 13:19:15string* = string
ってどんな代入だよ
0397デフォルトの名無しさん
2007/06/02(土) 13:24:220398デフォルトの名無しさん
2007/06/02(土) 13:27:47みんな自前で実装してるの?
0399デフォルトの名無しさん
2007/06/02(土) 13:28:15失敗してもそこから学ぶことが大事。
人に聞くのは一番最後。
0400デフォルトの名無しさん
2007/06/02(土) 13:39:53fixed( string* pLog = log ) {
pLog = RetrievalWord( true, pLog, LoadIndexLong );
}
これで無理なら、引数としてでは無理ということでしょうか?
0401デフォルトの名無しさん
2007/06/02(土) 13:42:16ひんと かたがちがうかな
0402デフォルトの名無しさん
2007/06/02(土) 13:46:58ややいまいちだが
0403デフォルトの名無しさん
2007/06/02(土) 14:09:13なんと効率のわるいレス・・・
0404デフォルトの名無しさん
2007/06/02(土) 14:16:29自分で解決する能力をみにつけにょう
0405デフォルトの名無しさん
2007/06/02(土) 14:20:26DataTable使って作った。XML読み書き楽。
0406デフォルトの名無しさん
2007/06/02(土) 14:27:30物によっては容量が馬鹿でかくなっちゃうよな。
0407デフォルトの名無しさん
2007/06/02(土) 14:57:40型ですか?型いろいろ変えてもできません。><
引数としてでは可能ということは分かりました。ですが、やっぱり渡せません。><
0408デフォルトの名無しさん
2007/06/02(土) 15:09:51>>404
string[] と string*
0409デフォルトの名無しさん
2007/06/02(土) 15:20:47なんか回答してる方も馬鹿っぽいからあんまり真に受けて
その話題に固執すべきでないかもなw
比較的まともな人に回答してもらいたければ、そもそも
RetrievalWordとやらで何をしたいのかをまず書くべきだと思う。
0410デフォルトの名無しさん
2007/06/02(土) 15:28:12もう遅いですが、過去のリストから類似するリストを検索しようとしています。
VC++から移植していて、ここで躓きましたorz
0411デフォルトの名無しさん
2007/06/02(土) 15:29:410412デフォルトの名無しさん
2007/06/02(土) 15:31:230413384
2007/06/02(土) 15:58:10eigo de suimasenn.
reigai no namae ha TypeLoadException desu.
hikituzuki onegaisimasu
0414デフォルトの名無しさん
2007/06/02(土) 16:03:380415デフォルトの名無しさん
2007/06/02(土) 16:09:41ttp://ajaxime.chasen.org/
0416デフォルトの名無しさん
2007/06/02(土) 16:10:150417デフォルトの名無しさん
2007/06/02(土) 19:46:22refで参照渡しできるのを知らないとか
0418デフォルトの名無しさん
2007/06/03(日) 01:58:36お気に入りのfaviconを.urlファイルを読んでURLを取得、そのURLから
アイコンを得たいです。お願いします。
0419デフォルトの名無しさん
2007/06/03(日) 03:36:49ちなみに、HTTP では基本的にファイル単位でやり取りすることになる。
直接 Image オブジェクトを受け取るんではなく、ファイルを受け取ってそこから Image を作るってことだ。
0420418
2007/06/03(日) 04:01:16ありがとう。じゃあキャッシュを探してそれをImageListに加えればいいのかな?
なんか激重になりそうだが・・・・・・
いろいろやってみます。ありがとうございました。
0421デフォルトの名無しさん
2007/06/03(日) 05:50:51マルチTiffなファイルを作成しようとしているのですが、Image.SaveAdd()の
EncoderParameterに何を入れたらいいのかわかりません。
なにかヒントだけでもいいので、教えていただけたらうれしいです。
よろしくお願いします。
0422デフォルトの名無しさん
2007/06/03(日) 05:57:230423デフォルトの名無しさん
2007/06/03(日) 06:09:48MSDNのEncoder.SaveFlag フィールドのページに
やりたいことのサンプルコードがありました。
これを元にいろいろいじってみます。
ありがとうみございました。
0424デフォルトの名無しさん
2007/06/03(日) 11:17:57>>419 はどこにも「キャッシュ」なんて書いて無い罠
[1] URL から HTTP 経由でファイルを取得する方法
[2] ファイルから Image を作る方法
この2つに分けて考えなさいな
0425デフォルトの名無しさん
2007/06/03(日) 11:49:42WebClientを使えば超簡単
using (WebClient webClient = new WebClient())
using (Stream stream = webClient.OpenRead("URL"))
{Image image = Image.FromStream(stream);}
0426デフォルトの名無しさん
2007/06/03(日) 12:47:28複数解像度をもつアイコンがあるとうまく行かない。
http://japan.cnet.com/favicon.ico これがそうだな。
0427デフォルトの名無しさん
2007/06/03(日) 13:01:19WebClient wc = new WebClient();
byte[] buf = wc.DownloadData(favicon_uri);
string cntxt = wc.ResponseHeaders.Get("Content-Type");
MemoryStream stream = new MemoryStream(buf, false);
if (cntxt == "image/vnd.microsoft.icon" || cntxt == "image/x-icon") {
Icon ico = new Icon(stream, 16, 16);
image = ico.ToBitmap();
} else if (string.Compare(cntxt, 0, "image/", 0, 6) == 0) {
pictureBox1.Image = Image.FromStream(stream);
}
0428418
2007/06/03(日) 14:36:13ありがとうございました。おかげでうまくアイコンを取得できました!
0429デフォルトの名無しさん
2007/06/03(日) 16:20:59ステータスバーの状態を変更できるものがあったと思うのですが、
.netにも同様の機構はありますのでしょうか?
0430デフォルトの名無しさん
2007/06/03(日) 16:39:090431デフォルトの名無しさん
2007/06/03(日) 17:44:31ありがとう。調べてみます。
0432デフォルトの名無しさん
2007/06/03(日) 20:14:57ToolTipのオーナードローをしたいのですが、
下のコードでMyToolTip_Popupは呼ばれますが、MyToolTip_Drawが呼ばれません。
思い当たる原因や対策がある方、教えていただけませんか?
ToolTip tip = new ToolTip();
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
tip.IsBalloon = true;
tip.OwnerDraw = true;
tip.Popup += new System.Windows.Forms.PopupEventHandler(this.MyToolTip_Popup);
tip.Draw += new System.Windows.Forms.DrawToolTipEventHandler(this.MyToolTip_Draw);
tip.ToolTipTitle = "タイトル";
tip.Show("test", this, 0, 0, 3000);
}
}
private void MyToolTip_Popup(object sender, PopupEventArgs e)
{
MessageBox.Show("Popup");
}
public void MyToolTip_Draw(object sender, DrawToolTipEventArgs e)
{
MessageBox.Show("Draw");
e.DrawBackground();
e.DrawBorder();
e.DrawText();
}
0433デフォルトの名無しさん
2007/06/03(日) 20:21:230435デフォルトの名無しさん
2007/06/03(日) 20:53:390436デフォルトの名無しさん
2007/06/03(日) 21:11:56初心者向けのサイトをいくつか列挙していただけないでしょうか
0437デフォルトの名無しさん
2007/06/03(日) 21:13:26http://pc11.2ch.net/test/read.cgi/tech/1177299756/2
0438デフォルトの名無しさん
2007/06/03(日) 21:18:30ありがとうございます
0439デフォルトの名無しさん
2007/06/03(日) 21:40:01昔テンプレなかったっけ?
0440デフォルトの名無しさん
2007/06/03(日) 21:55:190441432
2007/06/03(日) 22:15:38あ、いえ。
もともとToolTipを継承したクラスでオーナードローを試していて、
ソースを小さくしていったらこうなっただけなので、
その辺は多分大丈夫だと思います。
元のコードはデザイナで追加されたInitializeComponent()でやっています。
0442デフォルトの名無しさん
2007/06/04(月) 15:04:150443442
2007/06/04(月) 15:07:18ttp://d.hatena.ne.jp/panda728z/20070117#p1
↑参考にしてみたんですが、ヒントもらえませんか?
//object[] parameterArray = new object[] { "あれや", "これや", "hogehoge" }; // ← ここら辺を何とかすれば何とかなる気がするんですが・・・。
string parametersSerialized = string.Empty;
UTF8Encoding uniEncoding = new UTF8Encoding();
XmlSerializer serializer = new XmlSerializer(typeof(object[]));
using (MemoryStream memStream = new MemoryStream())
{
serializer.Serialize(memStream, parameterArray);
parametersSerialized = uniEncoding.GetString(memStream.ToArray());
}
0444デフォルトの名無しさん
2007/06/04(月) 18:28:26それでシリアライズできるとおもうよ
0445デフォルトの名無しさん
2007/06/04(月) 18:32:17詳しくないけどこの辺の理由じゃないの?
http://dobon.net/vb/dotnet/file/xmlserializer2.html
っていうか、理解せずにテキトーに書いたって後々困るだけじゃないか?
parameterArray がListBoxのItemsに突っ込むアイテムだとしたら、どう考えても、
>XmlSerializer serializer = new XmlSerializer(typeof(object[]));
こりゃ変だw
0446デフォルトの名無しさん
2007/06/04(月) 21:52:420447デフォルトの名無しさん
2007/06/04(月) 21:55:360448デフォルトの名無しさん
2007/06/04(月) 22:14:19.NET Frameworkのライブラリ見てたらわかるでしょ
0449デフォルトの名無しさん
2007/06/04(月) 22:15:55構造体(含む数値型、論理値型)や列挙体は値型、
それ以外のクラス型(?)は全部参照型なので、クラスインスタンスを
やり取りするときは参照渡し。
値型はref, out キーワードで参照渡しが可能。
(不正確な言い方だったらすまんです)
0450デフォルトの名無しさん
2007/06/04(月) 22:18:00値型/参照型に限らずref/outをつければ参照渡しになるし、そうでなければ値渡し
0451デフォルトの名無しさん
2007/06/04(月) 22:19:19参照型もrefやoutで渡せるし、ちゃんと意味がある
被った…
0452デフォルトの名無しさん
2007/06/05(火) 00:26:35{
class = null;
}
0453デフォルトの名無しさん
2007/06/05(火) 00:30:03どっちの意味で言ってたんだろ
前者なら常用されるし後者なら>>448なわけだが
0454デフォルトの名無しさん
2007/06/05(火) 00:35:49教えてくれよん
0455デフォルトの名無しさん
2007/06/05(火) 00:38:57↓この辺り見れ。
http://ufcpp.net/study/csharp/sp_ref.html
0456デフォルトの名無しさん
2007/06/05(火) 00:55:520457デフォルトの名無しさん
2007/06/05(火) 01:05:020458デフォルトの名無しさん
2007/06/05(火) 01:18:10int hoge = 0;
TypedReference tref = __makeref(hoge);
__refvalue(tref, int) = 5;
Console.WriteLine(__refvalue(tref, int));
出力結果:5
unsafeつけなくてもおk
0459デフォルトの名無しさん
2007/06/05(火) 01:18:200460458
2007/06/05(火) 01:21:19Console.WriteLine(hoge);ね
どっちみち意味無いけど
0461デフォルトの名無しさん
2007/06/05(火) 03:03:29ほかにどんなのがあるの?
0462デフォルトの名無しさん
2007/06/05(火) 03:47:38どんなとき使うんだろ
0463デフォルトの名無しさん
2007/06/05(火) 14:23:32Reflectorで見てもそのままだった
0464デフォルトの名無しさん
2007/06/05(火) 17:54:06この辺の隠し機能とかでないかのう?
0465デフォルトの名無しさん
2007/06/05(火) 17:56:530466デフォルトの名無しさん
2007/06/05(火) 18:04:030467デフォルトの名無しさん
2007/06/05(火) 18:22:18{
DynamicMethod dm = new DynamicMethod(string.Empty, typeof(uint), null, typeof(T));
ILGenerator il = dm.GetILGenerator();
il.Emit(OpCodes.Sizeof, typeof(T));
il.Emit(OpCodes.Ret);
return (uint)dm.Invoke(null, null);
}
アホらし
0468デフォルトの名無しさん
2007/06/05(火) 18:46:140469デフォルトの名無しさん
2007/06/05(火) 18:48:55unsafeって言ってるってことはsizeof演算子で求まる値が欲しいんだろう。
0470デフォルトの名無しさん
2007/06/05(火) 21:29:15>unsafeって言ってるってことはsizeof演算子で求まる値が欲しいんだろう。
そういうこと。
何で知りたいかっていうと、アトミックに値を置き換えられないサイズの値型の場合のみ
ボクシングなり参照型でラップなりして保持する、というようなことがしたかった。
ジェネリックとマルチスレッドからみでいろいろとね…
※でも実は特定サイズ以下の値型のコピーが内部的にアトミックな実装になってる「保証」はない気がする。
0471デフォルトの名無しさん
2007/06/05(火) 21:30:23あほらしさに感動したよママン
0472デフォルトの名無しさん
2007/06/05(火) 21:50:450473デフォルトの名無しさん
2007/06/05(火) 21:58:38それ自体はunsafeなもんじゃないんだからunsafeでなくても使えたらいいのに。
まあ混乱を招きそうだけど。
0474デフォルトの名無しさん
2007/06/05(火) 22:00:140475デフォルトの名無しさん
2007/06/05(火) 22:02:230476デフォルトの名無しさん
2007/06/05(火) 22:02:42……いつの間に。
0477デフォルトの名無しさん
2007/06/05(火) 22:04:030478デフォルトの名無しさん
2007/06/05(火) 22:05:37やっぱり使い道ないな…
0479デフォルトの名無しさん
2007/06/05(火) 22:06:550480デフォルトの名無しさん
2007/06/05(火) 22:08:380481デフォルトの名無しさん
2007/06/05(火) 22:09:24アトミックに値を置き換えたい場合があるんだよね。
この場合、参照型もしくはアトミックに置き換え可能なサイズの値型の場合は
単に値をセットすれば言いだけだが、
そうではない値型の場合だけ特別扱いせにゃならん。
0482デフォルトの名無しさん
2007/06/05(火) 22:10:42なんでだよw
0484デフォルトの名無しさん
2007/06/06(水) 02:27:300485デフォルトの名無しさん
2007/06/06(水) 02:37:35あほ
0486デフォルトの名無しさん
2007/06/06(水) 10:22:08それは先人の知恵って奴だ。
エラー無視しちゃ駄目。
0487デフォルトの名無しさん
2007/06/06(水) 11:15:20バックテストのパフォーマンスが良かったりするから、使えなくはないんじゃないの?
0488デフォルトの名無しさん
2007/06/06(水) 13:00:24一発で、回転とか座標変換できないよ。
0489デフォルトの名無しさん
2007/06/06(水) 13:17:510490デフォルトの名無しさん
2007/06/06(水) 19:11:57何でかわからないのは、おまいのRectangleの使い方がRECTだから。
0491デフォルトの名無しさん
2007/06/06(水) 19:26:26こんなんただのcの構造体じゃねえか。
一発で回転とか座標変換とか何を言ってるんだアホかw
0492デフォルトの名無しさん
2007/06/06(水) 19:46:160493デフォルトの名無しさん
2007/06/06(水) 20:04:13というかそんなことも理解できない奴がアホつっこみすんなよ。恥ずかしい。
0494デフォルトの名無しさん
2007/06/06(水) 20:11:08現実には整数座標系で左上と右下の座標を持つというRECTの仕様は、
右下のピクセルが矩形に含まれるか否かという点でたびたび混乱を引き起こしてきた。
ttp://www.radiumsoftware.com/0402.html#040222
なので左上のピクセル+サイズという格納方法は妥当だと思うよ。
0495デフォルトの名無しさん
2007/06/06(水) 20:19:46拡大縮小、90度単位の回転のときは、2点座標のほうがちょっとだけ楽かな。
0496デフォルトの名無しさん
2007/06/06(水) 21:11:370497デフォルトの名無しさん
2007/06/06(水) 21:12:370498デフォルトの名無しさん
2007/06/06(水) 21:19:140499496
2007/06/06(水) 21:21:32そのTextBox1と2の中身が<で比較できるようにしたいのです。
0500デフォルトの名無しさん
2007/06/06(水) 21:23:46日本語が下手なのか
センスが悪いのか
0501デフォルトの名無しさん
2007/06/06(水) 21:26:020502デフォルトの名無しさん
2007/06/06(水) 21:26:58ttp://msdn2.microsoft.com/ja-jp/library/z5wecxwa(VS.80).aspx
0503496
2007/06/06(水) 21:29:07Buttonを押したらTextBox1とTextBox2に入力された年号(2007/12/12)
を比較するプログラムを組みたいのですが・・・・
0504デフォルトの名無しさん
2007/06/06(水) 21:32:57単純な比較じゃ意味なし。
一旦、日付の型に直すべし。
よく考えよう。
文字の比較だけなら2007/6/6と2007/06/06は同じなのか?
違うだろ?
0505デフォルトの名無しさん
2007/06/06(水) 21:33:22DateTime.Parse
0506デフォルトの名無しさん
2007/06/06(水) 21:35:270507デフォルトの名無しさん
2007/06/06(水) 21:38:33それ知らなかった。
いつの間にc++のようなメソッドができたんだ。
0508デフォルトの名無しさん
2007/06/06(水) 21:42:39例外投げるバージョンも用意しないといけないことになってる
0509デフォルトの名無しさん
2007/06/06(水) 22:09:22何を訳のわからないこと言ってるんだアホか本当。
>>494
その「混乱」(そんなもので混乱するプログラマってPGとして資質を欠くと思うんだが)
はRectangleでも何も変わらないじゃないかw
Rectangleに仮にRECTにない利点があるとすれば、
それは平行移動が簡単ってことだけだろう。
つーか回転ってなんのこと言ってるんだw
RectangleにしろRECTにしろ、座標系に対して「斜めでない」(二次元の直交座標の
何れか座標軸に平行な辺を持つ)長方形を表現するものでしょうが。
0510デフォルトの名無しさん
2007/06/06(水) 22:16:230511デフォルトの名無しさん
2007/06/06(水) 22:42:20何に対してのレス?
0512デフォルトの名無しさん
2007/06/06(水) 22:48:420513デフォルトの名無しさん
2007/06/06(水) 22:57:08>はRectangleでも何も変わらないじゃないかw
アホだろお前
0514デフォルトの名無しさん
2007/06/06(水) 23:48:13君が立派なPGなれることを切に願う。
0515デフォルトの名無しさん
2007/06/06(水) 23:53:40座標の回転に関係あるか?
0516デフォルトの名無しさん
2007/06/07(木) 00:19:10君の意見を聞きたい。
矩形を表すデータ構造RECTのRECT.right、RECT.bottomの点は、矩形に含まれるの? で、そう思う根拠は?
線を表すデータ、始点のPoint構造体、終点のPoint構造体があるとして、終点はその線に含まれるの? で、そう思う根拠は?
これを明確に回答できるなら、混乱してないだろうな。回答できないなら、かなりのバカ。
0517デフォルトの名無しさん
2007/06/07(木) 00:24:11プログラミングは数学でも自然科学でもない、どちらかといえば人文的なものだ。
要するに定義の問題に過ぎないだろうに。
ウダウダ言ってないでドキュメント読む。無ければ自分で確認する。
それだけのことだろうに。
0518デフォルトの名無しさん
2007/06/07(木) 00:27:040519デフォルトの名無しさん
2007/06/07(木) 00:38:30カラム幅でぴこぴこスプリッタが動く様な。
既製のコントロールとかでもいいので、教えてください。
0520デフォルトの名無しさん
2007/06/07(木) 00:59:47だとしたら
>一発で回転とか座標変換とか何を言ってるんだアホかw
というのはつまり
>Rectangleに仮にRECTにない利点があるとすれば、
>それは平行移動が簡単ってことだけだろう。
という発言がアホだと言いたいんだよね?
0521デフォルトの名無しさん
2007/06/07(木) 01:02:300522デフォルトの名無しさん
2007/06/07(木) 03:42:12ひとつの仕様に対して自分の意見のないバカがPGの資質とか語るなよ。
0523デフォルトの名無しさん
2007/06/07(木) 09:30:590524デフォルトの名無しさん
2007/06/07(木) 09:32:090525デフォルトの名無しさん
2007/06/07(木) 23:05:26戻ってきてもいいが、いちから全部聞くのはなしね。
0526デフォルトの名無しさん
2007/06/08(金) 05:01:35現在、下記のようなソリューション構成で趣味の開発をしています。
ソリューションhoge(2プロジェクト)
┣ プロジェクトhage(Windowsアプリケーション)
┃┗ 参照設定
┃ ┗ hige
┗ プロジェクトhige(クラスライブラリ)
【環境】
VisualC#2005 Express , WindowsXP HOME
0527526
2007/06/08(金) 05:02:18書き直します
0528526
2007/06/08(金) 05:06:01現在、下記のようなソリューション構成で趣味の開発をしています。
ソリューションhoge(2プロジェクト)
┣ プロジェクトhage(Windowsアプリケーション、hage.exeを生成)
┃┗ 参照設定
┃ ┗ hige
┗ プロジェクトhige(クラスライブラリ、hige.dllを生成)
VSのデフォルトだと、hige.dll は hage.exe と同じ場所にローカルコピーされるのですが、
これを lib/hige.dll の位置にしたいのです。
どのような方法がありますか?
【環境】
VisualC#2005 Express , WindowsXP HOME
0529デフォルトの名無しさん
2007/06/08(金) 09:46:490530デフォルトの名無しさん
2007/06/08(金) 12:25:20もし出来ないとしたら、ユーザーの環境に配置するときも>>528みたいに
dllをサブフォルダに突っ込むと参照できないと思うんだけど。
0531デフォルトの名無しさん
2007/06/08(金) 12:41:350532デフォルトの名無しさん
2007/06/08(金) 14:57:39どのようにすればいいかな?
0533デフォルトの名無しさん
2007/06/08(金) 15:58:31datagrid1.rows(hoge).cells(hage).value = ctype(listbox.items(sine),string)
こんな感じじゃいけないの?
0534デフォルトの名無しさん
2007/06/08(金) 17:57:130535デフォルトの名無しさん
2007/06/09(土) 01:22:36キャストできそうだ。
0536デフォルトの名無しさん
2007/06/09(土) 15:13:02HTMLでいう<h>タグのような横線を入れるにはどのコントロールを使えばいいのでしょうか?
0537デフォルトの名無しさん
2007/06/09(土) 15:16:080538デフォルトの名無しさん
2007/06/09(土) 15:26:31ラベルか何かを細長くしてそれっぽく見せたら?
0539デフォルトの名無しさん
2007/06/09(土) 15:52:48http://www.atmarkit.co.jp/fdotnet/dotnettips/310linecontrol/linecontrol.html
0540536
2007/06/09(土) 16:34:42{
Graphics g = pictureBox1.CreateGraphics();
Pen pen1 = new Pen(Color.FromArgb(172, 168, 153), 1);
Pen pen2 = new Pen(Color.White, 1);
g.DrawLine(pen1, 0, 0, 600, 0);
g.DrawLine(pen2, 0, 1, 600, 1);
pen1.Dispose();
pen2.Dispose();
g.Dispose();
}
横線コントロールはないとのことですが、ラベルで描画する方法がわからず断念。
結局、ttp://dobon.net/vb/dotnet/graphics/drawline.htmlなどを参考にして
こんな感じでなんとか実装させたところ、単純明快な>>539が出てきて吹きました。
すみません、<h>じゃなくて<hr>でしたね。失礼しましたorz
横線コントロールがあれば簡単なのになぁと思いましたが、
何はともあれ、>>537-539さん、本当にありがとうございました! 助かりました。
0541デフォルトの名無しさん
2007/06/09(土) 16:58:44Process実行時の環境変数はどうやれば設定できるのでしょうか?
Processを実行する場合、ProcessStartInfo.EnvironmentVariablesで
現在の環境変数は取得できるみたいですが、そのProcessに対して
環境変数を設定するメソッドがみつかりません。
2005では、Environment.SetEnvironmentVariableというのが追加されていますが、
2003にはこれに代わるものはないのでしょうか?
0542デフォルトの名無しさん
2007/06/09(土) 17:09:40Win32API 呼び出すしかないんじゃない?
0543541
2007/06/09(土) 17:32:03もう少し調べてみます(;´Д`)
0544デフォルトの名無しさん
2007/06/10(日) 06:05:000545デフォルトの名無しさん
2007/06/10(日) 15:18:56どんな感じですればいいんでしょうか?
普通にやると例外出てしまいます。
0546536
2007/06/10(日) 15:43:08このような透過テキストを実現するにはどのようにしたらよいでしょうか?
ラベルのプロパティをいじってみてもわかりませんでした…。
0547546
2007/06/10(日) 15:44:110548デフォルトの名無しさん
2007/06/10(日) 15:50:220549546
2007/06/10(日) 16:35:29お答えありがとうございます。ForeColorに設定してもだめだったので、
BackColorに設定することも試み、以下のようにしてみたのですが、
結果はこのようになってしまいます。
http://up.spawn.jp/file/up25452.png
// label1
this.label1.BackColor = System.Drawing.Color.FromArgb(100, 100, 100, 100);
this.label1.ForeColor = System.Drawing.Color.FromArgb(100, 100, 100, 100);
// label2
this.label2.BackColor = System.Drawing.Color.FromArgb(100, 200, 200, 200);
this.label2.ForeColor = System.Drawing.Color.FromArgb(100, 200, 200, 200);
0550デフォルトの名無しさん
2007/06/10(日) 16:46:510551デフォルトの名無しさん
2007/06/10(日) 18:36:44まずその俺様定義の「透過テキスト」って言葉の意味を
はっきりさせるのが先決じゃないの?
その画像みても100人中100人がそれを「透過テキスト」とは呼ばないことは
俺が保証するよ。
0552546
2007/06/10(日) 19:55:39どうも>>546のように立体的にはならず文字色が灰色に変わるだけでした。
結局、ラベルの上にまた透過させたラベルを重ねることで実現させたのですが、
Enableプロパティを「False」、FlatStyleプロパティを「System」にするだけで
実現できることを後から発見いたしましたorz
すみません、「透過テキスト」ではなく「無効状態の文字列」と呼ぶのが正しかったです。
検索すればすぐに出るような質問をしてしまい申し訳ございませんでした。
お答えくださった>>548 >>550-551さん、本当にありがとうございました。
0553デフォルトの名無しさん
2007/06/10(日) 20:45:29C#だとHTMLをベースにした画面の表示ってどういった方法で作成するのでしょうか?
参考書を見てもいわゆるフォームでの実装(ボタンを押下したらどういったイベントが走るとか)
しか乗っていませんので教えてください
0554デフォルトの名無しさん
2007/06/10(日) 20:48:480555デフォルトの名無しさん
2007/06/10(日) 21:29:05はい
0556デフォルトの名無しさん
2007/06/10(日) 21:35:100557デフォルトの名無しさん
2007/06/10(日) 21:36:07というかぐぐれ
0558デフォルトの名無しさん
2007/06/11(月) 13:53:16自動的に隠さない(ピンが下向き)設定で上下に並べているのですが、
プロパティの方を縦に広くしておいても、再起動後には小さめになってしまいます。
このあたりの設定を固定しておくことはできないのでしょうか?
0559デフォルトの名無しさん
2007/06/11(月) 19:22:53うちの上司はアスプテンネットって言ってるんだが、同じように言っていいものか悩む
0560デフォルトの名無しさん
2007/06/11(月) 19:25:490561デフォルトの名無しさん
2007/06/11(月) 19:26:130562デフォルトの名無しさん
2007/06/11(月) 19:27:490563デフォルトの名無しさん
2007/06/11(月) 19:37:550564デフォルトの名無しさん
2007/06/11(月) 19:54:54foreach(object item listBox1.SelecteItem)
{
listBox2.item
}
のような形でやろうとしたのですが、上手くいかず・・・ご教授お願いしますm(__)m
0565デフォルトの名無しさん
2007/06/11(月) 20:04:530566デフォルトの名無しさん
2007/06/11(月) 20:08:58表示させたいのです。
0567デフォルトの名無しさん
2007/06/11(月) 20:14:49listviewのカラムにプログレスバーを置くのってできますか?
難しいんでしょうかね?
0568デフォルトの名無しさん
2007/06/11(月) 20:16:52あなたには難しいかもしれません。
0569デフォルトの名無しさん
2007/06/11(月) 20:17:00オーナードローとかになるんじゃね?
そういやオーナードローよりもライトな○○ドローってなかったっけ?
0570デフォルトの名無しさん
2007/06/11(月) 20:18:160571デフォルトの名無しさん
2007/06/11(月) 20:41:58DataGridのデータソースのアイテム.Clear();
foreach (object item in this.listBox1.SelectedItems)
{
DataGridのデータソースのアイテム.Add(item);
}
これ以上は日本語で頼む
0572567
2007/06/11(月) 20:44:26ありがとうございました
0573デフォルトの名無しさん
2007/06/11(月) 20:50:44普通のプログレスバー貼り付けて位置だけ調節すればよくね?
0574デフォルトの名無しさん
2007/06/11(月) 20:56:29そうしたいんですけど・・・
スクロールしなければならない程アイテムがおおいんです・・
ありがとうございます
0575デフォルトの名無しさん
2007/06/11(月) 21:05:44しかしStopwatchで計ったところ700msはかかってしまいます。
Graphics.DrawLines以外の高速な線の描画方法をご存知ないでしょうか?
よろしくお願いします。
0576デフォルトの名無しさん
2007/06/11(月) 21:09:000577デフォルトの名無しさん
2007/06/11(月) 21:18:02もしFormのPaintで毎回DrawLinesしてるなら、
描画自体は速くはならないがいったんBitmapオブジェクトに描画して
保存しておけば再表示は速くなる。
0578575
2007/06/11(月) 21:28:59正式リリース時に試すつもりです。
>>577
環境詳しく書かず、すいません。
PictureBoxに描画
折れ線は4本
座標変換&描画で700ms
裏画面としてBitmapを保持しています。
また紛らわしいかもしれませんが
DrawLinesではかなり早いです。
DrawLineを使用して700msという状況です。
※欠線なども考慮しているためDrawLinesでは都合が悪いのです。
0579デフォルトの名無しさん
2007/06/11(月) 22:01:13>>532 ?
0580デフォルトの名無しさん
2007/06/11(月) 22:07:36ちょっとよく意味が分かりませんが。。
0581デフォルトの名無しさん
2007/06/11(月) 22:13:06> 正式リリース時に試すつもりです。
.NET Framework 3.0 はもう Windows Update からでもインストールできるが。
0582デフォルトの名無しさん
2007/06/11(月) 22:25:40やっぱ多くの人にとって、IDE まで出て初めて正式リリースなのかな。
0583デフォルトの名無しさん
2007/06/11(月) 22:59:36sprintfの書式指定の部分をどうすれば良いか解らなくて
困っております。
unsigned long sum = 0;
char str[64];
/* 省略 */
/* この部分をどう置き換えるか解りません */
/* どうやればいいのでしょうか? */
sprintf(str,"%lx",sum);
0584デフォルトの名無しさん
2007/06/11(月) 23:05:49まあ、それくらいなら sum.ToString() でできるけど、
もっと凝ったことしたい場合は
string.Format か System.Text.StringBuilder 使う。
0585デフォルトの名無しさん
2007/06/11(月) 23:06:47string str = sum.ToString();
0586デフォルトの名無しさん
2007/06/11(月) 23:09:070587デフォルトの名無しさん
2007/06/11(月) 23:16:470588デフォルトの名無しさん
2007/06/11(月) 23:19:240589デフォルトの名無しさん
2007/06/11(月) 23:25:27(*x*)
( ゜x ゜)
( ; x ; )
(@x@)
0590デフォルトの名無しさん
2007/06/11(月) 23:30:230591デフォルトの名無しさん
2007/06/11(月) 23:36:48んですけどできません;;
リフレクションをキーワードにいろいろ探ってみたのですが、
なかなかこれだって思うものがなくて。
どなたかお力を貸してください><
0592デフォルトの名無しさん
2007/06/11(月) 23:50:540593デフォルトの名無しさん
2007/06/11(月) 23:59:01dll とパブリックプロパティの関係が不明だけど。
0594デフォルトの名無しさん
2007/06/12(火) 00:01:46男が使うものではない。
0595デフォルトの名無しさん
2007/06/12(火) 00:05:09PropertyInfo メンバ
ありがとうございます。
0597デフォルトの名無しさん
2007/06/12(火) 00:31:57一向にコマンドが送信される様子がありません。
hundle = CreateFile("\\\\.\\E:" GENERIC_WRITE | GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ,
NULL, OPEN_EXISTING, 0, NULL);
〜略〜
result = WriteFile(hundle, pnt, (uint)data.Length, out NumberOfBytesWritten, IntPtr.Zero);
[DllImport("kernel32", SetLastError = true)]
private static extern IntPtr CreateFile(
string filename, uint desiredAccess,
uint shareMode, uint attributes,
uint creationDisposition, uint flagsAndAttributes,
uint templateFile );
[DllImport("Kernel32.dll", SetLastError = true, EntryPoint = "WriteFile")]
private static extern bool WriteFile(
IntPtr handle, IntPtr buffer, uint length, out uint outNum,
IntPtr over );
何か間違っているところがあるのでしょうか?
ちなみに、WriteFileの代わりにDllを使って、DeviceIoControlでアクセスを試みたのですがこちらもできませんでした。
何かご教授ください。
0598デフォルトの名無しさん
2007/06/12(火) 00:50:250599デフォルトの名無しさん
2007/06/12(火) 01:03:28ってなに?
そのまえにDirectoryInfoとかDriveInfoでアクセスしない理由(あるとは思うけど)
はなに?
0600デフォルトの名無しさん
2007/06/12(火) 01:06:160601デフォルトの名無しさん
2007/06/12(火) 01:09:19知らない or VS2003使い だろうな。
0602575
2007/06/12(火) 09:00:18データがない場合は線を引かない、ということを表現するため
与えられた座標にすべて線を引いてしまうDrawLinesでは都合が悪いということです。
>>581,582
そうです、IDEフェチなのでVS2007待ちです。
0603デフォルトの名無しさん
2007/06/12(火) 09:13:292008なら出る
0604デフォルトの名無しさん
2007/06/12(火) 09:46:390605デフォルトの名無しさん
2007/06/12(火) 10:01:11恐らく観測の結果か何かなのだろうけど
せめて欠損していない部分までのデータ単位でDrawLinesやってみるのはどう?
有有有無無有有無有有有
なら 3,2,2 のポイントで線を引くような
そもそも欠損時はラインを引かない・ データのある部分1点が欠損に囲まれれば点だけの描画になる
というイメージだけど
0606デフォルトの名無しさん
2007/06/12(火) 10:01:350607デフォルトの名無しさん
2007/06/12(火) 10:02:290608デフォルトの名無しさん
2007/06/12(火) 11:17:271200本のライン程度で時間かかってるな。幅のあるラインやアンチエイリアスしてるのかな?
ところでDrawLineを使ってどのくらい遅くなってる?
0609デフォルトの名無しさん
2007/06/12(火) 12:35:13全部互いにまったく繋がりのないバラバラの線分ってわけかな?
つながってる部分があればその部分だけでもDrawLinesで....ってそのぐらい人に言われなくてもやるよね。
>>608
どのぐらいってちゃんと書いてあるじゃん。
昨日正100角形の対角線を引くコード書いて実測してみたけど
>>575の話は大げさじゃないと思う。
0610デフォルトの名無しさん
2007/06/12(火) 12:36:54追加してから描画する方法を試したが、普通に前者の方が速かった。
0611デフォルトの名無しさん
2007/06/12(火) 13:39:590612デフォルトの名無しさん
2007/06/12(火) 13:51:44>ところでDrawLineを使ってどのくらい遅くなってる?
そう読めるね。すまん、ちょっと訂正。
DrawLinesの何倍遅くなっているか。またはDrawLinesでどのくらいかかってるか。
あと足りない情報としては画像は
何ビットX何ビットの大きさか。画像の色数。
pictureboxに描画するとき1, 2のどちらの方法を使用しているか。
1直接描画
Graphics g = pictureBox.CreateGraphics()
2ダブルバッファ
Bitmap bitmap = new Bitmap(1024, 768, PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(bitmap);
:
pictureBox.Image = bitmap;
0613575
2007/06/12(火) 14:09:40DrawLinesは理想的な速度で100msちょっとです。
DrawLineでは700msちょっとです。
> 何ビットX何ビットの大きさか。画像の色数。
pictureBoxのサイズは
Width = 668
Height = 452
裏画面尿Bitmapのインスタンスはデフォルトのコンストラクタで作成しているので
PixelFormat.Format32bppArgbになります。
です。
> pictureboxに描画するとき1, 2のどちらの方法を使用しているか。
> 1直接描画
> Graphics g = pictureBox.CreateGraphics()
> 2ダブルバッファ
> Bitmap bitmap = new Bitmap(1024, 768, PixelFormat.Format24bppRgb);
> Graphics g = Graphics.FromImage(bitmap);
> :
> pictureBox.Image = bitmap;
2.のダブルバッファです。
Bitmap backgroundBMP = new Bitmap(pictureBox.Width, pictureBox.Height);
Graphics g2 = Graphics.FromImage(bitmap);
:
g2.DrawLine
:
Graphics g = pictureBox.CreateGraphics()
g.DrawImage(backgroundBMP, backgroundGraphics.VisibleClipBounds);
0614575
2007/06/12(火) 14:11:59正しくはこうですね。
Bitmap backgroundBMP = new Bitmap(pictureBox.Width, pictureBox.Height);
Graphics g2 = Graphics.FromImage(backgroundBMP);
:
g2.DrawLine
:
Graphics g = pictureBox.CreateGraphics()
g.DrawImage(backgroundBMP, backgroundGraphics.VisibleClipBounds);
0615デフォルトの名無しさん
2007/06/12(火) 14:26:470616575
2007/06/12(火) 14:31:111200の座標配列が4本なので、その差ではないでしょうか?
0617デフォルトの名無しさん
2007/06/12(火) 15:06:520618デフォルトの名無しさん
2007/06/12(火) 15:15:39LinesとLineに同じ仕事をさせてるかどうか疑問になってきた。
違ってたら比較にはならないと思うのだが。
ラインの本数が同じなのは当然として、線の長さも処理時間にかかわってくる。
0619575
2007/06/12(火) 16:40:14(゚д゚)
>>618
現在ダミーデータとして画面いっぱいにギザギザになるデータをぶちこんでます。
/|/|/|/| ← イメージ
なので線の長さは最大値だと思います。
DrawLineの代替手段があればと思ったのですが、あとはWinApiを叩くしかなさそうですね。
0620デフォルトの名無しさん
2007/06/12(火) 17:25:37GDI+というかDIBは基本的にソフトウェア描画だけど、
メソッド呼び出し1回のDrawLinesのスループットが許容範囲内なら、
同じことを自前でCPU処理させても多分同程度の速度はでる。
Bitmapをロックしてポインタで自前描画とかね。
このスレで一日粘るぐらいの時間があれば十分作れるんじゃない?
有名なBresenham Line Algorithmとか。
GDIのAPI叩いてDDBに描画するようにすれば
環境によっては速くなるかもしれないけど
VistaのWDDM以降はDDBのハードウェアアクセラレーションが
効かなくなるので注意ね。
0621デフォルトの名無しさん
2007/06/12(火) 22:15:38(>く)
これ流行らそうとおもってるんだが。。
0622デフォルトの名無しさん
2007/06/12(火) 22:20:02流行らないけど頑張れ
0623デフォルトの名無しさん
2007/06/12(火) 22:25:03うんっ!!
0624デフォルトの名無しさん
2007/06/12(火) 22:27:00ナイチチをステータスと感じる男は共感するし、感心する。
だがナイチチをステータスと感じる女は、正直どうかしてると非難する。
なぜなら、ナイチチに悩み隠そうとする乙女心が、俺達ナイチチーズの心をくすぶるのだから。
465 名前:774RR[sage] 投稿日:2007/06/08(金) 15:55:26 ID:Ryi/Gc9E
> くすぶる
466 名前:774RR[sage] 投稿日:2007/06/08(金) 15:56:08 ID:Ryi/Gc9E
(> く)
467 名前:774RR[sage] 投稿日:2007/06/08(金) 15:57:08 ID:Ryi/Gc9E
これ流行るかな?
(> く)
468 名前:774RR[sage] 投稿日:2007/06/08(金) 16:05:45 ID:fR8Q4Wvk
はやるわけありません!(> く;)
0625デフォルトの名無しさん
2007/06/12(火) 22:42:04↑
これが乳首に見える
0626デフォルトの名無しさん
2007/06/13(水) 00:31:110627デフォルトの名無しさん
2007/06/13(水) 00:42:29感性が小学生みたいだ。
0628デフォルトの名無しさん
2007/06/13(水) 01:41:40Linesの集合に変換して、Linesで描画でいいんじゃね?
フォントのアウトライン表示ではそういう方法取る。
0629デフォルトの名無しさん
2007/06/13(水) 12:38:37グラフィック関係触ったことないのバレバレの恥ずかしいこと言ってるよ君w
連続しない線分はDrawLinesじゃ書けないんだよ
0630デフォルトの名無しさん
2007/06/13(水) 13:17:14>>628は>>609の前半にあることと同じことを言ってるだけで
別に変なことは言ってないと思うよ。
0631デフォルトの名無しさん
2007/06/13(水) 13:18:280632デフォルトの名無しさん
2007/06/13(水) 13:20:570633デフォルトの名無しさん
2007/06/13(水) 14:09:29おまえは日本語も読めないのか?
0634デフォルトの名無しさん
2007/06/13(水) 15:09:00いいかげんにしろ、カス。
0635デフォルトの名無しさん
2007/06/13(水) 15:22:28つ【コンストラクタ】
0636デフォルトの名無しさん
2007/06/13(水) 15:28:080637デフォルトの名無しさん
2007/06/13(水) 19:09:34MDIで子ウィンドウを親ウィンドウの外に出してやるには
どうすればよいでしょうか?
0638デフォルトの名無しさん
2007/06/13(水) 19:13:09冗談は顔だけにしろよ
0639637
2007/06/13(水) 19:35:51本気で分かりません(;つД`)
0640637
2007/06/13(水) 19:43:27自己解決しました
0641デフォルトの名無しさん
2007/06/13(水) 20:51:310642デフォルトの名無しさん
2007/06/13(水) 21:18:47おい!どうやって解決したんだよ!
0643デフォルトの名無しさん
2007/06/14(木) 11:17:36優しくレスできないなら、そもそもレスしないかまたはお死になさい。
0644デフォルトの名無しさん
2007/06/14(木) 11:25:590645デフォルトの名無しさん
2007/06/14(木) 21:00:06Format8bppIndexedなBitmapのColorPaletteをforでブン回して設定し
直したのですが、どうしても設定するときにColorのRとBが入れ替わっていまい、
ColorPaletteをセットしたときに色が反転してしまいます。
これはなぜなのでしょうか?
0646デフォルトの名無しさん
2007/06/14(木) 21:20:34なんかほかに条件は? ある画像だけとかある画像形式だけとか。
GDI 通してるとか。
0647デフォルトの名無しさん
2007/06/14(木) 21:29:51ピクセルフォーマットをチェック。
AARRGGBBとかXXBBGGRRとか色々ある。
GDI+とかDirectXは前者(が主流)。
GDIのCOLORREFは後者。
0648デフォルトの名無しさん
2007/06/14(木) 21:43:22新しくBitmapを作って、それにFormat8bppIndexedを指定しているので
GDIは通してないと思います。
また、Colorにはアルファを設定していません。
0649デフォルトの名無しさん
2007/06/14(木) 21:45:44再現コード書いてみてくれる?
0650デフォルトの名無しさん
2007/06/14(木) 21:49:090651デフォルトの名無しさん
2007/06/14(木) 21:52:51ポインタとかでやってないよな?
0652デフォルトの名無しさん
2007/06/14(木) 21:55:22以下が問題のコードです。一度Format24bppRgbにした所、元の色が出たので
減色時にデータがひっくり返ってる訳ではなさそうです。
byte[] result;//256色に減色したデータ
Color[] colors;//256色
Bitmap canvas = new Bitmap(image.Width, image.Height, PixelFormat.Format8bppIndexed);
ColorPalette cp = canvas.Palette;
for (int i = 0; i < cp.Entries.Length; i++)
{
//ここをcp.Entries[i] = colors[i];とすると色がひっくり返る
cp.Entries[i] = Color.FromArgb(colors[i].B, colors[i].G, colors[i].R);
}
canvas.Palette = cp;
data = canvas.LockBits(new Rectangle(0, 0, canvas.Width, canvas.Height), ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed);
Marshal.Copy(result, 0, data.Scan0, result.Length);
canvas.UnlockBits(data);
>>650
他の部分も見直した所そのような所はないと思います。
0653デフォルトの名無しさん
2007/06/14(木) 21:57:06GDIは通してなくても
BMPファイルのフォーマットって
インデックスカラーはCOLORREF型で格納すること、
って仕様だからなぁ。
その辺の影響調べてみたら?
0654デフォルトの名無しさん
2007/06/14(木) 22:00:450655652
2007/06/14(木) 22:30:24Color.FromArgb((255 << 24) + ColorTranslator.ToWin32(colors[i]))とした所、
色が反転せずに表示されました。
ColorPaletteの中身ってAABBGGRRの形で保持されてるんですね…
ColorPaletteについて書いてる所は大抵DXやグレースケールへの変換方法
しか書いていないので嵌ってしまった orz
解答してくださった方々、ありがとうございました。
#MSDN見たら
#最下位の 8ビットが青、次の 8 ビットが緑、その次の 8 ビットが赤、最上位の 8 ビットが
#アルファという構成になっています。
#って書いてあった。なんだこれ orz
0656デフォルトの名無しさん
2007/06/14(木) 22:38:140657デフォルトの名無しさん
2007/06/15(金) 11:44:03Accessのint関数と同じ関数はないのでしょうか?
-2.5は-3に、-2.4は-2の結果が欲しいのですがどうしていいか分かりません・・・
0658デフォルトの名無しさん
2007/06/15(金) 11:47:34とかどう?
0659デフォルトの名無しさん
2007/06/15(金) 12:46:150660デフォルトの名無しさん
2007/06/15(金) 12:55:110661デフォルトの名無しさん
2007/06/15(金) 13:58:540662デフォルトの名無しさん
2007/06/15(金) 14:01:37MidpointRounding.AwayFromZero で
-2.5 → -3
-2.4 → -2
0.5 → 1
だったけど
0663デフォルトの名無しさん
2007/06/15(金) 14:40:300664デフォルトの名無しさん
2007/06/15(金) 16:36:25もしかして0.5足してroundすればいいの?
ちょっと、やってみます
0665デフォルトの名無しさん
2007/06/15(金) 16:37:520666デフォルトの名無しさん
2007/06/15(金) 16:41:220667デフォルトの名無しさん
2007/06/15(金) 17:06:01四捨五入になるんですね!
ありがとうございました!
0668デフォルトの名無しさん
2007/06/15(金) 19:19:35でもアクセスの丸めは四捨五入じゃなくて「銀行の丸め」ってやつだと思うけど。
0669デフォルトの名無しさん
2007/06/15(金) 19:22:340670デフォルトの名無しさん
2007/06/15(金) 19:30:500671デフォルトの名無しさん
2007/06/15(金) 19:34:510672デフォルトの名無しさん
2007/06/15(金) 20:25:06C#を使って、サイトの更新情報(ヘッダーやサイトの更新日、サイズ)などを調べたいのですが
Googleなどで調べる際に目安となりそうなキーワードやサイトってないですかね?
関連性のありそうな言葉がまったく思いつかないんですわ。 orz
0673デフォルトの名無しさん
2007/06/15(金) 20:30:260674672
2007/06/15(金) 22:27:550675デフォルトの名無しさん
2007/06/15(金) 22:31:590676デフォルトの名無しさん
2007/06/15(金) 22:37:37意外とjavaのスパイダークッキングレシピとかいう本が参考になる。
0677デフォルトの名無しさん
2007/06/15(金) 22:39:44動画を扱うプログラムとか出来ればいいなぁと思ってます
ちょっとググったらManaged DirectShowなるものは無いらしいんですけども、解決方法があれば教えて欲しいです
しかし、DirectShow自体使ったこと無いんですが、DirectShowの本てほんと無いですね
0678デフォルトの名無しさん
2007/06/15(金) 22:42:25いい方法なし。地道にテストコード書いていくべし。
ググって見つかるサイト程度しか情報がない。
サンプルコード程度ならなんとかなるが
本格的にやるのは大変
0679デフォルトの名無しさん
2007/06/15(金) 22:59:56やっぱりそうですか
少し自力でやってみます
(挫折しそうだ・・・
0680デフォルトの名無しさん
2007/06/15(金) 23:00:570681デフォルトの名無しさん
2007/06/15(金) 23:02:350682デフォルトの名無しさん
2007/06/15(金) 23:15:48プレーンテキストファイル中の文字列の、所々を色を変えて表示したいと思い、
richTextBoxにファイルの中身をロードして色を変えたい部分をrichTextBox1.SelectionStartと
richTextBox1.SelectionLengthで選択し、richTextBox1.SelectionColorで色を設定したところ、
私の意図したとおり、色が変わって表示されました。それは良いのですが、SelectionStartと
SelectionLengthで文字列が選択されると、カーソルがその選択場所に移動します。
私にはそのカーソル移動表示処理が結構時間を要しているように思えます。
色を変えて表示したい部分はたくさんあり、カーソル移動も頻繁に発生するので、
ちょっと我慢しにくいです。文字列の所々を色を変えて表示させるのに、もっと高速な
方法はないものでしょうか?
0683デフォルトの名無しさん
2007/06/16(土) 00:42:54DirectShowNETでググったらわかりやすいC#のDirectShowプログラミングのサンプルが紹介されているページにたどり着きました
ありがとう
0684デフォルトの名無しさん
2007/06/16(土) 01:00:27http://www.atmarkit.co.jp/fdotnet/csharp20/csharp20_01/csharp20_01_01.html
の匿名クラスがいいとかなんとかが、何がいいのか理解できない
わかりやすく説明できる神はいますか?
0685デフォルトの名無しさん
2007/06/16(土) 01:06:080686デフォルトの名無しさん
2007/06/16(土) 01:08:47自動で掲示板
(例えば、この2CHホームページ ⇒
http://pc11.2ch.net/test/read.cgi/tech/1179313212/l50
)
に書き込みを行うにはどうすれば良いでしょうか?
※別に嵐をする訳ではありません。
0687デフォルトの名無しさん
2007/06/16(土) 01:11:34com使う場合はc++にすべきか
なんか今後良くなる方向にないかな・・・
0688デフォルトの名無しさん
2007/06/16(土) 01:18:19制御構造を記述できるようになる。
例えば、擬似的にIF文を作れるというとわかる?
0689デフォルトの名無しさん
2007/06/16(土) 01:19:10メソッドに渡すメソッドをその場で書けて、そのメソッドから、hogeの位置の変数が見えてるとか。
string hoge = "・・・";
List<String> names = new List<String>();
names.ForEach(delegate(String name)
{
Console.WriteLine(name + hoge);
});
0690デフォルトの名無しさん
2007/06/16(土) 01:27:41ごめん、匿名メソッドと間違えた・・・
0691デフォルトの名無しさん
2007/06/16(土) 01:28:360692デフォルトの名無しさん
2007/06/16(土) 01:33:27>>684 のリンク先に2.0って書いてあるから、匿名クラスって匿名メソッドのことかと思ったんだけど。
0693デフォルトの名無しさん
2007/06/16(土) 01:40:01で、使いではあるし便利ではあるが、
使いまくるとほかの人が読めなくなるから
ほどほどにしてる。
※なんでもかんでも匿名メソッドにしてしまおうなんて思わない。
まあいつもの煽り記事だろ。
0694デフォルトの名無しさん
2007/06/16(土) 01:49:58よくみてみたら川俣か。
読者がJavaScriptはOOPじゃないと、勘違いしそうなあやしい文章。
あいかわらずだな。
0695デフォルトの名無しさん
2007/06/16(土) 02:28:54生意気だな
0696デフォルトの名無しさん
2007/06/16(土) 02:53:36なんで「C# 2.0らしいプログラミングとは」とか、見識が問われるような書き方するんだろう。
まあ本人は釣り師のつもりなんだろうけど。
0697デフォルトの名無しさん
2007/06/16(土) 03:29:31それはもう自分でそういうコントロールを作るしかないよ。
TextBoxやRichTextBoxの拡張じゃ無理。
0698デフォルトの名無しさん
2007/06/16(土) 03:54:470699デフォルトの名無しさん
2007/06/16(土) 08:31:53そうですか。了解しました。
0700デフォルトの名無しさん
2007/06/16(土) 08:52:50テキストエディタなどのように、タブごとにファイル名などの変数を管理したいと思っています。
タブを追加するときに、変数の数を増やし、タブを閉じるときにその変数を破棄するには
どうすればよいでしょうか?
0701デフォルトの名無しさん
2007/06/16(土) 09:00:010702デフォルトの名無しさん
2007/06/16(土) 09:44:590703デフォルトの名無しさん
2007/06/16(土) 09:54:59httpと、formの仕組みを覚えてブラウザがpostしたときと同じデータを送ればよし
0704686
2007/06/16(土) 13:01:42ご回答ありがとうございます。
因みに何か参考になるサイトはありますでしょうか?
0705デフォルトの名無しさん
2007/06/16(土) 14:28:03リクエストする側をやるときには、内容わかってたからなあ・・・
C#だと、、、System.Net.WebRequest とかで検索してみては
0706686
2007/06/16(土) 14:37:04>>705
ぐぐって調べてみます。
ありがとうございます。
0707デフォルトの名無しさん
2007/06/16(土) 17:18:140708デフォルトの名無しさん
2007/06/16(土) 17:19:270709デフォルトの名無しさん
2007/06/16(土) 17:34:010711デフォルトの名無しさん
2007/06/16(土) 19:18:50WinFormを閉じる時にTharedの終了を待ちたいので
WinFormからTharedへの終了の通知をManualResetEvent利用して行い
Threadの終了時にSetされるManualResetEventをWinForm側で待つということをしたのですが
WinFormが固まったままになってしまいます。
どのように実装したら固まらないようにして終了できるしょうか。
0712デフォルトの名無しさん
2007/06/16(土) 19:28:22タイマ使ってタイムアウト0でWaitOne
0713デフォルトの名無しさん
2007/06/16(土) 19:31:150714デフォルトの名無しさん
2007/06/16(土) 19:55:34なんでManualResetEvent使うの?
使い方がおかしいんじゃないかな
>イベントが発生したことを、1 つ以上の待機中のスレッドに通知します
0715デフォルトの名無しさん
2007/06/16(土) 20:27:31そういうコーディングしてあるなら...
0716デフォルトの名無しさん
2007/06/16(土) 20:40:110717デフォルトの名無しさん
2007/06/16(土) 21:41:28BeginInvokeにしたらどうなる?
0718デフォルトの名無しさん
2007/06/17(日) 02:42:21または
Invokeやめる
または
スレッド終了をタイマーで定期チェック
または
自身をTerminate
0719デフォルトの名無しさん
2007/06/17(日) 02:53:03して良心が痛まない奴は職業プログラマの資格無し。素人なら許す。
0720デフォルトの名無しさん
2007/06/17(日) 14:22:130721デフォルトの名無しさん
2007/06/17(日) 14:25:440722デフォルトの名無しさん
2007/06/17(日) 14:33:18言う資格もないのに「資格なし」なんて言ってるとしたら、
かなり痛い奴だなーと思ってさ
0723デフォルトの名無しさん
2007/06/17(日) 14:56:390724デフォルトの名無しさん
2007/06/17(日) 15:22:32ほとんどないと思うけどね俺は。
0725デフォルトの名無しさん
2007/06/17(日) 16:28:120726デフォルトの名無しさん
2007/06/17(日) 17:03:080727デフォルトの名無しさん
2007/06/17(日) 17:03:140728デフォルトの名無しさん
2007/06/17(日) 17:58:04スレッド待機完了した後でコールバックされるのが気持ち悪い。
>>726は主義者という言い方がアレだけど、その通りだと思う。
プロセス終了しても残る類のリソース解放ができなくなるので。
0729デフォルトの名無しさん
2007/06/17(日) 18:01:24(誤)解決策は>>719の1か3でよいんじゃない? >>718は確かにできそうですが、
(正)解決策は>>718の1か3でよいんじゃない? >>717は確かにできそうですが、
0730デフォルトの名無しさん
2007/06/17(日) 18:11:10アンマネージドでもあんまりない気がするんだけど。
テキトーな会社が作ったデバドラ関連のdllとか?
0731デフォルトの名無しさん
2007/06/17(日) 18:13:350732デフォルトの名無しさん
2007/06/17(日) 19:07:59そのままアプリ終了するっていうことだよね? それで自動的にサブスレッドが
安全に完了するまでプロセス終了が遅れると。
コールバックしたときにフォームが破棄されている可能性があるから。
0733デフォルトの名無しさん
2007/06/17(日) 19:22:33ビデオボード制御のアプリです。
あと他のプロセスと通信するプログラム全般に言えることですが、
後始末をしないと可用性が落ちる場合があります。
例えばWebブラウザのようにアプリが落ちることが検出できないシステムでは
タイムアウトを設けたりしますが、後始末をきちんとしていればタイムアウト
待ちになる可能性が減ります。
他には、中間ファイルを作成して終了時に消すようなものだと、プロセスの
異常終了を考慮してミドルウェア等で監視してクリーンアップしたりしますが、
監視が異常に気づくまで多少のサービス停止が発生したりします。やはり
自分のしたことは責任を持って「気持ちよく」きれいにしてから終了したいなぁと。
0734デフォルトの名無しさん
2007/06/17(日) 23:33:58ループで監視じゃダメなの?
0735デフォルトの名無しさん
2007/06/18(月) 00:57:49コールバックするとデッドロックするというのがもとの問題。
それでInvokeをBeginInvokeにすると回避できるというのが>>717。
でも終了後にコールバックされるのが嫌だというのが>>728の主張。
終了フラグが立った時はコールバックしないようにするというのが>>718の案。
そもそもフォアグランウンドスレッドならメインは終了を待たずとも良いというのが>>713。
それについてやはり問題が発生するというのが>>732。
ということで、元の>>711の意見を聞きたい。
0736デフォルトの名無しさん
2007/06/18(月) 01:10:05HashtableをIDictionaryで受けているコードを目にするのですが、
何故、Hashtableでそのまま受けないのでしょう?
IDictionary hoge = new Hashtable();
Hashtable hoge = new Hashtable();
⇒こうしないのは何故でしょう?
0737デフォルトの名無しさん
2007/06/18(月) 01:16:37Hashtable以外のIDictionaryの実装を使うよう変更したくなったときに
変更するのが一箇所ですむから。
0738デフォルトの名無しさん
2007/06/18(月) 01:18:48?
Invokeでデッドロックしているのはほぼ間違いないけど、それが
もとの書き込みから断定はできないのでは? サブスレッドはEventで
親に通知しているのだから。
固まらない実装を訊く前に、なぜ固まるのかの情報が不足していると思います。
>>736
オブジェクトの振る舞いについての情報を、必要最低限のインターフェース
に絞り込みたいから。実装に関する余分な情報を晒したくないから。
そうすることでHashtableで問題が発生したときに、IDictionaryを実装する
自作のクラスに置き換えることができるから。
0739デフォルトの名無しさん
2007/06/18(月) 01:43:57特に新たなインターフェースの実装が想定にない場合は、
余り意味がないのでしょうか?
必要最小限のインターフェースに絞り込むというのはよく
分かる表現なのですが、そうすることでメモリの節約にも
なるのでしょうか?そうだとすると拡張の予定がなくとも
この記述のメリットがあると思いましたので。
0740デフォルトの名無しさん
2007/06/18(月) 01:47:280741デフォルトの名無しさん
2007/06/18(月) 01:56:15>固まらない実装を訊く前に、なぜ固まるのかの情報が不足していると思います。
この理由は予想がつきます。
フォームを持つメインスレッドがイベントを待って止まってしまったら、
Control.Invokeを処理するメッセージポンプまで止まってしまうからです。
当然これもメインスレッドですから。
0742デフォルトの名無しさん
2007/06/18(月) 02:01:27頭のメモリが節約できて ( ´ー`)b グッド
0743デフォルトの名無しさん
2007/06/18(月) 02:22:32メモリの節約にはなりませんが、
機能的・性能的な問題でなく意味的な違いがあります。
0744デフォルトの名無しさん
2007/06/18(月) 03:11:14どういう発想なんだろう?
0745デフォルトの名無しさん
2007/06/18(月) 03:15:410746デフォルトの名無しさん
2007/06/18(月) 03:27:10インスタンスメソッドから明示的にデリゲートを作成するより匿名デリゲートで書いたほうが軽そうに見えるのに似てるかも。
0747デフォルトの名無しさん
2007/06/18(月) 09:12:55昔とは違うんだよ・・・・
もちろん無駄な書き方をする必要はないけどね
0748デフォルトの名無しさん
2007/06/18(月) 09:20:27なぜならマルチタスク環境であるから、頻繁にメモリからデータが出ていくと鈍くなるから
0749デフォルトの名無しさん
2007/06/18(月) 09:21:26のっているメモリの上限までは自由に使って良かった
0750デフォルトの名無しさん
2007/06/18(月) 09:52:35問題になるのはコード部分の肥大化なんだけどな。
0751デフォルトの名無しさん
2007/06/18(月) 10:05:41全体で5Mつかうだけなら、メモリに乗り続けるだろうけど
50Mだとスワップアウトしてどんなに最適化、高速化しても意味が無くなるほど速度低下
0752デフォルトの名無しさん
2007/06/18(月) 10:09:19速度上げるなら、速度最適化ではなく、メモリ最適化だ
速度上げるなら、Netつかわず、最低限度の機能(WindowsAPI)だけを使用だ
0753デフォルトの名無しさん
2007/06/18(月) 10:12:38だから鈍い
ハードディスクのアクセスが無くなれば速い
0754デフォルトの名無しさん
2007/06/18(月) 10:21:430755デフォルトの名無しさん
2007/06/18(月) 10:36:420756デフォルトの名無しさん
2007/06/18(月) 10:40:100757デフォルトの名無しさん
2007/06/18(月) 10:53:400758デフォルトの名無しさん
2007/06/18(月) 10:58:300759デフォルトの名無しさん
2007/06/18(月) 11:02:05細かいこと気にせず、とっと書けばいいんですが、変なとこ
気になってしまって。。。
>>742
実は、このご指摘が一番的を得ています。。。
脳内メモリが節約できました。
>>743
ですね。参照型ですからメモリの節約は関係ないことが分かりました。
インターフェース指定で受けて位置づけを明示する意味があるということで
理解しました。(したつもり)
>>744
制御ソフト出身でちょっと趣味でC#始めました。
ROMにせこせこ書く様なことやっていたので、細かいこと考えるみたいです。
>>745
年頃といっても、もうオヤジです。
>>746
感覚的にはそうかもしれません。何か理由が欲しかったんです。
『まあふらっとなんだし』と言っていただけるとここへ来てよかったです。
>>747
そうですよね。私のPCもずいぶん老いぼれマシンですがメモリはそれなりに積んでます。
むしろ、エコロジーみたいな感覚で無駄ができない性分なんでしょうか。
でも、ずぼら面も多々ありそれほどマメな人間でもないのですが。。。
0760デフォルトの名無しさん
2007/06/18(月) 11:03:45性能向上の議論に展開されてなんか嬉しいです。
そういったセンスはこうした会話から生まれるのでは。
私のせこさも無駄ではなかったでしょうか。
>>754 >>755
なんでそんな受け方しなければならないのか気になってしまって。。。
なんかしようってのではなくて、理由が欲しかったんです。
なんとか自分なりに納得する為に頂いたコメントも合わせて
ちょっと調べてみてみました。
Hashtableは以下のインターフェース実装している様です。
IDictionary
ICollection
IEnumerable
ISerializable
IDeserializationCallback
ICloneable
>>736 の様に定義することで、これから使うのはDictionaryを使うよって
明示している意味が一番大きいって理解しました。
もちろん、自前でインターフェース実装して・・・という意味もあるでしょう
が、趣味のおじさんには余り縁がなくて。。。
そんな訳で、お蔭様で納得できる様になりました。
皆さん、ありがとうございました。
また、寄らせて頂きたいと思います。
よろしくお願いします。
0761デフォルトの名無しさん
2007/06/18(月) 11:14:28ええ、そうだろうと思ったんですけどピリオドが抜けてるんで
話の腰を折ってみました。すまん。
0762デフォルトの名無しさん
2007/06/18(月) 11:54:57実装固有の便利機能が少ないから、どうせならインターフェイスを通しとこう
っていうくらいのもんだと思うよ
0763デフォルトの名無しさん
2007/06/18(月) 12:39:21分からないので教えていただけないでしょうか?
VB.net ではそのサンプルがあり、サンプル自身は動きませんでした。
しかし書いてあることを行って VB.net では動くようにはなったのですが、
それを C# に直すことができません。
インポートに必要な SpeechLib は C# はエラー起こさずに
出来ましたので、C# に直す事が出来ると思うのですが、
私の知識では直す事が出来ません。
どなたか C# に書き直して下さるか、書き直し方を教えては
下さいませんでしょうか。
もしくは VB.net と C# の連携が可能なら教えて頂けないでしょうか
よろしくお願い致します。
VB.NETで音声認識(その1:音声認識ライブラリを作る)
http://kilala.mydns.jp/def/VBTIPS/005/
上を元にして作成した VB.net での音声認識
http://www.uploda.org/uporg861928.zip.html
pass: hoge
0764デフォルトの名無しさん
2007/06/18(月) 12:57:47あほか?
やりたいんなら自分で調べて移植しろ
今出来ないんなら勉強すればいい
その過程でわからない部分を聞くのはいいと思うが 作り直してくれとかおかしいと思わないか?
まずはここでもいってこい
ttp://authors.aspalliance.com/aldotnet/examples/translate.aspx
0765デフォルトの名無しさん
2007/06/18(月) 13:08:22見積もり出そうか?
0766デフォルトの名無しさん
2007/06/18(月) 13:31:36お願いします
0767デフォルトの名無しさん
2007/06/18(月) 13:59:080768デフォルトの名無しさん
2007/06/18(月) 14:07:41の金額に期待
0769デフォルトの名無しさん
2007/06/18(月) 14:25:180770デフォルトの名無しさん
2007/06/18(月) 14:30:320771デフォルトの名無しさん
2007/06/18(月) 15:48:41.NET Framework 3.0 環境構築
http://www.microsoft.com/japan/msdn/netframework/downloads/netfx3.aspx#development
匣の向こう側 - あまりに.NETな
http://d.hatena.ne.jp/akiramei/searchdiary?word=*%5BWinFX%5D
Windows と話す: Windows Vista における音声認識と音声合成の新規 API -- MSDN Magazine, 2006 年 1 月
https://www.microsoft.com/japan/msdn/msdnmag/issues/06/01/speechinWindowsVista/default.aspx#void
0772デフォルトの名無しさん
2007/06/18(月) 15:59:34>>771
Text Services Framework によるディクテーションのサポート
ttp://msdn.microsoft.com/msdnmag/issues/07/07/Dictation/default.aspx?loc=jp
0773デフォルトの名無しさん
2007/06/18(月) 17:09:49ListBox、ComboBoxにDataSet、DisplayMemberを設定してあげると
見た目の項目は普通に表示されるのですが
MessageBox.Show(ListBox.SelectedText)などで表示させると
System.Data.DataRowViewと表示されてしまいます。
MessageBoxなどで取得したときに上記のようにならないようにするには
どうすればいいでしょうか?
0774デフォルトの名無しさん
2007/06/18(月) 17:15:360775デフォルトの名無しさん
2007/06/18(月) 17:27:37初心者ですみません。
0776デフォルトの名無しさん
2007/06/18(月) 17:57:13せめて判らないまでもキーワード貰ってヘルプで調べないで聞くとかありえんだろ
回答してくれた奴に失礼じゃないか?
0777デフォルトの名無しさん
2007/06/18(月) 19:20:010778デフォルトの名無しさん
2007/06/18(月) 19:42:10良く分からなかったのでもうちょっと調べてみます。
0779デフォルトの名無しさん
2007/06/18(月) 20:02:55http://www.google.co.jp/search?num=100&hl=ja&safe=off&q=C%23+ListBox+SelectedValue&lr=lang_ja
でベストアンサーが出てくるのだが・・・。
0780デフォルトの名無しさん
2007/06/18(月) 20:04:15そのわからない部分
例えばこの言い回しが判らない
とかだと穏便に済むと・・・・
0781デフォルトの名無しさん
2007/06/18(月) 20:11:480782デフォルトの名無しさん
2007/06/18(月) 20:59:57どう見ても分かってなさそうですが。。
0783デフォルトの名無しさん
2007/06/18(月) 22:06:48APIのSendMessagecallbackを使って他のスレッドにデータを送信するのですが、
事前に調べて作ってあった使い方マニュアルみたいなものが理解できなくて困ってます。
「とりあえず」とか、「と思われる」とか、「おそらく」とかばっかり…
とりあえずMSDNとか見て宣言の仕方はわかったのですが、
そのマニュアルみたいなものにはなぜか構造体を作って、
その中に送信したいデータを入れて、
構造体変数をSendMessagecallbackの引数にして送信していました。
また受信側にも同様におなじ構造体を宣言してその構造体変数に受信したデータを入れて、
そこから別の変数に入れたりして使っています。
作成者に質問してみたらそれはstringを送信するために使うんだそうですが、
他の型はどうなのかは説明がありませんでした。
C#でSendMessagecallbackを使用する場合、構造体は必ずセットにして使うものなのでしょうか?
それとC#用のAPI講座か書籍を探しています。このマニュアルみたいなものに頼っていたらいつまで経っても
コーディングに移れないので。
0784デフォルトの名無しさん
2007/06/18(月) 22:12:45自プロセスだけなら Win32API 使う必要皆無なんだが……。
0785デフォルトの名無しさん
2007/06/18(月) 22:15:27WM_COPYDATAでCOPYDATASTRUCTか?
0786デフォルトの名無しさん
2007/06/18(月) 22:22:100787デフォルトの名無しさん
2007/06/18(月) 22:22:51それです。
COPYDATASTRUCTって構造体にまたコメントがなんだかよくわからない文が書いてあって、
IntPtrとかの変数が3つあって
メッセージとメッセージ長+1とかを入れてました。
自宅のPCなんで現物見ながらじゃないので正確ではないんですが。
私が担当するのはbyte型の構造体を別スレッドに送信する部分です。
SendMessageCallbackを使ってるのはマルチスレッドの関係上らしいです。
0788デフォルトの名無しさん
2007/06/18(月) 22:35:31SendMessageCallback は、メッセージを相手のウィンドウが処理し終わった際にコールバックが呼び出される以外は
SendMessage / PostMessage と同じと考えていい。
ということを踏まえて、
ttp://www.google.com/search?hl=ja&q=WM_COPYDATA+C%23&lr=lang_ja
この辺を参考にするといいよ。
なお、SendMessageCallback は呼び出すとすぐ返ってくるが、
そのタイミングでは COPYDATASTRUCT に設定したメモリを解放することができないので
コールバックの方で解放することになる。
コールバックは分かるかな?
Win32API の宣言集なら PInvoke.net にずらずら載っている。
Win32API の呼び出しを基礎から勉強したいなら MSDN の「相互運用マーシャリング」以下の項目を熟読。
0789デフォルトの名無しさん
2007/06/18(月) 22:36:16俺ならC++/CLIでラッパを書くよ。C++だったらサンプルかなんかあるんだろ?
0790デフォルトの名無しさん
2007/06/18(月) 22:36:56本人に問題があるのか
それとも両方か
>C#でSendMessagecallbackを使用する場合、構造体は必ずセットにして使うものなのでしょうか?
WM_COPYDATAがその構造体を要求してるだけでそ……
つーかSendMessageCallbackでWM_COPYDATA使えないでしょ?
0791デフォルトの名無しさん
2007/06/18(月) 22:45:280792デフォルトの名無しさん
2007/06/18(月) 22:46:30に1カノッサ
0793デフォルトの名無しさん
2007/06/18(月) 22:47:32プログラム経験そのものや C/C++ の経験にもよるけど
0794デフォルトの名無しさん
2007/06/18(月) 22:52:54その中でメッセージループつきのスレッドを生成している。
そいつと通信するのにその手順を踏む必要があるといったとこかな?
0795デフォルトの名無しさん
2007/06/18(月) 22:57:41ありがとうございます。
ただSendMessageCallbackを使用することは既に決まっていて、
他の方が作っている部分と足並みをそろえたいらしく私だけ独自に使うわけにはいかないんです。
提案してもおそらくもう他の部分で使っちゃってるし、と返ってくるでしょうし。
ちなみに前任者というか、今回新規の案件かつ、
職場内でC#が使える人がいないため全員素人状態からやっている状態で、
上に述べたマニュアルみたいなもの、も私と同期の新入社員が作ったものなのでもうなにがなんだか。
>>789
私自身はCしかいじってこなかった人間なため、職場についてからいきなりC#をやってる状態でC++に関してはまったくの無知です。
CのAPI講座はいくつかあったのでそちらでも勉強中です。
>>790
職場にもマニュアル書いた人も私にも問題がありすぎなんだと思います。
>WM_COPYDATAがその構造体を要求してるだけでそ……
>つーかSendMessageCallbackでWM_COPYDATA使えないでしょ?
まずこのこと自体が理解していないくらいですから。
とにかく頑張って今週中には一つ仕上げます。
0796デフォルトの名無しさん
2007/06/18(月) 23:01:070797デフォルトの名無しさん
2007/06/18(月) 23:13:590798デフォルトの名無しさん
2007/06/18(月) 23:16:380799デフォルトの名無しさん
2007/06/18(月) 23:52:27じゃあプログラムさせちゃ駄目だろ・・・
0800デフォルトの名無しさん
2007/06/18(月) 23:53:470801デフォルトの名無しさん
2007/06/18(月) 23:57:550802デフォルトの名無しさん
2007/06/19(火) 19:11:08ttp://dobon.net/vb/dotnet/datagrid/columnformat.html
DataGridTableStyle ts;
ts = DataGrid1.TableStyles["DataTable1"];
の"DataTable1"というのは、DataSetにあるテーブル名で良いんですか?
また、
DataGridTextBoxColumn cs1;
cs1 = (DataGridTextBoxColumn) ts.GridColumnStyles["Column1"];
の"Column1"というのは↑のテーブルの中にあるColumnで良いんでしょうか?
0803デフォルトの名無しさん
2007/06/19(火) 19:35:240804デフォルトの名無しさん
2007/06/19(火) 19:49:05const int B = 1;
const bool C = false;
void Hoge(){
int x = C ? A : B;
}
こういうコードを書いたら、C ? A : BのAについて
「到達できないコードが検出されました」っていうコンパイラの警告が出た
ダメなの?これ
0805デフォルトの名無しさん
2007/06/19(火) 19:53:520806デフォルトの名無しさん
2007/06/19(火) 20:09:02ってコンパイルされるから?
0807デフォルトの名無しさん
2007/06/19(火) 20:12:360808802
2007/06/19(火) 21:06:15ですね。
0809デフォルトの名無しさん
2007/06/19(火) 21:49:330810802
2007/06/19(火) 21:53:30オブジェクト参照がオブジェクト インスタンスに設定されていません。
と出てしまいます。
0811デフォルトの名無しさん
2007/06/19(火) 22:00:13じゃあもっといろいろ。
0812デフォルトの名無しさん
2007/06/19(火) 22:12:270813デフォルトの名無しさん
2007/06/19(火) 22:44:42いろいろためせ
あと、どうして、どこで、ダメだったか書かないの?
0814デフォルトの名無しさん
2007/06/19(火) 22:48:03よりコピペ。当てはまる内容はないか考えてみよう。
12 名前:名無しさん[sage] 投稿日:2007/06/17(日) 20:26:13 0
【質問をする皆さんへ。】
回答する人たちはあなたのパソコンに前にいるわけではありません。
画像や、なるべく分かりやすく書いてください。
「起動しないんですけどどうしたらいいんでしょう」や「〜が使えないんですけどどうしたらいいですか?」
といった曖昧な質問では、回答者もどう回答したらいいか分かりません。
箇条がきにするなどの工夫をすると回答は早くもらえるようです。
それに最低限必要なのはパソコンの機種とノートタイプかそうでないのか、自分でどこまでやったか
特に青画面や黒い画面で起動できないときはそのエラーメッセージを面倒でも書き込んでください
あなたにとって意味不明でもそこには貴重な情報が表示されています
0815デフォルトの名無しさん
2007/06/19(火) 22:58:39初心者以前にプログラマなんて無理だ。
まあ国語の時間で文学鑑賞しか教えない日本の教育の問題もあるんだけどさそりゃ。
0816デフォルトの名無しさん
2007/06/19(火) 23:01:040817デフォルトの名無しさん
2007/06/19(火) 23:04:190818デフォルトの名無しさん
2007/06/19(火) 23:06:22>国語の時間で文学鑑賞しか教えない日本の教育
もしかして40歳以上ですか
0819デフォルトの名無しさん
2007/06/19(火) 23:10:520820デフォルトの名無しさん
2007/06/19(火) 23:14:21お前が>>802?
内容を詳しく書け。
それともいちいち、DataGrid1はありますかとか
DataTable1はありますかと聞かれたいのか?
0821デフォルトの名無しさん
2007/06/19(火) 23:19:480822デフォルトの名無しさん
2007/06/19(火) 23:22:06DataGrid1はありますか?
DataTable1はありますか?
0823デフォルトの名無しさん
2007/06/19(火) 23:24:15そこまでやったら、
くだらない質問が来ないじゃないか。
0824デフォルトの名無しさん
2007/06/19(火) 23:26:38気に入らないなら答えなきゃいいだけなんだし
0825デフォルトの名無しさん
2007/06/19(火) 23:40:31いいじゃないかふらっとだもの
0826デフォルトの名無しさん
2007/06/20(水) 11:54:440827デフォルトの名無しさん
2007/06/20(水) 11:59:25string.Format("{0:n0}",hoge);
0828826
2007/06/20(水) 14:08:42できました。ありがとう。
string.Formatだからhogeはstringじゃないと駄目かと思って嵌ったよ。
intでいいんだね。
0829デフォルトの名無しさん
2007/06/20(水) 14:14:460830デフォルトの名無しさん
2007/06/20(水) 14:17:370831デフォルトの名無しさん
2007/06/21(木) 01:20:050832デフォルトの名無しさん
2007/06/21(木) 01:45:10アハハハハ VisualStudioも必要ねぇやぁハハハ
0833デフォルトの名無しさん
2007/06/21(木) 10:14:470834デフォルトの名無しさん
2007/06/21(木) 11:06:10つうか、テキストエディタでやってる勇者いないのか?w
0835デフォルトの名無しさん
2007/06/21(木) 11:12:480836デフォルトの名無しさん
2007/06/21(木) 11:55:10ちょっとしたものならテキストエディタで書くよ。
俺、スクリプト感覚で C# 使うときも多いから。
>>835
プロジェクト作らない、ソース単体の編集ってインテリセンス効かない場合があるから。
VS 立ち上げるのが面倒になるときが。
0837デフォルトの名無しさん
2007/06/21(木) 12:31:14コンソールアプリはC#で、GUIアプリはVB2005EEで作っている。
C#はVB.NETと比べて専門用語の数と独自機能(例えばイテレータ)が飛躍的に増えるのでまだGUIアプリを作れる程C#の事を理解していない。
以前VC#2005EEを入れた事があるんだけど正直ヘルプが不親切過ぎて(どう考えてもCかC++を使える人向け)全く理解不能だった。
VB.NETをそこそこ使えるようになった今なら理解出来るかも知れないけど、当分はコンソールアプリで我慢する。
0838デフォルトの名無しさん
2007/06/21(木) 12:40:49あとunsafeと匿名メソッドぐらいしか差分はないでしょ
0839デフォルトの名無しさん
2007/06/21(木) 13:19:14あのVirtual とかあのへんとVB.NETとの対応表みたいなのってあればラクに移行できそうなんだけど・・・・
0840デフォルトの名無しさん
2007/06/21(木) 15:52:27キーワードの比較。ほんとにキーワードだけだからあんまり意味無いと思うが。
確かにVB.NETのヘルプはC#と比べたら異様に親切だな
http://msdn2.microsoft.com/ja-jp/library/b86b82w0(VS.80).aspx
こんなの、言語を限定して解説することじゃないだろw
0841デフォルトの名無しさん
2007/06/21(木) 16:27:14情報サンクス 助かる
いや、それがあるだけでも移行ははかどりそう
なんせ仕事しながらだから効率よく行きたいし
まぁVB→C#変換して見比べろ とか言われたら微妙だけどなぁ・・・(;´∀`)
0842デフォルトの名無しさん
2007/06/21(木) 16:32:31せめてVB.NETなら良かったのに……
0843デフォルトの名無しさん
2007/06/21(木) 17:37:15業務だから仕方ないだろうが・・・・
出来るものはそう変わらないけど 作る時にすげぇ手間取るしすげぇ時間かかるぜ
0844デフォルトの名無しさん
2007/06/21(木) 17:43:38なにその絵に描いたような地獄
.netのインテリセンスとか
便利なクラスになれてからVBAとか戻ると
スゲー不便なんだよなほんとに
0845デフォルトの名無しさん
2007/06/21(木) 17:48:560846デフォルトの名無しさん
2007/06/21(木) 17:51:550847デフォルトの名無しさん
2007/06/21(木) 17:53:470848デフォルトの名無しさん
2007/06/21(木) 18:34:00http://tukaenai-pg.cocolog-nifty.com/blog/2006/05/c__2de6.html
こちらに書かれているコードをそのままコピーしてコンパイルしたところ
名前 'fm1' は現在のコンテキスト内に存在しません。
というエラーが出てしまいます。
どう直せばよいのでしょうか?
0849デフォルトの名無しさん
2007/06/21(木) 18:37:14他を探せ
0850デフォルトの名無しさん
2007/06/21(木) 18:41:400851デフォルトの名無しさん
2007/06/21(木) 18:45:19まあ最初はちゃんと勉強したほうがいいよ
0852デフォルトの名無しさん
2007/06/21(木) 18:50:06ってのは位置づけとして脱初心者の一歩だろうか?
0853デフォルトの名無しさん
2007/06/21(木) 18:51:210854デフォルトの名無しさん
2007/06/21(木) 19:13:260855デフォルトの名無しさん
2007/06/21(木) 19:13:44秀丸で1万行くらいのを書いてる俺が来ましたよ。
IDEは嫌いだ。
0856デフォルトの名無しさん
2007/06/21(木) 19:16:510857デフォルトの名無しさん
2007/06/21(木) 19:28:550858デフォルトの名無しさん
2007/06/21(木) 19:36:110859デフォルトの名無しさん
2007/06/21(木) 19:36:43unixの移植のためにCは作られた
嘘です。
0860デフォルトの名無しさん
2007/06/21(木) 19:36:550861デフォルトの名無しさん
2007/06/21(木) 19:45:310862デフォルトの名無しさん
2007/06/21(木) 19:52:120864デフォルトの名無しさん
2007/06/21(木) 20:37:060865デフォルトの名無しさん
2007/06/22(金) 11:51:43逆に「そうか、こう書けばよかったのか」とか再発見がまれにあったりする。
Win32API をラップするときとか、つい .NET の相当するクラスやメソッドを真似てみたりw
0866デフォルトの名無しさん
2007/06/22(金) 18:54:53System.Net.SocketsのSoketを用いて、Tcp通信を行う処理を作っています。
今問題になっているのは、IDE上からアプリを実行してSoketのConnect()を実行するところで
PlatformNotSupportedExceptionが発生して、
「この操作はWindows 2003 SP3 またはそれ以降のオペレーティングシステム上でのみ
サポートされています。」となります。
ですが、今使っているOSはXP home SP2です。
また、この例外はIDE上からではなく単体でアプリを実行してSoket通信を行った場合はConnect()は成功してConnectedプロパティはTureを返しています。
なぜこんなことが起こるのか、調べてもさっぱり分かりません。
解決策をご存知の方、教えてください。
0867デフォルトの名無しさん
2007/06/22(金) 21:19:130868866
2007/06/22(金) 21:41:40MSDNの例を参考にしているのですが、どうにも上手くいかないんですよね…
例外が起こる部分のソースをのせます。(Tcpの通信先はローカルネットワーク内のPCと機器の一対一接続です。)
string server = " . . . "; ←機器のIP
int port = 8802;
Socket sock = null;
IPHostEntry hostEntry = null;
hostEntry = Dns.GetHostEntry(server);
foreach(IPAddress address in hostEntry.AddressList)
{
IPEndPoint ipe = new IPEndPoint(address, port);
Socket tempSocket = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
tempSocket.Connect(ipe); ←ここで例外発生
if(tempSocket.Connected){
sock = tempSocket;
break;
}
else{
continue;
}
}
繰り返しになりますが、現状はVisualStudio2005のIDEから実行すると例外が出るのですが、
IDEを介さず実行すると例外は発生せずsock.ConnectedはTrueを返すという状態です。
0869デフォルトの名無しさん
2007/06/22(金) 22:09:35念のために聞くけどそれで「ハンドルされていない例外が」が出て実行が止まるんだよな?
0870866
2007/06/22(金) 23:21:12というように表示されています。
スタックトレースはこんな感じでした。(長いので直近の10個を表示します)
ConnectSocket at offset 353 in file:line:column <filename unknown>:0:0
oneToolStripMenuItem_Click at offset 152 in file:line:column <filename unknown>:0:0
RaiseEvent at offset 65 in file:line:column <filename unknown>:0:0
OnClick at offset 81 in file:line:column <filename unknown>:0:0
HandleClick at offset 199 in file:line:column <filename unknown>:0:0
HandleMouseUp at offset 544 in file:line:column <filename unknown>:0:0
FireEventInteractive at offset 135 in file:line:column <filename unknown>:0:0
FireEvent at offset 290 in file:line:column <filename unknown>:0:0
OnMouseUp at offset 199 in file:line:column <filename unknown>:0:0
OnMouseUp at offset 37 in file:line:column <filename unknown>:0:0
0871デフォルトの名無しさん
2007/06/23(土) 00:00:440872デフォルトの名無しさん
2007/06/23(土) 00:01:44それがスタックトレースの一番上?
0873866
2007/06/23(土) 00:21:15public static Socket ConnectSocket(string server, int port){
Socket sock = null;
IPHostEntry hostEntry = null;
hostEntry = Dns.GetHostEntry(server);
foreach(IPAddress address in hostEntry.AddressList){
IPEndPoint ipe = new IPEndPoint(address, port);
Socket tempSocket = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
String temp = " ";
try{
tempSocket.Connect(ipe);
}catch (Exception){
System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace();
for (int StackLoop = 0; StackLoop < st.FrameCount; StackLoop++){
System.Diagnostics.StackFrame sf = st.GetFrame(StackLoop);
temp += sf.ToString();
}
using (StreamWriter sw = new StreamWriter("trace.txt")){
sw.Write(temp);
}
}
if(tempSocket.Connected){
sock = tempSocket;
break;
}else{ continue;
}
}
return sock;
}
スタックトレースのために、例外処理をしたら、tempSocket.Connect()で例外はなくなりましたが、その先のSend()で同じ例外が出ました。
もしかして、Socket周りは必ず例外処理しないとだめな処理だったりするのでしょうか…?
0874デフォルトの名無しさん
2007/06/23(土) 00:28:50て言うかそうじゃないと意味がないのでそっち見てくれ。
0875デフォルトの名無しさん
2007/06/23(土) 00:43:19関係ないけどMSDNのSocket.Disconnect メソッド で
>PlatformNotSupportedException
> このメソッドは、Windows 2000 以前でのみサポートされます。
>それ以外の場合は、例外がスローされます。
ってなってるけど意味が分からん。
0876866
2007/06/23(土) 00:48:41場所 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
場所 System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
場所 HeatRot.ConnectData.ConnectSocket(String server, Int32 port)
場所 C:\Documents and Settings\knit\My Documents\Visual Studio 2005\Projects\HeatRot\HeatRot\ConnectData.cs:行 39
何が悪いのか、さっぱりわかりません。
バグだとしたら、どのように対応したら良いのでしょうか…
0877デフォルトの名無しさん
2007/06/23(土) 01:03:210878デフォルトの名無しさん
2007/06/23(土) 02:08:09その発想はなかったわw
0879デフォルトの名無しさん
2007/06/23(土) 06:15:09DelphiでいうOpenPictureDialogが欲しいです。
0880デフォルトの名無しさん
2007/06/23(土) 09:49:110881デフォルトの名無しさん
2007/06/23(土) 10:11:380882デフォルトの名無しさん
2007/06/23(土) 10:13:400883デフォルトの名無しさん
2007/06/23(土) 11:00:21これとかどうかな?
http://msdn2.microsoft.com/en-us/library/ms996463.aspx
前にちょっとコード斜め読みした感じでは、なんかものすごくアクロバティックというか、
美しくないコードだなと思った気がした。
そもそもFileDialogをどうして普通に継承して機能拡張できるように最初から
設計しなかったんだろう。
0885879
2007/06/23(土) 11:59:31すいません、あくまでもプレビューは補助的なものとして使いたいので、
縮小版だと不便なんです。
>>883
ありがとうございます!まさにこれです。
0886デフォルトの名無しさん
2007/06/23(土) 12:15:34Project[B]の中にあるForm[b]に[aを開く]ボタンを配置して
それぞれのボタンを押すと対応するフォーム([〜を開く]ボタンは無し)が開くようにしたいのですが、
Projectの参照を追加しようとすると
「それ自身を参照として持つことになります」といわれてしまい実行できません。
なにかいい手段はありませんか?
0887デフォルトの名無しさん
2007/06/23(土) 12:41:45ProjectA と ProjectB を両方参照する ProjectC が Forma と Formb を管理するクラス持てば
0888デフォルトの名無しさん
2007/06/23(土) 12:51:31ありがとうございます。
仕様的に新しいProjectは作っちゃダメなんですが、
何とか共通関数が入ったProjectにねじ込んでみます。
> 「フォームを開く要求が出てるぜ」イベントを公開して
ってのが分かりませんが、がんばってみます。
0889デフォルトの名無しさん
2007/06/23(土) 12:55:56一つもない気がするんですが。。
だってプロジェクトBって他で使いまわせるわけじゃないじゃんw
0890デフォルトの名無しさん
2007/06/23(土) 12:58:57それは仕様書作った人に・・・
関係ないけどなんかほかにも「out」や「ref」は使っちゃダメとか
いろいろ制約が多くて困ってます。
0891デフォルトの名無しさん
2007/06/23(土) 13:01:52これはなくても別に困らんだろ
ところで共通関数が入ったプロジェクトは参照されるんであって参照するのではないと思うのだが
0892デフォルトの名無しさん
2007/06/23(土) 13:04:58887の言うように第三者のCを介在させる必然性は本当は必ずしもない。
要はBが起こしたイベントに反応してAがアクション(フォームの表示?)を
起こすようにすれば、BはAの存在を知る必要はないということ。
0893デフォルトの名無しさん
2007/06/23(土) 13:56:470894デフォルトの名無しさん
2007/06/23(土) 13:58:100895デフォルトの名無しさん
2007/06/23(土) 17:00:32Int32.TryParse(string, out int)なんかの使用も禁止なの?
0896デフォルトの名無しさん
2007/06/23(土) 17:02:070897デフォルトの名無しさん
2007/06/23(土) 17:13:120898デフォルトの名無しさん
2007/06/23(土) 17:33:29Javaみたいに「その関数に渡すためだけのクラス」を定義するの?
禁止する意味がよくわからん。
0899デフォルトの名無しさん
2007/06/23(土) 17:39:42class Ref<T>{public T Value;}
あてつけ
0900デフォルトの名無しさん
2007/06/23(土) 17:50:150901デフォルトの名無しさん
2007/06/23(土) 18:19:58>複数の値を返す場合はどうするの?
refから話がずれちまうが、
そういう場面で役立つ構文がC# 3.0で増えてるな。
ttp://ja.wikipedia.org/wiki/C_Sharp
>オブジェクトの初期化が簡潔に記述できるようになった。
>コレクションの初期化が簡潔に記述できるようになった。
>一時的に使用される型を簡単に定義するための匿名型が導入された。
>new キーワードを用いた配列の宣言の際、型を省略できるようになった。
よさげ。
Lightweight Language臭がするようになった気もするが。
0902デフォルトの名無しさん
2007/06/23(土) 18:31:13厳密に型が付いている
0903デフォルトの名無しさん
2007/06/23(土) 18:39:55型名のタイプをサボれるだけ
0904デフォルトの名無しさん
2007/06/23(土) 19:38:22別に複数の値を返す時に役立つ機能ではないと思うが。
さすがに匿名型を返すことはできないのでは?
0905デフォルトの名無しさん
2007/06/23(土) 19:43:560906デフォルトの名無しさん
2007/06/23(土) 20:44:020907デフォルトの名無しさん
2007/06/24(日) 00:00:31で、そのデータがいらなくなったら、さっさとメモリを解放したいんですが、
こういうときはGC.Collect()を呼ぶくらいしか方法はないでしょうか?
配列だけ解放なんてことは無理ですか?
0908デフォルトの名無しさん
2007/06/24(日) 00:02:49いっそアンマネージドなメモリで持つ手もあるがね
0909907
2007/06/24(日) 00:06:06じゃあC++/CLIあたりでがんばります。
ありがとうございました。
0910デフォルトの名無しさん
2007/06/24(日) 00:07:07参照がなければ、他でメモリが必要になった時に開放されるんだし。
0911デフォルトの名無しさん
2007/06/24(日) 02:43:481、usingとJavaのimportは意味合い的には同じモノとして考えてよい?
2、C#にJarファイルみたいに一つにまとまったクラスみたいなものはあるのでしょうか?
3、void Page_Load(object sender, EventArgs e) みたいなメソッドがありますが
これの引数の意味がいまいちわかりません。具体的にどう使われるんでしょうか?
4、public static void mainみたいなものはありますが、これっていつ呼ばれるのでしょうか?
たとえばPage_Load、Button_Click1、Button_Click2、mainの4つのクラスがあった場合
mainメソッドはいつ呼ばれるのでしょうか?
Page_Loadはページを読み込んだとき
Button_Click1、Button_Click2はボタンを押下したときに走るイベントだとおもいますが・・・
Javaなら一番初めによばれてって感じだと思いますが・・・
0912デフォルトの名無しさん
2007/06/24(日) 03:05:551、うん
2、C# にはモジュールがある。あと Jar はクラスじゃない。
3、Java と似たようなもん
4、アプリケーション開始時(エントリポイント)
クラスとメソッドをちゃんと区別すること。
Page_Load、Button_Click1、Button_Click2 の各メソッドがいつ呼ばれるかは判らない。
イベントハンドラに設定されてたらそっちの期待通りに動くけど、設定されてなかったら……
0913デフォルトの名無しさん
2007/06/24(日) 03:07:071. yes
2. dllまたはexe
3. sender->イベントの元になったオブジェクト e->イベントの情報
4. Javaと同じ。プログラムの開始時。
0914907
2007/06/24(日) 03:13:00でかい配列をもつオブジェクトを、短いスパンで何度か生成・削除を繰り返したいときに、
一時的にメモリ使用量がごりごり上がっていったらやだなと思ったんです。
明示的に開放できれば、そんなに増えないかな〜と。
.NETつかうならそんなことは気にしないほうがいいでしょうか?
0915デフォルトの名無しさん
2007/06/24(日) 03:15:03困ってから困れ。
とりあえず、先ずは作ってしまえ。
0916907
2007/06/24(日) 03:20:140917デフォルトの名無しさん
2007/06/24(日) 03:38:370918デフォルトの名無しさん
2007/06/24(日) 08:49:22そうでもない。
壁紙クラス(5MB位)のデカい奴を短期間で読み込むとあっと言う間にメモリ使用量100MBオーバー。
やむなく配列に読み込み処理の頭でGC.Collect()してる位だし。
0919デフォルトの名無しさん
2007/06/24(日) 10:09:270920デフォルトの名無しさん
2007/06/24(日) 11:44:26なんで?
0921デフォルトの名無しさん
2007/06/24(日) 11:59:300922デフォルトの名無しさん
2007/06/24(日) 12:46:07一昔前ならともかく、いまどき100MBってそんなに多くないだろ。
0923907
2007/06/24(日) 12:53:26このアプリひとりでメモリ使いまっくてんじゃねーよとか思われそうだな〜と。
空いてるからといって必要以上に使いまくるのは気が進まなかったのです
0924デフォルトの名無しさん
2007/06/24(日) 13:08:460925デフォルトの名無しさん
2007/06/24(日) 13:21:02おまえの作ったソフトラインタイムとか入れないといけないからめんどくせー とか
なんでメモリーこんな消費するゴミソフトつくってんの? とか言われる
メモリあいてるからって無駄に消費してもらうと
作者が無能に思われることがあるから
嫌と言えば嫌だ。
そういう勘違い野郎にいちいちGCの説明するのもかったるいし
0926デフォルトの名無しさん
2007/06/24(日) 15:07:430927デフォルトの名無しさん
2007/06/24(日) 16:16:40アルゴリズムはmazeをベースで。
書くときに参考になるソースコードとかってどっかに落ちてるものなんでしょうか?
アルゴリズム分かっても、書くのが素人なので、どれ位の規模(行数)になるかとか、必要な関数が予想つきません。
例などがあれば要と思って質問させていただきました。
誘導していただければ幸いです。
0928デフォルトの名無しさん
2007/06/24(日) 16:21:510929デフォルトの名無しさん
2007/06/24(日) 16:27:56どこで書き込むと良いんでしょうか?
0930デフォルトの名無しさん
2007/06/24(日) 16:28:280931デフォルトの名無しさん
2007/06/24(日) 16:30:100932デフォルトの名無しさん
2007/06/24(日) 16:31:34>このスレッドは
>「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
C#関係ない質問するバカは死ね
0933デフォルトの名無しさん
2007/06/24(日) 16:33:540934デフォルトの名無しさん
2007/06/24(日) 16:53:400935デフォルトの名無しさん
2007/06/24(日) 16:57:46ファイル送信中の情報量を受け取れるメソッドとかがあるのでしょうか?
0936デフォルトの名無しさん
2007/06/24(日) 16:59:04誘導も無いようなので失礼します。
0937デフォルトの名無しさん
2007/06/24(日) 16:59:21マルチは死ね
0938デフォルトの名無しさん
2007/06/24(日) 17:50:470939デフォルトの名無しさん
2007/06/24(日) 20:30:53前にも同じことを聞いてたよな
頭使えよ。
0940デフォルトの名無しさん
2007/06/24(日) 20:46:14それとも配線違いか?
いやすれ違い。
0941デフォルトの名無しさん
2007/06/24(日) 21:08:040942デフォルトの名無しさん
2007/06/25(月) 00:58:48WindowsFormアプリが常にアクティブ(手前)に表示されるといった状態
にしたいのですがどうすれば良いでしょうか?
例えば、ネットをする際にはIE・FireFox・Lunascape等を使う
かと思いますが、それらが起動していたとしても常に手前に
WindowsFormアプリを表示をしたいです。
(サイズ的にはブラウザの1/5位のサイズです。)
※常に手前に表示はされているけれでも、ブラウザ上の項目
(ID / PASSWORD 項目等)に対して入力をしたい場合には、
その箇所を選択(クリック)した上で入力が出来る状態にしたいです。
宜しくお願い致します。
0943デフォルトの名無しさん
2007/06/25(月) 01:00:240944デフォルトの名無しさん
2007/06/25(月) 13:36:02どうすればいいでしょう?
0945デフォルトの名無しさん
2007/06/25(月) 13:37:54http://www.google.co.jp/search?hl=ja&q=Enter+%E3%83%95%E3%82%A9%E3%83%BC%E3%82%AB%E3%82%B9+%E7%A7%BB%E5%8B%95+C%23&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0946デフォルトの名無しさん
2007/06/25(月) 18:35:46このサイトみてOracleCommandを試してみてるのですが、取得したデータを
DataGridViewなどに表示させるにはどうすればいいでしょうか?
0947デフォルトの名無しさん
2007/06/25(月) 18:41:570948デフォルトの名無しさん
2007/06/25(月) 19:29:27デスマってるやつが多いのかなw
0949デフォルトの名無しさん
2007/06/25(月) 19:58:060950北方謙三
2007/06/25(月) 20:14:430951デフォルトの名無しさん
2007/06/25(月) 22:00:03謙虚なのか?
0952デフォルトの名無しさん
2007/06/25(月) 22:05:010953デフォルトの名無しさん
2007/06/25(月) 22:13:290954デフォルトの名無しさん
2007/06/25(月) 22:42:480955デフォルトの名無しさん
2007/06/25(月) 22:55:040956デフォルトの名無しさん
2007/06/25(月) 23:17:10解決しました。ありがとう。
0957デフォルトの名無しさん
2007/06/26(火) 09:41:27初心者と書かれたスレにはこないとさ
0958デフォルトの名無しさん
2007/06/26(火) 14:19:570959デフォルトの名無しさん
2007/06/27(水) 00:15:400960デフォルトの名無しさん
2007/06/27(水) 03:59:47名称だけでも教えていただけないでしょうか?
0961!=959
2007/06/27(水) 04:03:530962デフォルトの名無しさん
2007/06/27(水) 08:40:29picture Box(A→Bまで)を移動させたいんだけどどうやるの?
座標がランダムに変化しても自動的に出力させたいのですが
お願いします。
0963デフォルトの名無しさん
2007/06/27(水) 09:08:13アルゴリズムに関してはそのくらい自分で考えろ
0964デフォルトの名無しさん
2007/06/27(水) 10:00:29<BeginStoryboard>
<Storyboard>
<PointAnimation>
0965デフォルトの名無しさん
2007/06/27(水) 10:03:260966デフォルトの名無しさん
2007/06/27(水) 13:39:49あります。
このとき、コンボボックス1が04でコンボボックス2が31の時はエラーメッセージを
出すようにしたいのですが、うまくいきません。
private void _Conbobox2_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(Conbobox1.Items[3] == Conbobox2.Items[30])
{
MessageBox.Show("Error");
}
}
といった形でコーティングしているのですが、ifまで行かないようなのです。
0967デフォルトの名無しさん
2007/06/27(水) 13:57:580968デフォルトの名無しさん
2007/06/27(水) 14:02:204/31など、ありえない月の時はエラーメッセージを表示させようとしたいのですが・・・。
0969デフォルトの名無しさん
2007/06/27(水) 14:09:34「 4と31が等しいなら」
あなたが書くべき条件式:
「 月が4で、かつ日付が31のとき」
0970966
2007/06/27(水) 14:19:33また、書くべき条件式はどのような形で書いたら良いでしょうか?
0971デフォルトの名無しさん
2007/06/27(水) 14:19:42今回やりたいのは、
comboBox2の選択内容が変わったら、
comboBox1の値によって変わる上限よりcomboBox2の値が大きかったらエラーを出力。
だろう。
まあ上限は配列にしておいて({31,29,31,30,31,30,31,31,30,31,30,31} とか)
確認するとか、DateTime につっこんで正しい日付かチェックするとかすればいいかと
0972デフォルトの名無しさん
2007/06/27(水) 14:20:07( 2月 かつ ( ( 閏年 かつ 日付が29より大 ) または ( 非閏年 かつ 日付が28より大 ) )
または
( 日付が30より大 かつ ( 4月 または 6月 または 9月 または 11月 ) )
0973966
2007/06/27(水) 14:30:000974デフォルトの名無しさん
2007/06/27(水) 14:31:29あとは閏年かどうかで 2 月の場合に 1 日調整するだけ。
0975デフォルトの名無しさん
2007/06/27(水) 14:37:21bool fError = false;
int m = comboBox1.SelectedIndex + 1;
int d = comboBox2.SelectedIndex + 1;
switch( m )
{
case 2:
fError = fLeapYear ? d > 29 : d > 28;
break;
case 4:
case 6:
case 9:
case 11:
fError = d > 30;
break;
}
if( fError )
{
MessageBox.Show( "Error" );
}
0976デフォルトの名無しさん
2007/06/27(水) 14:39:16int[] monthDay = { 0, 31, 29, 31,30,31,30,31,31,30,31,30,31 };
if (monthDay[m] < d)
switch case をこれにしてもいいな。
0977デフォルトの名無しさん
2007/06/27(水) 14:41:44捨てコードならともかく・・・。
0978デフォルトの名無しさん
2007/06/27(水) 14:44:130979デフォルトの名無しさん
2007/06/27(水) 14:45:060980デフォルトの名無しさん
2007/06/27(水) 14:45:18年の情報はどこにもないのね。
0981デフォルトの名無しさん
2007/06/27(水) 14:47:32それをキーボードでやったときのことを考えると
月設定時にエラーは出しにくいし
最終チェックはどうせ必要なんだから、この場合の範囲チェックの時点で
「うるう年を考慮しないなんて本気?」とか言うほうがおかしいでしょ
0982デフォルトの名無しさん
2007/06/27(水) 14:49:170983デフォルトの名無しさん
2007/06/27(水) 15:03:450984966
2007/06/27(水) 15:12:12C#初めてまだ1ヶ月で分からないことだらけでしたけど、また一つ覚えることが出来ました。
0985デフォルトの名無しさん
2007/06/27(水) 15:54:340986デフォルトの名無しさん
2007/06/27(水) 15:57:430987デフォルトの名無しさん
2007/06/27(水) 17:41:380988デフォルトの名無しさん
2007/06/27(水) 17:46:540989デフォルトの名無しさん
2007/06/27(水) 17:53:510990デフォルトの名無しさん
2007/06/27(水) 17:59:26お互いにお互いの代わりとして使えない。
0991デフォルトの名無しさん
2007/06/27(水) 18:48:16ただし&や|の方は後ろのステートメントも常に評価するようになる。
0992デフォルトの名無しさん
2007/06/27(水) 18:56:00もしかして&や|はビット演算にしか使えないと思ってた?
0993デフォルトの名無しさん
2007/06/27(水) 18:59:20衝撃の新事実!
0994デフォルトの名無しさん
2007/06/27(水) 19:10:10今試したら&&と同じように前のステートメントが偽だと後ろが評価されないね。
0995デフォルトの名無しさん
2007/06/27(水) 19:10:12intに対する | & とboolに対する | & は動作が違う。
intに || && は使えない。
0996デフォルトの名無しさん
2007/06/27(水) 19:13:48>& 演算子は、1 番目の演算子の値に関係なく、両方の演算子を評価します
って書いてあった。
しかもさっき書いた検証コードもちゃんとそう動いてた。
testとtrue見間違えただけかよw
しっかりしろ俺www
0997デフォルトの名無しさん
2007/06/27(水) 19:52:27if(A || B) は まずAを評価して OKでなければBを評価
if(A | B) はAがOKでもBを評価ってことか?
つか後者はどういうときに使うのか想像できない漏れがいる
0998デフォルトの名無しさん
2007/06/27(水) 19:55:100999デフォルトの名無しさん
2007/06/27(水) 19:56:221000デフォルトの名無しさん
2007/06/27(水) 19:59:2710011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。