ふらっとC♯, C#(初心者用) Part11
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/12/16(土) 12:41:24「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
0002デフォルトの名無しさん
2006/12/16(土) 12:41:430003デフォルトの名無しさん
2006/12/16(土) 12:42:12ふらっとC♯, C#(初心者用) Part10
http://pc8.2ch.net/test/read.cgi/tech/1162193452/
関連スレ
C♯, C#相談室 Part36
http://pc8.2ch.net/test/read.cgi/tech/1165656839/
0004デフォルトの名無しさん
2006/12/16(土) 12:42:29http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
.NET Framework SDK (2.0)
http://msdn2.microsoft.com/ja-jp/library/ms310244.aspx
MSDN Visual C# Express Edition フォーラム
http://forums.microsoft.com/msdn-ja/ShowForum.aspx?ForumID=187&SiteID=7
Visual Studio ユーザーグループ
http://vsug.jp/
@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/index.html
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/index.html
WisdomSoft Microsoft .NET入門
http://black.sakura.ne.jp/~third/system/msnet/msnet.html
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/
.NET のつぼ
http://park16.wakwak.com/~mimi/dotnet/top.html
0005デフォルトの名無しさん
2006/12/16(土) 12:42:46http://www.borland.com/jp/products/csharpbuilder/index.html
Turbo C#
http://www.turboexplorer.com/csharp
.NET Framework 1.1 製品ドキュメント
http://www.microsoft.com/japan/msdn/library/ja/netstart/html/sdkstart.asp
0006デフォルトの名無しさん
2006/12/16(土) 12:56:410007デフォルトの名無しさん
2006/12/16(土) 17:03:010008デフォルトの名無しさん
2006/12/16(土) 17:55:050009デフォルトの名無しさん
2006/12/16(土) 18:09:250010デフォルトの名無しさん
2006/12/16(土) 18:36:000011デフォルトの名無しさん
2006/12/16(土) 18:50:100012デフォルトの名無しさん
2006/12/16(土) 18:51:54( ⌒ ) ポッポー
l | /
⊂(#・∀・) おつおつうるせーんだよ!!
/ ノ∪
し―-J |l| |
人ペシッ!!
(_)
)(__)(_
⌒) (⌒
⌒Y⌒
0013デフォルトの名無しさん
2006/12/16(土) 19:25:34フォームの背景だけを半透明にしてその上に文字をクッキリ表示させたいと思い、
フォームのOpacitを50%にし、そのフォームにLabelを配置したのですが
Labelの文字まで半透明になってしまいます。
何か良い解決方法はないでしょうか?
0014デフォルトの名無しさん
2006/12/16(土) 19:41:04答えてやるもんか。
0015デフォルトの名無しさん
2006/12/16(土) 19:53:040016デフォルトの名無しさん
2006/12/16(土) 20:14:04ファイルを開く際には System.Diagnostics.Process#Start を UseShellExecute = true で使おうと考えたのですが、
Start に若干時間がかかるようなので、ThreadPool を使って非同期実行を……と考えたところ、
ThreadPool のような MTAThread からでは Start が使えないってことが分かりました。
そのため、現在は STAThread から Start するように書いてあるんですけど、
単発の Thread を立て続けに作ることに微妙に抵抗あるんですが、何か代替案はありますか?
……というより、もしかして Start 呼び出しを非同期で実行するオプションって用意されてますか?
0017デフォルトの名無しさん
2006/12/16(土) 21:08:03>>12に謝れ!!
0018デフォルトの名無しさん
2006/12/16(土) 21:19:26Opacityを使わないことです。
半透明描画は自前で書くしかありません。
0019デフォルトの名無しさん
2006/12/17(日) 00:59:48直接APIのShellExecuteを呼んだら早くなったりしない?
0020デフォルトの名無しさん
2006/12/17(日) 04:05:40プログラミングについてはスーパー初心者です(昔に大学のコンピュータ授業でVisual Basicをいじった程度)。
おすすめの入門書がございましたら教えていただけないでしょうか。
日経ソフトウェアの『ずばりわかる!VB&C#』は他の言語もカバーしているので、C#だけが
目的なら避けたほうが良いのでしょうか・・・
002120
2006/12/17(日) 04:14:430022デフォルトの名無しさん
2006/12/17(日) 12:59:02このスレにて質問させてください。
ブックマークのショートカットに関する質問です。
コードエディタ内部にて行移動をする際に使用する
ブックマークがありますが、
VS2003では
�@ Ctrl + K + K マーク
�A Ctrl + K + P 上に移動
�B Ctrl + K + N 下に移動
�C Ctrl + K + L マークの全削除
が使用出来ていたのですが、VS2005になってから
�@�Bのみしか使えないのですが、�A�Cのコマンドは変更
(もしくは削除)になってしまったのでしょうか?
0023デフォルトの名無しさん
2006/12/17(日) 13:46:31コマンドを「ブックマーク」で検索しろ
0024デフォルトの名無しさん
2006/12/17(日) 15:38:06よろしかったら教えてください。
「参照の追加」でdllを登録すると、HRESULT型のメソッドは
void型になります。
それらのvoid型のメソッドを使用したとき、メソッドがエラーをしても
void型のためエラーを返しません。
COM.ExceptionでHRESULTの値を取得できるとのことですが、
できませんでした。どうやらエラーとなるときのHRESULTの値が
「Com.Exceptionがエラーと判定する値」とはならないためとのことです。
こうなったら、どうしてもHRESULTの値を取得する必要があると思うの
ですが、どうすればいいでしょうか?もしくはHRESULTの値を取得
できないにしても、上記の場合でエラーを返すようにはできない
でしょうか?
0025デフォルトの名無しさん
2006/12/17(日) 16:24:050027デフォルトの名無しさん
2006/12/17(日) 17:35:280028デフォルトの名無しさん
2006/12/17(日) 17:50:32Edit.ToggleBookmark
Ctrl + K、Ctrl + K
現在の行のブックマークを設定または削除します。
これじゃねえの?
002922
2006/12/17(日) 18:32:25Ctrl + K 、 Ctrl + K
でブックマークの追加(削除)が出来る事は確認済みなのですあg
肝心の既に作成したブックマーク間の移動を行うショートカットが
VS2003では出来ていたのに、VS2005では出来ないのです。
なぜVS2003で出来ていたコマンドがVS2005では使えなくなってしまった
のでしょうか?
0030デフォルトの名無しさん
2006/12/17(日) 18:48:33そういうことはMSFTの中の人に訊いてこいよ。
0031デフォルトの名無しさん
2006/12/17(日) 19:01:18Ctrl+B,N Ctrl+B,P これのことか?
0033デフォルトの名無しさん
2006/12/17(日) 22:48:01>>31で書いてあるのは自分で好きなように設定編集可能だぞ?
0034デフォルトの名無しさん
2006/12/17(日) 22:51:08OSの終了ショートカットも変えやがったしな。
003522
2006/12/17(日) 23:16:23自分で編集することも出来るのですね。
調べてみます。
尚、Ctrl + L (VS203ではブックマークの全削除)
こちらのショートカットについてはご存知でしょうか?
0036デフォルトの名無しさん
2006/12/17(日) 23:18:51>>30,33を読め
0038デフォルトの名無しさん
2006/12/18(月) 15:39:12プログレスバーを作りたく思っているのですが...。
0039デフォルトの名無しさん
2006/12/18(月) 18:56:25フラグ処理をするのに
if( A&B ) {
}
とすると〜〜型をBoolに暗黙的に変換できません とごねられます。
お手軽に if( A&B ) で文句を言われないようにする
方法はありませんでしょうか?
0040デフォルトの名無しさん
2006/12/18(月) 19:02:36無い
0041デフォルトの名無しさん
2006/12/18(月) 19:05:550042デフォルトの名無しさん
2006/12/18(月) 19:14:13その != 0 を書きたくないのです・・・
boolに変換する暗黙の型変換も試してみましたが
フラグが出てくるたびに定義するのもあほらしく・・・
素直に!=0でやってみます。
0043デフォルトの名無しさん
2006/12/18(月) 19:59:35{
return flag != 0;
}
if (IsTrue(A&B))
とか
0044デフォルトの名無しさん
2006/12/18(月) 20:12:480045デフォルトの名無しさん
2006/12/18(月) 20:21:08if(!!(A&B))
ってのは駄目?
0046デフォルトの名無しさん
2006/12/18(月) 20:23:54意味不明
0047デフォルトの名無しさん
2006/12/18(月) 20:30:48intと暗黙で変換とれて
各種ビット演算とtrueとfalseがオーバーライドしてある
構造体でも作ればいいんじゃねーの?
だめか?
0048デフォルトの名無しさん
2006/12/18(月) 20:42:33ifの中ではboolに暗黙変換しようとするから、
if ((IntBool)(A&B)) { }
みたいにしないといかんのじゃね?
0049デフォルトの名無しさん
2006/12/18(月) 20:54:210050デフォルトの名無しさん
2006/12/18(月) 21:07:59}
A、Bの型は結局何なんだ?
モデリング失敗したのか。
0051デフォルトの名無しさん
2006/12/18(月) 21:17:45if( )の中はちゃんとboolにしろよ。
if-else (C# リファレンス)
if ステートメントは、Boolean 型の式の値に基づいて、実行するステートメントを選択します。
0052デフォルトの名無しさん
2006/12/18(月) 21:20:370053デフォルトの名無しさん
2006/12/18(月) 21:35:10このレベルに後輩いないだろwww
あっ!化石が必死に食いつこうとしてんのかwww
0054デフォルトの名無しさん
2006/12/18(月) 21:39:54Cでもコンパイル時の最適化で(A&B) と (A&B) != 0の違いはなくなるので後者で書くことも多いよ。
あえてやるなら >>47のいってる方法だが、激しくめんどくさい。
struct boolbits {
public boolbits(int i) { bits = i; }
public int bits;
public static bool operator true(boolbits b) { return b.bits != 0; }
public static bool operator false(boolbits b) { return b.bits == 0; }
public static boolbits operator&(boolbits b1, boolbits b2) { b1.bits &= b2.bits; return b1;}
public static boolbits operator|(boolbits b1, boolbits b2) { b1.bits |= b2.bits; return b1;}
public static boolbits operator~(boolbits b) { b.bits = ~(b.bits); return b; }
// 他にもキャスト演算子とかetc実装汁
}
0055デフォルトの名無しさん
2006/12/18(月) 21:45:14if文の論理判定がCの負の遺産から解き放たれようとしているのに…
フラグがboolじゃ無い時点でおかしいと思わないの???
プロパティでもなんでも使え!
0056デフォルトの名無しさん
2006/12/18(月) 21:52:05>明確にboolとintは分けてある。
違うんじゃない?
今までCのインチキ論理型から脱却するためだろ。
0057デフォルトの名無しさん
2006/12/18(月) 21:58:08if((A&B)!=0)みたいに書かせないためにBoolになってるんだと思う。
直感的に分かりくいところはバグの温床だからね。
0058デフォルトの名無しさん
2006/12/18(月) 22:03:060059デフォルトの名無しさん
2006/12/18(月) 22:07:22delegate void Statement();
static void If(int expression, Statement onTrue, Statement onFalse){
if (expression != 0) onTrue(); else onFalse();
}
If(A&B, delegate(){...}, delegate(){...});
0060デフォルトの名無しさん
2006/12/18(月) 22:12:52余計に判りにくいなwww
0061デフォルトの名無しさん
2006/12/18(月) 22:41:05やっぱ現代では行き場の無い肩身の狭い子なのか
0062デフォルトの名無しさん
2006/12/18(月) 23:06:54より…
>C++ では、bool 型の値を int 型の値に変換できます。
>つまり、false は 0 と等価であり、true は 0 以外の値と等価です。
>C# では、bool 型とその他の型は変換できません。
2行目の部分はそのうち一部の人(化石)にしか通じなくなるよ。
0063デフォルトの名無しさん
2006/12/18(月) 23:28:39なんとかこっちも盛り上がらんかなあ。
0064デフォルトの名無しさん
2006/12/18(月) 23:29:56ビットの上がり下がりを判定する汎用メソッドが欲しかった。
intとbool分けたんだったらさ。
if( ( enumHage & EnumHAGE.HOGE ) == EnumHAGE.HOGE ) {...
とかって美しくない……
if( enumHage.NanikaMethod( EnumHAGE.HOGE ) ) {...
みたいなかんじで
0065デフォルトの名無しさん
2006/12/18(月) 23:37:13if( enumHage have EnumHAGE.HOGE ) {...
0066デフォルトの名無しさん
2006/12/18(月) 23:38:160067デフォルトの名無しさん
2006/12/18(月) 23:40:07[Flags]付きenumでも != 0を使うことになりまする。
FlagsAttributeはC#ではToString以外に何か影響することはあるのかいな。
>>54 に追加
public static explicit operator int(boolbits b) { return b.bits; }
public static implicit operator boolbits(int i) { return new boolbits(i); }
intからの変換は暗黙で、逆はバグ呼びそうなので明示キャストにしてみました。
0068デフォルトの名無しさん
2006/12/18(月) 23:41:26>場合によっては、フラグを結合するために使用されるビットごとの OR 演算は、
>単純なタスクには必要のない高度な概念と見なされます。
微妙だな。
なんなんだろう。
でも元の話ってこういうパターンなのかな。
0069デフォルトの名無しさん
2006/12/18(月) 23:44:19でどうだあああ
0070デフォルトの名無しさん
2006/12/18(月) 23:46:370071デフォルトの名無しさん
2006/12/18(月) 23:49:05先輩…
ビット演算&の結果がboolになることが気持ち悪いと思うようにならないとダメっすよ。
0072デフォルトの名無しさん
2006/12/18(月) 23:50:40&&
0073デフォルトの名無しさん
2006/12/19(火) 00:02:18迷惑だと思うよ。
extension methods自体最悪だという噂が。
0074デフォルトの名無しさん
2006/12/19(火) 00:16:30Excelかよ。
0075デフォルトの名無しさん
2006/12/19(火) 00:34:12なんかなぁ。
設定とかで、一つの項目にbool割り当てると罪悪感かんじるんだよなぁ
byteで8個持ったほうが気持ちいいんだよぉ
そいでREG_BINARYで保存。これ。
0076デフォルトの名無しさん
2006/12/19(火) 00:41:300077デフォルトの名無しさん
2006/12/19(火) 00:59:04ご老人
0078デフォルトの名無しさん
2006/12/19(火) 01:36:59抜かしてくる奴とやってるからマジムかつくわ・・・
Cに篭っててください、ほんとお願いします。
0079デフォルトの名無しさん
2006/12/19(火) 07:36:11ビット演算つかわなきゃならんなんて旧世代のにおいがする。
delegateみたいに、+とか-で結合できるような仕組みを用意してくれればよかったのに。
0080デフォルトの名無しさん
2006/12/19(火) 12:15:51逆に効きたいんだけど、状態をフラグで定義しないで
状態全部Boolにしたりするの?
0081デフォルトの名無しさん
2006/12/19(火) 13:49:53別にメモリや速度の効率を求めてC#使ってるわけじゃないんだろ?
0082デフォルトの名無しさん
2006/12/19(火) 16:26:340083デフォルトの名無しさん
2006/12/19(火) 16:29:410084デフォルトの名無しさん
2006/12/19(火) 16:29:500085デフォルトの名無しさん
2006/12/19(火) 17:06:290086デフォルトの名無しさん
2006/12/19(火) 17:08:010087デフォルトの名無しさん
2006/12/19(火) 17:10:570088デフォルトの名無しさん
2006/12/19(火) 17:18:59目的が値の取得か処理かで使い分ければいい。
0089デフォルトの名無しさん
2006/12/19(火) 17:30:240090デフォルトの名無しさん
2006/12/19(火) 17:32:24○バカが湧いてるな
0091デフォルトの名無しさん
2006/12/19(火) 17:41:01public int DoSomething[int arg] {
get{ Console.Write(arg); return 0; };
}
DoSomething[774];
0092デフォルトの名無しさん
2006/12/19(火) 17:41:50プロパティのgetアクセサはコンパイルでインライン展開されるらしい
0093デフォルトの名無しさん
2006/12/19(火) 17:42:13こういう設計してるとこもあるんだなぁと印象的だった。
こういうのってWin32APIをラップでもしてるの?
0094デフォルトの名無しさん
2006/12/19(火) 17:50:32yes.
0095デフォルトの名無しさん
2006/12/19(火) 18:04:410096デフォルトの名無しさん
2006/12/19(火) 22:11:53int とInt16、Int32、Int64ってどんなときに使い分ければいいのですか?
違いがよく分からないので今はintを使ってるのですが・・・
0097デフォルトの名無しさん
2006/12/19(火) 22:20:34必要がある時に使えばいいんですよ
まだあなたには必要が無いんです
0098デフォルトの名無しさん
2006/12/19(火) 22:21:37intはInt32の別名。
簡単に述べると格納できる数値の最大値がちがう。
009996
2006/12/19(火) 22:44:09ありがとうございます
0100デフォルトの名無しさん
2006/12/19(火) 23:07:06逆
0101デフォルトの名無しさん
2006/12/20(水) 00:42:59メモリの開放がいまいちよくわからないので教えてください。
class Foo; があったとして、
public Foo hogehoge;
と書けば、Foo型のポインタができますよね。
そこで、実体を作るために、newします。
hogehoge = new Foo();
hogehogeにメモリが割り当てられます。
このとき、割り当てられたメモリを破棄し、新しくメモリを確保したいとします。
その場合、
・hogehoge = new Foo();
を行えば、元々hogehogeが持ってたメモリの参照回数がゼロになり、開放扱いになるのでしょうか?
もしくは、
if ( hogehoge != null ) hogehoge.Dispose();
みたいな処理がいるのでしょうか?
お願い致します。
0102デフォルトの名無しさん
2006/12/20(水) 00:46:05C#ではアンセーフな文脈以外ではポインタという言葉は使わない。
メモリはガーベジコレクタが管理してるから、プログラマが明示的に開放することはできない。
スコープから外れたオブジェクトは勝手に消されていく。
0103デフォルトの名無しさん
2006/12/20(水) 00:46:10ほっとけばいつかはメモリが開放される
開放されるタイミングを知ることはできないし知る必要もない
0104デフォルトの名無しさん
2006/12/20(水) 00:48:25IDisposableなオブジェクトはusingとか使ってちゃんとDisposeしといてね
他は適当に放っておけばそのうち開放されてる
0105101
2006/12/20(水) 01:10:14class Foo の場合メモリ廃棄は自動、
class Foo : IDisposableの場合は、 hogehoge.Dispose()を呼ぶ
ということですね。
早速やってみます・・・
0106デフォルトの名無しさん
2006/12/20(水) 01:13:28オブジェクト自体は他と同じようにガベッジコレクションで消される。
0107デフォルトの名無しさん
2006/12/20(水) 01:17:12ファイルとかのシステムリソースは、そのうち開放される、じゃ困るから。
要らなくなったらDispose()を呼んで明示的に開放する。
0108デフォルトの名無しさん
2006/12/20(水) 01:51:48注意しなきゃいけないのは、IDisposable であってもメモリ破棄は自動であることと、
Dispose() を呼ばなくても、大抵の場合(いつかは)アンマネージドリソースが破棄される(であろう)ということ。
他の人の回答と合わせて読んでくれ。
0109デフォルトの名無しさん
2006/12/20(水) 02:16:55ちなみに、.NET Framework のガベコレは参照カウンタじゃないよ。
0110デフォルトの名無しさん
2006/12/20(水) 02:19:35あわせて読むとどこぞの解説サイトよりずっとよくわかるな。
いつもありがたく勉強させてもらってます。
0111101
2006/12/20(水) 02:26:21.Dispose()はアンマネージドなリソースの開放。
クラス領域は自動開放っていうことですね。
まとめ?
class First : IDisposable
class Second
{
}
0112101
2006/12/20(水) 02:26:510113101
2006/12/20(水) 02:27:37class First : IDisposable
class Second
{
}
0114デフォルトの名無しさん
2006/12/20(水) 02:37:480115101
2006/12/20(水) 02:41:04まとめ?
---- 要点 ----
・C#ではメモリの開放は自動(マネージド)
・Disposeはアンマネージド部分の開放用
---- 使用例 ----
・class First : IDisposable
を書く場合。(アンマネージドリソースを直接使用する場合)
public void Dispose()を用意する。その中でアンマネージドリソースを開放。
・class Second : First
を書く場合。(アンマネージドリソースを継承元のみで使用する場合)
そのままでOK。(Dispose()が継承されるので、それを呼び出してもらう)
・
class Third
{
First Foo;
Third() { Foo = new First(); }
~Third() { Foo.Dispose(); }
}
メンバとして、IDisposableクラスを利用したい場合、
自分が、IDisposableである必要はない(Disposeも用意しない。)
デストラクタに書いておけば、Thirdオブジェクト終了時に、同時にDispose()される。
こんな感じでしょうか・・・・
0116デフォルトの名無しさん
2006/12/20(水) 02:42:52protected virtual void Dispose(bool disposing)
も用意するのが定石
0117デフォルトの名無しさん
2006/12/20(水) 02:45:12ttp://msdn2.microsoft.com/ja-jp/library/fs2xkftw(VS.80).aspx
0118101
2006/12/20(水) 02:54:49朝までがんばるぞー!
0119デフォルトの名無しさん
2006/12/20(水) 02:55:44FooをファイナライザでDisposeしてちゃだめでしょ。
ThirdもIDisposableを実装して、IDisposable.DisposeでFoo.Dispose()を呼ばないと。
0120デフォルトの名無しさん
2006/12/20(水) 03:02:16>>117
0121デフォルトの名無しさん
2006/12/20(水) 09:37:47ソース辿られちゃうみたいだし、VBなんかに比べた時の優位性がよくわかりません
VBやろうかC#やろうか迷ってるんで教えてください
0122デフォルトの名無しさん
2006/12/20(水) 09:49:510123デフォルトの名無しさん
2006/12/20(水) 10:07:170124デフォルトの名無しさん
2006/12/20(水) 11:03:410125デフォルトの名無しさん
2006/12/20(水) 11:09:48J#すごいよ。
0126デフォルトの名無しさん
2006/12/20(水) 11:15:100127デフォルトの名無しさん
2006/12/20(水) 11:38:17まあ、後から作られてる分きれいなくらい?
基本的に VB.NET とできること一緒だし。
0128デフォルトの名無しさん
2006/12/20(水) 11:39:16ソース辿られちゃうみたいだし、C#なんかに比べた時の優位性がよくわかりません
C#やろうかVB.NETやろうか迷ってるんで教えてください
0129デフォルトの名無しさん
2006/12/20(水) 11:39:580130デフォルトの名無しさん
2006/12/20(水) 13:31:19つ【VB.NET】VS2005 選ぶならどっち?【C♯】
0131デフォルトの名無しさん
2006/12/20(水) 16:11:13VB.NETにしてもソースを辿られるのはC#と同じ。
.NetやるならC#がベスト。
0132デフォルトの名無しさん
2006/12/20(水) 17:21:35メディアプレイヤー開いてファイルパス入れようとすると
スペースで途切れちゃって駄目なんだけど、
これ何とかする方法ないすかね?
たとえばデスクトップのmp3開こうとすると
C:\Documentsで止まっちゃって読めない。
0133デフォルトの名無しさん
2006/12/20(水) 18:21:540135デフォルトの名無しさん
2006/12/21(木) 22:29:44やり方がいまいち分かりません。
C# リソース 埋め込み
でもググって見ました。
やり方もしくは参考になるサイトがありましたら教えてください
0136デフォルトの名無しさん
2006/12/21(木) 23:00:40ttp://dobon.net/vb/dotnet/programing/bitmapresource.html
0137デフォルトの名無しさん
2006/12/21(木) 23:40:29釣ですか。
同じキーワードでググって見たけど…
0138デフォルトの名無しさん
2006/12/21(木) 23:43:56static stringとか,設定ファイルじゃダメなの?
0139デフォルトの名無しさん
2006/12/21(木) 23:44:310140デフォルトの名無しさん
2006/12/21(木) 23:49:120141デフォルトの名無しさん
2006/12/21(木) 23:53:310142デフォルトの名無しさん
2006/12/21(木) 23:57:46ちょwwwそのタイトルwww
0143デフォルトの名無しさん
2006/12/21(木) 23:58:560144デフォルトの名無しさん
2006/12/21(木) 23:59:48Visual C#を使用すると、どのように埋め込んで、アクセス リソースには
どこが「には」になるんだろうな
0145デフォルトの名無しさん
2006/12/22(金) 00:01:10>変更されないファイルを含みますのみ。
0146デフォルトの名無しさん
2006/12/22(金) 00:03:18MSって機械翻訳の技術もってたっけ?
0147デフォルトの名無しさん
2006/12/22(金) 00:05:02Visual C#を用いて資源に埋め込んで、アクセスする方法
0148デフォルトの名無しさん
2006/12/22(金) 01:36:52toだろ
0149デフォルトの名無しさん
2006/12/22(金) 06:32:490150デフォルトの名無しさん
2006/12/22(金) 09:50:370151デフォルトの名無しさん
2006/12/22(金) 10:06:51超同意
0152デフォルトの名無しさん
2006/12/22(金) 10:52:540153デフォルトの名無しさん
2006/12/22(金) 10:56:26はい。
0154デフォルトの名無しさん
2006/12/22(金) 12:23:45日本語文書がないよりはあった方がいいって意見が多いからやってるみたいよ。
MS の文書は量多すぎて、人手による翻訳は無理みたい。
訳すよりも新しい文書が出てくるペースの方が速い。
まあ、Google への日本語インデックス登録にもなるしね。
日本語検索 → この怪しい機械翻訳ページに到着
→ 見れた代物じゃないから原文の英語を読む。
タイトルだけ変なのは、この手の記事見出しって普通と文法違うからね。
述語がないとか冠詞は省略するとか。
「ここは見出しです」って感じのメタデータ持って、
翻訳エンジンに渡すとかしないとまともな翻訳難しいかも。
0155デフォルトの名無しさん
2006/12/22(金) 12:28:08Amikaiでも買収してください。
0156デフォルトの名無しさん
2006/12/22(金) 12:29:01> まあ、Google への日本語インデックス登録にもなるしね。
原文と見比べないと意味がわからないことも多いけど、
確かに検索で見つけやすくなる効果はあるね。
なるほどとオモタ。
0157デフォルトの名無しさん
2006/12/22(金) 13:18:310158デフォルトの名無しさん
2006/12/22(金) 13:37:24詳細は、おいおい勉強していこうと思いますが、
勘違いしている点だけでも、指摘して頂ければありがたいです。
【質問】
Dispose()の呼び出しは必須ですか?
【自分の理解】
例えば、Penオブジェクトを使用する場合、
「Dispose()メソッドは出来るだけ呼べ、但し、必須では無い。」
と考えてました。
必須でない理由として、
・Penオブジェクトを保持するクラスであれば、そのクラスの参照が無くなった時点で、
GCが自動解放をする。
・Penオブジェクトを保持するのが、メソッドであれば、メソッドから抜けた段階で、
GCが自動解放する。
0159デフォルトの名無しさん
2006/12/22(金) 13:52:27だから,メソッドを抜けた時点とも,参照がなくなった時点とも限らない。
普通はそれで問題ないんだけど,Penオブジェクトはアンマネージリソースを
外部に確保してるから,それがメモリを圧迫しててもGCが気づいてくれない。
最悪,ほっといてもファイナライザで解放されるんだけど,基本的にDisposeは必須。
0160158
2006/12/22(金) 14:05:01ありがとうございます。
「解放」がいつ行われるか不明
「リソース量」の把握が困難
以上より、「基本的にDisposeは必須。」ということですね。
業務では無いため、結構Disposeを軽視していました。 ^^;)
>>158の質問は終了ということで
0161デフォルトの名無しさん
2006/12/22(金) 16:38:16ま、俺も英語できない方だけど、
なんかのナレッジベースだったか
発狂しそうなほど無茶苦茶な日本語だったよ。
先のサイトは、ましな部類に入るんじゃないかな。
0162デフォルトの名無しさん
2006/12/22(金) 19:35:23Penは不具合??が起こる可能性があるからDisposeが必要。
MSDN(Help)に書いてあるよ。
あとはほとんど気にしなくていいと思う。
0163デフォルトの名無しさん
2006/12/22(金) 20:05:21ホントだ Thx!
Graphics関係は要注意ぽいですね。
今気づいたんだけど、
Stream系はCloseとDispose(プロテクトメソッドのケースも)の2つがあるんだ。
Closeは必須だと思ってやってたんだけど…
う〜ん、奥がふかい。やっぱ、優先順位あげて勉強します。
0164デフォルトの名無しさん
2006/12/22(金) 20:07:59BrushとかもDisposeいるな。
Graphicsはいらないみたい。
0165デフォルトの名無しさん
2006/12/22(金) 20:11:24Disposeできるもんは使い終わったらDisposeしとけ。
usingブロックを使うと楽。
0166デフォルトの名無しさん
2006/12/22(金) 20:15:40あんまり気にする必要ないとおもうよ。
usingブロック多用は逆に良くないと思うが。
0167デフォルトの名無しさん
2006/12/22(金) 20:19:160168デフォルトの名無しさん
2006/12/22(金) 20:57:19重要:
GCがよくできてるから、それに任せた方がいいので、
一般論として、DisposeまたはCloseメソッドの呼び出しを
強制するのは勧めない
と書いてありました。
初、中級者は、ヘルプに明記されている場合を除いて、
あまり気にしなくていいというところですかね。
0169デフォルトの名無しさん
2006/12/22(金) 21:08:590170デフォルトの名無しさん
2006/12/22(金) 21:14:280171デフォルトの名無しさん
2006/12/22(金) 21:20:120172デフォルトの名無しさん
2006/12/22(金) 21:20:57・IDisposableを実装しているということはアンマネージリソースを抱えている可能性が高い。
・なので、Disposeできるものは使い終わったら速やかにDisposeするべき。
・例外でDisposeの呼び出しがスキップされてしまうのを防げるので使える場面ではusingを使うとすっきり。
0173デフォルトの名無しさん
2006/12/22(金) 21:23:21メリット、デメリットは処理内容にもよるし
安全方向に振れば、実装するんじゃない
0174デフォルトの名無しさん
2006/12/22(金) 21:37:51自分でDCから作ったGraphicsはちゃんとDisposeしないとDCハンドル溜まっていくよ。
0175デフォルトの名無しさん
2006/12/22(金) 21:54:420176デフォルトの名無しさん
2006/12/22(金) 22:41:06ファイナライザの使い道はあるの?
0177デフォルトの名無しさん
2006/12/22(金) 23:05:11これです↓
http://lkjoe.hp.infoseek.co.jp/cgi-bin/file/1166796250.jpg
0178デフォルトの名無しさん
2006/12/22(金) 23:15:47レジストリの
HKEY_CLASSES_ROOT\.拡張子 の既定の値
→その名前のHKEY_CLASSES_ROOT\直下のキーの既定の値
0179デフォルトの名無しさん
2006/12/22(金) 23:18:18QuickTipとかInfoTipとかDetailsで検索
0180177
2006/12/22(金) 23:20:13アプリごとに自由に変えられますよね?↓
http://lkjoe.hp.infoseek.co.jp/cgi-bin/file/1166797172.jpg
0181デフォルトの名無しさん
2006/12/22(金) 23:24:47おまえの理解力が不適切だ
0182デフォルトの名無しさん
2006/12/22(金) 23:27:17ソリューションのPropertiesからアセンブリ情報を編集
あるいはAssemblyInfo.csを手書きで編集
どうでもいいけど、ファイルの拡張子は表示した方がいいよ
0183デフォルトの名無しさん
2006/12/22(金) 23:42:59[assembly: AssemblyDescription("ここに説明")]
0184デフォルトの名無しさん
2006/12/22(金) 23:51:12Form1
0185184
2006/12/23(土) 00:02:07Form1とForm2があります。
Form1とForm2には↓のようにコントロールを置いてあります。
ずれているかもしれませんが・・
┌Form1─── ┌Form2───
| | | |
|comboBox1 | |textBox1 |
| | |button1 |
└─────┘ └─────┘
ここで、Form2のbutton1が押されたら、Form2のtextBox1の内容を
Form1のcomboBox1に追加したいのですが、
下記のコードでは追加できません。
Form1 f1 = new Form1();
f1.comboBox1.Items.Add(textBox1.Text);
どうしたら追加できるでしょうか?お願いします。
0186184
2006/12/23(土) 00:03:46逝ってきますorz
0187デフォルトの名無しさん
2006/12/23(土) 00:12:34>Form1 f1 = new Form1();
>f1.comboBox1.Items.Add(textBox1.Text);
このコードで作ってるf1と、実際表示してるForm1のインスタンス(実体)とは
これっぱかりも関係がない。
どこかで、表示してるForm1のインスタンスへの参照を
Form2のインスタンスに渡してやって、それに対して操作すればおけ。
「クラス」と「インスタンス」について学ばれたし。
0188デフォルトの名無しさん
2006/12/23(土) 00:18:01public void AddString( string str )
{
this.comboBox1.Items.Add( str );
}
--------------------------------------------
//Form2.cs
public Form1 fom1; // これにForm1へのインスタンスへの参照をどこかで入れる
...
this.form1.AddString( this.textBox1.Text );
...
0190184
2006/12/23(土) 03:28:55参考になりそうなページを見つけたのですが、>>188さんの作ってくれた
コードと照らし合わせてもどこに何を書けばいいか分からなくて・・
参考にしたのは下記のページです。
http://dobon.net/vb/dotnet/form/accessanotherformdata.html
便宜上Form2と言いましたが実はForm3なのでForm2とForm3を置き換えて
読んで頂けると幸いです。
Form3に書くForm1へのインスタンスへの参照はこれであってますか?
(コピペですが)
public Form1 f1;
//Form1オブジェクトを保持するためのフィールド
private static Form3 _form3Instance;
//Form1オブジェクトを取得、設定するためのプロパティ
public static Form3 Form3Instance
{
get
{
return _form3Instance;
}
set
{
_form3Instance = value;
}
}
0191184
2006/12/23(土) 03:29:51で、これがあっているか分かりませんが、呼び出し方が分からなくて・・。
何度か試してもオブジェクト参照がオブジェクトインスタンスに設定されてません
って出るので・・
すみませんが、もう少し具体的に教えてほしいです。
お願いします。
0192184
2006/12/23(土) 04:05:00Form1に
Form3 f3 = new Form3();
f3.f1 = this; ←ココを足した
~~~~~~~~~~~~~
f3.Show();
Form3に
public Form1 f1;
で出来ました。
難しく考えすぎていたみたいです。
ありがとうございました。
0193デフォルトの名無しさん
2006/12/23(土) 16:59:090194デフォルトの名無しさん
2006/12/23(土) 17:22:03まずはインスタンスについて理解しよう。
0195デフォルトの名無しさん
2006/12/23(土) 17:23:340196デフォルトの名無しさん
2006/12/23(土) 19:01:49前もこんな書き方する奴がいたが同一人物ですか?
個人的にはこの書き方は非常に気持ち悪いし、
内容を理解しているのか気になる。
0197デフォルトの名無しさん
2006/12/23(土) 19:11:09プロパティ名はどうにかしてほしいが。
0198デフォルトの名無しさん
2006/12/23(土) 19:11:380199デフォルトの名無しさん
2006/12/23(土) 19:15:380200デフォルトの名無しさん
2006/12/23(土) 19:20:010201デフォルトの名無しさん
2006/12/23(土) 19:23:43http://dobon.net/vb/dotnet/form/accessanotherformdata.html
のやり方へんじゃないか?
0202デフォルトの名無しさん
2006/12/23(土) 19:23:430203デフォルトの名無しさん
2006/12/23(土) 19:28:170204デフォルトの名無しさん
2006/12/23(土) 19:31:130205デフォルトの名無しさん
2006/12/23(土) 19:39:58目的のインスタンス参照をstaticに参照できるようにしただけ。
global変数の復活だ!
Gofもシングルトン広めて有罪扱いされてたよね。
0206デフォルトの名無しさん
2006/12/23(土) 19:44:04一応普通の英単語だし。
つか、それなら関数型言語使っとけよ。
0207デフォルトの名無しさん
2006/12/23(土) 19:46:011個「しか」ね。
0208デフォルトの名無しさん
2006/12/23(土) 19:51:43身近にこんなコードかいてる奴したら確実にシバク。
0209デフォルトの名無しさん
2006/12/23(土) 20:18:400210デフォルトの名無しさん
2006/12/23(土) 20:28:14そこ書いてる奴もVB屋じゃね?
0211デフォルトの名無しさん
2006/12/23(土) 20:30:53AutoGeneratedName1 とかさw
0212デフォルトの名無しさん
2006/12/23(土) 20:32:56ちゃんと動くのになんの問題が?
0213デフォルトの名無しさん
2006/12/23(土) 20:36:18その発想が既に化石
0214デフォルトの名無しさん
2006/12/23(土) 20:37:02FormFoo
FormBar
FormBaz
FormQux
:
0215デフォルトの名無しさん
2006/12/23(土) 20:37:33化石はこんなコード書きません。
0216デフォルトの名無しさん
2006/12/23(土) 20:44:19化石じゃない発想はどういうのよ。
そのまま使っても誰も文句言わないような素敵な名前を付けてくれるとか?
0217デフォルトの名無しさん
2006/12/23(土) 20:44:41ideがインスタンスに変な名前付けるから。
Form1 → form11
UserControl1 → UserControl11
0218デフォルトの名無しさん
2006/12/23(土) 20:45:54化石って、命名についていってるわけじゃないと思うが
0219デフォルトの名無しさん
2006/12/23(土) 20:47:45そうなのか。ぜんぜんわからん。どうやら化石らしいorz
0220デフォルトの名無しさん
2006/12/23(土) 20:53:54Form1_ → form1_1
UserControl1_ → UserControl1_1
解決。
0221デフォルトの名無しさん
2006/12/23(土) 21:06:20この様な場合、誰にどの仕事を行わせることがもっとも低コストで仕事が
行えるか求めるフローチャートを作成しなさい、計算方法は、全ての組み合わせ(順列)を求める。その中から最も低コストとなる仕事の割り当てを得る(腕ずく法;Brute Force Method)。なお、最低コストが複数ある場合は、最後に判明した組み合わせのみを表示すればよい。
人1人2人3人4人5
仕事A10、5、7、12、8
仕事B14、20、15、10、15
仕事C18、30、20、25、22
仕事D35、8、18、20、12
仕事E20、13、8、10、17
初めて、プログラムに触ったので バカです。
できる方、教えてください
0222デフォルトの名無しさん
2006/12/23(土) 21:07:43だから宿題スレ池屑
0223デフォルトの名無しさん
2006/12/23(土) 21:08:02そういうことは友達か先輩に聞け!
もうプログラム板にすら来るな。
不愉快だ!
半年ROMってろカス!!!!
0224デフォルトの名無しさん
2006/12/23(土) 21:09:58>初めて、プログラムに触ったので バカです。
知らないだけのバカじゃなくて正真正銘池沼だろうな・・・
0225デフォルトの名無しさん
2006/12/23(土) 21:10:38ここはC#スレで C#はCではありません。
0226デフォルトの名無しさん
2006/12/23(土) 21:11:040227デフォルトの名無しさん
2006/12/23(土) 21:14:15c#で課題は出ないとおもう。
多分CかJAVAあたりのはず。
0228デフォルトの名無しさん
2006/12/23(土) 21:16:22この板IDでないし。
俺もどこかに貼ってこようか♪
0229デフォルトの名無しさん
2006/12/23(土) 21:17:15おもう、多分
0230デフォルトの名無しさん
2006/12/23(土) 21:28:05レビューで読み上げたら思いっきり馬鹿にされそうだなw
0231デフォルトの名無しさん
2006/12/23(土) 23:20:24Visual C# 2005 Express Edition で "COM相互運用機能の登録"をチェック、ビルドし、
他のプロジェクトから参照しようとすると
'ClassLibrary'への参照を追加できませんでした。
ActiveXタイプライブラリ'〜〜\ClassLibrary.tlb'が.NETアセンブリからエクスポートされましたが、参照として追加できませんでした。
.NETアセンブリへの参照を追加してください。
と出ます。
いじめですか?
どうすれば解決しますか?
0232デフォルトの名無しさん
2006/12/23(土) 23:23:140233デフォルトの名無しさん
2006/12/23(土) 23:25:55そんなんならんけど。
0234デフォルトの名無しさん
2006/12/23(土) 23:26:34そいつは返答もらってたのに放置してたが
0235デフォルトの名無しさん
2006/12/23(土) 23:28:51いじめです。止めてくださいって言えば止めてくれるでしょう
0236デフォルトの名無しさん
2006/12/23(土) 23:30:490237231
2006/12/23(土) 23:34:04Google先生に相談したけどダメでした。
0238デフォルトの名無しさん
2006/12/23(土) 23:44:27Application
アセンブリ情報
アセンブリをCOM参照可能にする
で逝けない?
0239デフォルトの名無しさん
2006/12/24(日) 00:03:19"アセンブリをCOM参照可能にする"のチェック、非チェックどちらでもダメでした。
0240デフォルトの名無しさん
2006/12/24(日) 00:12:09ふつうにCOMじゃなくて.Netとして参照に追加
0241231
2006/12/24(日) 00:21:20最終的にActiveXコントロールとしてIE上で動かしたいので
.NETじゃなくCOMでいきたいのです
仕方ないので、手作業で登録しようとしたのですが
Visual C# インストールディレクトリ下に regasm.exe が見当たりません
これが何か関係しているでしょうか?
0242デフォルトの名無しさん
2006/12/24(日) 00:24:020243デフォルトの名無しさん
2006/12/24(日) 00:24:30はい次。
0244デフォルトの名無しさん
2006/12/24(日) 00:35:40本体をCOMとして登録すればいいだけの話だろ
0245231
2006/12/24(日) 00:44:45そんなことできるんですか!
.NET、COMでの開発経験がないので分かりませんでした
どのようにすればできますか?
0246デフォルトの名無しさん
2006/12/24(日) 00:50:09本体をCOMとして登録すればいい
としか。
そもそも本体はCOMとして登録できてんの?
ComRegisterFunctionAttributeとかで自前でやるんだけども
0247231
2006/12/24(日) 00:58:36ありがとうございます
もう訳が分からなくなりました
"本体"が何をさしているのか
ComRegisterFunctionAttributeとか
統合環境任せにはできないのですかね。。
勉強して出直してきます・゚・(ノД`)・゚・。。
0248デフォルトの名無しさん
2006/12/24(日) 03:58:59テキストボックスはあったんですが、swingにあるようなテキストエリア
が見つからなくて、名前を教えて下さい。
0249デフォルトの名無しさん
2006/12/24(日) 04:57:32http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.textbox.multiline(VS.80).aspx
0250デフォルトの名無しさん
2006/12/24(日) 08:54:42助かりました。
0251デフォルトの名無しさん
2006/12/24(日) 18:35:410252デフォルトの名無しさん
2006/12/24(日) 18:41:42質問文の意図がわかりかねる
0253デフォルトの名無しさん
2006/12/24(日) 18:43:000254デフォルトの名無しさん
2006/12/25(月) 00:14:49インテリセンス上に「使用しないでください」て表示された場合は
やっぱり使用しないほうがいいのかな?
皆さんはどうしてます?
0255デフォルトの名無しさん
2006/12/25(月) 00:22:560256デフォルトの名無しさん
2006/12/25(月) 00:28:33使用しないでください
0257デフォルトの名無しさん
2006/12/25(月) 00:33:54おまえはフランス人か。
0258デフォルトの名無しさん
2006/12/25(月) 01:15:03そのフォーム内のhogeという名前のコントロール
(C#だとハンドルとは言わないんですかね?)を取得したいのですが
どうしたらよいですか?
WinAPIでいうところのGetDlgItem()みたいなやつです。
お願いします。
Form1 form = new Form1();
form.Show();
//CHooクラスのコンストラクタにControlを渡したい
CHoo hoo = new CHoo(名前"hoge"のコントロール);
0259デフォルトの名無しさん
2006/12/25(月) 01:23:080260デフォルトの名無しさん
2006/12/25(月) 01:39:48すいません、
メインのフォーム内に配置された
hogeという名前のコントロールのハンドルを取得したいわけですが、
つまりはどう書いたらよいのでしょうか?
0261デフォルトの名無しさん
2006/12/25(月) 01:56:440262デフォルトの名無しさん
2006/12/25(月) 01:57:58「form.controlsでフォーム内のコントロールを全部取得し
名前を一つずつ比較して一致したらそのコントロールを返す」
みたいな関数を作る方法を見つけたのですが、
わざわざそんな事をしないといけないのでしょうか?
GetDlgItemみたいにシンプルに一発で名前で取得するようなことは
できないのでしょうか?
0263デフォルトの名無しさん
2006/12/25(月) 02:00:31Main内でインスタンスを使いたいんです。
0264デフォルトの名無しさん
2006/12/25(月) 02:41:19フィールドにhogeのインスタンス持つなり
なんなり好きにすれ
0265デフォルトの名無しさん
2006/12/25(月) 06:02:12C#だと使えないんでしょうか?
using System.Runtime.InteropServices;
namespace なんだか
{
class なんたらClass
{
[DllImport("AAA.dll")]
public static extern bool bbb(int *val);←こんな宣言はできない
0266デフォルトの名無しさん
2006/12/25(月) 06:19:420267デフォルトの名無しさん
2006/12/25(月) 06:38:10ありゃ、それで勝手にポインターの変換やってくれるんでつか、へぇ〜
0268デフォルトの名無しさん
2006/12/25(月) 06:41:43> CHoo hoo = new CHoo(名前"hoge"のコントロール);
C#では、GetDlgItemみたいなことすら、する必要が無い。
名前がhogeなら、そのまま hoge でアクセス出来る。
例えば、
Form1 form = new Form1();
form.Show();
hoo.Text = "はげ"
0269デフォルトの名無しさん
2006/12/25(月) 08:28:160270デフォルトの名無しさん
2006/12/25(月) 08:53:570271デフォルトの名無しさん
2006/12/25(月) 10:24:40IntPtr型で受けるのもアリ
0272デフォルトの名無しさん
2006/12/25(月) 13:58:40クラスって概念のところがわかりにくく頓挫してます
入門本の説明がイマイチなのか、作例にするプログラムに
そんな大層なものが必要ないからわかりにくいのか、概念が掴みにくい
変数を用意して、それを処理するための関数を書いてひとまとめにしたもの?
と捉えてるんですが、それならその処理を直接書けばいいわけで、
何で面倒なクラスの宣言が必要なのかがよくわかりません
C#に準拠した形でこの辺を平易に解説してる書籍とかないでしょうか?
0273デフォルトの名無しさん
2006/12/25(月) 14:01:01Form1 form = new Form1();
form.Show();
CHoo hoo = new CHoo(hoge);
と書いたら
エラー CS0103: 名前 'hoge' は現在のコンテキスト内に存在しません。
と怒られました。
0274デフォルトの名無しさん
2006/12/25(月) 14:13:410275デフォルトの名無しさん
2006/12/25(月) 14:14:45Form1.Designer.cs内のhogeのアクセス制御を
publicにしてみたら、
CHoo hoo = new CHoo(form.hoge);
でアクセスできるようになりました。
でもなんかpublicにするのは気持ち悪いです。
要するに、「GetDlgItemみたいなお手軽な命令はC#にはない」
ってことでいいですか?
0276デフォルトの名無しさん
2006/12/25(月) 14:21:510277デフォルトの名無しさん
2006/12/25(月) 14:22:18CHooを返すようなプロパティなりメソッドなりを定義すべきなんじゃないの?
0278デフォルトの名無しさん
2006/12/25(月) 14:22:58リードオンリーなプロパティにしとけ。
0279258
2006/12/25(月) 14:51:08でも取りたいコントロールに全部書くのって面倒ですね。
なんでform.controlsとかいってコントロールの配列は取れるくせに
名前指定して一つ取り出してくれるようなことができないんですかね。
めんどくさいですね。
いまのところ、form.controlsで取り出したコントロール配列から名前で検索して
返してくれる関数を書くのが気持ち的には一番すっきりしてていい感じですが。
0280デフォルトの名無しさん
2006/12/25(月) 14:55:580281デフォルトの名無しさん
2006/12/25(月) 14:58:050282258
2006/12/25(月) 15:02:28名前からコントロールを拾いたいんです。
なんかよく分からない的外れな回答ばかり帰ってきてるきがするのですが、
質問の意味、伝わってますか?
0283デフォルトの名無しさん
2006/12/25(月) 15:05:230284デフォルトの名無しさん
2006/12/25(月) 15:05:27んだから、外部からコントロールを直接さわってフォームの外に機能を実装するんじゃなくて、
そのフォーム内に機能を実装して機能毎に外に見せろって言ってんだよハゲ。
0285デフォルトの名無しさん
2006/12/25(月) 15:07:50ただし名前が間違っているときにコンパイルエラーにならないのでお勧め出来ない。
0286258
2006/12/25(月) 15:16:41あの、では何を使うのでしょう??
今回の目的は具体的にいうと、
DirectXを使用するためその初期化の際に
フォームに配置されたピクチャーボックスのハンドルを渡したいんです。
なので、とにかく名前を使わずともそれを渡すことが可能であればいいんですが、
ではどうすれば渡せるのでしょうか?
これまではC++をちょっとかじってたのですが、
C++だと「親のハンドル」と「目的のコントロールのID」が分かってれば
GetDlgItemとかで一発でハンドルを取得して渡せたのですが。
>>284
はい、ですから今回はフォームの中にgetのアクセサを書いたらとりあえず
取得できましたし(これが最も正攻法だとは思いますが)、
更にフォームの外部から
Form.controlsで一覧を取得して.Nameプロパティを検索し一致したら返してくれる関数
を書いて取得することもできました。
でもGetDlgItemみたいな命令が用意されてれば一番簡単でいいじゃないですか。
0287デフォルトの名無しさん
2006/12/25(月) 15:18:47まともなプログラマはマジックストリングなんて使いたくないし。
0288デフォルトの名無しさん
2006/12/25(月) 15:21:05フォームの外から触って欲しいコントロールはプロパティとして公開する。
そうじゃないコントロールはできるだけ外からアクセスできないようにする。
バグの少ないプログラムの基本。
0289デフォルトの名無しさん
2006/12/25(月) 15:28:52GetDlgItem 最強。
0290258
2006/12/25(月) 15:30:45そう思いました。
0291デフォルトの名無しさん
2006/12/25(月) 15:32:47そんなバラバラにコードを書くなんて気持ち悪くてやってられないと思うんだが。
ピクチャーボックスを含むフォームに初期化関数を定義すりゃいいじゃない。
0292デフォルトの名無しさん
2006/12/25(月) 15:32:54>>258にはCが最適。
0293258
2006/12/25(月) 15:33:27そう思いました。
0294デフォルトの名無しさん
2006/12/25(月) 15:35:53>>258はソースを誰にも見せないプログラムを常にひとりだけで書くべし。
0295デフォルトの名無しさん
2006/12/25(月) 15:37:47public static class Global
{
public static Dictionary<object> AllObjects{get;}
}
みたいにして全部ぶち込んどけ
0296258
2006/12/25(月) 15:48:25Main関数内で
DirectX関係のクラスのインスタンスを生成して
そこでずっと使う必要があるのです。
フォームのコードの中でDXのインスタンスを生成してもいいのですが、
そうすると今度はそっちをやり取りしないといけなくなるので
どっちもどっちな気がします。
だからGetDlgItemが最強だと思います。
0297258
2006/12/25(月) 15:50:46必要なものだけ触れるようにするのが衛生上は良さそうですね。
ありがとうございました。
0298258
2006/12/25(月) 16:01:25すいません、見落としました。
これはいいですね。こういう感じのものを求めていたのですが、
コンパイルは通るものの実行したら落ちました。
バージョンは2.0を使ってるようですが、
どこが悪いかちょっと調べます。
0299デフォルトの名無しさん
2006/12/25(月) 16:03:310300デフォルトの名無しさん
2006/12/25(月) 16:05:32俺は失禁しそうなくらい驚いたんだが、そいつは便座に座って排便しているような落ち着いた顔で、これが普通だと言い張るわけよ。
それで俺が書き直して見せてやるわけだが、関数なんてどこから呼ばれてるかわかりゃしない、とか尤もらしい抗弁をするのね。
結局、まあ、俺は説得に成功することはなかったんだが、一瞬それを思い出した。
0301デフォルトの名無しさん
2006/12/25(月) 16:08:45名前を使えば、フォーム内の都合で名前が変わったらフォームの外まで影響が出るだろ。
だから、例えば(超例えばね) GetTargetControl() とかいう関数を定義して、
DirectXで使うコントロールを返すようにすればいいのだ。
それなら外に影響を与えずにフォーム内を好きに変更できるし、
後から誰かがソースを読んでも意味を把握しやすい。
ていうことを>>284で書いたんだよハゲ。
0302デフォルトの名無しさん
2006/12/25(月) 16:25:05CからC++に移行していくときに、新しいやり方に行く人と前からのままの人に分かれたな
0303デフォルトの名無しさん
2006/12/25(月) 16:28:22それならstaticにしろ
それも良くないけど名前で探すよりはまだマシ
0304258
2006/12/25(月) 16:28:39そうですね。一人で作ってるもんで、
どこまでやるかの問題だとは思いますけど勉強になりました。
ところでControls["hoge"]としたら落ちましたが、
Controls[1]みたいにindexで指定したら落ちませんでした。
名前で指定した場合にデバッグをしてみたら
コントロールが帰ってきてないみたいなんですが、
どう見ても名前は間違えてませんし
indexで指定した場合は動くのですから他の部分の間違いでもないと思います。
コード入力時にちゃんとindexで指定する場合と
string keyで指定する場合の説明みたいなのもでてきてるので、
バージョン的にはサポートされてるみたいですが
何か考えられる原因はありますでしょうか?
0305デフォルトの名無しさん
2006/12/25(月) 16:30:580306デフォルトの名無しさん
2006/12/25(月) 16:37:52Controls[string]はコントロールのNameプロパティが一致するものを返す。
無いときはnullを返す。
0307258
2006/12/25(月) 16:38:23ありがとうございます。
さっきまでControls[〜]みたいに指定できるのを知らなかったもので、
form.Controlsで収集したコレクションから.Nameプロパティを
一つずつ比較・検索して返す関数を作りまして、
それを使った場合はきちんと動くんです。
なので文字コードの問題ではないような気がしています。
0308258
2006/12/25(月) 16:40:45nullが帰ってきてるっぽいのですが、
今書きましたとおり、自前の関数の方ではNameプロパティを使って
検索をかけて帰ってきてますので、
名前の打ち間違いとか
文字コードの問題とか
そんな名前のコントロールが存在しないとか
そういう問題ではないと思うんですけど、どうなのでしょうか。
0309デフォルトの名無しさん
2006/12/25(月) 16:43:140310デフォルトの名無しさん
2006/12/25(月) 16:51:49CLRのバグじゃなければそんな名前のコントロールは存在してない。
0311デフォルトの名無しさん
2006/12/25(月) 16:52:26仕事のついでに試してみたけどうちでもControls[string]は動かないよ。
そんな事したことないから知らんかったけど、
派生クラスによっては使えるのもあるって事じゃないの?
0312デフォルトの名無しさん
2006/12/25(月) 17:00:000313デフォルトの名無しさん
2006/12/25(月) 17:03:30フォームで試してみたがちゃんと取得できたぞ?
Control+ControlCollectionは親コントロールには依存してないから、他でも問題ないと思うけど。
0314デフォルトの名無しさん
2006/12/25(月) 17:04:23Controls[string]とControls.IndexOfKey()を試してますよ。
名前はデザイナからコピペしてる。
0315デフォルトの名無しさん
2006/12/25(月) 17:06:27そうなのか。オレオワタw
0316デフォルトの名無しさん
2006/12/25(月) 17:09:050317デフォルトの名無しさん
2006/12/25(月) 17:10:17自分も、継承ですますので、使ったこと無い。
0318デフォルトの名無しさん
2006/12/25(月) 17:11:40動かなかったのはUserControlでやってたからで、Formでは動いた。
Controlのそれと、Formのそれは違う型なのね。勉強になった。
0319デフォルトの名無しさん
2006/12/25(月) 17:16:22UserControlのControlsもControl+ControlCollectionじゃないか?
ちゃんと初期化で、this.Controls.Add(control)ってやってるかい?
0320デフォルトの名無しさん
2006/12/25(月) 17:18:09258もそれっぽいな w
0321デフォルトの名無しさん
2006/12/25(月) 17:20:040322デフォルトの名無しさん
2006/12/25(月) 17:22:25どっちもデザイナで貼り付けたやつだよ。
ControlsのはSystem.Windows.Forms.Control.ControlCollection、
FormのはSystem.Windows.Forms.Form.ControlCollectionで、AddとRemoveがオーバーライドされてる。
0323デフォルトの名無しさん
2006/12/25(月) 17:22:25なんか、いまいちつづつまが合わないような
0324デフォルトの名無しさん
2006/12/25(月) 17:28:09おもっきし、遅レスだけど
該当の件、C#相談室に持ち込んでみた。
回答になるかどうか分からないけど、見てみるといいとおもう。
0325デフォルトの名無しさん
2006/12/25(月) 17:28:12おお、ほんとだ。
しかし、Reflectorで見た感じじゃ特殊なコントロールを除いて親のAdd/Removeを呼んでるだけで、
それだけでItems[String]が使えなくなるってのはおかしい気もするんだがなー
0326デフォルトの名無しさん
2006/12/25(月) 17:31:23全然別のもん、、つーかUserControlあたりもってきたのか
0327デフォルトの名無しさん
2006/12/25(月) 17:37:33MessageBox.Show(this.userControl1.Controls["listView1"].ToString());
0328デフォルトの名無しさん
2006/12/25(月) 17:42:020329258
2006/12/25(月) 17:46:02なぜかこれだけうまくいかないような感じです。
他ならツールバーなんかでも適当に名前をつけて取得できているようです。
どれもフォームのデザイナーで配置し、名前をつけてます。
0330デフォルトの名無しさん
2006/12/25(月) 17:49:02とりあえず、Controls[pictureBox.Name] とでもしてみろよ。
0331デフォルトの名無しさん
2006/12/25(月) 17:49:32自分のUserControlは実行時にAddしたりRemoveして切り替えてるやつでついでにやってたんで、
なんか状況が違うのかもしれん。とりあえず自分は困ってないし時間もないんで今回はもうパスw
0332デフォルトの名無しさん
2006/12/25(月) 17:49:400333デフォルトの名無しさん
2006/12/25(月) 17:50:490334デフォルトの名無しさん
2006/12/25(月) 17:51:52それだ!!
0335デフォルトの名無しさん
2006/12/25(月) 17:53:46超それだったwお騒がせしますた。
0336258
2006/12/25(月) 17:55:14Panelの上に置いてますけど、もしかしてそういうことですか?
だとすると、そういう場合はどうやって書いたらいいでしょうか?
0337デフォルトの名無しさん
2006/12/25(月) 17:58:250338デフォルトの名無しさん
2006/12/25(月) 17:58:34パネルのControlsから探すんじゃね?
どんどん余計なものに依存するコードになるね。
0339258
2006/12/25(月) 18:04:15わかりました。ありがとうございました。
ちなみにさっきインデックスだと取れたと言ったのは
適当に5とか入れたらツールバーとかにDirectXの画面が表示されたんで、
まぁとりあえずはControls[index]の形でなら取れるんだな、と思ったからです。
お騒がせしました。
0340デフォルトの名無しさん
2006/12/25(月) 18:08:100341デフォルトの名無しさん
2006/12/25(月) 18:09:210342デフォルトの名無しさん
2006/12/25(月) 18:12:30ああ、なんと不毛な議論なんだ
0343318
2006/12/25(月) 18:14:320344258
2006/12/25(月) 18:19:08すっきり納得できるあなたの分かりやすい回答が欲しかったです。
0346デフォルトの名無しさん
2006/12/25(月) 18:24:57ControlsからControl引っ張ってくるのはあくまで邪道
つまりあなたは邪道プログラマ
0347258
2006/12/25(月) 18:27:180348デフォルトの名無しさん
2006/12/25(月) 18:28:100349デフォルトの名無しさん
2006/12/25(月) 18:32:33public static extern IntPtr GetDlgItem(IntPtr hDlg, Int32 nIDDlgItem);
ご自由におとりください。
0350デフォルトの名無しさん
2006/12/25(月) 18:36:07258みたいなのを救済するため?
リフレクションのため?
0351デフォルトの名無しさん
2006/12/25(月) 18:37:080352デフォルトの名無しさん
2006/12/25(月) 18:41:430353デフォルトの名無しさん
2006/12/25(月) 18:59:06お手軽プログラミングにはシンボリックリファレンスみたいなのは必須でしょ
VB移行組とかから要望があったんじゃないかな。
0354デフォルトの名無しさん
2006/12/25(月) 19:02:13>>258
おもしろかったか?
0355258
2006/12/25(月) 19:05:350357デフォルトの名無しさん
2006/12/25(月) 19:09:100358258
2006/12/25(月) 19:11:11簡単にできる方法があればそれでいいです。
みんなが御宅さんのようにヲタクだとは思わないで下さい。
0359354
2006/12/25(月) 19:12:56かっこいいいいいいいいい
0360デフォルトの名無しさん
2006/12/25(月) 19:13:510361デフォルトの名無しさん
2006/12/25(月) 19:18:08彼も秋田のか
0362デフォルトの名無しさん
2006/12/25(月) 19:18:59C++でDirectX使うのだ。
0363デフォルトの名無しさん
2006/12/25(月) 19:19:410364デフォルトの名無しさん
2006/12/25(月) 19:20:110365デフォルトの名無しさん
2006/12/25(月) 19:21:000366258
2006/12/25(月) 19:21:21手を出してみたらこのような有様でした。
でも、外からやたらに触れないようにした方が正しいとは思います。
0367258
2006/12/25(月) 19:22:38ところで、継承ですますとはどういうことでしょうか。
例えばどうやって書きますか?
今後の参考のために教えてください。
0368デフォルトの名無しさん
2006/12/25(月) 19:26:50見付けられなくて、教えてもらっても使いこなせませんでした。
所詮はC#ですね。
おたくじゃないので、C++は簡単ですがC#なんておたく言語は
使えません。
0369デフォルトの名無しさん
2006/12/25(月) 19:27:19名前欄埋め忘れてるぞw
0370デフォルトの名無しさん
2006/12/25(月) 19:28:580371デフォルトの名無しさん
2006/12/25(月) 19:31:15新しい事を覚えるのは難しい年頃らしい
0372デフォルトの名無しさん
2006/12/25(月) 19:33:03現状はIDEで作ったものをコピペしています。
0373デフォルトの名無しさん
2006/12/25(月) 19:37:280374デフォルトの名無しさん
2006/12/25(月) 19:46:20http://www.microsoft.com/japan/msdn/sqlserver/columns/ADONET/adonet2.aspx#2
0375258
2006/12/25(月) 19:51:07目的のレベルと学習コストを秤にかけるのは当然だと思います。
使い捨てのプログラムを組むだけなので簡単に済めばそれでいいのです。
そんなことは置いておいて、ご存知でしたら質問の件を教えてください。
0376デフォルトの名無しさん
2006/12/25(月) 19:52:250377デフォルトの名無しさん
2006/12/25(月) 19:54:050378258
2006/12/25(月) 19:58:06昨日始めたばかりでまだ良く分かってないことがおおいですが
間違いがあれば改めたいので具体的に指摘していただけませんか?
ちなみにハンドルはハンドルとしてメンバに持ってるんですね。
なのでコントロールのインスタンスって言ったら良かったんですかね?
どういったらよかったですか?
0379デフォルトの名無しさん
2006/12/25(月) 19:58:55なんか低級な方法でDirectXさわってるんじゃね?
0380258
2006/12/25(月) 20:00:56低級か高級か分かりませんけど、
ManagedDirectXで最初にデバイス作るときに
描画したいコントロールのハンドルを渡す必要があっただけです。
何かまずいでしょうか?
0381デフォルトの名無しさん
2006/12/25(月) 20:02:540382デフォルトの名無しさん
2006/12/25(月) 20:03:090383258
2006/12/25(月) 20:03:20何の参考にもなりませんし関係ない人にとっても邪魔なだけだと思います。
言いたいことがあったらはっきり言えばいいのに、自信がないんですか?
教える気がなくていちいち嫌味ったらしく書くなら
最初から書かないでくれた方がいいです。
0384デフォルトの名無しさん
2006/12/25(月) 20:17:07\|\_\ ∠ /|/
|○| |○|
_| ̄|○ _ _ ○| ̄|_
/ /|) (|\ \
| ̄| | ̄|
/ / \ \
0385デフォルトの名無しさん
2006/12/25(月) 20:20:08http://www.microsoft.com/japan/msdn/directx/japan/dx9/default.aspx
0386デフォルトの名無しさん
2006/12/25(月) 21:20:060387デフォルトの名無しさん
2006/12/25(月) 21:56:19かわいそうなGC
ゴミばかり相手にして
0388デフォルトの名無しさん
2006/12/25(月) 22:06:35役に立たないゴミはお前だよ。
質問に答えろよ。
0389デフォルトの名無しさん
2006/12/25(月) 22:10:240390デフォルトの名無しさん
2006/12/25(月) 22:20:14役に立たないゴミはお前だよ。
質問に答えろよ。
0391デフォルトの名無しさん
2006/12/25(月) 22:21:49とすれ違い。
0392デフォルトの名無しさん
2006/12/25(月) 22:29:26クリトリスだからだよ!
0393デフォルトの名無しさん
2006/12/25(月) 22:30:50初心者の質問に対し自称上級者が偉そうに小言交じりの中途半端なレスを返し
どういうことか突っ込まれると詳しく知らないがゆえに口ごもって
逆切れしながら逃げまわるスレです。
0394デフォルトの名無しさん
2006/12/25(月) 22:30:59お前等これ読んでみろ・・・
ス ル ー
0395デフォルトの名無しさん
2006/12/25(月) 22:32:58何か間違った事を言ったか?
0396デフォルトの名無しさん
2006/12/25(月) 22:44:42仕切りなおし。
質問受け付けます
0397デフォルトの名無しさん
2006/12/25(月) 22:44:530398デフォルトの名無しさん
2006/12/25(月) 22:54:07低級か高級か分かりませんけど、
ManagedDirectXで最初にデバイス作るときに
描画したいコントロールのハンドルを渡す必要があっただけです。
何かまずいでしょうか?
0399デフォルトの名無しさん
2006/12/25(月) 22:54:23C++もC#もそれぞれ利点・欠点があるから、どんなアプリを組むかで
ターゲットを変えりゃいいのに、無理矢理へんなプログラム組むものではないと思う
0400デフォルトの名無しさん
2006/12/25(月) 22:58:410401デフォルトの名無しさん
2006/12/25(月) 22:59:18昨日始めたばかりでまだ良く分かってないことがおおいですが
間違いがあれば改めたいので具体的に指摘していただけませんか?
ちなみにハンドルはハンドルとしてメンバに持ってるんですね。
なのでコントロールのインスタンスって言ったら良かったんですかね?
どういったらよかったですか?
0402デフォルトの名無しさん
2006/12/25(月) 23:00:00>自分も、継承ですますので、使ったこと無い。
ところで、継承ですますとはどういうことでしょうか。
例えばどうやって書きますか?
今後の参考のために教えてください。
0403デフォルトの名無しさん
2006/12/25(月) 23:01:24雑談はスルー。回答お願いします。
0404デフォルトの名無しさん
2006/12/25(月) 23:05:04感想をおながいします
0405デフォルトの名無しさん
2006/12/25(月) 23:07:18初心者の質問に対し自称上級者が偉そうに小言交じりの中途半端なレスを返し
どういうことか突っ込まれると詳しく知らないがゆえに口ごもって
逆切れしながら逃げまわるスレです。
0406385
2006/12/25(月) 23:14:26directX C#でググって探したら結構情報が集まりますよ。
0407258
2006/12/25(月) 23:18:06なりすまし終了
0408デフォルトの名無しさん
2006/12/26(火) 00:09:190409デフォルトの名無しさん
2006/12/26(火) 09:22:32ウィンドウを持たずバックグラウンドで動き続けるプログラムを作るには、
どうしたらいいですか?
0410デフォルトの名無しさん
2006/12/26(火) 09:23:350411デフォルトの名無しさん
2006/12/26(火) 09:31:340412デフォルトの名無しさん
2006/12/26(火) 10:00:560413デフォルトの名無しさん
2006/12/26(火) 14:11:26ushort bbb;
をCで言うunionみたいな使い方したいんですけど
どやってやるのでしょう?
0414デフォルトの名無しさん
2006/12/26(火) 14:12:11詳しくお願いします。
>>411
コンソールでもウィンドウは出ますよね?
0415デフォルトの名無しさん
2006/12/26(火) 14:15:29using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Explicit)]
public unsafe struct UNION
{
[FieldOffset(0)] public fixed byte aaa[2];
[FieldOffset(0)] public ushort bbb;
}
0416デフォルトの名無しさん
2006/12/26(火) 14:18:050417デフォルトの名無しさん
2006/12/26(火) 14:30:36ありがとうございます
0418デフォルトの名無しさん
2006/12/26(火) 14:30:37それは Variant の代用にはなるけど、Union の代用にはならないよ。
0419デフォルトの名無しさん
2006/12/26(火) 14:32:390420デフォルトの名無しさん
2006/12/26(火) 14:35:37i::::::::/'" ̄ ̄ヾi
|:::::::| ,,,,,_ ,,,,,,|
|r-==( 。);( 。)
( ヽ :::__)..:: }
,____/ヽ ー== ; ほほう それでそれで?
r'"ヽ t、 \___ !
/ 、、i ヽ__,,/
/ ヽノ j , j |ヽ
|⌒`'、__ / / /r |
{  ̄''ー-、,,_,ヘ^ |
ゝ-,,,_____)--、j
/ \__ /
| "'ー‐‐---''
0421デフォルトの名無しさん
2006/12/26(火) 14:42:54たとえば[ツール]→[フォルダオプション]で
新しいウィンドウが出てくるけど、そんな感じで。
0422デフォルトの名無しさん
2006/12/26(火) 14:44:43Form2 form2 = new Form2();
form2.ShowDialog();
}
0423デフォルトの名無しさん
2006/12/26(火) 14:48:12コンソールウィンドウはCSRSSが勝手に作ってるだけ。
0424デフォルトの名無しさん
2006/12/26(火) 14:52:42プログラム側で
textbox1.Font = new Font("MSゴシック",15);
なんて、する場合
textbox1.Font.Dispose(); //<--- これ、必須??
textbox1.Font = new Font("MSゴシック",15);
リソースの開放漏れ、起こしそうな気もするし、
気にしすぎのような気もするし。。。
0425デフォルトの名無しさん
2006/12/26(火) 14:57:210426デフォルトの名無しさん
2006/12/26(火) 15:00:11Thanx!
0427デフォルトの名無しさん
2006/12/26(火) 15:08:01バグの素になるから、自分で作ったオブジェクト以外はDisposeしちゃいかん
同じFontオブジェクトを参照している箇所があればそこでアボン
0428デフォルトの名無しさん
2006/12/26(火) 15:18:43>>427
さんくす
なんか、別のフォームのインスタンス作るたんびに、フォントがらみで
例外出てたんで、これかなぁ〜、だったんですけど
ビンゴっぽいですなぁ
さっそく、Dispose()消しますです....
0429デフォルトの名無しさん
2006/12/26(火) 15:23:37すみません
UNION ccc;
とした場合
ccc.aaa[0] = 0x12;
fixedなんやらunsafeがなんやらってコンパイラーに怒られてしまうんですけど・・・・
0430デフォルトの名無しさん
2006/12/26(火) 15:28:48プロジェクトのプロパティ→ビルド→アンセーフコードの許可
意味は別途しらべておくれ。
0431デフォルトの名無しさん
2006/12/26(火) 15:30:41ちゃんとunsafeで囲ってるかい?
unsafe
{
UNION ccc;
ccc.aaa[0] = 0x12;
}
0432デフォルトの名無しさん
2006/12/26(火) 15:31:01それはやりました
0433デフォルトの名無しさん
2006/12/26(火) 15:31:56お手数かけます
ありがとうございます
0434デフォルトの名無しさん
2006/12/26(火) 15:45:15C#でunionみたいな使い方は初心者はやっちゃいけないんですね・・・
0435デフォルトの名無しさん
2006/12/26(火) 15:54:550436デフォルトの名無しさん
2006/12/26(火) 15:54:580437デフォルトの名無しさん
2006/12/26(火) 16:00:35あらかじめ決まってる物を表現する以外は、だいたい間違った使い方だよ<union
0438デフォルトの名無しさん
2006/12/26(火) 16:20:07unionを使いたかったのですが、C#だとやたら怒られてかなり異例な処理みたいなので
変換したほうがいいんでしょうね
byte[] aaa = new byte[2];
ushort bbb;
private void byte_word()
{
bbb = (ushort )aaa[0];
bbb <<= 8;
bbb |= (ushort )aaa[1];
}
private void wrod_byte()
{
aaa[0] = (byte)(bbb >> 8);
aaa[1] = (byte)bbb;
}
0439デフォルトの名無しさん
2006/12/26(火) 16:24:54固定長の配列とか、ポインタとかは unsafe ブロック内でしか使えないよ
0440デフォルトの名無しさん
2006/12/26(火) 16:26:48それをstructのプロパティにしてしまえば?
0441デフォルトの名無しさん
2006/12/26(火) 16:28:35アンマネージな世界から貰うんならMarshalを使う手もある。
0442デフォルトの名無しさん
2006/12/26(火) 16:29:17見捨てず面倒みてくれてありがとうございます。
ccc.aaa[0] = 0x12; をやったとき
unsafe{....}で囲んでいますので
unsafeでなくてfixedで怒られているみたいだんですよ
0443デフォルトの名無しさん
2006/12/26(火) 16:34:260444デフォルトの名無しさん
2006/12/26(火) 16:36:030445デフォルトの名無しさん
2006/12/26(火) 16:48:50全部書くとこんな感じです
namespace DeviceApplication1
{
public partial class Form1 : Form
{
[StructLayout(LayoutKind.Explicit)]
public unsafe struct UNION {
[FieldOffset(0)] public fixed byte aaa[2];
[FieldOffset(0)] public ushort bbb;
};
unsafe UNION ccc;
private void Form1_Load(object sender, EventArgs e)
{
unsafe
{
ccc.aaa[0] = 0x12;
}
}
0446デフォルトの名無しさん
2006/12/26(火) 16:55:54unsafe
{
fixed (byte* p = ccc.aaa)
{
p[0] = 0x12;
}
}
インスタンス変数はヒープに割り当てられるからfixedする必要がある。
0447デフォルトの名無しさん
2006/12/26(火) 17:06:37ありがとうございます ようやく全解決です。
ccc.aaa[0] = 0x12;
ccc.aaa[1] = 0x34;
を応用すると
unsafe
{
fixed (byte* p = ccc.aaa)
{
*(p+0) = 0x12;
*(p+1) = 0x34;
}
}
となりますね
付き合ってくれた皆さん本当にありがとうございます。
勉強になりました。
0448デフォルトの名無しさん
2006/12/26(火) 19:06:580449デフォルトの名無しさん
2006/12/26(火) 19:09:470450デフォルトの名無しさん
2006/12/26(火) 19:16:060451デフォルトの名無しさん
2006/12/26(火) 19:22:04悪いことしたもんだ
0452とら男
2006/12/26(火) 23:32:20上司をギャフンと言わせてやりたいです。
(多分、このスレだと相当な上級者がいらっしゃいそうなので)
0453デフォルトの名無しさん
2006/12/26(火) 23:42:090454デフォルトの名無しさん
2006/12/26(火) 23:42:550455デフォルトの名無しさん
2006/12/26(火) 23:49:52BitConverter.ToUInt16
とても便利なものがあるんですね。
今回教えていただいたunionのやり方はunsafeなのでC#としては、
必要で無い限り避けた方が良い気がしますが
unsafeとか静的領域の使い方がわかり、とても勉強になりました。
C#ってあまり使っちゃいけないと思いますが、ポインター使えるんですね、驚きでした
0457デフォルトの名無しさん
2006/12/27(水) 17:16:14起動時以外ではHide()でいけたのですが色々試してみても無理でした。
よろしければ解決法ご教授下さい。
0458デフォルトの名無しさん
2006/12/27(水) 18:15:300459デフォルトの名無しさん
2006/12/27(水) 18:38:27だったかな?
0460デフォルトの名無しさん
2006/12/27(水) 18:41:17……あと、その場合はコンストラクタの最後で
IntPtr ptr = this.Handle;
なんてやっておくと幸せになるかもしれない。
0461デフォルトの名無しさん
2006/12/27(水) 22:16:39ShownイベントでVisible = false;
0462デフォルトの名無しさん
2006/12/28(木) 02:43:00文字列 message01 を取得する方法を教えて下さい。
検索で引っかかった物は hoge.resource ファイルのものばっかりで、
hoge.resource ファイルが見つかりませんというエラーが出てしまい困っています。
ちなみに、SharpDevelopを使っています。
0463462
2006/12/28(木) 04:59:270464デフォルトの名無しさん
2006/12/28(木) 13:04:38教えてください。
フォームに貼り付けたボタンの背景を透明化して、フォームが透けて見える様に
したいと思っています。
どうすれば良いでしょうか?
0465デフォルトの名無しさん
2006/12/28(木) 13:40:5313の質問した人だろ。
C#相談室で代わりに質問しといたので、
そっちを見るがよろし。
2つの解決法があるようだ。
0466デフォルトの名無しさん
2006/12/28(木) 13:56:56失礼
302-336までを参考にしてね。
http://pc8.2ch.net/test/read.cgi/tech/1165656839/
Form2枚重ねと、レイヤードウィンドウを使用する2つの案が出てた。
最終的に俺も試してないから、ここから先は自助努力で。
0467デフォルトの名無しさん
2006/12/28(木) 13:59:130468デフォルトの名無しさん
2006/12/28(木) 14:06:15どうやって?
デスクトップのキャプチャ(Win32使用)はCode Projectで見つけた。
ただ、Formも重なって取得するため、その方法は出来ないモンだとおもってた。
0469464
2006/12/28(木) 18:40:31向こうも眺めて来たけどコピペで出来そうな解じゃなさそうね。
話理解するのはちょっと時間が掛かりそうだけど読んでみる。
以下ちらしの裏。
テーマ切って開発してたらbuttonは透けてたんだけどTrackBarが透けない。
透けてるTrackBar手に入れたらテーマ上げなくちゃならなくなって、Button
が透けなくなった…orz。
で、今ココ。
0470デフォルトの名無しさん
2006/12/28(木) 21:30:19サイズの変更をしたいんですが
型または名前空間名 ***** が見つかりませんでした。ディレクティブを使うかアセンブリ参照を使ってください。
とでます。
ディレクティブっていうのはusing ***とかいうのかな?とか思ってますが全然わかっていません。
よろしくお願いします
0471デフォルトの名無しさん
2006/12/28(木) 21:47:47using System.Windows.Forms;
を追加汁ってことかな
0472デフォルトの名無しさん
2006/12/28(木) 23:33:51それを通してサイズを変更する
0473デフォルトの名無しさん
2006/12/29(金) 01:34:20必要に応じて削除する方法探しています。
何かいい方法はありませんか?
0474デフォルトの名無しさん
2006/12/29(金) 01:54:430475デフォルトの名無しさん
2006/12/29(金) 02:07:07各ドライブのルートにRECYCLERってフォルダがあるのがゴミ箱の実体。
RECYCLERのサブフォルダの中にINFO2ってファイルがあるから、それを見ればいつ捨てられたどんなファイルか分かる。
0476デフォルトの名無しさん
2006/12/29(金) 02:13:00RECYCLERを直接いじるのは最後の手段。
0477デフォルトの名無しさん
2006/12/29(金) 03:16:55ShellAPI使うとめんどいのでShell32.dllをCOM参照して、
const Int32 RECYCLE_BIN = 0xA;
Folder rb = new ShellClass().NameSpace(RECYCLE_BIN);
foreach (FolderItem fi in rb.Items())
{
Console.WriteLine(fi.Name);
for (Int32 i = 0; i <= 10; i++)
{
Console.WriteLine("\t" + rb.GetDetailsOf(fi, i));
}
fi.InvokeVerb("delete");
}
0478デフォルトの名無しさん
2006/12/29(金) 07:52:42どうすればいいでしょう?
既にそういうソフトなどがあるのは知ってるんですけど、
自作したいので、やり方が乗っているサイトなどありましたら
教えていただきたいです。お願いします。
0479デフォルトの名無しさん
2006/12/29(金) 07:59:15その前になぜこのスレでその質問をするのか理由を述べよ。
0480478
2006/12/29(金) 08:13:56C#でyoutubeの動画を落とすソフトを作りたいと思ったのですが、
検索してもソフトは出てくるけど変換するやり方が書いてないので、
聞いてみました。
えっ・・?スレ違いじゃないよね?
0481デフォルトの名無しさん
2006/12/29(金) 08:44:33つ 正規表現
0482デフォルトの名無しさん
2006/12/29(金) 11:03:270483デフォルトの名無しさん
2006/12/29(金) 12:55:33おきまりの文句だよねw
0484デフォルトの名無しさん
2006/12/29(金) 12:56:06おきまりだよねw
0485デフォルトの名無しさん
2006/12/29(金) 13:55:160486デフォルトの名無しさん
2006/12/29(金) 13:59:180487デフォルトの名無しさん
2006/12/29(金) 14:02:53お決まりだよねw
0488デフォルトの名無しさん
2006/12/29(金) 14:04:18ここは簡単な質問すら格言で終わらすからわけわからんし、
質問者もシロートレベルで質問するからわけわからん
0489デフォルトの名無しさん
2006/12/29(金) 14:06:430490デフォルトの名無しさん
2006/12/29(金) 14:07:300491デフォルトの名無しさん
2006/12/29(金) 14:08:59ヒント:スレタイ
0492デフォルトの名無しさん
2006/12/29(金) 14:17:50「やり方が乗っているサイトがあったら教えろ」
答えのひとつとしては
「ないと思うので教えられない。そもそもないことを証明するのは難しい」
0493デフォルトの名無しさん
2006/12/29(金) 14:28:08視聴URLから動画のURLに変換して、それをHTTPでダウンロードすればいいんじゃないのか
0494デフォルトの名無しさん
2006/12/29(金) 14:42:340496デフォルトの名無しさん
2006/12/29(金) 17:06:42たとえば2chの専ブラとかで勝手に右クリック項目増やせたりとか。
作者さんとは連絡は取れるんですが開発自体終了して改良する予定が無いそうなんでできればやってみようかと思ってます。
C#でやろうと思っていますができるかできないか、あとヒントがあればお願いします。
0497デフォルトの名無しさん
2006/12/29(金) 17:17:41CLRの恩恵はほとんど受けられないから、C#使う意味はないしね。
0498デフォルトの名無しさん
2006/12/29(金) 17:30:340499デフォルトの名無しさん
2006/12/29(金) 17:32:190500デフォルトの名無しさん
2006/12/29(金) 17:42:170501デフォルトの名無しさん
2006/12/29(金) 17:54:550502デフォルトの名無しさん
2006/12/29(金) 18:27:17例えば、
string str = "日本語の表示"; // str に sizeof が使えない
str.Length ではバイト数ではなく、文字数6が入ってしまう
0503デフォルトの名無しさん
2006/12/29(金) 18:31:56str.Length * sizeof(Char)
0504デフォルトの名無しさん
2006/12/29(金) 18:34:43UTF-16文字列は1コードポイントあたり一律2バイト
何も考えずにLength(=コードポイント数)を二倍しとけばいい
0505デフォルトの名無しさん
2006/12/29(金) 18:38:30まSJIS範囲ならそうだが。
半角含まれてないならまあそれもありか…
0506デフォルトの名無しさん
2006/12/29(金) 18:41:37Lengthは文字数ではなくコードポイントの数を返すから、単純に2倍すればいい
なんでSJISとか言い出すのかさっぱり分からんね。
0507デフォルトの名無しさん
2006/12/29(金) 18:41:53Encodingクラス
GetByteCount
0508デフォルトの名無しさん
2006/12/29(金) 18:45:53今すぐ、試してみます。
0509デフォルトの名無しさん
2006/12/29(金) 18:48:22Convertクラス
でバイト列変換も有りかな
0510デフォルトの名無しさん
2006/12/29(金) 19:54:32いろいろやって見ましたが、Encoding.GetByteCount の使用法が分かりません。
using System.Text; で、Encoding.GetByteCount(str) とすると、
静的でないフィールド、メソッド、またはプロパティ 'System.Text.Encoding.GetByteCount(string)' で、オブジェクト参照が必要です。
とのエラーが出ます。
MSDN によると
Encoding.GetByteCount メソッド (String)
派生クラスでオーバーライドされた場合、指定した String に含まれる文字をエンコードすることによって生成されるバイト数を計算します。
とあって、なにやら専用のメソッドを用意しなければならないようです。
なので、単純に文字数の2倍で良しとします。
0511デフォルトの名無しさん
2006/12/29(金) 20:01:47Encodingはクラス。
GetByteCountはstaicがついてないんだからインスタンスメソッド。
Encodingはいろんなエンコードを表す基底クラス。
たとえばShift_JISエンコードでいろいろしたいなら、
具象クラスのインスタンスをまず取得する必要がある。
EncodingでGetByteCountって、何のエンコーディングでのバイト数かわからんだろ?
0512デフォルトの名無しさん
2006/12/29(金) 20:22:37ぼろぼろ使用方法が出てくるのに
こういうやからはなぜそういうことをしない。
0513デフォルトの名無しさん
2006/12/29(金) 20:33:570514デフォルトの名無しさん
2006/12/29(金) 20:40:03C#のデフォルト文字コードってUTF-8じゃないの?
0515デフォルトの名無しさん
2006/12/29(金) 20:43:200516デフォルトの名無しさん
2006/12/29(金) 20:45:40ってどういう意味なの?
0517デフォルトの名無しさん
2006/12/29(金) 20:47:030518デフォルトの名無しさん
2006/12/29(金) 20:55:29あるサイトから、Encodingの使い方は分かりました。
Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS");
string str = "こんにちわ";
int num = sjisEnc.GetByteCount(str);
しかし、これは、Shift_JIS に変換した後のバイト数です。
知りたかったのは、Unicode のままでのバイト数で、現在メモリ上に占めるサイズです。
0519デフォルトの名無しさん
2006/12/29(金) 21:01:110520デフォルトの名無しさん
2006/12/29(金) 21:02:11Thx
ファイル関係はUTF-8 ?
http://msdn2.microsoft.com/ja-jp/library/system.io.streamwriter(VS.80).aspx
で、Encoding.DefaultはShift-JIS
ややこしいなぁ
0521デフォルトの名無しさん
2006/12/29(金) 21:08:54Encoding.Defaultはシステム規定の符号化方式。
お前さんがWindows日本語版を使っているから、
たまたまCP932(Shift_JISのマイクロソフト拡張)になっているだけ。
0522デフォルトの名無しさん
2006/12/29(金) 21:27:34残念ながら参照型がどれだけのメモリを占有しているかを測る方法は存在しない。
というか、それを知って何がしたいん?
0523デフォルトの名無しさん
2006/12/29(金) 22:03:04すればUnicodeでのバイト数がでるってすぐに想像つかないのか?
>>518の思考能力がすげー低いってことがわかった。
0524デフォルトの名無しさん
2006/12/29(金) 22:05:13結局何がしたいんかさっぱり分からん。
0525デフォルトの名無しさん
2006/12/29(金) 22:15:050526デフォルトの名無しさん
2006/12/29(金) 23:05:170527デフォルトの名無しさん
2006/12/29(金) 23:09:21それ知らんと、メモリをどれだけ積めばいいのか見積もれんのでは?
0528デフォルトの名無しさん
2006/12/29(金) 23:10:050529デフォルトの名無しさん
2006/12/29(金) 23:15:070530デフォルトの名無しさん
2006/12/29(金) 23:22:09そうなんだ
C#知らんからおれw
スマソ
0531デフォルトの名無しさん
2006/12/29(金) 23:29:01埋め込むリソースに"hoge.bin"が存在するとして、
その"hoge.bin"をファイルとして保存する手順というか方法がわかりません。
一応、そのリソースをResourceManagerに読み込ませる所まではできています。
よろしくお願いします。
0532デフォルトの名無しさん
2006/12/29(金) 23:29:460533デフォルトの名無しさん
2006/12/29(金) 23:36:59何がしたいのかさっぱりわからんが、ファイル開いて書き込めばいいんじゃないの?
0534デフォルトの名無しさん
2006/12/29(金) 23:37:262chの専ブラってdelphiのものが多いよな。
delphiでやれば?
0536478
2006/12/30(土) 07:56:29ありがとう。
youtubeの動画ページのソース見たら動画のURLあった。
それを勝手に拡張子付けて保存すればいいのかな。
でもそれじゃまずいので正規表現すればいいってことだろうか。
よく調べてみます。ありがとうございました。
0537デフォルトの名無しさん
2006/12/30(土) 09:13:34用津辺板いって聞いてくれば?
ここよりは求めてる回答得られそうな希ガス
0538デフォルトの名無しさん
2007/01/02(火) 18:53:20あのぅ、C#のメソッド名って、1文字目が大文字なのは習慣的?
C#の勉強始めたんだが、基本Javaしかわからんから。
見てる講座がたまたまそうなのかな。
0539デフォルトの名無しさん
2007/01/02(火) 18:57:16CLRがそうなってるからみんなそうしてる。
大体、privateフィールドとローカル変数がcamelCaseで、それ以外の識別子がCamelCase
0540デフォルトの名無しさん
2007/01/02(火) 19:00:07名前に関するガイドライン
http://msdn2.microsoft.com/ja-jp/library/ms229002(VS.80).aspx
黙って従え
0541デフォルトの名無しさん
2007/01/02(火) 19:07:54早レスありがとう。
そんなのがあったのね。
面白いから熟読してみる。
まだ買ってもいないxboxゲー個人開発に挑戦してみようと思って勉強始めてみたの。
きっと挫折するに決まっているが、得るものは沢山あると思うので、
できるとこまで勉強してみるよ。
とりあえずビール飲んで餃子食うわ。
0542デフォルトの名無しさん
2007/01/02(火) 22:03:42このガイドラインは全部読んどくべきだよね。
俺もこれ初めに知ってれば作り直すこともなかったんだがorz
0543デフォルトの名無しさん
2007/01/02(火) 23:37:33どんな名前をつけていたん?
0544デフォルトの名無しさん
2007/01/02(火) 23:39:12名前というかクラスの構造というか。
今は上手く思い出せない。
0545デフォルトの名無しさん
2007/01/02(火) 23:45:48これ.NET Frameworkでも守ってないの多いな
0546デフォルトの名無しさん
2007/01/02(火) 23:59:140547デフォルトの名無しさん
2007/01/03(水) 02:22:39なにか間違ってますか?
ClassUtil.ForName("Name.Space.OuterClass.NestedClass",asms);
0548デフォルトの名無しさん
2007/01/03(水) 02:30:14完全限定型名で調べれ。あと Type.GetType とか。
0549デフォルトの名無しさん
2007/01/03(水) 02:53:14ClassUtil.ForNameは、Seasarに定義されてるメソッドでした。
Javaとそっくりだなと思いつつよく見ればFCLじゃなかったのか…
完全限定型名で調べてみたいと思います。
ありがとうございました。
0550547
2007/01/03(水) 03:11:24Namespace.ClassName,AssenblyName
でよいのでしょうか?
Type.GetTypeで
Namespace.ClassName,AssenblyName
だとClassNameを取得可能でしたが
Namespace.ClassName.NestedClass,AssenblyName
だと
NestedClassを取得することはできませんでした。
0551デフォルトの名無しさん
2007/01/03(水) 03:18:140553デフォルトの名無しさん
2007/01/03(水) 05:06:14Seasar.NET触った感じどうよ?
0554デフォルトの名無しさん
2007/01/03(水) 12:11:04Seaserというより、DIコンテナ自体使い慣れてないのでなんともいえないけど
単純にファクトリクラスライブラリと考えるだけでも結構便利。
AjaxPro経由で呼び出したときはWebフォームインジェクション
されないので一貫性のないコードになっちゃってちょっと嫌かも。
そもそもAjaxとASP.NETの相性が悪すぎ。
クライアントコールバックは煩雑だし、かといってAjaxPro使うとコントロールを参照できないし。
Atlasは、
0555デフォルトの名無しさん
2007/01/03(水) 16:05:47なんとなくやってる事とやれる事は理解できた �d
0556デフォルトの名無しさん
2007/01/04(木) 02:53:34ってユーザーコントロール作れないんですか?
0557デフォルトの名無しさん
2007/01/04(木) 03:05:37http://msdn2.microsoft.com/ja-jp/library/114xc3e5(VS.80).aspx
これか?
0558デフォルトの名無しさん
2007/01/04(木) 03:09:12でも同じようにすればできると思うよ。
0560デフォルトの名無しさん
2007/01/04(木) 20:23:430561デフォルトの名無しさん
2007/01/04(木) 20:27:180562デフォルトの名無しさん
2007/01/04(木) 20:33:350563デフォルトの名無しさん
2007/01/04(木) 20:41:30C♯ しーしゃーぷ
0564デフォルトの名無しさん
2007/01/04(木) 20:45:42下駄とか言ってるやつは忠誠心が不足しているようだな。
0565デフォルトの名無しさん
2007/01/04(木) 21:04:29Seasarのメソッドか…
おいなんだこりゃ、こりゃうかつに使うとはまるぞ。
0566デフォルトの名無しさん
2007/01/04(木) 21:05:49Javaでのやり方を.NET環境でどうやるかって発想になってるので、
いろいろ問題ありそうな気がして使うのは怖いな…
0567デフォルトの名無しさん
2007/01/04(木) 21:06:46javaでもxxxUtil系はSeaser用意してくれてるおw
使 え な い け ど
0568デフォルトの名無しさん
2007/01/04(木) 21:50:090569デフォルトの名無しさん
2007/01/04(木) 21:57:530570デフォルトの名無しさん
2007/01/04(木) 22:07:390571デフォルトの名無しさん
2007/01/04(木) 22:32:310572デフォルトの名無しさん
2007/01/04(木) 22:36:19「ぷらぷら
ぷらぷら」
0573デフォルトの名無しさん
2007/01/04(木) 22:43:110574デフォルトの名無しさん
2007/01/04(木) 23:20:180575デフォルトの名無しさん
2007/01/04(木) 23:20:480576デフォルトの名無しさん
2007/01/04(木) 23:32:12総合するとシャープってことだな
0577デフォルトの名無しさん
2007/01/04(木) 23:40:200578デフォルトの名無しさん
2007/01/04(木) 23:44:560579デフォルトの名無しさん
2007/01/05(金) 01:54:08♯ 全角だとシャープ
普通は。
0580デフォルトの名無しさん
2007/01/05(金) 01:56:480581デフォルトの名無しさん
2007/01/05(金) 02:23:29# で ♯ を代用してるって公言されてた気が。
0582デフォルトの名無しさん
2007/01/05(金) 11:27:58>「C#」(LATIN CAPITAL LETTER C (U+0043) の後に
> NUMBER SIGN # (U+0023))と書く。
>音楽のシャープ(♯,MUSIC SHARP SIGN (U+266F))ではなく
>ナンバーサイン(#)を採用したのは、フォントやブラウザなどの
>技術的な制約に加え、標準的キーボードには前者の記号が存在し
>ないためである。
http://ja.wikipedia.org/wiki/C_Sharp
0583デフォルトの名無しさん
2007/01/05(金) 11:57:460584デフォルトの名無しさん
2007/01/05(金) 13:23:29C#
0585デフォルトの名無しさん
2007/01/05(金) 13:43:470586デフォルトの名無しさん
2007/01/05(金) 14:19:270587デフォルトの名無しさん
2007/01/05(金) 15:13:450588デフォルトの名無しさん
2007/01/05(金) 16:03:42おなじCのコードでもメモリー構造が全然違うみたいね
0589デフォルトの名無しさん
2007/01/05(金) 16:06:150590デフォルトの名無しさん
2007/01/05(金) 16:14:230591デフォルトの名無しさん
2007/01/05(金) 16:56:03これを.NET2.0のcsc.exeでコンパイルすると、
ButtonCtl.cs(49,34): error CS0246: The type or namespace name 'StringIntObject' could not be found
(are you missing a using directive or an assembly reference?)
こういうエラーが出ます。StringIntObjectというのは2.0以降、消滅してしまったクラスなんでしょうか?
0592デフォルトの名無しさん
2007/01/05(金) 16:58:59http://ja.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/winforms/Samples/ControlReference/ButtonCtl/ButtonCtl.src&file=CS\StringIntObject.cs&font=3
0593デフォルトの名無しさん
2007/01/05(金) 17:01:26あ、どうもすいません。
ところで、このサンプルを2.0でコンパイルして実行しようとすると
ランタイム内でエラーが発生しますね。
0594デフォルトの名無しさん
2007/01/05(金) 17:04:32内容も理解せずコピペするだけじゃ何の意味もねーだろボケ
と言う事を遠回しに教えてくれてるんだよ
0595デフォルトの名無しさん
2007/01/05(金) 17:09:340596デフォルトの名無しさん
2007/01/05(金) 17:19:49プロジェクトリソースファイルを選んで[インポート]ボタンをクリックし,適当な画像を選ぶ
でも>>594
0597デフォルトの名無しさん
2007/01/05(金) 17:33:11デザイナってのはSDKについてますか?
教えていただけるのであればソースを書き換える方法でおながいします…
0598デフォルトの名無しさん
2007/01/05(金) 17:37:01だいたいそのソースもほとんどデザイナが自動生成したもの
0599デフォルトの名無しさん
2007/01/05(金) 18:55:30Microsoft.VisuakBasic.String.StrConv だとカタカナまで半角になっちゃう。
0600デフォルトの名無しさん
2007/01/05(金) 19:00:400601デフォルトの名無しさん
2007/01/05(金) 19:02:230602デフォルトの名無しさん
2007/01/05(金) 19:18:150603599
2007/01/05(金) 19:26:22さんくす。とりあえず
String.Normalize(NormalizationFrom.FromKC)
で、全角英数空白記号が半角になった。FromKDとの違いがワカラン...
副作用ってどんなことか気になるが、とりあえずOK?。
>>601
今回は数字のみだったので、ループで済ましてたが、
英字や記号までとなると、なんか馬鹿らしくなる。
だれかPHPのmb_convert_kana関数を移植してくれんだろうか?
0604デフォルトの名無しさん
2007/01/05(金) 19:29:130605デフォルトの名無しさん
2007/01/05(金) 19:34:280606デフォルトの名無しさん
2007/01/05(金) 19:41:10クラスAにデータが格納されているとして
そのデータをそのままクラスA'に一括して渡したい場合に良い方法は
ありますでしょうか?
やりたいのはこのような以下の様なイメージです。
A' A'のインスタンス = (A')Aのインスタンス;
よろしくお願い致します。
0607デフォルトの名無しさん
2007/01/05(金) 19:44:28ADO.NETのがいいし。
0608デフォルトの名無しさん
2007/01/05(金) 19:45:430609デフォルトの名無しさん
2007/01/05(金) 19:48:06Aを引数にもつA'のコンストラクタつくっておけばいいんじゃない?
0610デフォルトの名無しさん
2007/01/05(金) 19:52:13ついでに A から A' への明示的変換演算をオーバーロードしとくとかどうか。
0612C ◆rtRndw2G.I
2007/01/05(金) 20:15:22例えば、下記の様にAサーバに『hoge.dll』というDLLがあった場合に
このDLLのバージョン(1.1.1.4)を調べるにはどうすれば良いでしょうか?
Aサーバ
hoge.dll (1.1.1.4)
また、上記は通常のクラスライブラリとして作成されたアセンブリ
の場合ですが、例えばActiveReport等のベンダー製のDLL
(ActiveReport.dll / ActiveReportViewer.dll )
のバージョンを取得する事は出切るのでしょうか?
0613C ◆rtRndw2G.I
2007/01/05(金) 20:18:11例えば、
A_hoge.dll �@
B_hoge.dll �A
と2つのDLLがあった場合にそれらのDLLをマージして
C_hoge.dll �B
と1つに纏める方法はありますでしょうか?
(ソース自体を C_hoge という namespace に入れる以外の
方法で)
0614デフォルトの名無しさん
2007/01/05(金) 20:24:08それで何をしたいのか、が問題だな
>>613
ILMerge ってのが提供されてはいる
わざわざ一つに纏める意義が分からんが
0615デフォルトの名無しさん
2007/01/05(金) 20:59:01Assemblyクラスに読み込んでメタデータ確認すればいいんじゃね?
0616C ◆rtRndw2G.I
2007/01/05(金) 21:01:07どうもありがとうございます。
早速 ILMerge をダウンロードし試してみます。
>>612
の件なのですがサーバ上のDLLとクライアントのDLLのバージョン
比較を行い、バージョンの新しい方をローカルに取得し参照利用
予定です。
0617C ◆rtRndw2G.I
2007/01/05(金) 22:05:12>>615
>Assemblyクラスに読み込んでメタデータ確認すればいいんじゃね
Asemblyクラスに読み込む!?
そんな事出来るんですか?もし宜しければご伝授いただけないでしょうか?
0618デフォルトの名無しさん
2007/01/05(金) 22:16:170619デフォルトの名無しさん
2007/01/05(金) 22:22:55クライアントで読み込んだものが同じアセンブリとみなされるか違うアセンブリとみなされるか等、
いろいろトラブりそうな気がする。
AppDomain作ってその中で閉じてやってしまうのが一番確実だが、
この方法はちとだけ敷居が高い。
0620デフォルトの名無しさん
2007/01/05(金) 22:25:150621デフォルトの名無しさん
2007/01/05(金) 22:26:480622デフォルトの名無しさん
2007/01/05(金) 22:31:08LoadFileのほうがキャッシュとかの影響を避けられそう
0623デフォルトの名無しさん
2007/01/05(金) 22:33:18それとC#をC++に変換する方法は無いとは思いますが聞かせて頂きます
0624デフォルトの名無しさん
2007/01/05(金) 22:35:160625デフォルトの名無しさん
2007/01/05(金) 22:36:42自力で何とかする。
0626623
2007/01/05(金) 22:37:540627デフォルトの名無しさん
2007/01/05(金) 22:38:59知らんけど
0628デフォルトの名無しさん
2007/01/05(金) 22:40:210629デフォルトの名無しさん
2007/01/05(金) 22:40:50意味ねー
0630デフォルトの名無しさん
2007/01/05(金) 22:42:130631デフォルトの名無しさん
2007/01/05(金) 22:42:55意味不明
0632デフォルトの名無しさん
2007/01/05(金) 22:47:21JavaやC++に変換するのは無理だけど。
0633C ◆rtRndw2G.I
2007/01/05(金) 22:49:50どうもありがとうございます。
ちょっとLoadFielを利用してアセンブリのバージョンを読めるか試して
みます。
0634デフォルトの名無しさん
2007/01/05(金) 23:01:56読み込んでバージョン確認は普通簡単にできる。
問題は、その後例えば最新のアセンブリをローカルに持ってきてロードとか、
あるいはビルド時の参照設定や、逆シリアル化操作などでアセンブリが
自動ロードされたりする際に、トラぶらないようにしとくこと。
0636デフォルトの名無しさん
2007/01/05(金) 23:22:210637デフォルトの名無しさん
2007/01/05(金) 23:49:41>>636
だまれ
0638デフォルトの名無しさん
2007/01/05(金) 23:51:150639デフォルトの名無しさん
2007/01/05(金) 23:52:37うんこ漏らしちゃった。
0640デフォルトの名無しさん
2007/01/06(土) 00:03:510641デフォルトの名無しさん
2007/01/06(土) 03:15:12.pmファイルがあります。このファイルの文字コード(?)は日本語EUCです。
これをコマンドプロンプトで実行すると文字化けします。
それで、このコマンドプロンプトの出力をtextBoxに渡したいのですが、
文字化けせずに表示するにはどうすればいいでしょうか?
お願いします。
0642デフォルトの名無しさん
2007/01/06(土) 03:29:37以下参照。
http://www.google.co.jp/
C# EUC
0643641
2007/01/06(土) 04:11:04ありがとう。Google先生に聞いてみたけど分からなかった。
コマンドプロンプトで実行した時点で化けてるのですが
いつコード変換すればいいのでしょうか?
化けてるのを変換しても戻らないと思ったのですが・・
コマンドプロンプトのコードページは関係ないですか?
すみませんが、もっと詳しく教えて頂けると助かります。
0644デフォルトの名無しさん
2007/01/06(土) 09:33:34.pm というのはperlのモジュールファイルのこと?
すれ違いな気もするが、WindowsのコンソールはANSIコードセット、日本語環境ではShift-JIS(MS932)専用。
極限られた条件でUNICODEを使うことも出来るが切り替えて使えるというレベルではない。
漢字変換のフィルターを前後にかますか、
処理の内容にもよるが.pl .pmのスクリプト自体をShift-JISに変えてしまうのがおすすめ。
C#でなにかやりたいなら、System.Diagnostics.Processでperlを子プロセスで起動するときに
標準入出力をフックしてコード変換をすると出来るがスキル的に無理だろう。
0645デフォルトの名無しさん
2007/01/06(土) 10:42:53TreeViewコントロールで親ノードの文字をクリックして子ノードを展開するようにするにはどうすればいいのでしょうか?
既定では小さい画像なのでいまいち使いにくいです。
Menuコントロールも試してみたのですが、ノードが多いためか展開がかなり遅くなってしまいました。
どなたかご教授願います。
0646デフォルトの名無しさん
2007/01/06(土) 14:23:41なにもそんな難しいことをする必要はない。
Process p = new Process();
p.StartInfo.FileName = "perl";
p.StartInfo.Arguments = "foo.pl";
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.StandardOutputEncoding = Encoding.GetEncoding("EUC-JP");
p.StartInfo.UseShellExecute = false;
p.Start();
p.WaitForExit();
textBox1.Text = p.StandardOutput.ReadToEnd();
0647デフォルトの名無しさん
2007/01/06(土) 15:11:33いろいろ関数を覚えてきてマニュアルみなくても記述できるようになってくると
アプリを作ることより、いかに、わかり易く、バグが起きにくいソースを書くか?ってことに時間を費やすようになったけど
こういうのって自然なこと?
0648デフォルトの名無しさん
2007/01/06(土) 15:14:13それに仕様変更を想定して書ければプロだよ
0649デフォルトの名無しさん
2007/01/06(土) 15:17:40EAとかeclipseのUML2使ってみ
0650デフォルトの名無しさん
2007/01/06(土) 15:38:570651デフォルトの名無しさん
2007/01/06(土) 15:43:38指の股を数えるんだとか
0652デフォルトの名無しさん
2007/01/06(土) 15:44:290653デフォルトの名無しさん
2007/01/06(土) 15:47:15世界的に10進法に標準化されちゃっただけで。
0654デフォルトの名無しさん
2007/01/06(土) 15:49:020655デフォルトの名無しさん
2007/01/06(土) 15:53:522^5まではみんなにこやかに見てくれてるのに、
2^6+2^5あたりから険しい表情になり、
2^7+2^6あたりでこっちを向いてる人が少なくなり、
2^8から2^10-1までは俺一人で黙々と数えることになる。
0656デフォルトの名無しさん
2007/01/06(土) 15:54:050657デフォルトの名無しさん
2007/01/06(土) 15:56:020658デフォルトの名無しさん
2007/01/06(土) 15:57:14正月休みや盆休みもその分短くなる
0659デフォルトの名無しさん
2007/01/06(土) 15:57:38指と股を数えると、片手だけで9になるんだが?
0660デフォルトの名無しさん
2007/01/06(土) 15:58:36両手の指の股だよ
0661デフォルトの名無しさん
2007/01/06(土) 16:00:000662デフォルトの名無しさん
2007/01/06(土) 16:05:39しかし0〜59と数えるのは邪道だ。
60進法とは認められない。
0663デフォルトの名無しさん
2007/01/06(土) 16:06:19ワロス
0664デフォルトの名無しさん
2007/01/06(土) 16:07:23こちらの板で質問させていただきます。板違いですいません。
どなたかお答えしていただけますでしょうか?
.netC# で開発を行っています。
現在、IEのWindowからテキストをドラッグ&ドロップしてFormに
入力したいと思っています。
その時に、ドラッグ&ドロップしたテキストが元々IEのWindowのどの位置
(x,y座標で)に有ったかという情報を受け取ることは可能でしょうか?
もし可能ならばどの様な実現方法が有るのでしょうか?
お教え下さい。
0665デフォルトの名無しさん
2007/01/06(土) 16:30:48そりゃ無理だね
ファイルパスを取得したあと、それを元に
APIを使ってやればできるけど
0666デフォルトの名無しさん
2007/01/06(土) 16:32:55COMやMSHTMLの深い知識があればできんこともないかもしれんな。
0667デフォルトの名無しさん
2007/01/06(土) 16:35:450668デフォルトの名無しさん
2007/01/06(土) 16:37:400669デフォルトの名無しさん
2007/01/06(土) 16:37:420670デフォルトの名無しさん
2007/01/06(土) 17:37:050671デフォルトの名無しさん
2007/01/06(土) 17:45:110672641
2007/01/06(土) 17:50:04>>646
ありがとう。
>>644
>子プロセスで起動するときに標準入出力をフックしてコード変換を
>すると出来るがスキル的に無理だろう。
はい、さっぱりです・・・。
>>646
それ2.0ですよね?多分・・。1.1なので出来ませんでした。
あ〜難しい!!
0673デフォルトの名無しさん
2007/01/06(土) 17:54:490674デフォルトの名無しさん
2007/01/06(土) 17:59:20子プロセスとして自前で起動しないと操作できないんだから
そりゃ他のプロセスに勝手に割り込むのはメモリ違反だから仕方がないけどな
どうにかしてよ
0675デフォルトの名無しさん
2007/01/06(土) 18:05:540676デフォルトの名無しさん
2007/01/06(土) 18:17:56Processは探せるだろ。
メモリ違反て何しようとしてる?
0677641
2007/01/06(土) 18:28:39できた〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜!!
まじでうれしい!!!!!!!!!!!!!!!!!
あなたは神です!!ありがとう!!!!!!!
StreamReader output = new StreamReader(p.StandardOutput.BaseStream,Encoding.GetEncoding("EUC-JP")) ; // 出力を取得(参照の宣言のみ)
textBox1.Text = output.ReadToEnd(); // 表示(出力を実際に取得)
output.Close();
0678デフォルトの名無しさん
2007/01/06(土) 19:14:59Window操作ならapi使って出来るが?
0679デフォルトの名無しさん
2007/01/06(土) 21:13:10Process#GetProcesses
0680デフォルトの名無しさん
2007/01/06(土) 21:20:230681デフォルトの名無しさん
2007/01/07(日) 14:45:530682デフォルトの名無しさん
2007/01/07(日) 15:54:59現在、GPL の C のソースコードを C# に移植しています。
で、そのソースコード中に、
extern int sig[100][100]; //これは適当
int pn, idx;
pn = sig[c][b] <= 0;
idx = (sig[c][b] - pn) ^ -pn;
とあったのですが、これをC#になおした場合、
pn = (sig[c][b] <= 0) ? 1 : 0;
とする以外、idx への代入する式は C と同じで良いのでしょうか?
idx は絶対値を取ってるだけのような気もするのだけど・・・確証が持てません。
0683デフォルトの名無しさん
2007/01/07(日) 16:26:37符号ビットを0にしてるだけだから絶対値であってるね。
0684デフォルトの名無しさん
2007/01/07(日) 16:55:51うーむ、まだ結果が違う・・・。
0685デフォルトの名無しさん
2007/01/07(日) 17:43:37オブジェクトを送信するとArrayListがObject[]になってしまい、困っています。
これを解決する良い方法は有りませんでしょうか?
0686デフォルトの名無しさん
2007/01/07(日) 18:38:37そういやArrayListはシリアライズ不可だな。
.NET同士ならDataSetを使う。他からも使いたいならArrayを直に使うのかな。
0687デフォルトの名無しさん
2007/01/07(日) 19:36:023000円ぐらいする入門書みたいなのは買う必要ありますか?
オンラインヘルプのMSDNで十分でしょうか?
0688デフォルトの名無しさん
2007/01/07(日) 19:43:43ガタガタ言ってねえで手を動かせボケ
0689デフォルトの名無しさん
2007/01/07(日) 19:44:360690デフォルトの名無しさん
2007/01/07(日) 19:45:35ほんとに初心者の初心者なら本の方がいい。それも名著と呼ばれてる奴ではなくて、
はじめてのXX系の後からは絶対読み返さないようなのが役に立ったりする。
ある程度下地があるならMSDNからでもウェブをあさってもいいし本なら名著が役に立つ。
0691デフォルトの名無しさん
2007/01/07(日) 19:58:47F-BASIC386
QUICK C
ぐらいしかありません
0692デフォルトの名無しさん
2007/01/07(日) 20:00:52ガタガタ言ってねえで手を動かせボケ
0693デフォルトの名無しさん
2007/01/07(日) 20:21:260694デフォルトの名無しさん
2007/01/07(日) 20:30:140695デフォルトの名無しさん
2007/01/07(日) 21:10:100696デフォルトの名無しさん
2007/01/07(日) 21:13:140697デフォルトの名無しさん
2007/01/07(日) 22:13:05初オブジェクト指向か。
最初は大変だろうけどそのうち体で覚えるよ。
オレなんか本に書いてあることが理解できたのは
動くプログラムが作れるようになってからだぞ。
0698デフォルトの名無しさん
2007/01/07(日) 23:14:54インスタンスとオブジェクトの違いを述べよ
0699デフォルトの名無しさん
2007/01/07(日) 23:20:380700デフォルトの名無しさん
2007/01/07(日) 23:26:460701デフォルトの名無しさん
2007/01/07(日) 23:28:17class Hoge : Object {}
class HogeCollection : Collection<Hoge> {}
class HogeColleCollection : Collection<HogeCollection> {}
な感じのデータがあるのですが、あまりに件数が多すぎて、
メモリからあふれてしまうようになりました。
なので、メモリに保存する替わりにファイルをメモリ代わりにすることで代用したいのですが、
伸びたり縮んだり、部分的に伸びたりするデータをどのようにしたらファイルで代用できるのでしょうか・・・。
0702デフォルトの名無しさん
2007/01/07(日) 23:30:000703697
2007/01/07(日) 23:33:17ええー汗w
インスタンスはわかるけど、オブジェクトって言葉はいろんな使われ方してない?
オレ的にはインスタンス=オブジェクトなんだけど・・・
0704デフォルトの名無しさん
2007/01/07(日) 23:33:21データベースというと、DataSet クラスとかですよね。
あれもメモリで保存するものと思っていました。
ちょっと調べてみます。
0705デフォルトの名無しさん
2007/01/07(日) 23:35:56インスタンスは実体。
0706デフォルトの名無しさん
2007/01/07(日) 23:36:00IDisposableインスタンスとは言わない
だからって深い意味は無い
0707デフォルトの名無しさん
2007/01/07(日) 23:37:18DataSet はデータベースから引っ張ってきたデータをプログラムで利用するために一時的にメモリに保存するもの。
SQL Server Express とか使えという事。
0708デフォルトの名無しさん
2007/01/07(日) 23:43:18言わないっていうかインターフェイスはインターフェイスだろ。
初心者混乱させてどうすんだ。
だからって深い意味はない
0709デフォルトの名無しさん
2007/01/07(日) 23:45:02インターフェイスは実体化できんだろうが
0710デフォルトの名無しさん
2007/01/07(日) 23:46:22オブジェクトって言われたらオブジェクト指向の話じゃないかも。
クラスは実体化するもの
インターフェイスは実装するもの
0712デフォルトの名無しさん
2007/01/07(日) 23:57:280713デフォルトの名無しさん
2007/01/07(日) 23:57:42DBいやならXML
0714デフォルトの名無しさん
2007/01/07(日) 23:59:05オブジェクトとは子供が描いた家の絵(クラス)
子供に建築学インタフェースを接続するとちゃんとした設計図(クラス)になる
それらの設計図を元に作ったのがインスタンス
0715デフォルトの名無しさん
2007/01/07(日) 23:59:20objectインスタンス
objectオブジェクト
0716デフォルトの名無しさん
2007/01/08(月) 00:00:170717デフォルトの名無しさん
2007/01/08(月) 00:07:22インスタンス -> 集合の要素
とか
0718デフォルトの名無しさん
2007/01/08(月) 00:09:440719デフォルトの名無しさん
2007/01/08(月) 00:10:460720697
2007/01/08(月) 00:13:37>>714
またオブジェクトの使い方が怪しいのが出てきたよー
子供が書いた家の絵と設計図に(クラス)と書いたら意味わからん
0721デフォルトの名無しさん
2007/01/08(月) 00:16:080722デフォルトの名無しさん
2007/01/08(月) 00:18:14下手に喩えをつかうと余計にぐじゃぐじゃになる。
0723701
2007/01/08(月) 00:18:37SQL Server Express を使って開発しながら、だんだんとファイル?を使った方法
へと移行していく感じでいいのでしょうか。
0724デフォルトの名無しさん
2007/01/08(月) 00:19:080725701
2007/01/08(月) 00:20:05XML でのやり方を調べてみます。
0726デフォルトの名無しさん
2007/01/08(月) 00:20:310727デフォルトの名無しさん
2007/01/08(月) 00:25:19XML は状態を保存するのには悪くないが、頻繁に書き換えするには向かない。
ファイルはこの際関係ない。
0728デフォルトの名無しさん
2007/01/08(月) 00:25:360729デフォルトの名無しさん
2007/01/08(月) 00:36:150730デフォルトの名無しさん
2007/01/08(月) 00:39:270731デフォルトの名無しさん
2007/01/08(月) 00:41:260732デフォルトの名無しさん
2007/01/08(月) 00:41:290733デフォルトの名無しさん
2007/01/08(月) 00:41:46インターフェース=数学
クラス=神
インスタンス=人
0734デフォルトの名無しさん
2007/01/08(月) 00:43:35それじゃあ人は神の実体化になるから違…
はっ!
0735デフォルトの名無しさん
2007/01/08(月) 00:44:560736デフォルトの名無しさん
2007/01/08(月) 00:45:24インスタンスとは・・
0737デフォルトの名無しさん
2007/01/08(月) 00:47:12人は神が神に似せてたもうた存在であり・・・
0738デフォルトの名無しさん
2007/01/08(月) 00:48:240739デフォルトの名無しさん
2007/01/08(月) 00:49:42オブジェクトはエンテレケイアだと言えるであろう。
0740701
2007/01/08(月) 02:50:19MS SQL Server とかのデータベースを利用する場合、
ユーザーにもそれをインストールして貰う必要があるようです。
でもフリーソフトを目標に作っているので、
それをしてしまうと避けられてしまうかも〜
とかおもいながら、MS SQL Server Express の情報を探してたら
SQLite というのを見つけました。
http://ja.wikipedia.org/wiki/SQLite
これって、C ライブラリでプログラムにリンクできて
プログラム以外に利用しなければ行けないものも無いみたいなので
これが良いみたいです。
難しそうですが、これを使って頑張ってみます。
どもでした。
0741デフォルトの名無しさん
2007/01/08(月) 03:28:01まて慌てるなw
そもそもメモリが溢れるってどういう意味よ?
例えばアドレス帳のようなアプリの場合、普通データ管理にDataSetを使う。
DataSetは別にデータベース(OracleとかSQLServertとか)がなくても使える。
ついでに言うと DetaSet はXMLでファイル保存・読込が出来てお手軽。
ここまで聞いてピンとこなければオレの勘違いだスマン。
0742デフォルトの名無しさん
2007/01/08(月) 03:40:37>>741の云うとおりだと思うんだぜ?
XML知ってるならDataSet XSD.exe DataBindingあたり調べて見れ
0743デフォルトの名無しさん
2007/01/08(月) 03:45:25クエリーでどうしてもSQL使いたいってんでなけりゃDataSetでいいっしょ
0744741
2007/01/08(月) 05:28:16DataSet、DataTable、DataRow あたりを勉強すればOK。
たぶんSQLも知らないだろうから、データベースまで手を伸ばさないほうがいい。
0745デフォルトの名無しさん
2007/01/08(月) 07:07:540746デフォルトの名無しさん
2007/01/08(月) 07:14:590747デフォルトの名無しさん
2007/01/08(月) 07:30:13お ま え だ け
0748デフォルトの名無しさん
2007/01/08(月) 12:51:14VisualC#と.NET Frameworkが楽すぎるだけ
0749デフォルトの名無しさん
2007/01/08(月) 12:52:110750デフォルトの名無しさん
2007/01/08(月) 13:31:25websiteから拾ってきて分かったのですが、
そのプロセスIDが何個あるかというのを、
変数qtyに格納するにはどうすればよいのでしょうか?
-----------------------------------------------------------
//名前のプロセスをすべて取得する
Process[] hProcesses = Process.GetProcessesByName("Exploler");
string stPrompt = string.Empty;
public GetProcessID() {
// 取得できたプロセスからプロセス ID を取得する
foreach (System.Diagnostics.Process hProcess in hProcesses) {
stPrompt += hProcess.Id + System.Environment.NewLine;
}
}
0751デフォルトの名無しさん
2007/01/08(月) 13:36:16開発環境も eclipse のほうが便利。
でも.NET Framework のほうが Windows という OS に
親和性が高いので、それを優先してるだけ。
使ってる環境が Linux で Mono と Javaランタイムだったら
Java ランタイムの勝ちじゃないか?
というか、C# を始めた後でも C や Perl は手放せない。
0752デフォルトの名無しさん
2007/01/08(月) 13:40:22まあ hProcess の数と一致するんじゃね?
// System Idle Process とかはどうなるんだったっけ。
0753デフォルトの名無しさん
2007/01/08(月) 13:41:01hProcesses の要素数。
0754デフォルトの名無しさん
2007/01/08(月) 13:44:43それをどう表現するかが分からなくて。
もう少し調べてみます。
0755デフォルトの名無しさん
2007/01/08(月) 13:46:49Tips回る前に基礎
0756デフォルトの名無しさん
2007/01/08(月) 13:50:080757デフォルトの名無しさん
2007/01/08(月) 13:58:480758デフォルトの名無しさん
2007/01/08(月) 14:00:480759デフォルトの名無しさん
2007/01/08(月) 14:01:080760701
2007/01/08(月) 14:01:10対象のデータ件数が60万件とかあるからです。
現在のうちの環境では22万件までいったところで
OutOfMemoryException が出てしまいます。
しかも、でる位置がたとえば
private static readonly byte[] buffer = new byte[1024];
private static int func(FileStream target) {
int readsize = 0;
readsize = target.Read(buffer, 0, 1024); <-- ここでOutOfMemoryException
target.Position -= readsize;
・・・
}
みたいな位置で出てしまうのでどう対処していいのやらなのです。
なのでメモリじゃなくてファイルに保存したらどうかなと考えました。
こんな感じでもDataSetとかで良いのでしょうか?
0761デフォルトの名無しさん
2007/01/08(月) 14:09:28Javaだろ普通
0762デフォルトの名無しさん
2007/01/08(月) 14:10:270763デフォルトの名無しさん
2007/01/08(月) 14:11:470764デフォルトの名無しさん
2007/01/08(月) 14:13:18コンパイルしないと(ry
0765デフォルトの名無しさん
2007/01/08(月) 14:17:19Cで書いてあればどっからでも呼べんだよ。
0766デフォルトの名無しさん
2007/01/08(月) 14:24:01C#使ってるいみねーじゃん
移植性考えるならJava使うだろ普通
0767デフォルトの名無しさん
2007/01/08(月) 14:27:190768デフォルトの名無しさん
2007/01/08(月) 14:31:080769デフォルトの名無しさん
2007/01/08(月) 14:46:040770デフォルトの名無しさん
2007/01/08(月) 14:48:090771デフォルトの名無しさん
2007/01/08(月) 14:51:22Unix系OSにしたりするからなー
0772デフォルトの名無しさん
2007/01/08(月) 14:54:540773デフォルトの名無しさん
2007/01/08(月) 14:57:09馬鹿とハサミは使いよう
ハサミが悪いわけではない
0774デフォルトの名無しさん
2007/01/08(月) 15:27:11C/C++への書き換えを依頼するんですが出来ますでしょうか?
因みにそのSEの使用可能言語はC,Java,C++,ASP,VB,Perl,Ruby,PHPです
0775デフォルトの名無しさん
2007/01/08(月) 15:29:380776デフォルトの名無しさん
2007/01/08(月) 15:32:17きっとSEは「出来る」というに決まってるだろうからなぁw
0777デフォルトの名無しさん
2007/01/08(月) 15:39:34C# -> C/C++ は。。。逆なら大丈夫だと思うが
0778デフォルトの名無しさん
2007/01/08(月) 15:41:380779デフォルトの名無しさん
2007/01/08(月) 15:41:57DataSetで問題ないと思う
まあSQLも覚えると楽しいので反対はしないが
DataSetはもともと組み込まれてるものだし、ちょっと試してみては
0780デフォルトの名無しさん
2007/01/08(月) 15:42:370781デフォルトの名無しさん
2007/01/08(月) 15:42:430782デフォルトの名無しさん
2007/01/08(月) 15:42:58え゛、.NET FrameworkのC++ぢゃねの?
0783デフォルトの名無しさん
2007/01/08(月) 15:49:090784デフォルトの名無しさん
2007/01/08(月) 15:49:28人間にやらせる必要なんてねえ。
0785774
2007/01/08(月) 15:54:14そうなんですよ。それが一番恐いんですよねw
今思いついたんですが、Code ProviderでC#<->C++/CLIに変換し
C++/CLIをC++に変換したら読めますでしょうか?
そもそもVB,C#,C++/CLIから、それぞれC++に書き換えるとしたら
言語の構造からしてどれが一番やり易いのでしょうかね?
どうしてもC++に書き換えねばいけないので、聞かせて頂きます
0786デフォルトの名無しさん
2007/01/08(月) 15:56:24それだ!
0787774
2007/01/08(月) 15:56:520788デフォルトの名無しさん
2007/01/08(月) 15:57:44速度もそんな変わらないし、.net入るPCなら環境依存もせず
使えるのにな
実際ネイティブC++にやろうとしたら、GCに任せっぱなしの
糞ソースにメモリ開放ロジックを大量に追加してやることになるだろうなw
腕利きって言ってるんだからやらしてやれw
0789デフォルトの名無しさん
2007/01/08(月) 15:58:00わからんではないがお前は間違ってるな
自分のスキルの無さを置いておいて目の前にいる人間を信用できないん
だったら、お前に人を使う資格なんてない
0790デフォルトの名無しさん
2007/01/08(月) 15:58:05そこ置いちゃったら話になんねーだろオイ
0791デフォルトの名無しさん
2007/01/08(月) 15:58:27CLR使っていいなら人間が変換する必要ないって
0792デフォルトの名無しさん
2007/01/08(月) 15:58:44じゃあC#orC++/CLIでdllを書いてC++からはそれを呼び出して終わり
0793デフォルトの名無しさん
2007/01/08(月) 16:01:000794774
2007/01/08(月) 16:03:37C#orC++/CLIで製作するとC++に比べて、Vistaでも初回起動や画面描画が遅いし、メモリは少し多めに食うし
新しく開くコントロールの初期化が鈍いし、GUI周りは極端に遅い等、VM上で動かすデメリットやライブラリの悪さ等のデメリットがあり
速度が格段に落ちるようなのでネイティブに変換したいのですが、どうでしょうかね?
0795デフォルトの名無しさん
2007/01/08(月) 16:07:331から作れ
0796デフォルトの名無しさん
2007/01/08(月) 16:13:04割とその感覚に同意
C# に慣れてきた状態で
いきなり Perl の古典的スクリプト読むの辛い
0797デフォルトの名無しさん
2007/01/08(月) 16:20:390798デフォルトの名無しさん
2007/01/08(月) 16:41:47お前は本気で言ってんのか?
お前はあほか?
0799デフォルトの名無しさん
2007/01/08(月) 16:48:24作りが悪いままC++に置き換えてもやっぱり遅いww
0800デフォルトの名無しさん
2007/01/08(月) 17:10:030801デフォルトの名無しさん
2007/01/08(月) 17:10:08自前のクラスのcheckedが別のフォームとかでtrueになった時点で処理をする
ようなプログラムがしたいんですけど
これはどういうことを調べればいいですか?
キーワードだけでも教えてください
よろしくです
0802デフォルトの名無しさん
2007/01/08(月) 17:11:520803デフォルトの名無しさん
2007/01/08(月) 17:12:12プロパティとして公開して、そのsetterでお好きな処理を。
0804デフォルトの名無しさん
2007/01/08(月) 17:17:09同意
初期起動や描画が遅いってのは完全に作りが悪い
GUIの表示自体は今のPCじゃ肉眼では判断できないぐらい差はない
文字列処理やcollectionなどに追加するロジックに問題があるんだろうな
0805デフォルトの名無しさん
2007/01/08(月) 17:22:23そのイベントを発生させるのに必要なクラスというか命令文というか
そのキーワードを教えてくださいませ
>>803
set
{
checked=value;
if(value)
checkedEvents();
}
こんな感じですか?
0806デフォルトの名無しさん
2007/01/08(月) 17:25:28event
0807デフォルトの名無しさん
2007/01/08(月) 17:32:43http://msdn2.microsoft.com/ja-jp/library/ms173168(vs.80).aspx
0808デフォルトの名無しさん
2007/01/08(月) 18:57:20C#でP2P実装って出来んのかな?C++とかJavaならメジャーだが、.NETって聞かないよね
0809デフォルトの名無しさん
2007/01/08(月) 19:02:00出来ないと思った理由を聞かせてくれますか?
0810デフォルトの名無しさん
2007/01/08(月) 19:02:43おまえ・・・あれか?
0811デフォルトの名無しさん
2007/01/08(月) 19:09:43Javaだとフリーのライブラリがあるから楽。
言語の優劣じゃなくてそういうこと。
0812デフォルトの名無しさん
2007/01/08(月) 19:09:45なんで?
0813デフォルトの名無しさん
2007/01/08(月) 19:14:36おそらく今の808にはどんな言語でも実装不可能
0814デフォルトの名無しさん
2007/01/08(月) 19:16:090815デフォルトの名無しさん
2007/01/08(月) 19:21:560816デフォルトの名無しさん
2007/01/08(月) 19:22:14日本だけで2、3個出たけどね。
0817デフォルトの名無しさん
2007/01/08(月) 19:22:42初回だけってことは名前解決に時間がかかってんじゃねぇのか?
DNSまわりをチェックしれ。
0818812
2007/01/08(月) 19:32:41それがさ、ブラウザでは即効レスポンスなのよ。
実はインターネット回線でVPNもしてるんだけどコレを切ると解決する。
ちなみにVPNの方に問い合わせに行かない設定にはしてある。
ボスケテ
0819デフォルトの名無しさん
2007/01/08(月) 19:34:50それを見る限りDataSetとかそういう問題じゃないような。
その60万件のデータっていうのは、全てが同時に必要なデータなのかな?
必要なときだけメモリに読み込むようにすればいいのでは?
0820デフォルトの名無しさん
2007/01/08(月) 19:36:121.1? 2.0?
0821デフォルトの名無しさん
2007/01/08(月) 19:37:01鯖への攻撃防御とか。
0822デフォルトの名無しさん
2007/01/08(月) 19:38:47記述的には一度に全部読み込んだほうが楽だけど
普通は必要な分だけメモリに割り当てるよな
0823デフォルトの名無しさん
2007/01/08(月) 19:39:39>>815
多分機械では変換できないと思うよん
0824デフォルトの名無しさん
2007/01/08(月) 19:40:40インスタンスとオブジェクトの違いを述べよ
0825デフォルトの名無しさん
2007/01/08(月) 19:44:360827デフォルトの名無しさん
2007/01/08(月) 19:48:540828デフォルトの名無しさん
2007/01/08(月) 19:56:50「リモートネットワークでデフォルトゲートウェイを使う」はチェックしていません。
0829デフォルトの名無しさん
2007/01/08(月) 20:02:270830812
2007/01/08(月) 20:06:54http://bbs.freedeai.com/src/up0060.jpg
192.168.1.1 ローカルのゲートウェイ
192.168.1.101 実行PC(ローカル側)
192.168.11.1 仮想ネットワークのゲートウェイ
192.168.11.50 実行PC(仮想ネットワーク側)
赤色で消してあるのはVPNサーバーです。
ブラウザでは問題無いので、なんとか出来ると思っているのですが・・・
0831820
2007/01/08(月) 20:09:592.0 で GetResponse が低速になる現象、こっちでも確認したことがある。
んで、俺が取った解決策なんだが……
1.1 を使った(*ノ∀`)
すまね orz
0832デフォルトの名無しさん
2007/01/08(月) 20:12:39>>830
試しに、HTTP 1.0 を使ってみてください。もしかしたらもしかするんで。
0833デフォルトの名無しさん
2007/01/08(月) 20:14:59まさか自分たちが勧めてるC#使っていないわけないよね?
0834デフォルトの名無しさん
2007/01/08(月) 20:16:440835デフォルトの名無しさん
2007/01/08(月) 20:17:10C言語の配列と同じ感覚でアクセスしたら負荷が酷いことになったりしないでしょうか?心配です。
0836デフォルトの名無しさん
2007/01/08(月) 20:17:120837デフォルトの名無しさん
2007/01/08(月) 20:18:06酷いことにはならんが、どうしても速度を稼ぐ必要があるならポインタ使えばいい。
0838デフォルトの名無しさん
2007/01/08(月) 20:19:460839デフォルトの名無しさん
2007/01/08(月) 20:21:210840デフォルトの名無しさん
2007/01/08(月) 20:23:18ありがとうございます。
まずは素直に配列を使って、駄目だったら他の方法を試してみます。
0841デフォルトの名無しさん
2007/01/08(月) 20:34:40ネイティブ?
マネージドだと中間コードだからソース覗けるよね?
0842デフォルトの名無しさん
2007/01/08(月) 20:35:490843デフォルトの名無しさん
2007/01/08(月) 20:58:10自分たちはネイティブでやってるの?
せこいね
社内専用VC++12.0みたいなのあるのかな?
それくれよ
0844デフォルトの名無しさん
2007/01/08(月) 21:02:23ここまで冬を感じるレスは初めてだ
0845デフォルトの名無しさん
2007/01/08(月) 21:04:15ここだけの秘密だよ
VC++8なら手に入る
0846デフォルトの名無しさん
2007/01/08(月) 21:12:590847デフォルトの名無しさん
2007/01/08(月) 21:34:01業務アプリでC#が遅いってやつはソース晒せ。ボコボコにされるから。
趣味でプログラムしてて開発効率に無関心なやつは黙ってろ。お前に評価できるわけ無い。
大抵このうちのどれかでおk
0849デフォルトの名無しさん
2007/01/08(月) 22:06:340850デフォルトの名無しさん
2007/01/08(月) 22:09:550851820
2007/01/08(月) 22:20:44ごめん。こっちも起動直後の GetResponse で遅くなってた (´・ω・`)
それ以降は全く普通にレスポンス取れるんだけど…… orz
0852デフォルトの名無しさん
2007/01/08(月) 22:34:32手当たり次第に出すよ。
これじゃないか
http://msdn2.microsoft.com/ja-jp/library/fze2ytx2(VS.80).aspx
0853デフォルトの名無しさん
2007/01/08(月) 22:38:290854820
2007/01/08(月) 22:41:46それだ!
WebRequest#Proxy に WebProxy.GetDefaultProxy() を設定すると遅いんだけど、
GlobalProxySelection.GetEmptyWebProxy() にしたら早くなったっぽい。
0855デフォルトの名無しさん
2007/01/08(月) 22:41:50その質問は、レベル低い。
パンと菓子パンの違いを述べよ。
0856デフォルトの名無しさん
2007/01/08(月) 22:43:54外人さんは他所に言ってね
0857852
2007/01/08(月) 22:44:03vpn GetResponseでぐぐっただけだけど。
0859デフォルトの名無しさん
2007/01/08(月) 22:47:44訳の分からん独り言にいちいちレスすんなよ
0860デフォルトの名無しさん
2007/01/08(月) 23:11:40これだと解決しないんですけど
イベント発生させるにはデリゲートを呼ばなければいけないわけで
デリゲート内でcheckをtrueにしてイベント処理(チェックがtrueの場合の処理)を
やればいいってことなんでしょうけど
これはすぐにtrueにならなければ、Trueの場合の処理が行えないことになりませんか?
Trueにいつなるかはユーザーのタイミング次第であり、チェックされるまで次の処理をやらないで待機するようにしたいんです
イベントだと、デリゲートが呼ばれた瞬間、イベント処理が始まるので、falseをイベントハンドラに渡してしまう可能性があります
0861デフォルトの名無しさん
2007/01/08(月) 23:17:46もう少し平易な日本語で喋ってくれ。
0862デフォルトの名無しさん
2007/01/08(月) 23:25:19つまり、「trueになった」ってことを知りたいんです
trueになるまでは、次の処理をしないようにしたいんです
その後イベントでもメソッドでも何でもいいですけど
Checked=true//←ここでtrueになる
//Trueにならなければここで、待機
MessageBox("Trueになったよ")
0863デフォルトの名無しさん
2007/01/08(月) 23:30:38true になるのかならないのか、はっきりしてください。
0864デフォルトの名無しさん
2007/01/08(月) 23:34:20trueには必ずなるけど、いつなるかはわかりませんので
その間入力待ちしたいわけです
0865デフォルトの名無しさん
2007/01/08(月) 23:36:310866デフォルトの名無しさん
2007/01/08(月) 23:42:16>>つまり、「trueになった」ってことを知りたいんです
trueになった時点でデリヘルに知らせてやればOK
発想を切り替えろ
0867デフォルトの名無しさん
2007/01/08(月) 23:45:000868デフォルトの名無しさん
2007/01/08(月) 23:46:59while(!checked)Application.DoEvents();
0869デフォルトの名無しさん
2007/01/08(月) 23:48:22おまえはプログラムに向いてない。
おまえヘイポー?
0870デフォルトの名無しさん
2007/01/08(月) 23:49:38そのTrueになったってことを知りたいんです
なった後にどうすればいいかじゃないです
0871デフォルトの名無しさん
2007/01/08(月) 23:51:290872デフォルトの名無しさん
2007/01/08(月) 23:51:44だからCheckedにセッターでも作ったって、それが呼ばれたら
リスナーよびゃ―インだろがハゲええええええええええええ
0873デフォルトの名無しさん
2007/01/08(月) 23:54:04同じスレッドならイベントで出来るだろ。
まあ単なるプロパティにしてもいいけど
ていうか、何がしたいのか分かりやすいようにかいてくれ
0874デフォルトの名無しさん
2007/01/08(月) 23:57:44それは無理です。
処理が終わる終わらないというわけではないので
>>872
セッターとかカタカナじゃなくて英語で教えてください
Trueになったら処理をしたいわけです
Trueにいつなるかはわかりません
その間は処理はしたくないわけです
Trueになったらデリゲートを呼び出せばいいといいますけど
どういう記述をしろといっているわけですか?
Trueかfalseかに関わらず次の処理が行われるので、デリゲートもfalseのまま呼び出されて
True処理がされないことになります。
0875デフォルトの名無しさん
2007/01/08(月) 23:58:50さてはつりだな
つりだ。
つ
0876デフォルトの名無しさん
2007/01/09(火) 00:00:03今のコードをさらせ
0877デフォルトの名無しさん
2007/01/09(火) 00:00:330878デフォルトの名無しさん
2007/01/09(火) 00:01:18わしゃC#よく知らんが
SetChecked(boolean checked){
Checked=true;
でリゲート呼び出し
}
って書きゃいんじゃねーの?
んでCheckedをセットするとこで↑のメソッドでセットするように素りゃインだろ?
0879デフォルトの名無しさん
2007/01/09(火) 00:02:20まあ自分だけで完結するならいいけど、質問して他人を巻き込まんでこれ
0880デフォルトの名無しさん
2007/01/09(火) 00:02:200881デフォルトの名無しさん
2007/01/09(火) 00:02:22主語を書いてくれ。
まず誰と誰と誰(?)が居て。
処理をしたいのは誰で、Trueになったことを知りたいのは誰でとか。
それを省略しているから意味が全く分からんのだよ。
0882デフォルトの名無しさん
2007/01/09(火) 00:02:50//Trueにならなければここで、待機
MessageBox("Trueになったよ")
0883デフォルトの名無しさん
2007/01/09(火) 00:02:54A「おはよう」
と言って来たので
B「おはよう」
と言い返します
しかし、Aさんはいつ来るかもわかりませんし
Aさんがおはようと言うかもわかりません。
言うか言わないか、来るか来ないかしばらくまって
どうしても来なさそうなら、家に帰ろうとします
>言うか言わないか、来るか来ないかしばらくまって
この部分を実現したいんです
0884デフォルトの名無しさん
2007/01/09(火) 00:03:12プロパティ使いなよ。
ところでセッターって言ってる人ってJAVAの人?
0885デフォルトの名無しさん
2007/01/09(火) 00:04:040886デフォルトの名無しさん
2007/01/09(火) 00:04:09プログレスバーとか、あるだろいろいろ
0887デフォルトの名無しさん
2007/01/09(火) 00:05:07>>882
それだと自分でTrueしてるじゃないですか?
そうじゃありません。
いつtrueになるかはわからないんです
0888デフォルトの名無しさん
2007/01/09(火) 00:05:37set でいいよ。。。
0889デフォルトの名無しさん
2007/01/09(火) 00:06:17いや、デリゲートやりたいと一言も言ってません
誰かが、イベントを使えばできると言ったから
そういう話の流れになっただけで
別にデリゲートとかイベントとかはどうでもいいんです
0890デフォルトの名無しさん
2007/01/09(火) 00:06:30プロパティとてセッターと表現しても伝わるだろ
そんなところにこだわる奴の方が(ry
0891デフォルトの名無しさん
2007/01/09(火) 00:07:47誰がどうやってtrueにすんのよ?
0892デフォルトの名無しさん
2007/01/09(火) 00:07:54やっぱ釣氏?
0893デフォルトの名無しさん
2007/01/09(火) 00:08:32無 理 諦 め ろ
0894デフォルトの名無しさん
2007/01/09(火) 00:08:34SetCheckedメソッドがよばれるときがTrueになる時だろがw
今現在Checkedにtrueをセットしてるところを直接セットするんじゃなく
SetCheckedメソッドを介してセットするようにすれば、そのメソッドが
呼ばれたときがTrueがセットされた時とわかるだろうが
ちなみに>>878のコードは
this.Checked=checked;
(C#でthisの表現しラン)
ですたw
0895デフォルトの名無しさん
2007/01/09(火) 00:08:35AさんBさんてのは、別のスレッドなのか?
そうなら>>873
0896デフォルトの名無しさん
2007/01/09(火) 00:10:02setってプロパティですか?
その中に大量のコードを書くんでしょうか?
setで「Trueになったよ」と知らせるコードだけを書いたとしても
受け取る側はtrueになるまでの間待機しなければなりません
待機している間、たとえばwhileだとwhileの中の処理だけをして
Trueにしてくれないんじゃないでしょうか?
trueになる処理は別スレッドでやりたいんです
0897デフォルトの名無しさん
2007/01/09(火) 00:10:11セッター書けというと setXXX( )メソッド書く奴がいるんだよ。。。
0898デフォルトの名無しさん
2007/01/09(火) 00:10:40まずこいつがプログラマには向いて無いことはだけは、はっきり分かった
0899デフォルトの名無しさん
2007/01/09(火) 00:11:24お前は何を言っているんだ
true にしてから知らせればいいじゃないか
0900デフォルトの名無しさん
2007/01/09(火) 00:11:26待機してない。
動作は関数とかわらん。
0901デフォルトの名無しさん
2007/01/09(火) 00:12:180902デフォルトの名無しさん
2007/01/09(火) 00:13:260903デフォルトの名無しさん
2007/01/09(火) 00:13:31待ってるんじゃなくてコールバックだろ
0904デフォルトの名無しさん
2007/01/09(火) 00:13:40いえ、それだと無理です。
それを呼び出すにはどうするんですか?
trueになったら呼び出されるといいますけど
trueにいつなるかはわからないので
setCheckedを呼び出さずに、falseのまま次の処理をしてしまうかもしれません
次の処理をしてしまってからではだめなんです
0905デフォルトの名無しさん
2007/01/09(火) 00:15:000906デフォルトの名無しさん
2007/01/09(火) 00:15:470907デフォルトの名無しさん
2007/01/09(火) 00:15:470908デフォルトの名無しさん
2007/01/09(火) 00:16:16ちょwwwww待機wwwww
うけるんですけどwwwwwマジで
それなんていう組み込みwwwww
0909デフォルトの名無しさん
2007/01/09(火) 00:16:23Trueにいつなるかわからないのに呼び出せないじゃないですか
呼び出す処理をしている部分をfalseのまま飛び越えてしまうかもしれません
それではだめなんです
>>900
それだと、trueになったというイベントが発生しないと
拾えないということですね。もしwhileに入るときにfalseならfolseのまま
ずっとループするわけで
0910デフォルトの名無しさん
2007/01/09(火) 00:16:56873でいってるけどEvent使えばいいんじゃね?
で、Eventをセットするのをプロパティのsetのとこでやると(日本語わかりづらいが
マルチスレッドのコード書いたことあるなら理解できるはず
0911デフォルトの名無しさん
2007/01/09(火) 00:17:330912デフォルトの名無しさん
2007/01/09(火) 00:18:05現在のコード
Checked=True
なんか処理
修正後のコード
SetChecked(True)
なんか処理
SetChecked(boolean checked)
this.Checked=True;
if (checked==True){
OtherThreadObj.callBackMethod();
}
}
0913デフォルトの名無しさん
2007/01/09(火) 00:18:28AutoReset〜でもいいけど
0914デフォルトの名無しさん
2007/01/09(火) 00:18:330915デフォルトの名無しさん
2007/01/09(火) 00:19:24また間違えた
SetChecked(boolean checked)
this.Checked=checked)
if (checked==True){
OtherThreadObj.callBackMethod();
}
}
0916デフォルトの名無しさん
2007/01/09(火) 00:19:41form1とform2があって、form1の内の自作クラスのcheckedがtrueになったとき
form2でメッセージボックスを開きたいのか?
0917801
2007/01/09(火) 00:20:14SetChecked(True)
なんか処理
これだと、Checkedの初期値はfalseなので
呼び出されるけど処理もしないで、「なんか処理」
することになります
0918デフォルトの名無しさん
2007/01/09(火) 00:20:32コード書いてやれよ
そうすりゃ収まるんだから
0919デフォルトの名無しさん
2007/01/09(火) 00:21:34いやだから、プログラム全体の内のどこかではTrueをセットしてるところがあるんでしょ?
そこを修正するんだよ
0920デフォルトの名無しさん
2007/01/09(火) 00:22:03あといまアク禁で携帯なの…
0921デフォルトの名無しさん
2007/01/09(火) 00:22:10誰から?
Checkedをtrueにした時だけ呼ばれるように汁、って話ぢゃねの?
0922デフォルトの名無しさん
2007/01/09(火) 00:22:17まず内容を簡潔にケチらずにすべて書け。
0923デフォルトの名無しさん
2007/01/09(火) 00:22:510924デフォルトの名無しさん
2007/01/09(火) 00:23:14CheckedがTrueになったタイミングが知りたいんだろ?
お前らも相当アホだなw
0925デフォルトの名無しさん
2007/01/09(火) 00:24:02お前も何が言いたいのか分からんぞ…
0926デフォルトの名無しさん
2007/01/09(火) 00:24:14その書き方もあいまい。
主語がないよ。
>>916であってるのか?
0927デフォルトの名無しさん
2007/01/09(火) 00:24:25後は任せた。
0928デフォルトの名無しさん
2007/01/09(火) 00:24:50スレッドその1
{
:
Checked が True になるまでブロックして待つ;
なんか処理;
:
}
スレッドその2
{
:
スレッドその1が見張っている Checked を True にする;
:
}
0929デフォルトの名無しさん
2007/01/09(火) 00:25:06俺の分もがんばって!
0930デフォルトの名無しさん
2007/01/09(火) 00:25:21だkら、誰かが CheckedをTrue にするんだろ?
その時、動かしたい処理を呼び出せよw
0931デフォルトの名無しさん
2007/01/09(火) 00:25:42そういうレベルじゃなさそうw
0932デフォルトの名無しさん
2007/01/09(火) 00:25:58だから誰がタイミングをしりたいんだ?て話だろ。
パターン別に答えも出とる
0933801
2007/01/09(火) 00:26:03もし、falseならどうなりますか?
「なんか処理」してしまうでしょ?
なんか処理は、trueにならない限りしたくないんです。
かといって、ずっと足踏みもできませんから、時間がたてば
その処理自体をキャンセルしたいんです
>>919
trueするところはありません。trueになるかならないかは
相手次第です
0934デフォルトの名無しさん
2007/01/09(火) 00:26:08客に向かって主語が無いとかユーのかよw
0935デフォルトの名無しさん
2007/01/09(火) 00:26:11拒否します
0936デフォルトの名無しさん
2007/01/09(火) 00:26:25次スレよろ!
0937デフォルトの名無しさん
2007/01/09(火) 00:26:50あいてって誰だよ
trueにするところが無いならtrueになる事がないって事じゃねーかw
0938デフォルトの名無しさん
2007/01/09(火) 00:27:18「相手」って誰?何者?
0939デフォルトの名無しさん
2007/01/09(火) 00:27:41if else
0940デフォルトの名無しさん
2007/01/09(火) 00:27:48DateTime limit = DateTime.Now + TimeSpan.FromSecond(1);
while(!checked && limit < DateTime.Now) Application.DoEvents();
0941801
2007/01/09(火) 00:27:58明日仕事が早いんでもう寝ます。。
付き合ってくれた方はご苦労さんでした
0942デフォルトの名無しさん
2007/01/09(火) 00:28:20質問にこたえろよwww
0943デフォルトの名無しさん
2007/01/09(火) 00:28:300944デフォルトの名無しさん
2007/01/09(火) 00:29:050945デフォルトの名無しさん
2007/01/09(火) 00:29:17別のフォームとからしい。w
0946デフォルトの名無しさん
2007/01/09(火) 00:29:32IDがないからわかんねw
0947801
2007/01/09(火) 00:29:39そうです!!
スレッド2は並列に動いているわけです
そのタイミングをスレッド1で同期させたいわけです
>>930
trueになってからって、なったことを知る方法があるなら
教えてください
0949デフォルトの名無しさん
2007/01/09(火) 00:30:150950デフォルトの名無しさん
2007/01/09(火) 00:31:130952デフォルトの名無しさん
2007/01/09(火) 00:31:240953デフォルトの名無しさん
2007/01/09(火) 00:31:44スレッドの前に制御構文勉強しろ。
まずはそこからだ。
0954デフォルトの名無しさん
2007/01/09(火) 00:32:17だからさっきから言ってるように>>928の例で言うと
スレッド2でCheckedにtrueをセットするところをメソッドかなんかに置き換えればいいんだろ
Thread2
Thread1.setChecked(true)
Trhead1
setChecked(booean checked){
・・・・
}
0955デフォルトの名無しさん
2007/01/09(火) 00:32:370956デフォルトの名無しさん
2007/01/09(火) 00:33:07> trueになったことを知る方法
いヴぇんと、とか
0957デフォルトの名無しさん
2007/01/09(火) 00:33:22まじで何がしたいのか分からん。
まず内容を簡潔にケチらずにすべて書け。
0958デフォルトの名無しさん
2007/01/09(火) 00:33:54>>895
>>910
>>913
どうせ理解できないんだろ
0960デフォルトの名無しさん
2007/01/09(火) 00:35:20OK。そういう用途なら AspectC# 使え。全部解決する。
0961デフォルトの名無しさん
2007/01/09(火) 00:35:470962デフォルトの名無しさん
2007/01/09(火) 00:35:40そんなのポーリングしかないにきまってるだろ
0963デフォルトの名無しさん
2007/01/09(火) 00:35:52Thread2
Thread1.check()
Thread1
check(){
Checked=True;
}
0964デフォルトの名無しさん
2007/01/09(火) 00:36:300965デフォルトの名無しさん
2007/01/09(火) 00:37:05それ以外は確実には不可能
0966デフォルトの名無しさん
2007/01/09(火) 00:38:12以下にキーワードが書いてあるからそれをぐぐれ
>>958
回答してるやつらが釣りかレベル低すぎ
0967デフォルトの名無しさん
2007/01/09(火) 00:39:11意味ありげな情報を小出しにしつつ、
もっともらしい仕様をこねくりだして、
煽らず真面目を装い、
レスを読まず、
つねにとんちんかんな方向へ向かって回答者の母性愛を誘い……
0968デフォルトの名無しさん
2007/01/09(火) 00:39:49よくわかんないけどきっと同じようなもんだろうってことでこたえてやってんじゃねーかー
0969デフォルトの名無しさん
2007/01/09(火) 00:39:56セットする側が変更不可だとよ
0970デフォルトの名無しさん
2007/01/09(火) 00:39:58適当
bool frag=false;
while()
{
while(!isChecked)
{
Thread.Sleep( 適当 )
}
if(frag==false)処理
frag=true;
}
0971デフォルトの名無しさん
2007/01/09(火) 00:41:370972デフォルトの名無しさん
2007/01/09(火) 00:43:020973812
2007/01/09(火) 00:44:11サンクス!!
それらをヒントに調べたら
WebRequest.Proxy = null;
でOKだったよ!
プロキシを使う・使わないで
WebRequest.Proxy = WebRequest.DefaultWebProxy;
と切り替えることにします。
感謝。
0974デフォルトの名無しさん
2007/01/09(火) 00:44:46ここでスレ立てできないとは。
何故だ
0975852
2007/01/09(火) 00:45:53でも奴にはてこずっている。
0976デフォルトの名無しさん
2007/01/09(火) 00:46:370977デフォルトの名無しさん
2007/01/09(火) 00:50:57変更不可なのかw
.NETでJavassistみたいなのがあるんだったらそれ使うとか。
AspectC#で済むんであればそれでもいいと思うけど
0978801
2007/01/09(火) 00:53:58falseだった場合はどうなりますか?
>>970
一番外側のwhileはどうなってますか?
あと、繰り返し処理はだめです
1回だけtrueかfalseかの判定を受け取るので
何度もやるとオーバーヒートします
0979デフォルトの名無しさん
2007/01/09(火) 00:54:480980デフォルトの名無しさん
2007/01/09(火) 00:55:02ふらっとC♯, C#(初心者用) Part12
http://pc10.2ch.net/test/read.cgi/tech/1168271508/
0981デフォルトの名無しさん
2007/01/09(火) 00:55:49falseならThread1はまってるんだろ?
0982801
2007/01/09(火) 00:56:14そのタイミングがくるまで何度も処理するのはダメなんです
1回だけだから、すぐ処理すると初期値のfalseになってしまいます
0983801
2007/01/09(火) 00:58:02check(){
Checked=True;
}
これがよくわからないです。
ただのメソッドですか?
trueだった場合の処理は、判定をもらうところの
直後でないとだめなんです。
trueならいつ実行してもいいってわけではありません。
だから、変更したときが知りたいんです
0984デフォルトの名無しさん
2007/01/09(火) 00:59:140985デフォルトの名無しさん
2007/01/09(火) 00:59:26初期値に戻るてどういうことだ
0986801
2007/01/09(火) 01:00:08これだと、thread2は、Check()を実行したあとに
次の処理をしてしまいます。
それはダメなんです。
どのthreadも値をもらうまでは待機していなければなりません
0987デフォルトの名無しさん
2007/01/09(火) 01:00:54確実には不可能なんだよ
0989デフォルトの名無しさん
2007/01/09(火) 01:01:23ttp://msdn2.microsoft.com/ja-jp/library/ms173179(VS.80).aspx
ここの AutoResetEvent とか使えば。
0990デフォルトの名無しさん
2007/01/09(火) 01:01:510991デフォルトの名無しさん
2007/01/09(火) 01:02:00あとからあとから細かい条件つけんなよ
先に全部出せ
0992デフォルトの名無しさん
2007/01/09(火) 01:03:18反則わざ以外不可能
別スレッドじゃなくて変更可能ならプロパティで十分なのに
0993デフォルトの名無しさん
2007/01/09(火) 01:03:38>そのタイミングがくるまで何度も処理するのはダメなんです
ナニを何度も処理すると思っているのかわからん
whle(Checked==false);
Trueになったらする処理
でいんじゃねーの?
まー一度処理シーケンスをちゃんと洗い出して整理した方がいいだろう。
0994デフォルトの名無しさん
2007/01/09(火) 01:04:441000まで踊れ
0995デフォルトの名無しさん
2007/01/09(火) 01:06:310996デフォルトの名無しさん
2007/01/09(火) 01:06:35どうやるか知らんけど
0997デフォルトの名無しさん
2007/01/09(火) 01:08:20あいや駄目かな?
0998デフォルトの名無しさん
2007/01/09(火) 01:08:35whle(Checked==false);
こんなコード実際にかいたらどうなるかやってみろやw
0999801
2007/01/09(火) 01:08:40いや、変更不可のほうは待機しなくていいです
そうでないと、値を返してくれないので
間違ってました
>>993
whle(Checked==false);
↑これしている間も、checkedをtrueにする別のthreadの値を受け付けますか?
1000801
2007/01/09(火) 01:10:0410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。