C♯相談室 Part27
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん♯
2005/11/09(水) 22:55:41(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
過去スレは>>2-5あたり。
関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
0002名無しさん♯
2005/11/09(水) 22:56:24Part26 http://pc8.2ch.net/test/read.cgi/tech/1127063469/
Part25 http://pc8.2ch.net/test/read.cgi/tech/1122352650/
Part24 http://pc8.2ch.net/test/read.cgi/tech/1117631000/
Part23 http://pc8.2ch.net/test/read.cgi/tech/1112968209/
Part22 http://pc8.2ch.net/test/read.cgi/tech/1109630502/
Part21 http://pc5.2ch.net/test/read.cgi/tech/1106490240/
Part20 http://pc5.2ch.net/test/read.cgi/tech/1103005153/
Part19 http://pc5.2ch.net/test/read.cgi/tech/1100240847/
Part18 http://pc5.2ch.net/test/read.cgi/tech/1096112588/
Part17 http://pc5.2ch.net/test/read.cgi/tech/1091284402/
Part16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/
Part15 http://pc5.2ch.net/test/read.cgi/tech/1083066815/
Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/
0003名無しさん♯
2005/11/09(水) 22:57:01Part13 http://pc2.2ch.net/test/read.cgi/tech/1071663456/ (ログ行方不明)
Part12 http://pc5.2ch.net/tech/kako/1066/10660/1066038651.html
Part11 http://pc5.2ch.net/tech/kako/1061/10612/1061262958.html
Part10 http://pc5.2ch.net/tech/kako/1051/10518/1051842450.html
Part9 http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/1032488831.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/1027531796.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/1022257078.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html
Part4 http://pc.2ch.net/tech/kako/1016/10165/1016597767.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html
0004デフォルトの名無しさん
2005/11/09(水) 23:01:02http://msdn.microsoft.com/vstudio/express/visualcsharp/
0005デフォルトの名無しさん
2005/11/09(水) 23:03:210006デフォルトの名無しさん
2005/11/09(水) 23:37:27class OuterClass
{
public InnerClass{}
}
ってなぜ内包させるの?
private等でならわかるが・・・
0007デフォルトの名無しさん
2005/11/09(水) 23:43:33class ListView.Item ...
class TreeView.Item ...
こういうノリ。
0008デフォルトの名無しさん
2005/11/09(水) 23:45:24159 - 衆 - 農林水産委員会 - 13号 平成16年04月27日 ○山田委員
エール大学神経病理学科外科部門の研究チームの検討を含め複数の研究で、剖検によりアルツハイマー病
あるいは痴呆症と診断されていた患者の三―一三%が実際はクロイツフェルト・ヤコブ病に罹患していた
ことが判明したとしている。米国では毎年アルツハイマー病と診断される患者が四百万人、痴呆症患者は
数十万人が発生していることから、最も少なく見積もって一万二千人以上のクロイツフェルト・ヤコブ病患者
が検出されず、公式統計に含まれない可能性がある。 注:12万人以上と思われる
実際、アルツハイマー病と診断された死亡患者数は一九七九年には八百五十七例であったものが、
二〇〇〇年には五十倍以上の五万例近くとなった。
159 - 衆 - 農林水産委員会 - 7号 平成16年03月18日 ○松木委員
記事の中に、アメリカでは、アルツハイマー病あるいは痴呆症と診断される人が年間四百万人いるそう
なんです。複数の研究機関の合同研究によると、このうち三から一三%が実際はヤコブ病であったことが
判明しております。少なく見積もっても十二万人はヤコブ病の公式統計に含まれていない可能性がある。
【狂牛病】米国食肉輸出連合会の米牛肉「安全」パンフを政府調査会座長代理が監修
http://news19.2ch.net/test/read.cgi/newsplus/1129163175/l50
「アルツハイマーや若年性痴呆の中に変異型ヤコブ病患者が」・・米国牛輸入再開に京大医学部教授衝撃的指摘
http://news18.2ch.net/test/read.cgi/dqnplus/1120196765/
【vCJD】牛海綿状脳症(BSE)と同じ病気“日本人発症しやすい”…厚労省研究班
http://news16.2ch.net/test/read.cgi/scienceplus/1088575874/l50
【牛肉】米産牛肉輸入再開で、食品安全委員会、一般からの意見をホームページで募集
http://news19.2ch.net/test/read.cgi/newsplus/1130925735/
0009デフォルトの名無しさん
2005/11/09(水) 23:54:22class OuterClass {
private int id;
public class InnerClass : OuterClass {
public int GetId() {
return id;
}
}
}
なんてコードも有り。乱用はできないが。
0010デフォルトの名無しさん
2005/11/10(木) 00:02:45DirectShowっていうので出来るっぽいんですが、良い資料とかサンプルはありませんか?
001110
2005/11/10(木) 00:03:220012デフォルトの名無しさん
2005/11/10(木) 00:05:120013デフォルトの名無しさん
2005/11/10(木) 00:45:44そんなんプロパディgetでよくね?
0014デフォルトの名無しさん
2005/11/10(木) 00:48:55プロパティを使いたくなくなった
0015デフォルトの名無しさん
2005/11/10(木) 00:59:23皆さんはC#をどうやって勉強したでしょうか?
専門学校とか大学で勉強してるのでしょうか?
私は、一から本で勉強してるのですが、自分でちょっとオツムが足りないのかなとへこむほど
なかなか先に進めません。
どっか、学校に行った方がいいのでしょうか・・・・。
0016デフォルトの名無しさん
2005/11/10(木) 01:13:35できれば知り合いとかにいて色々どんな風にやってるのか見てみるのがいいと思うけど。
とにかく自分で何か作ってみるべし。
0017デフォルトの名無しさん
2005/11/10(木) 01:17:45getter、setterメソッドを見るとJavaの泥臭い部分を思い出すので素直にプロパティを使ってください。
0018デフォルトの名無しさん
2005/11/10(木) 01:31:470019デフォルトの名無しさん
2005/11/10(木) 01:34:470020デフォルトの名無しさん
2005/11/10(木) 01:34:48作りたいもん作ってりゃ上達する。
0021デフォルトの名無しさん
2005/11/10(木) 02:15:080022デフォルトの名無しさん
2005/11/10(木) 02:26:14教えてくれる知り合いがいればいいですが、いないですし・・・・。
本読んでやるしかないのかな・・・。
0023デフォルトの名無しさん
2005/11/10(木) 06:49:54とりあえず貪欲に(C#に限らず)本読みまくってコードを書きまくる。
MSDNをただ読むのもいいな。あれはこれ以上にない参考書だな。
そのとき分からんでも2度目3度目は段々分かるようになるものだ。
人のコード読むのもよし。
ぶっちゃけ継続的にやり続けていくしかないな。どうせどこまでいったって
ずっと勉強し続けなければならんのだから独力で勉強できるようになっと
いたほうがいい。
0024デフォルトの名無しさん
2005/11/10(木) 23:41:05XmlSerializerなどではエラーで保存できませんでした
何か良い方法ありませんか?
0025デフォルトの名無しさん
2005/11/10(木) 23:43:100026デフォルトの名無しさん
2005/11/11(金) 00:35:41100MBのDataSetを使うと、必ずメモリに100MBのデータを読み込んでしまうのでしょうか?
0027デフォルトの名無しさん
2005/11/11(金) 03:10:470028デフォルトの名無しさん
2005/11/11(金) 03:29:040029デフォルトの名無しさん
2005/11/11(金) 04:57:19C#の開発に特化する場合でEclipseの使い心地どうなのか知りたいです。
インテリセンスとか、リファクタとか。ぜんぜん知らないんですが、色々な連携するならEclipse、C#だけならVS2005というイメージがあります。
0030デフォルトの名無しさん
2005/11/11(金) 05:01:10だめぽ
http://www.atmarkit.co.jp/fdotnet/tools/eclipse/eclipse_04.html
0031デフォルトの名無しさん
2005/11/11(金) 09:44:06ttp://www.atmarkit.co.jp/fdotnet/basics/adonet01/adonet01_01.html
これを読めば自ずとわかるようになるよ。DataSetのサイズは検索クエリー次第。
0032デフォルトの名無しさん
2005/11/11(金) 11:06:53何を使って作るのがベストでしょうか?
0033デフォルトの名無しさん
2005/11/11(金) 11:24:280034デフォルトの名無しさん
2005/11/11(金) 11:26:340035デフォルトの名無しさん
2005/11/11(金) 11:28:00OpenJane Doe 以外になんかあったっけ
0036デフォルトの名無しさん
2005/11/11(金) 18:11:19XAML
0037デフォルトの名無しさん
2005/11/11(金) 19:20:18C♯かよ
表記統一しろよ
0038デフォルトの名無しさん
2005/11/11(金) 19:22:090039デフォルトの名無しさん
2005/11/11(金) 19:23:310040デフォルトの名無しさん
2005/11/11(金) 19:31:06#だと#で検索しても引っかかんだよ
とか思ったが、#のスレって変なのが多いのな
このまま♯でいいよ(´・ω・`)
0041デフォルトの名無しさん
2005/11/11(金) 19:45:440042デフォルトの名無しさん
2005/11/11(金) 20:41:33↑
このダイアログで使われているようなコントロールを使いたいのですが、
これは何というコントロールですか?
0043デフォルトの名無しさん
2005/11/11(金) 20:47:430044デフォルトの名無しさん
2005/11/11(金) 20:49:22004542
2005/11/11(金) 20:58:23ありがとうございます
0046デフォルトの名無しさん
2005/11/11(金) 21:08:37ユーザ登録すればソースコードをダウンロードできるでしょ
0047デフォルトの名無しさん
2005/11/11(金) 22:29:49データベースは使わずにお手軽に大量データを扱いたい。
検索などが遅いのはよいけど、データのロード(初動)に時間をかけたくない。みたいな感じで何かないかと
微妙な質問でした。
0048デフォルトの名無しさん
2005/11/11(金) 23:02:45画面にテキストボックスやチェックボックスが縦にいくつか並んでいます。
それをDBに保存するのですが、未チェックや未入力箇所があったら
その箇所が分かるように画面を自動スクロールして該当箇所が分かる
ようにする方法を教えてください。
それか最下部に移動でもかまいません。
現状では更新ボタンを押すとPostBackして必ず画面の最上部に移動してしまいます。
0049デフォルトの名無しさん
2005/11/11(金) 23:06:30どうなんでしょうか?
0050デフォルトの名無しさん
2005/11/11(金) 23:07:000051デフォルトの名無しさん
2005/11/11(金) 23:23:18…「#」は「ナンバー」で「♯」が「シャープ」なんだよね…
0052デフォルトの名無しさん
2005/11/11(金) 23:30:09XmlSerializer使ったらエラーになったので質問しました。
C#2003じゃダメだったけど、試しにC#2005でやったらできました。
0053デフォルトの名無しさん
2005/11/11(金) 23:32:54ナンバーと表記してシャープと読むということらしいぞ
0054デフォルトの名無しさん
2005/11/12(土) 00:17:23(ツリーでグループを作り、リストに項目を並べる)
考えてるんですが、グループをクリックしたら、そのグループに属する
項目をリストに表示、というのが、どうやったらいいのか意外に思いつきません。
ファイルシステム相手なら、FullPathとDirectory.GetFilesでいいんですが
どこかにサンプルとか考え方紹介してるところはないですか?
0055デフォルトの名無しさん
2005/11/12(土) 00:23:500056デフォルトの名無しさん
2005/11/12(土) 00:52:370057デフォルトの名無しさん
2005/11/12(土) 01:31:32状況によって
C# > C++
なんてことありえるか?
正直C++で表現できないプログラムはない
0058デフォルトの名無しさん
2005/11/12(土) 01:36:510059デフォルトの名無しさん
2005/11/12(土) 02:13:03C++のがポータビリティがあって当たり前
0060デフォルトの名無しさん
2005/11/12(土) 02:20:09意味不明
あなたが使えないだけでは?
0061デフォルトの名無しさん
2005/11/12(土) 02:32:47「理解が容易である」というのも評価基準になるだろう。
そもそものプログラミング言語の原点はそこなんだから。
0062デフォルトの名無しさん
2005/11/12(土) 02:45:16面倒です。いろいろと。
0063デフォルトの名無しさん
2005/11/12(土) 08:44:17なんてのはメールの署名に入れている人はアフォ1確でよねw
0064デフォルトの名無しさん
2005/11/12(土) 09:00:12状況によって
C++ > アセンブラ
なんてことありえるか?
正直アセンブラで表現できないプログラムはない
0065デフォルトの名無しさん
2005/11/12(土) 09:07:22状況によって
アセンブラ > 機械語
なんてこt(ry
0066デフォルトの名無しさん
2005/11/12(土) 09:08:19まあいいや、>>64はうまいな
0067デフォルトの名無しさん
2005/11/12(土) 09:13:52未だに01で打たないといけない分野もあるんだよ♥
0068デフォルトの名無しさん
2005/11/12(土) 09:39:42キーボード > トグルスイッチ
なんて(略)
0069デフォルトの名無しさん
2005/11/12(土) 12:22:520070デフォルトの名無しさん
2005/11/12(土) 13:57:02どういったものがあるのでしょうか(商用/非商用問わず)。
007170
2005/11/12(土) 14:18:04http://www.microsoft.com/japan/msdn/library/ja/dnvsent/html/dev.asp
http://www.gotdotnet.com/team/fxcop/
0073デフォルトの名無しさん
2005/11/12(土) 15:14:52ホストの追加とかその他もろもろ。。
0074デフォルトの名無しさん
2005/11/12(土) 15:17:38♯ シャープ
0075デフォルトの名無しさん
2005/11/12(土) 15:20:26UserControl1にもメニューとコンテキストメニューがあって
UserControl2にもメニューとコンテキストメニューがあり、一部共通、みたいな
どこかのクラスで管理しておいて、UserControlができるときにコードで割り当てた方がよいのかな
0076デフォルトの名無しさん
2005/11/12(土) 15:24:01アセンブラはアセンブラの実装以上のことはできない
たとえば昔のアセンブラだとMMXが使えない
0077デフォルトの名無しさん
2005/11/12(土) 18:00:23ttp://www.atmarkit.co.jp/fdotnet/special/networkprog/networkprog_01.html
ここにある
ttp://www.atmarkit.co.jp/fdotnet/special/networkprog/TcpFileExchange.zip
このソースを実行してみたのですがconnectに失敗します。
これはPCのネット環境の方が問題あるのでしょうか・・・
0078デフォルトの名無しさん
2005/11/12(土) 18:10:12ソースがあるんだから例外トラップぐらいしろと
0079デフォルトの名無しさん
2005/11/12(土) 19:14:11Debug版のexeとRelease版のexeってどう違うの?
サイズとか動作速度とかが違うの?
0080デフォルトの名無しさん
2005/11/12(土) 19:16:26最適化は、Debug 版はデフォルトでオフ、Release 版はデフォルトで ON になってる。
あと Debug 版にはデバッグ情報が入ってる。実行速度には影響しないけど、これ公開すると痛い人は痛い。
0081デフォルトの名無しさん
2005/11/12(土) 19:17:02008279
2005/11/12(土) 19:35:29配布は基本的にReleaseってことか
0083デフォルトの名無しさん
2005/11/12(土) 20:12:11(uint)Marshal.SizeOf(shfi),
SHGFI_ICON | SHGFI_SMALLICON);
bool ret;
ret=CloseHandle(hImageSmall);
ret=CloseHandle(shfi.hIcon);
で取得したハンドルを開放するにはどうしたらいいんでしょう?CloseHandleで開放しようとしてもfalseで帰ってきてしまい、GDIやUserを食いつぶしてしまいます・・・(´・ω・`)
0084デフォルトの名無しさん
2005/11/12(土) 20:45:04DesignerSerializerって何が使われるんでしょうか?
(デフォルトって意味で)
0085デフォルトの名無しさん
2005/11/12(土) 21:12:55ちゃんとMSDN読めよ。
> If SHGetFileInfo returns an icon handle in the hIcon member of
> the SHFILEINFO structure pointed to by psfi, you are responsible for
> freeing it with DestroyIcon when you no longer need it.
0086デフォルトの名無しさん
2005/11/13(日) 03:17:32取得したいんですがざっくりとでもいいんでやり方教えてください
008786
2005/11/13(日) 03:25:21カラーパレットをどう取得していいのか分かりません。
008848
2005/11/13(日) 03:31:54008986
2005/11/13(日) 05:15:100090デフォルトの名無しさん
2005/11/13(日) 05:27:110091デフォルトの名無しさん
2005/11/13(日) 11:07:54public static event A B
}
ってやると、
a.Bでアクセスできるけど、(new a()).Bではできないのね。
半日悩んだ…
C++のstaticもこんな仕様だっけ?
0092デフォルトの名無しさん
2005/11/13(日) 11:47:530093デフォルトの名無しさん
2005/11/13(日) 12:22:260094デフォルトの名無しさん
2005/11/13(日) 15:32:45インスタンスからstaticメソッド呼べるのを見るとJavaを思い出すよ……
0095デフォルトの名無しさん
2005/11/13(日) 16:22:270096デフォルトの名無しさん
2005/11/13(日) 16:28:12多重継承使えないので内部データ的にツリー構造で管理されるべきWindowがあるんだけど、そのWindowの親を知りたいときに多重継承できれば
class Window:WindowBase,TreeNode{}とやってWindow自体が親のポインタ知れるのに、
できないからしょうがなくWindowに親のポインタセットするとかへんなことしなきゃ何ね。
すごい汚い(´・ω・`)ショボーン
0097デフォルトの名無しさん
2005/11/13(日) 16:34:04拡張メソッドは自分自身を引数に渡すんだから文脈が違う。
0098デフォルトの名無しさん
2005/11/13(日) 17:47:320099デフォルトの名無しさん
2005/11/13(日) 17:51:170100デフォルトの名無しさん
2005/11/13(日) 18:17:530101デフォルトの名無しさん
2005/11/13(日) 18:36:240102デフォルトの名無しさん
2005/11/13(日) 19:46:53なぜC++つかわないの?
C#なんてマジ使えないっていうか、ほとんど使われていませんが?
0103デフォルトの名無しさん
2005/11/13(日) 19:50:27そうか。
0104デフォルトの名無しさん
2005/11/13(日) 19:52:370105デフォルトの名無しさん
2005/11/13(日) 19:54:47ご飯のない民衆にケーキを食べればいいのにといってるようなもんだな。
0106デフォルトの名無しさん
2005/11/13(日) 19:59:57今後、こういう開発が主流になるのかな。
0107デフォルトの名無しさん
2005/11/13(日) 20:58:160108デフォルトの名無しさん
2005/11/13(日) 22:03:19Windowsアプリケーション開発においてはな。
0109デフォルトの名無しさん
2005/11/13(日) 22:40:46VB,VC#なんてVC++6と比べたら鼻くそ
0110デフォルトの名無しさん
2005/11/13(日) 22:44:57C++使えるならC#なんて造作もなく(それこそ流し読み程度で)覚えられる代物なのに
お前は本当にC++使えるのか?
0111デフォルトの名無しさん
2005/11/13(日) 22:45:07そういうもれもvc7.1使いだが
vc7.1>>超えられない壁>>vc6ですよ
0112デフォルトの名無しさん
2005/11/13(日) 22:54:070113デフォルトの名無しさん
2005/11/13(日) 23:40:110114デフォルトの名無しさん
2005/11/13(日) 23:45:150115デフォルトの名無しさん
2005/11/13(日) 23:48:33C#でGUI作ってウマーじゃないの?
俺空気読めてない?
0116デフォルトの名無しさん
2005/11/14(月) 00:04:35あっちだって.NETでいいなら大差ないんだから
>>110
考え方や文化が別物
0117デフォルトの名無しさん
2005/11/14(月) 00:04:59いや、こいつらは低レベルっていうとファビョる奴らだからw
0118デフォルトの名無しさん
2005/11/14(月) 00:10:15それをやるにはC#のGUIがもっとさくさく動いてくれないときついんだけど。
GUI以外はそれほど気になるほど遅くないんだけど。
0119デフォルトの名無しさん
2005/11/14(月) 00:13:430120デフォルトの名無しさん
2005/11/14(月) 00:34:550121デフォルトの名無しさん
2005/11/14(月) 01:24:36MFCは終了。
0122デフォルトの名無しさん
2005/11/14(月) 01:26:220123デフォルトの名無しさん
2005/11/14(月) 01:41:09Genericsもリフレクション使って開発環境がクラスに展開してるのかな?
アセンブリにGenerics情報つけといて、起動時にリフレクションしてるのかな?
どっちだろ。
そう考えると、アトリビュートのシリアライザブルなんかも、起動時にメソッド
足してるんだろうか?
0124デフォルトの名無しさん
2005/11/14(月) 08:56:430125デフォルトの名無しさん
2005/11/14(月) 09:43:32どのようにしたらいいのですか?
0126デフォルトの名無しさん
2005/11/14(月) 09:49:350127デフォルトの名無しさん
2005/11/14(月) 09:58:10解決した
0128デフォルトの名無しさん
2005/11/14(月) 18:13:220129デフォルトの名無しさん
2005/11/14(月) 21:46:150130デフォルトの名無しさん
2005/11/14(月) 21:54:430131デフォルトの名無しさん
2005/11/14(月) 21:57:560132デフォルトの名無しさん
2005/11/14(月) 22:21:55OK, キャンセル、適用ボタンとタブコントロールでできているダイアログです。
自作すると適用ボタンの有効化が面倒なのです(全コントロールに変更イベント
ハンドラを追加しないといけないから)
0133デフォルトの名無しさん
2005/11/14(月) 22:29:12プロパティグリッドならあるが。
というか一回自作すればあとはそれを使いまわせる気がする。
0134デフォルトの名無しさん
2005/11/14(月) 22:48:10フォームのOpacityを0%にして、完全に透明にしつつ、文字の表示だけ不透明にすることって出来ますか?
フォームもRichtextBoxも透明な状態で、デスクトップ画像を背景に、文字だけが浮かんで見えるようにしたいんです。
0135デフォルトの名無しさん
2005/11/14(月) 23:01:40Form.TransparencyColor に RichTextBox の背景色を指定するとか
0136デフォルトの名無しさん
2005/11/15(火) 20:21:51GDI+が遅いんじゃないのか?
コントロールの描画コード書いてて思うんだが、DrawImageが物凄いボトルネックになる。
BitBltにしたら、Graphics系→GDI互換ハンドルの変換オーバヘッドで余計に遅くなった orz
もうちょっと速いDrawImageみたいなメソッドはないだろうか…。
0137デフォルトの名無しさん
2005/11/15(火) 21:01:170138デフォルトの名無しさん
2005/11/15(火) 21:27:26矩形選択が遅いのは使いづらい。
0139デフォルトの名無しさん
2005/11/16(水) 00:38:170140デフォルトの名無しさん
2005/11/16(水) 01:06:080141デフォルトの名無しさん
2005/11/16(水) 01:12:58確かに色々余計なことやってるんだけど、遅すぎ。
0142デフォルトの名無しさん
2005/11/16(水) 01:14:110143デフォルトの名無しさん
2005/11/16(水) 01:35:46→ VB の標準モジュールと同じ
・LINQ
→ PL/SQL と同じ
あってるかな
0144デフォルトの名無しさん
2005/11/16(水) 01:48:510145デフォルトの名無しさん
2005/11/16(水) 01:58:180146デフォルトの名無しさん
2005/11/16(水) 02:47:430147デフォルトの名無しさん
2005/11/16(水) 03:03:11たぶんおまいのほうに問題がある
0148141
2005/11/16(水) 03:13:38ダブルバッファー使用
15行表示していた場合で一行移動するときの残りの14行分をバッファーのビットマップからテンプのビットマップに転送、
それを元のビットマップにずらして転送、画面に転送
ずらしたぶんを内部データから描画。
計3回ビットマップ転送してるのが遅いのか?
0149デフォルトの名無しさん
2005/11/16(水) 03:15:11Hoge hoge1 = new Hoge();
Hoge hoge2 = hoge1.Copy();
でhoge2を消したり中身を弄ってもhoge1には影響しないようにしたいのですが
0150デフォルトの名無しさん
2005/11/16(水) 03:19:350152デフォルトの名無しさん
2005/11/16(水) 04:12:300153デフォルトの名無しさん
2005/11/16(水) 12:33:56System.ObjectにはprotectedメソッドとしてMemberwiseCloneメソッドがある。
一般的には、ICloneableを実装してそれで処理する。
0154141
2005/11/16(水) 14:58:25List<>で管理されるデータを更新に必要な部分だけ参照するようにして表示などを行っています。
ただその表示においてスケーリングなどをサポートするために裏に色々な仕組みを入れているのでかなり遅くなってるとは思います。
0155デフォルトの名無しさん
2005/11/16(水) 15:15:27取り敢えず、どの処理がネックになってるのかを探すのが先だと思う。
その上で、
・画面からバッファに対してスクロール後の位置に転送。
・バッファに対して、未描画部分を描画。
・バッファから画面に転送。
の方がマシな気がする。
つーか、Win32で言う所のScrollWindowEx()らしきものは無いのかな?
…無さそうね。(涙)
0156155
2005/11/16(水) 16:03:27http://www.atmarkit.co.jp/fdotnet/practprog/wisearch02/wisearch02_01.html
ScrollableControlの機能を使うのがセオリーなのか…。
最悪ScrollWindowExをDllImport(ry
0157141
2005/11/16(水) 17:05:08ですね。2005express入れたらパフォーマンス関係のツールが消えたのがネックですが。
現在画面のサイズと同サイズのビットマップを作って画面状態を保持しています。
画面からバッファにコピーというのも可能なんですか?そうすると一手間省けますけど、いまいちデータソースとして信用ならない気もしますが。
ScrollableCotrolとかは、現在独自にUI周りをControlなどを使わないで実装してるので使えないです・・・
0158155
2005/11/16(水) 17:37:09画面をソースにする事は出来ないですね。適当に書いてしまってスマンです。
155は無かった事に…。
やっぱり
http://pinvoke.net/default.aspx/user32.ScrollWindowEx
しか無いような気がします。
0159デフォルトの名無しさん
2005/11/16(水) 21:47:25そうすればmonoを排除できる
0160デフォルトの名無しさん
2005/11/16(水) 23:20:080161デフォルトの名無しさん
2005/11/16(水) 23:34:470162デフォルトの名無しさん
2005/11/17(木) 01:39:17IDEは重いし、エディタも使いづらいのでコマンドラインからメイクしたいんですが、
どうすればいいのでしょうか?
0163デフォルトの名無しさん
2005/11/17(木) 01:59:550164デフォルトの名無しさん
2005/11/17(木) 09:30:570165デフォルトの名無しさん
2005/11/17(木) 20:26:39VS2003なら
devenv solution.sln /build Release
だっけかな
0166デフォルトの名無しさん
2005/11/17(木) 21:06:20ファイルをメモリに10MBずつ読み込んで暗号化処理して、
それをHDに書き込んでから次の10MBを読み込むようにしたいのですが、
どのようにすればその機能を実現できますか?
0167デフォルトの名無しさん
2005/11/17(木) 21:07:390168デフォルトの名無しさん
2005/11/17(木) 21:11:132.暗号化処理
3.HDに書き込む
4.1に戻る
0169デフォルトの名無しさん
2005/11/17(木) 21:22:51それなら読み込み・書き込み・Flushを繰り返していけば良いじゃん
0170デフォルトの名無しさん
2005/11/17(木) 22:21:51で出力ウィンドウに出力されない
なにか設定が必要ですか???
0171デフォルトの名無しさん
2005/11/17(木) 22:34:25Debugビルドじゃないと表示されないけど、大丈夫?
0172デフォルトの名無しさん
2005/11/17(木) 22:36:27Output をリダイレクトする設定にしてないんじゃね?
0173デフォルトの名無しさん
2005/11/17(木) 22:39:58Output をリダイレクトする設定とは
どこを確認すればいいですか?
0174デフォルトの名無しさん
2005/11/17(木) 22:53:070175デフォルトの名無しさん
2005/11/17(木) 23:11:480176デフォルトの名無しさん
2005/11/18(金) 01:10:400177デフォルトの名無しさん
2005/11/18(金) 01:12:02使う関数による
0178デフォルトの名無しさん
2005/11/18(金) 01:15:15Windows Forms 2.0で
GDI+→GDIになった
0179デフォルトの名無しさん
2005/11/18(金) 01:16:52なじぇ
0180デフォルトの名無しさん
2005/11/18(金) 07:38:56一応一括で切り替えられる
DrawingはGDI+のままだぞ
0181デフォルトの名無しさん
2005/11/18(金) 09:35:210182デフォルトの名無しさん
2005/11/18(金) 09:39:12追加した順番にDataTableに格納されるのでしょうか?
あいうえお
かきくけこ
さしすせそ
つまり,DataTable型の変数tableにあ行から順に追加した場合
table[2][1]でアクセスすれば「し」が取得できることは保障されるのでしょうか?
0183デフォルトの名無しさん
2005/11/18(金) 09:48:590184デフォルトの名無しさん
2005/11/18(金) 16:33:39「普通、変数は プライベートに設定して、パブリックのプロパティーや関数で変数を使う」と読んだのですが、
プロパティーや関数で外のクラスから変数を知ったり、変えたり出来るなら、変数はパブリックにしても問題ないと思うのですが、なぜ変数はプライベートにするのですか?
0185デフォルトの名無しさん
2005/11/18(金) 16:35:470186デフォルトの名無しさん
2005/11/18(金) 17:09:12VS2005だとgetの方にカーソル合わせて呼び出してるとこ一覧とか出せるのかな?
0187デフォルトの名無しさん
2005/11/18(金) 17:17:56例えば、縦・横・面積を持つクラスがある場合、クラスに変数として
int height, width, area ;
とか宣言して、プロパティに
int Height { get { return height ; } set { height = value ; area = width * height ; }}
とか書くと、privateにする意味がわかると思う。
このように変数の値を変更することによって、クラスの状態が変わる場合に、
変数はprivateで宣言し直接操作できないようにし、プロパティへのアクセスで
値の変更に伴う処理を行うことで便利。
変数の値の変更に処理が伴わないのであれば、publicでint Height とか宣言してても
かまわないし効率はいいと思うが、オブジェクト指向厨とかがいちいち突っ込んでくる場合がある。
その場合は、「オブジェクト指向って何?」とかいってわからない不利をしたり、
説明されても、「難しくてわからん」といって、あまり相手をしないほうがコーディングは進む。
0188デフォルトの名無しさん
2005/11/18(金) 17:21:53JITコンパイルされる時にインライン展開されるので効率は変わらないはずでは。
0189デフォルトの名無しさん
2005/11/18(金) 17:27:46双方向データバインディングとか使うとありがたみがわかるかも
public string Name {
get {
return name;
}
set {
name = value;
if (NameChanged != null) {
NameChanged(this, EventArgs.Empty);
}
}
}
0190デフォルトの名無しさん
2005/11/18(金) 17:44:00コーディング量です。
0191デフォルトの名無しさん
2005/11/18(金) 18:00:53「双方向データバインディング」ググったけど検索結果0でしたが、SET で if を使えばありがたみがわかるということですね。
ありがと
0192デフォルトの名無しさん
2005/11/18(金) 18:07:02「シンボルの検索」(ALT+F12)でプロパティ名を入れてみそ。
0193デフォルトの名無しさん
2005/11/18(金) 18:07:44set { height = value ; area = width * height ; }}
Height のプロパティーで area もセットできるとは知りませんでした。 いや〜、勉強になります。
0194デフォルトの名無しさん
2005/11/18(金) 20:57:30ダブルバファリングをOnにするためだけに継承するのにちょっと抵抗あるんですけど
そんなもんですか?
2.0でDoubleBufferedっていうプロパティがあって期待したのに・・
0195デフォルトの名無しさん
2005/11/18(金) 21:22:59ダイアログで設定した内容をメイン側と、どういう風にやり取りをするのでしょうか?
設定内容とデータ構造はどのようにしますか?
0196デフォルトの名無しさん
2005/11/18(金) 21:42:26まずFormに設定内容のためのpublicなプロパティを持たせるだろ
インスタンスのプロパティに初期値を突っ込んでからShowDialogする
FormのLoadでコントロールにプロパティの内容を表示したりバインドしたりする
プロパティへの代入時にやっといてもいい
ShowDialogの戻りがCancelだったらなにもしない
OKだったらインスタンスをDisposeする前にプロパティから入力値を取り出す
データ構造は、ファイル名だけくらいならstringでいいし、フォント設定なら
Fontだし、DBのレコード編集ならDataRowそのまま渡してもいいだろうし
ほかのマスターでコンボを作らなきゃいかんならそのDataTableを渡せばいいし
雑多な値が複数あるなら構造体やクラスを作るとか。
System.Windows.FormsのなんちゃらDialogクラスが参考になるかと。
0197デフォルトの名無しさん
2005/11/18(金) 22:51:33・・・C#最強厨が、インデクサ、インデクサってウルサイ
ただの演算子のオーバーロードじゃないのか?
なんで、あんなに拘るのだ・・・あいつは
0198デフォルトの名無しさん
2005/11/18(金) 23:11:030199デフォルトの名無しさん
2005/11/18(金) 23:13:530200デフォルトの名無しさん
2005/11/18(金) 23:38:20[] 演算子のオーバーロードに見えるけど、
実際はインデックス付きのプロパティ。
0201デフォルトの名無しさん
2005/11/18(金) 23:46:070202デフォルトの名無しさん
2005/11/19(土) 00:30:170203デフォルトの名無しさん
2005/11/19(土) 00:36:280204デフォルトの名無しさん
2005/11/19(土) 01:08:080205デフォルトの名無しさん
2005/11/19(土) 01:15:53そんなもんこのスレの住人なら誰でも知ってる。
今してる話はインデクサの性質についてであって内部的な話じゃない。
0206デフォルトの名無しさん
2005/11/19(土) 01:25:420207デフォルトの名無しさん
2005/11/19(土) 01:39:35public X this [X x] {
get { return x; }
}
}
x = x[x[x[x[x[x[x[x[x]]]]]]]]]]]]]];
0208デフォルトの名無しさん
2005/11/19(土) 01:50:56コレクション関係のクラスではあってもいいけど
0209デフォルトの名無しさん
2005/11/19(土) 01:57:57WEBアプリを作成しています。
ただ、ディプロイメントを作成して、
開発環境の入っていないところにインストールしてみたところ、
下記のような例外が発生して、
帳票の表示ができませんでした。
ErrorID : LoadingReportFailed,
スタックトレース :
CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: レポートのロードに失敗しました。 at .I(String , EngineExceptionErrorID ) at
.E(String , Int32 ) at
CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String
reportName, OpenReportMethod openMethod, Int16 parentJob) at
CrystalDecisions.CrystalReports.Engine.ReportClass.Load(String reportName,
OpenReportMethod openMethod, Int16 parentJob) at
CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(Object
value) at EfpCustomer.FrmReportVies.Page_Load(Object sender, EventArgs e)
ディプロイメントは、
WEBディプロイメントではく、
Windowsディプロイメントとして作成して、
vbsにてIISに仮想ディレクトリとして登録するようにしてあります。
WEBディプロイメントにて作成して、IISのWEBサーバのディレクトリに
インストールした際には、帳票の表示もできるのですが、
Windowsディプロイメントとして作成して、仮想ディレクトリとして追加すると
上記のようなエラーになってしまいます。
ディレクトリのアクセス権限の問題かと思い、
IISのワーカプロセスアカウントや、インターネットゲストアカウント、
ASPNETアカウントをアクセス権限に追加してもだめでした。
なにかご存知でしたらお願いいたします。
0210デフォルトの名無しさん
2005/11/19(土) 08:42:280211デフォルトの名無しさん
2005/11/19(土) 12:25:04item.Index = Convert.ToInt32(menuIndex[i]);
item.Click += new EventHandler(this.AddMenuItem_Click);
this.mainMenu.Items.Add(item);
これをフォームロード時に行いたいのですが、
なぜかインデックスが適用されません
どうしてこうなるのですか?
ちなみにmenuNameとmenuIndexは文字列型で
ファイル読み込みによって取得します
0212デフォルトの名無しさん
2005/11/19(土) 12:36:420213デフォルトの名無しさん
2005/11/19(土) 12:40:30.NET Reflector (VS2005 でもできたような) で、
System.Exception の派生クラスを見ればOK。
0214211
2005/11/19(土) 13:07:12解決しました
ありがとです
0215デフォルトの名無しさん
2005/11/19(土) 16:09:52マイナーなJapanistなんて使ってると上手く動かない
まあしょうがないけど
0216デフォルトの名無しさん
2005/11/19(土) 17:05:11つ http://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet12/vb6tonet12_01.html
VB6.0の機能。
これのせいで、set文なんてものが必要だったわけだが、
.netで既定のプロパティと一緒に廃止された。
0217デフォルトの名無しさん
2005/11/19(土) 17:46:07ADOのレコードセットがそれ使ってますね。
ADO.Rs.Fields.Item(0) を ADO.Rs(0) とかけるのがそれ。
0218デフォルトの名無しさん
2005/11/19(土) 18:55:480219デフォルトの名無しさん
2005/11/19(土) 21:47:33Windowsアプリケーションを作成しているのですが、
各フォームで使い回すインスタンスをどのように共有していいかわかりません。
ASP.NETでの、HttpSessionState#Addのようなことを行いたいのですが。。。
0220デフォルトの名無しさん
2005/11/19(土) 21:48:370221デフォルトの名無しさん
2005/11/19(土) 21:54:300222デフォルトの名無しさん
2005/11/20(日) 01:16:430223デフォルトの名無しさん
2005/11/20(日) 02:16:181.1で開発することがないなら要らない。
0224デフォルトの名無しさん
2005/11/20(日) 02:32:51ただお遊び程度のものが作れれば十分です。
0225デフォルトの名無しさん
2005/11/20(日) 02:42:500226デフォルトの名無しさん
2005/11/20(日) 02:47:520227デフォルトの名無しさん
2005/11/20(日) 02:55:34基本的にはどころか、まったくできません。
0228デフォルトの名無しさん
2005/11/20(日) 03:01:240229デフォルトの名無しさん
2005/11/20(日) 03:03:01How to create Framework 1.1 assembly using VS2005
http://weblogs.asp.net/israelio/archive/2005/06/08/410811.aspx
0230デフォルトの名無しさん
2005/11/20(日) 03:03:010231デフォルトの名無しさん
2005/11/20(日) 03:03:360232デフォルトの名無しさん
2005/11/20(日) 03:39:110233デフォルトの名無しさん
2005/11/20(日) 03:41:540234デフォルトの名無しさん
2005/11/20(日) 10:03:430235デフォルトの名無しさん
2005/11/20(日) 11:58:22クラス制約のせいでできないことが多いぞゴラァ
0236デフォルトの名無しさん
2005/11/20(日) 12:35:320237デフォルトの名無しさん
2005/11/20(日) 14:57:24ジェネリクスとテンプレートを理解できていないんですねw
0238デフォルトの名無しさん
2005/11/20(日) 15:01:44言い方が違うだけでしょ
インスタンスとオブジェクトみたいなもん
0239デフォルトの名無しさん
2005/11/20(日) 15:20:18ところでマルチスレッドのデッドロックもしくはそれに近い状態を検知することはできないだろうか?
今DiagosticsのなかのProcessThreadで状態を見てるんだけれどどこでどこが待ってるのかがわかりません。
そのスレッドのコールスタックなどを引っ張ってこれれば何とかなると思うんですが、どうでしょう?
0240デフォルトの名無しさん
2005/11/20(日) 16:15:58そんなことも知らなくて・・・
hw
0241デフォルトの名無しさん
2005/11/20(日) 17:01:260242デフォルトの名無しさん
2005/11/20(日) 17:08:05↑こいつ、マジうぜー
Microsoft MVP for Visual C#
ってなんだよ。w
0243デフォルトの名無しさん
2005/11/20(日) 17:09:100244デフォルトの名無しさん
2005/11/20(日) 17:10:30氏ね
お前がうざい
0245デフォルトの名無しさん
2005/11/20(日) 17:24:36デバッグ時だったらコールスタックとか持ってこれるだろうが。
こいつこそ.NET -> 何も触れないと脊髄反射してる池沼
0246デフォルトの名無しさん
2005/11/20(日) 21:02:52どういった画像処理のテクニックを使えばいいのでしょうか?
0247デフォルトの名無しさん
2005/11/20(日) 21:04:44アルファブレンディングしたいの?
0248デフォルトの名無しさん
2005/11/20(日) 21:14:27WindowsXPでフォルダ内のファイルをマウスでドラックアンドドロップで選択しようとすると
薄い青色で矩形がでますよね。しかもファイル名はもちろん見えます
このような、感じです。
0249デフォルトの名無しさん
2005/11/20(日) 21:17:020250デフォルトの名無しさん
2005/11/20(日) 22:30:080251デフォルトの名無しさん
2005/11/20(日) 22:34:310252デフォルトの名無しさん
2005/11/20(日) 22:35:380253デフォルトの名無しさん
2005/11/20(日) 22:37:14主にSendMessageを使って行っていて
テキストボックスやラベルに関してはデータの取得/設定が出来るのですが
ListViewコントロールから文字列を取得することに躓いております。
LVITEM構造体に対してLVM_GETITEMを行えばよいのだと思いますが、
lParamに入れたLVITEM構造体が、うまくターゲットのアプリに届かないようです。
Spy++で確認すると、値がセットした値と全然違っています。
同じように、他のアプリケーションからAPIを用いて
他プロセスのリストビューから値を取得する方法が書かれたページor方法がありますでしょうか。
よろしくお願いします。
0254253
2005/11/20(日) 22:38:23public static extern IntPtr SendMessage (IntPtr hWnd , int msg , IntPtr wp, ref LVITEM lv);
public struct LVITEM
{
public int mask;
public int iItem;
public int iSubItem;
public int state;
public int stateMask;
public byte[] pszText;
public int cchTextMax;
public int iImage;
public int lParam;
public int iIndent;
}
Win32API.LVITEM pitem = new Win32API.LVITEM();
pitem.mask = 1;
pitem.iItem = 0;
pitem.iSubItem = 2;
pitem.state = 0;
pitem.stateMask = 0;
pitem.pszText = new byte[1024];
pitem.cchTextMax = 1024;
pitem.iImage = 0;
pitem.lParam = 0;
pitem.iIndent = 0;
Win32API.SendMessage(list, Win32API.LVM_GETITEM, IntPtr.Zero, ref pitem);
0255デフォルトの名無しさん
2005/11/20(日) 22:38:500256デフォルトの名無しさん
2005/11/20(日) 22:40:23public Rectangle Rect
{ get{} set{} }
private void Load(object sender, EventArgs args)
{
this.DataBindings.Add("DesktopBounds", this, "Rect");
}
このコードで起動時にウィンドウサイズがRectになるんだけど、
リサイズしてもRectに値が反映されなくて謎。
特定のプロパティだとデータバインディングが機能しないとかあるの?
0257253
2005/11/20(日) 22:42:06ListViewへうまくメッセージが伝わらないのです。。
lParamのLVITEM構造体、構造体だからダメくさい感じなのだけど。
同じことやってる人。。。いなさそうだなあ。
0258デフォルトの名無しさん
2005/11/20(日) 22:44:29とりあえず構造体レイアウト属性を。話はそれからだと思う。
0259デフォルトの名無しさん
2005/11/20(日) 22:47:40構造体を送るなら、
[StructLayout(LayoutKind.Sequential)]
public struct LVITEM
だろ
0260253
2005/11/20(日) 22:48:02ああ、ごめんなさい、消して試していたのだけど、以下でもダメでした。。
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
public struct LVITEM
{
public int mask;
public int iItem;
public int iSubItem;
public int state;
public int stateMask;
public byte[] pszText;
public int cchTextMax;
public int iImage;
public int lParam;
public int iIndent;
}
0261デフォルトの名無しさん
2005/11/20(日) 22:48:11かぶった
[StructLayout(LayoutKind.Sequential)]
これを構造体宣言の前につけるべし
0262デフォルトの名無しさん
2005/11/20(日) 22:48:280263デフォルトの名無しさん
2005/11/20(日) 22:54:02structならデフォルトでLayoutKind.Sequentialだし。
で、別プロセスのメモリ空間を見るにはそれなりに手順が必要。
VirtualAllocEx&WriteProcessMemory&ReadProcessMemory(NT系)、
またはCreateFileMapping&MapViewOfFile(9x系)辺りを使うことになる。
0264253
2005/11/20(日) 22:57:27なるほど、共有メモリ使うしかないかあ。
実はラベルから値を取得するとき
SendMessageでWM_GETTEXTを使ってlParamにbyte[]をつっこんだだけで
文字列取得出来てしまったのですよね。
VirtualAllocEx使わなくても出来るかなあと思ったのだけどやっぱり甘いかー。
0265デフォルトの名無しさん
2005/11/20(日) 23:07:04こんなのを見つけた。
0266デフォルトの名無しさん
2005/11/20(日) 23:19:060267デフォルトの名無しさん
2005/11/20(日) 23:19:10古いコントロールは互換性維持のためそういうことができる。
基本的には対象のプロセスのメモリを確保してそのメモリのアドレスを渡さないといけない。
0269デフォルトの名無しさん
2005/11/20(日) 23:43:07内部でプロパティ名changedってイベントを
Refelectionで探してデータ同期をとる
currencyManager取得して強制Updateしても駄目?
0270デフォルトの名無しさん
2005/11/21(月) 02:14:04もちっと、敷居低いと子
紹介してけんろ
0271デフォルトの名無しさん
2005/11/21(月) 02:36:10ふらっと
0272デフォルトの名無しさん
2005/11/21(月) 10:12:59レス遅れて申し訳ありません
有難うございます
実装依存ですか・・・
つまり自前で行の順番を格納する列を作って置くということでしょうか?
調べてみましたらDataTableのSelectメソッドが引数なしの場合に
>メソッドが主キーの順に (主キーがない場合は追加された順に) 現在の行を返します。
と有ったのでこれを使用したいと思います
だけど,主キーが無い場合は追加された順ということなので
行削除しない限り,結局追加した順番に入ってるんじゃないかと邪推してしまう私
0273デフォルトの名無しさん
2005/11/21(月) 12:15:49というか、同期されるのはValidatingイベントの後。
フォーカスが外れないと駄目だよ。
0274デフォルトの名無しさん
2005/11/21(月) 14:19:080275デフォルトの名無しさん
2005/11/21(月) 16:57:17保存したいファイル名がtest.txtの場合
保存先フォルダに
test.xml
test2.mp3
というファイルが存在すると
teと入力したときにポップアップ(?)のように
test.xmlとtest2.mp3が候補のように表示されますが
この表示をしないようにするにはどうすればよいのでしょうか?
0276デフォルトの名無しさん
2005/11/21(月) 17:23:460277デフォルトの名無しさん
2005/11/21(月) 17:25:22そうですか orz
アリガトウございました
0278デフォルトの名無しさん
2005/11/21(月) 18:48:59これをクラスフィールドにして、メソッド内でthis.DATETIME_MEIJI と書くのは
VS2005βだと問題ないのですが、VS2003の場合だとエラーになります。
記述的にはVS2003の場合でも問題が無いように思うのですが、何故でしょうか?
0279278
2005/11/21(月) 18:53:37>キーワード this はスタティック プロパティ、スタティック メソッド、またはスタティック フィールド初期化子で無効です。
0280デフォルトの名無しさん
2005/11/21(月) 19:21:43普通に通るぞ。
staticでもつけてんじゃないの?
0281278
2005/11/21(月) 19:31:53今新しいアプリケーションのプロジェクト作って
試してみましたらできました。
エラーが起きるのはライブラリのプロジェクト
なのですが、アプリケーションとライブラリとでは
違うのでしょうか。ライブラリだとstaticにしないとダメ
でしょうか?
0282デフォルトの名無しさん
2005/11/21(月) 19:33:05まあそもそも値の意味的にstaticの方が好ましそうだけど。
0283デフォルトの名無しさん
2005/11/21(月) 19:39:27「その使ってるメソッドとやらのほうにstatic」つけてるんじゃないか
っていってる
エラーメッセージ読めよそもそも
0284278
2005/11/21(月) 21:03:56確かに使用しているメソッドにはstaticがついています。
以下のようです。
private readonly DateTime DATETIME_MEIJI = new DateTime(1868, 9, 8);
public static string GetGengou()
2005ですと、問題なくthis.DATETIME_MEIJIで使用できるのですが、
そのソースをそのまま2003にコピペしても使用できません。
2003と2005の違いでしょうか。。。
0285デフォルトの名無しさん
2005/11/21(月) 21:15:08クラス全体のソースをコピペしてみろよ
0286デフォルトの名無しさん
2005/11/21(月) 21:22:20そもそもstaticメソッドからはthisにアクセスできない。
0287デフォルトの名無しさん
2005/11/21(月) 23:49:05これらのコントロールへの操作やUpdateの処理をすべてFormに
書いてしまい、Formだけで4000行程度になっています。
あまりにもダサイのでご助言ねがいます。
C#でDocument/Viewはどうすればいいのでしょうか?
0288デフォルトの名無しさん
2005/11/21(月) 23:52:54PictureBox3とListBox1つ程度で4k行くなんて何やってるんでしょう
0289デフォルトの名無しさん
2005/11/22(火) 00:00:31基本的には画像のマッチングや分析を行っています。
ViewクラスにPictureBoxとListBoxのインスタンスを持たせて
ViewのインスタンスをFormに持たせる感じですかね?
0290デフォルトの名無しさん
2005/11/22(火) 00:03:190291デフォルトの名無しさん
2005/11/22(火) 00:04:040292デフォルトの名無しさん
2005/11/22(火) 00:14:59データの処理は別のクラスにし、
できれば Windows Forms との依存性をなくす。
画面は結果を表示するだけにする。
そうすればいろいろあとあとよさげ
0293デフォルトの名無しさん
2005/11/22(火) 00:34:41Aを更新するとAの値によってB,C,Dが更新されるとか
やたらコントロールの値を参照する必要がある場合
どう分ければいいでしょうか
Gridの行数分1行ごとに処理して関連するコントロールに値設定とか
参照する項目多いとうまく分離しきれない
0294デフォルトの名無しさん
2005/11/22(火) 00:38:090295デフォルトの名無しさん
2005/11/22(火) 00:38:590296デフォルトの名無しさん
2005/11/22(火) 01:00:12外だしにすべき?
0297デフォルトの名無しさん
2005/11/22(火) 01:03:020298デフォルトの名無しさん
2005/11/22(火) 01:09:48TextBoxに同一の内容の行が有った場合、一方を削除したいのですが
以下だと完全に削除出来ず(二行同じ内容の行が残る)うまくいかないのです
御指導お願い致します
string tmp = TargetTextBox.Text;
string[] lines = tmp.Split(new char[] { '\n' });
for (uint i = 0; i < lines.Length - 1; i++){
for (uint j = i + 1; j < lines.Length; j++){
if (lines[i].Equals(lines[j]))
lines[j] = "";
}
}
StringBuilder sb = new StringBuilder();
for (uint i = 0; i < lines.Length; i++){
if (lines[i].Length > 0){
sb.Append(lines[i]);
sb.Append("\n");
}
}
TargetTextBox.Text = sb.ToString();
0299デフォルトの名無しさん
2005/11/22(火) 02:05:22ロジック的にかなり無駄があるわけだが
tmp.Split(new char[] { '\n' });
=> tmp.Split(new char[] { '\r', '\n'});
sb.Append("\n");
=> sb.Append("\r\n");
0300デフォルトの名無しさん
2005/11/22(火) 02:11:03> tmp.Split(new char[] { '\n' });
> => tmp.Split(new char[] { '\r', '\n'});
=> TargetTextBox.Lines
とかな
0301デフォルトの名無しさん
2005/11/22(火) 02:11:070302デフォルトの名無しさん
2005/11/22(火) 02:20:470303デフォルトの名無しさん
2005/11/22(火) 02:26:19小さなサンプルプログラムしか作ったことがない人がいいそうなことですねw
数万行、数十万行程度の中規模以上のプロジェクトなんかではよほどの
知識がないとtempleteは工数アップにしかならん。
0304デフォルトの名無しさん
2005/11/22(火) 02:28:150305デフォルトの名無しさん
2005/11/22(火) 02:40:44バグだらけで使い物にならん
0306デフォルトの名無しさん
2005/11/22(火) 02:44:25なんだかお恥ずかしい限りで、精進致します
有難う御座いました
0307デフォルトの名無しさん
2005/11/22(火) 03:01:590308デフォルトの名無しさん
2005/11/22(火) 03:15:010309デフォルトの名無しさん
2005/11/22(火) 03:27:32なんか作るのもつまらなそうだな。
0310デフォルトの名無しさん
2005/11/22(火) 03:54:55そういうプロジェクトはユーザー数の多いCで書くのが一番。
もしくはVB6。
0311デフォルトの名無しさん
2005/11/22(火) 07:31:160312デフォルトの名無しさん
2005/11/22(火) 07:37:490313デフォルトの名無しさん
2005/11/22(火) 07:42:05めちゃ工数削減だと思うんだけど。
XmlSerialize楽だし
0314デフォルトの名無しさん
2005/11/22(火) 08:20:40C++/CLIとC#の速度差ってどんなものでしょ?大雑把で(・∀・)イイ!!です。
いまC#で一つ作ってるんだけど、もっさりしすぎ。ある程度使い分ければ速くなるのかどうか・・・
特に気にしてるのはコレクション周りと画面周りですが。
0316デフォルトの名無しさん
2005/11/22(火) 09:32:56.netのクラスを使うことがないのならC++/CLIのメリットもなかろう
0318デフォルトの名無しさん
2005/11/22(火) 12:06:40速度差がある分けない。
毎回 Dispose する分逆に遅くなったりしてな
0319デフォルトの名無しさん
2005/11/22(火) 12:42:030320デフォルトの名無しさん
2005/11/22(火) 13:20:21P/Invokeで明示定義がそもそもいらん、C++で書いたコードはそのまま使える、
マーシャリングがちょっと賢い…etc
ラッパーかくんなら最強でそ。Managed DirectXもMC++じゃなかったか?
0321デフォルトの名無しさん
2005/11/22(火) 16:27:40DLL側で自分がどのフォルダにあるか取得する方法はありますか?
Environment.CurrentDirectoryだと
EXEのパスが帰ってきたorz
0322デフォルトの名無しさん
2005/11/22(火) 16:33:53Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
0323323
2005/11/22(火) 16:39:20サンクス!
0324デフォルトの名無しさん
2005/11/22(火) 20:48:15うおおおできた!
サンクス!
0325デフォルトの名無しさん
2005/11/22(火) 21:56:12ダウンロードは、対象ファイルをZIPファイルに圧縮させてからダウンロードを行いたい。
こういうことって、どうやっったらいいですか?
0326デフォルトの名無しさん
2005/11/22(火) 21:59:200327デフォルトの名無しさん
2005/11/22(火) 22:06:010328デフォルトの名無しさん
2005/11/22(火) 22:07:020329デフォルトの名無しさん
2005/11/22(火) 22:08:480330デフォルトの名無しさん
2005/11/22(火) 22:25:13J#のクラスにZIPを処理するのがあったと思うよ。
0331デフォルトの名無しさん
2005/11/23(水) 00:01:500332デフォルトの名無しさん
2005/11/23(水) 00:03:420333デフォルトの名無しさん
2005/11/23(水) 00:07:41privateなメンバにアクセスさせたい時。
0334デフォルトの名無しさん
2005/11/23(水) 01:02:080335デフォルトの名無しさん
2005/11/23(水) 01:06:300336デフォルトの名無しさん
2005/11/23(水) 01:17:44なぜか2ページ目にいくと、c言語の検索になる
0337デフォルトの名無しさん
2005/11/23(水) 01:27:29Webで検索する際面倒だよね
0338デフォルトの名無しさん
2005/11/23(水) 01:28:56ならないよ。quoteしろ
0339デフォルトの名無しさん
2005/11/23(水) 01:37:54表示されるMessageBoxを常に手前に表示させることはできるのでしょうか?
0340デフォルトの名無しさん
2005/11/23(水) 01:38:16http://www.google.com/microsoft
0341デフォルトの名無しさん
2005/11/23(水) 01:42:34System.Windows.Forms.MessageBox を使う場合には無理じゃないかな
Windows API の MessageBox を直に使うのなら MB_TOPMOST
0342デフォルトの名無しさん
2005/11/23(水) 01:48:08早速のご回答ありがとうございます。
やはりそうですか・・・・。
System.Windows.Formsのメンバをしらみつぶしに探しても
それらしきものは見当たりませんでした。
ありがとうございました。
0343デフォルトの名無しさん
2005/11/23(水) 02:51:12なってんじゃんw
quoteしなきゃなんねんだろ?
0344デフォルトの名無しさん
2005/11/23(水) 03:13:53あ?"C#に関するドキュメントが上手く検索されない"と解釈したんだが。しかし、どうやら違ったようだな
0345デフォルトの名無しさん
2005/11/23(水) 06:24:25できました!ありがとうございました。
0346デフォルトの名無しさん
2005/11/23(水) 08:44:250347デフォルトの名無しさん
2005/11/23(水) 13:17:30foreach(byte b in buf){
b = 0;
}
0348デフォルトの名無しさん
2005/11/23(水) 13:19:160349デフォルトの名無しさん
2005/11/23(水) 13:32:53Bufferにも付けてほしいもんだな。
0350デフォルトの名無しさん
2005/11/23(水) 17:53:34結合したデータを取得したいときは、どうするんですか?
0351デフォルトの名無しさん
2005/11/23(水) 18:04:170352デフォルトの名無しさん
2005/11/23(水) 18:58:05一度Updateしたから、SQLを投げなきゃだめですね。
頻繁にデータが更新されるときは、面倒ですね。orz
0353デフォルトの名無しさん
2005/11/23(水) 19:03:18誤:Updateしたから
正:Updateしてから
です。
何度もDataSetをUpdateしなければならないって
DataSetは非接続って売りの意味がないってことですかねぇ。
0354デフォルトの名無しさん
2005/11/23(水) 19:05:190355デフォルトの名無しさん
2005/11/23(水) 19:12:36でも、ありがちな処理だと思うけど。
0356350
2005/11/23(水) 19:40:430357デフォルトの名無しさん
2005/11/23(水) 20:35:43今は
ループ回して
point = new Point((int)pointf.X , (int)pointf.Y);
ってやってます。
0358デフォルトの名無しさん
2005/11/23(水) 22:22:430359デフォルトの名無しさん
2005/11/24(木) 16:17:59C++とかだとグローバルインスタンス定義することでそのコンストラクタとかに記述可能だったんですが。
0360デフォルトの名無しさん
2005/11/24(木) 16:25:02静的コンストラクタを使えば可能
class Class1
{
static Class1()
{
Console.WriteLine("Class1");
}
[STAThread]
static void Main(string[] args)
{
Console.WriteLine("Class1.Main");
}
}
0361デフォルトの名無しさん
2005/11/24(木) 16:38:07別のクラスだとMainより先に実行されるかどうか保障されないんでは。
0362デフォルトの名無しさん
2005/11/24(木) 16:58:47リフレクションで派生クラスを列挙する仕組みないかと思って
"reflection enumerate derived"を検索ワ−ドに入れたんですが、enumerateしか乗ってないページとか山ほど引っかかる・・・orz
0363デフォルトの名無しさん
2005/11/24(木) 17:04:30public TheClass(int left, int right)
{
}
public TheClass(int left)
{
TheClass(left, 10);
}
異なる引数のコンストラクタで、2つめのコンストラクタから
1つめのコンストラクタを呼び出したいのですが、上記のような
書き方だとエラーになります。
どのように書けばいいですか
0364デフォルトの名無しさん
2005/11/24(木) 17:16:59{
}
0365デフォルトの名無しさん
2005/11/24(木) 17:32:36Process.Start("http://www.yahoo.co.jp.:80");
これだと既に開いているブラウザウィンドウを使って指定ページを表示してしまうので、
なんとか新しいウィンドウでページを開くようにしたいのですが・・・
0366デフォルトの名無しさん
2005/11/24(木) 19:24:41C#で他のプロセスを意図的に終了させたりすることできまっす?
ちなみに、終了させたいのは、非ウィンドウアプリなので
そういったものを終了させる場合うまい方法あったら教えて欲しいです。
0367デフォルトの名無しさん
2005/11/24(木) 19:29:50それIE側の設定によるんだよね…詳細設定の
「ショートカットを起動するためにウィンドウを再利用する」
ってのにチェックが入ってるかどうか。
うーん。こんなんどう?
Type t = Type.GetTypeFromProgID("InternetExplorer.Application");
object ie = Activator.CreateInstance(t);
t.InvokeMember("Navigate", BindingFlags.InvokeMethod, null, ie,
new object[]{ "http://www.yahoo.co.jp:80" });
t.InvokeMember("Visible", BindingFlags.SetProperty, null, ie, new object[] { true });
でもこれでいいのかなぁ…COMはよーわからん。
0368デフォルトの名無しさん
2005/11/24(木) 20:02:20列挙は
EnumProcesses か System.Diagnostics.Process.GetProcesses
終了は
TerminateProcess か System.Diagnostics.Process.Kill
0369デフォルトの名無しさん
2005/11/24(木) 20:21:07C#で特定のポートに接続しているIPを調べる方法ってありますか?
0370デフォルトの名無しさん
2005/11/24(木) 22:13:460372365
2005/11/24(木) 23:39:39レスありがとうです
参考にさせて頂きます
0373デフォルトの名無しさん
2005/11/25(金) 00:47:17ちょっとしたものでも10Mなんてすぐ超えちゃうし・・・
0374デフォルトの名無しさん
2005/11/25(金) 00:50:15つり? くま〜AA(略
0375デフォルトの名無しさん
2005/11/25(金) 00:59:50普通のアプリの2〜3倍は食うのは確かだがそこまで気にならないよ。
アプリ起動するとリリースモードで動かしてもWorkingSetで20Mぐらいいくな
0376デフォルトの名無しさん
2005/11/25(金) 02:03:01Process process = Process.GetCurrentProcess();
process.MaxWorkingSet = process.MaxWorkingSet;
process.MinWorkingSet = process.MinWorkingSet;
ってやると2M位まで減るよ。
ttp://d.hatena.ne.jp/Kazzz/20051025/p1
ここね。その後とんでもないことになるが
0377376
2005/11/25(金) 02:06:17FireFoxも同じ問題で頭抱えてるみたいだし。
実際それだけメモリが使用されているわけではない。
0378デフォルトの名無しさん
2005/11/25(金) 02:19:170379デフォルトの名無しさん
2005/11/25(金) 02:53:190380デフォルトの名無しさん
2005/11/25(金) 03:01:450381デフォルトの名無しさん
2005/11/25(金) 09:47:20http://www.itwriting.com/dotnetmem.php
激しくFAQ
0382デフォルトの名無しさん
2005/11/25(金) 09:55:47ない。どっちも方言多いし。
0383デフォルトの名無しさん
2005/11/25(金) 11:25:321秒ごとに監視っていうにしたいんよ。
C++みたいにSleepってC#ではみあたらないんだけど、処理をしばらくとめてる関数ってあるー?
てか、While( )でなんか設定できるのかな。。。1秒にいっかいループ実行ってかんじで
while(true)
{
//監視処理
Sleep(1000); <---こんなかんじなことがしたいん
}
0384デフォルトの名無しさん
2005/11/25(金) 11:28:41System.Threading.Thread.Sleep()
0385デフォルトの名無しさん
2005/11/25(金) 11:30:45あ、それでいいのね。
ありがとうです!
0386デフォルトの名無しさん
2005/11/25(金) 11:36:080387デフォルトの名無しさん
2005/11/25(金) 11:37:050388デフォルトの名無しさん
2005/11/25(金) 11:39:01CSVってデータソースをCSVにすればADO.NETでアクセスできない?(やったことないけど)
0389384
2005/11/25(金) 11:43:20あと、呼び出し側からスレッドを終了させるのって可能でしょうか。
みたところ、Suspendしかないので、、中断と終了ってちゃいますよね?
いきなり終了されたらメモリリークとかしちゃうとおもうから、スレッドの終了は自殺以外ありえないのかな?
0390デフォルトの名無しさん
2005/11/25(金) 11:52:17Abort()
イベントとかつかったらいいんじゃね。
0391デフォルトの名無しさん
2005/11/25(金) 11:53:270392デフォルトの名無しさん
2005/11/25(金) 12:00:340393デフォルトの名無しさん
2005/11/25(金) 17:09:23つRFC4180
0394デフォルトの名無しさん
2005/11/25(金) 20:13:10AutoResetEventで終了してくれって知らせて、自殺してもらう。
0395デフォルトの名無しさん
2005/11/26(土) 00:03:33タイマがいいともかぎらん。
プロセスの最終的なリカバリにタイムアウトなんかを使う場合は、
Threadクラスで起こしたスレッドでループさせた方がいいと思う。
0396デフォルトの名無しさん
2005/11/26(土) 00:14:29どもです。
メンドイなぁ
CsvをStreamで読めてライセンス的に改変おkとかないかなぁ
CommandLineはMicrosoftのサンプルのどこかにサポートクラスとしてソースが入ってたような
気がしたんだけど、どこだったかな・・
0397デフォルトの名無しさん
2005/11/26(土) 00:33:33本体以外にも数秒だけ小さいウィンドウが表示されますが、
アレを中央に表示するにはどうしたら良いですか?
本体は中央に表示されるのにアレだけがなぜか左上に表示されてしまいます
0398デフォルトの名無しさん
2005/11/26(土) 01:56:14VS2003のプロパティで表示されるようなカコイイダイアログはどうすれば
いいの?
0399デフォルトの名無しさん
2005/11/26(土) 02:01:050400デフォルトの名無しさん
2005/11/26(土) 08:10:04だってw
0401デフォルトの名無しさん
2005/11/26(土) 08:46:36MSが提供してるLogParser2.2じゃ駄目なの?
日本語版もあるし、CSVに対してSQL使えるし。
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en
あとは、俺は ttp://www.heikniemi.net/jhlib/ にあるライブラリを改変して使ってる。
0402デフォルトの名無しさん
2005/11/26(土) 10:29:15ありがとうございます。
LogParser,JHLib落としました。
ちょっとしたCSVのためにCOMで使うのは厳しそうですが、いろいろ遊べそう
JHLibかなり使えそうですねsimply freeですし
ところで改変というと、何か問題とかありましたか?
0403401
2005/11/26(土) 10:46:22>ところで改変というと、何か問題とかありましたか?
いや、機能的に問題は無いと思います。
少なくても、今まで使ってて問題は出てないです。
改変というか、ネームスペースをシステムに合わせて変えたりといったその程度です。
0404デフォルトの名無しさん
2005/11/26(土) 12:58:180405デフォルトの名無しさん
2005/11/26(土) 13:14:390406デフォルトの名無しさん
2005/11/26(土) 13:39:55Javaでは一般的
C#ではマイナー
0407デフォルトの名無しさん
2005/11/26(土) 13:43:01そうなんですか。
そうすると、C#で一般的なものとは何になるんですか?
0408デフォルトの名無しさん
2005/11/26(土) 14:32:29ViewとModel(Data)を分ける考え方はC#でも普通にするし、広い意味でのMVCは使ってますよ。
WebFormやWinFormを使うとControllerをほとんど意識しないからMVCとは呼ばないだけ。
というより、今はMVCといったらJSPのモデル2MVCかその派生物をさすことが多いので、
.NETではMVCという言葉を使わないことが一般的。
0409デフォルトの名無しさん
2005/11/26(土) 14:59:55ありがとうございます。
.NETではFormクラス内でViewとControlerが
一体化しているということですね(違うかな・・)
0410デフォルトの名無しさん
2005/11/26(土) 15:01:45nd.NodeFont = new Font("MS UI Gothic", ndFontSize, FontStyle.Bold);
としたら、そのノードのラベル文字列の右端が欠けて表示されなくなってしまいました。
TreeNode.Bounds は read only だし、TreeView.Refresh() しても一向考慮される気配なし。
どうしたらいいの?
0411デフォルトの名無しさん
2005/11/26(土) 16:32:16> 設定されている値よりも大きい場合、ツリー ノード ラベルのテキストはクリップされます。
だそうだから、TreeViewのフォントをFontStyle.Boldにして、
TreeNode.NodeFontを軒並みFontStyle.Regularにすればいいんじゃない?
0412デフォルトの名無しさん
2005/11/26(土) 16:46:05ホントだ、出来ました!!
個別にスタイルにあったクリッピング領域を設定できないなら、全体の設定でスタイルを指定しておいて、改めて個別の設定で不要なフラグを落としておく…逆転の発想力が素晴らしいです。
ありがとうございます。
0413デフォルトの名無しさん
2005/11/26(土) 18:01:48メンバ変数を式の変数として利用したいのですがどのように実現できますか?
0414デフォルトの名無しさん
2005/11/26(土) 19:22:59ModelとViewの考え方は常に頭においておいたほうがイイ
VC#やVBはポトペタ環境が欠点。
VC6みたいに初心者を排除してくれる環境がよかった。
0415初心者
2005/11/26(土) 19:41:07・゚・(ノД`)・゚・。
漏れみたいに、いきなりVSでポトペタをやらずに、
http://www.amazon.co.jp/exec/obidos/ASIN/4891002972/qid=1116471063/sr=1-13/ref=sr_1_2_13/249-4591512-2976331
これ読みながら、ちゃんと勉強しているやつだっているんだぞ!
初心者に謝れ、初心者に(ry
0416デフォルトの名無しさん
2005/11/26(土) 21:51:53いままでエディタでコーディング
つーか初心者ほど手書きの方がいい希ガス
0417デフォルトの名無しさん
2005/11/26(土) 22:45:18というかポトペタはそのための機能だ。
0418デフォルトの名無しさん
2005/11/26(土) 22:57:03実際そうだよな。
俺もVisualStudio買うかどうかは
SDKで試してから決めたし。
0419デフォルトの名無しさん
2005/11/26(土) 23:42:30ぽとぺたってなに?
0420デフォルトの名無しさん
2005/11/26(土) 23:44:11宇宙仮面のサイトに載っている対処法を使っているのですが、
それだと僅かに乱れてしまうので気になっております
例えば 10 に設定した余白が次に開いた時には 9.9 になってしまいます
0421デフォルトの名無しさん
2005/11/27(日) 00:28:57ぽとり、ぺたり
0422デフォルトの名無しさん
2005/11/27(日) 00:45:33WinFxのほう見ろってこと?
0423デフォルトの名無しさん
2005/11/27(日) 00:52:53メンバ一覧ぐらいしか情報はないけど。
0424デフォルトの名無しさん
2005/11/27(日) 02:02:39ポトペタを作ってる側から言わせてもらえば
プロパティいじってコード書かないでいいようにしとけば
バグも生まれんし、コンポーネント指向で再利用性ありだし
ポトペタを作るところまでいけば、VisualStudioのすばらしさ
をもっとわかってもらえると思うが
JavaもJSFでポトペタになるし
MVCはもちろん大事だが
.NETでのCはイベントモデルなわけで
イベント捕らえてM部分は実装してねって
コンポーネント作ってる
エディタ、デザイナ、CodeDomあたりまで押さえると
また変わった見え方してくると思うんだが
0425デフォルトの名無しさん
2005/11/27(日) 02:21:180426デフォルトの名無しさん
2005/11/27(日) 02:44:130427デフォルトの名無しさん
2005/11/27(日) 02:59:400428デフォルトの名無しさん
2005/11/27(日) 03:01:08あまり見掛けないので気になったんだ
0429デフォルトの名無しさん
2005/11/27(日) 03:18:08なんでAddメソッドとかが公開されてないんですか?
つーかどうすればインターフェイスのメンバを公開しないようにできるんですか?
0430デフォルトの名無しさん
2005/11/27(日) 03:20:20Addとか公開したら継承クラスでいじりにくくなるからかな
0431デフォルトの名無しさん
2005/11/27(日) 03:25:22おおっ、できました、ありがとうございます。
0432デフォルトの名無しさん
2005/11/27(日) 03:41:31IListオブジェクトとしてAddメソッド等を呼び出された時のためだったんですね。
0433デフォルトの名無しさん
2005/11/27(日) 04:31:39たとえば、イベントControl.PaintはControl.OnPaintが発生させますよね
ではControl.OnPaint は誰が呼び出すのでしょう?
おそらく、FrameworkがWM_PAINTを捕まえて呼び出すんでしょうけど、
どこにそういったソースがあるのでしょう?
Reflectorをつかって、探しているんですがみつかりません。
0434デフォルトの名無しさん
2005/11/27(日) 04:48:580435デフォルトの名無しさん
2005/11/27(日) 12:29:06Component継承するだけでプロパティ設定楽になるんでいい感じ
0436デフォルトの名無しさん
2005/11/27(日) 13:17:100437デフォルトの名無しさん
2005/11/27(日) 13:19:47やっぱ統合環境あったほうが楽だよね・・・。
2005は買おうと思ってるんだが。
0438デフォルトの名無しさん
2005/11/27(日) 13:23:500439デフォルトの名無しさん
2005/11/27(日) 13:30:140440デフォルトの名無しさん
2005/11/27(日) 18:13:55エディタ使いづらい。
秀丸とコマンドラインで十分だろ?
すくなくとも、10万前後払う価値はない
0441デフォルトの名無しさん
2005/11/27(日) 18:16:40優秀な人なんですね(^^;
0442デフォルトの名無しさん
2005/11/27(日) 18:56:43>>440の秀丸はとんでもなくカスタマイズされてるに違いない
インテリセンスとかコードスニペットとか楽すぎ。もうVS2005から離れられない・・
0443デフォルトの名無しさん
2005/11/27(日) 19:23:450444デフォルトの名無しさん
2005/11/27(日) 19:24:050445デフォルトの名無しさん
2005/11/27(日) 19:44:110446デフォルトの名無しさん
2005/11/27(日) 19:46:500447デフォルトの名無しさん
2005/11/27(日) 19:48:090448デフォルトの名無しさん
2005/11/27(日) 19:54:11ファイルを開くダイアログにプレビュー機能をつけたいのですが
どうすればいいのですか?
0449デフォルトの名無しさん
2005/11/27(日) 20:04:350450デフォルトの名無しさん
2005/11/27(日) 20:17:14頑張って自作。
コモンダイアログの拡張はめんどくさい。
0451デフォルトの名無しさん
2005/11/27(日) 21:06:05value の次に大きい要素のインデックスのビットごとの補数です
とあります。
どういう意味ですか?
0452デフォルトの名無しさん
2005/11/27(日) 21:11:020453デフォルトの名無しさん
2005/11/27(日) 21:29:400454デフォルトの名無しさん
2005/11/28(月) 01:54:520455デフォルトの名無しさん
2005/11/28(月) 02:13:300456デフォルトの名無しさん
2005/11/28(月) 04:44:21http://www.yahoo.co.jp/ABC/DEF.html
だったら DEF.html だけを抜き出したいです。
0457デフォルトの名無しさん
2005/11/28(月) 06:08:29Uri.Segments
0458デフォルトの名無しさん
2005/11/28(月) 06:51:57string.LastIndex/Substringとか
0459デフォルトの名無しさん
2005/11/28(月) 07:19:03[^/]+$
って正規表現を一番に思いついちゃった...orz
0460デフォルトの名無しさん
2005/11/28(月) 07:41:220461デフォルトの名無しさん
2005/11/28(月) 13:40:11↓マイクロソフトのガイドラインの@nifty訳
>しかしながら、空間の効率および読みやすさを増強するように、
>近道メニューにショートカットキーを含まないようにしてください。
だそうで、これに従えばおかしいというか一般的ではないってことかと。
EmEditorなんかは付ける派だっけ?
0462デフォルトの名無しさん
2005/11/28(月) 14:27:45かなり大きめなジャグ配列を今後使用することがないため、破棄したいと考えています。
クラスなどであれば、Dispose()が使えるのですが、
ジャグ配列の場合はどのようにしてリソース開放してあげれば良いのでしょうか?
500MB以上を扱う配列なもので、不要になったら破棄しておきたいのですが・・・
System.GC.Collect();
を実行する方法しかないのかと迷っています。
0463デフォルトの名無しさん
2005/11/28(月) 14:49:30しかし500MBねぇ。
0464462
2005/11/28(月) 15:01:15やっぱり、その方法しかないのですね。
数百枚の画像を同時に解析し、かつ速度も重要視するプログラムなため、
一枚ずつファイルから読み込んで・・・という訳にもいかず、
一気にどがーっと読み込んで、どがーっと解析するという力業なのです。
(1GBのメモリでは、すぐに食いつぶされてしまってデバッグどころではないというのが痛すぎ・・・)
GCやるかどうかは、実際に速度など比較して決めたいと思います。
ありがとうございました。
0465デフォルトの名無しさん
2005/11/28(月) 15:04:07非同期で読み込みながら解析していくって手もあるぞ。
0466462
2005/11/28(月) 15:15:41確かに、
画像読込 → 画像解析
という処理だけでだったら、非同期読込、同時に解析が望ましいですね。
実際のところ、ファイル読込時の速度はどうでもよく、画像解析部の速度が重要なのです。
(自分が非同期スレッドをうまく使いこなせていないというところもあってw)
というわけで、画像解析部の速度評価ができるように、
全てメモリ格納後に解析する手法を取っています。
速度評価する際には、2GBを搭載したハイスペックマシンでやりますので、大丈夫でしょう・・・たぶん。
「あるもの全部使え!!」というスタンスなのに、GC.Collect()しようとしている自分に今、すごく矛盾を感じました・・・^^;
0467デフォルトの名無しさん
2005/11/28(月) 16:52:03Windowsフォームを使ったフロントエンドでいろいろ設定して、実際に書き込みを行うプログラムを起動する仕組みにしてるんですが
・書き込みを行うプログラムをシングルスレッドにして、プログラムを多数起動する
・書き込みを行うプログラムをマルチスレッドにして、プログラムを1つ起動する
作る前は後者のほうが2chへの書き込み速度が速いと思ってたのですが
実際には前者のほうが書き込み速度が速いのです。
こういうものなんでしょうか?
ちなみに、連投する目的は、いわゆる「最速1000」です。
0468デフォルトの名無しさん
2005/11/28(月) 17:02:15と、ちょー適当に予想
0469デフォルトの名無しさん
2005/11/28(月) 19:00:270470デフォルトの名無しさん
2005/11/28(月) 19:51:01VC++6+MFCでやっとけ
そういった処理はC#では無理
0472デフォルトの名無しさん
2005/11/28(月) 21:29:03プログラミングに関係無いところで突っ込むが、
普通にアク禁されるかと。
0473467
2005/11/28(月) 21:38:30スレッドを作るクラスのフィールドは、1つしかなくて、スレッドを起動する前に値をいじったらもう
書き換えはしないんですけよ…
>>472
■ root ★ 公認、第1回最速1000大会の開催について Part4
http://ex14.2ch.net/test/read.cgi/news4vip/1133012356/
0474デフォルトの名無しさん
2005/11/28(月) 22:35:58現在インスタンス化されて表示されているFormを全て取得するには
どのようにすればよいのでしょうか?
0475デフォルトの名無しさん
2005/11/28(月) 22:36:440476デフォルトの名無しさん
2005/11/28(月) 22:48:03Thx
MDI以外では無理なのでしょうか?
0477デフォルトの名無しさん
2005/11/28(月) 22:52:410478デフォルトの名無しさん
2005/11/28(月) 23:02:24有り難うございます
検討してみます
0479デフォルトの名無しさん
2005/11/28(月) 23:06:270480デフォルトの名無しさん
2005/11/29(火) 00:33:44私の部署ではVC一本ですね
0481デフォルトの名無しさん
2005/11/29(火) 00:36:450482デフォルトの名無しさん
2005/11/29(火) 01:00:42使われてないならこのスレの書き込みはなんなんだ?
0483デフォルトの名無しさん
2005/11/29(火) 01:11:43VC++できて一人前、VC使えない香具師がVB
みたいな
今でもVC++で商品としてのアプリを書いたことがない香具師は
C++プログラマとしては使えないな
0484デフォルトの名無しさん
2005/11/29(火) 01:16:59部分的にコード書くなら超初心者にでもできるわけだが、
アプリを書く、ってのは具体的に何を言ってる?
業務用アプリ全体を一人で書く奴はいないし、フリーウェア
の話をしてんのか?
0485デフォルトの名無しさん
2005/11/29(火) 01:21:580486デフォルトの名無しさん
2005/11/29(火) 01:28:362スレに1度ぐらいの割合で出てくるメモリの話とあわせていい加減聞き飽きたな。
0487デフォルトの名無しさん
2005/11/29(火) 01:33:000488デフォルトの名無しさん
2005/11/29(火) 01:35:350489デフォルトの名無しさん
2005/11/29(火) 01:41:32そんなことはない。
具体的な商品名は明かせないが、パソコンショップで数千円程度で販売している
アプリの大半はプログラム自体は1人、2人程度で書くのが普通だよ。
0490デフォルトの名無しさん
2005/11/29(火) 01:49:45あるクラスHogeに
public Hoge(int i,int j) : this(i,j){}
ってどういう意味?
0491デフォルトの名無しさん
2005/11/29(火) 01:56:350492デフォルトの名無しさん
2005/11/29(火) 02:06:04●C#を教えてください 時給7千円
http://page8.auctions.yahoo.co.jp/jp/auction/h31325742
0493デフォルトの名無しさん
2005/11/29(火) 02:10:40>●C#を教えてください 時給7千円●
(中略)
>●概要
>・2時間くらいC#について教えて下さい。
>・1時間につき5000円支払います(即日払い)。交通費も支給。
(中略)
>●落札について
>・10円で入札下さい。
0494デフォルトの名無しさん
2005/11/29(火) 03:02:060495デフォルトの名無しさん
2005/11/29(火) 03:04:23パソコンショップをVectorというなら解るが・・・
その手の商品が最近は小売店でも売ってるってことね
0496デフォルトの名無しさん
2005/11/29(火) 03:06:13> 1時間につき5000円支払います
お か し い だ ろ
0497デフォルトの名無しさん
2005/11/29(火) 03:58:51>★お手軽!★メイド服★宴会・パーティー用衣装★黒色★ (終了日時:2005年 10月 23日 23時 17分)
>コメント : 迅速な応対で、気持ちの良いお取引が出来ました。ありがとうございまし
>た。またの機会がございましたら、よろしくお願い申し上げます。 (評価日時 :2005年 10月 25日 17時 52分)
(ノ∀`)アチャー
0498デフォルトの名無しさん
2005/11/29(火) 04:25:000499デフォルトの名無しさん
2005/11/29(火) 05:53:420500デフォルトの名無しさん
2005/11/29(火) 17:37:08>・10円で入札下さい。
セコイ・・・つか、規約違反だろw
>また、こちらが組んだ
>プログラムのどこに問題があるか指摘して下さい。
君自身が問題
0501デフォルトの名無しさん
2005/11/29(火) 20:26:34英文を入力した時になぜかフォントが Arial になってしまいます。
普段は等幅の MS ゴシックの 12pt を利用しております。
バグというほどのものではないですが、一々フォントを直すのが面倒なので
どうにかならないかと思っております。
解決策を知りませんか?
0502デフォルトの名無しさん
2005/11/29(火) 20:30:52ttp://groups.google.co.jp/group/microsoft.public.jp.dotnet.vsnet/browse_thread/thread/45779ced7d052b2e?hl=ja&lr=&ie=UTF-8&oe=UTF-8&c2coff=1&seekm=uguC%23FyMDHA.2788%40TK2MSFTNGP10.phx.gbl&frame=off
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=11440&forum=7
0503デフォルトの名無しさん
2005/11/29(火) 20:38:37ありがとうございした。
0504デフォルトの名無しさん
2005/11/29(火) 20:52:200505デフォルトの名無しさん
2005/11/29(火) 21:18:260506デフォルトの名無しさん
2005/11/29(火) 22:33:13さらしAGE
0507デフォルトの名無しさん
2005/11/29(火) 22:37:080508デフォルトの名無しさん
2005/11/29(火) 22:46:27例えば、メニュークリックイベントで
this.Opacity = 0.50;
とかやるとフォームの移動の時とかにチカチカなるんだけど・・・
0509デフォルトの名無しさん
2005/11/29(火) 22:49:16描画の手間が何倍にもなるんだから。
0510デフォルトの名無しさん
2005/11/29(火) 22:55:08こいつのコンテキストメニューに文字列検索機能を追加したいんですが、
どうやれば追加できますか?
もしかして追加でコモンダイアログとかがあるんですか?
ダイアログの外見はCTRL+Fの検索と同じような感じにしたいんで
0511デフォルトの名無しさん
2005/11/29(火) 23:13:20「コモンダイアログ 検索」で調べれば検索ダイアログの使い方が見つかるだろうから、
そいつを.NETに移植することになる。
//CodeProjectとか漁れば見つかりそうな気もする。
検索そのものはRichTextBoxならFindメソッドがあるだろ
0512デフォルトの名無しさん
2005/11/29(火) 23:24:07ありがトン
助かったっす
0513デフォルトの名無しさん
2005/11/30(水) 00:27:39たしかNTの実装はひとつでも上位のプライオリティを持つ稼動スレッドがあったら下位のスレッドは永遠に待たされるってはずだと思うんですが、どうも下位のスレッドが動いているときにUIの処理にもたつきが出ます。
まだ、IOなどで処理が絡んでると子もあるかもしれないんですが、なんかスレッドの動作も影響してるような・・・
0514デフォルトの名無しさん
2005/11/30(水) 01:04:160515デフォルトの名無しさん
2005/11/30(水) 01:05:09>ひとつでも上位のプライオリティを持つ稼動スレッドがあったら下位のスレッドは永遠に待たされるってはずだと
んな馬鹿な。
0516デフォルトの名無しさん
2005/11/30(水) 01:05:42ちゃんとしたリアルタイムOS使ったら?
0517デフォルトの名無しさん
2005/11/30(水) 01:09:24とりあえずC++で検証してみれば?
0518デフォルトの名無しさん
2005/11/30(水) 01:39:29タスクマネージャ→プロセス→優先度の設定なんて項目あるじゃん。
ってことは、少なくともユーザプロセスの、スレッド管理はプロセス管理の下部構造
であって、あるプロセスのタイムスライスをその同居スレッドが食い合う構造なんじゃないのかな。
つまり、あるワーカースレッドの優先度を上げると、プライマリスレッドの使えるタイムスライスが
減る。ただし、タイムスライスの割り当てアルゴリズムがある程度臨機応変に動いているから
スレッドを増やすと処理速度が上がる。
0519513
2005/11/30(水) 01:41:07いや本当。Unixは下位のスレッドがあった場合にも、ある割合でそちらに処理が実行されるが、NTは上位のスレッドのタスクがある限り下位のスレッドには遷移しないはず。
通常はCPUを独占するスレッドがあまりない&あってもその他のスレッドが同じプライオリティを持ってるので処理が割り当てられるため普通のスレッド処理と期待する動作がおこなわれてるってはず。
0520デフォルトの名無しさん
2005/11/30(水) 01:42:02モナニー解釈だけどね。
0521デフォルトの名無しさん
2005/11/30(水) 01:43:21> いや本当。
> 下位のスレッドには遷移しないはず。
もうちょっと根拠だそうよ
0522デフォルトの名無しさん
2005/11/30(水) 01:44:32win2kでは最大4分待ちって聞いたことある。
NTも必ずタイムスライスが回ってくるけど、数十分に1回とかだと聞いたことがある。
レジストリで変えられるとか言うはなしだったけど。
0523デフォルトの名無しさん
2005/11/30(水) 01:48:100524デフォルトの名無しさん
2005/11/30(水) 01:50:53UNIXにマルチスレッドの定義はなかったと思うけど…
Pスレッドのことか?
プライオリティの低いスレッドが割り込めないのは単純割り込み方式
だけど、さすがにそんな教科書実装してないと思うよ。
スケジューリングやってるはず。 でなきゃ割り込みでいいじゃんになる。
0525513
2005/11/30(水) 01:52:02from AdvancedWindows
あとぐぐったらこれもあった
http://72.14.203.104/search?q=cache:2B1Y24GJozQJ:www.atmarkit.co.jp/fwin2k/special/win9xorwin2k/win2kprocess_5.html+Unix+NT+%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%80%80%E3%83%97%E3%83%A9%E3%82%A4%E3%82%AA%E3%83%AA%E3%83%86%E3%82%A3&hl=ja&client=opera
0526デフォルトの名無しさん
2005/11/30(水) 02:07:01とりあえずぐぐった先を読んだ限りでは、
クォンタム期間は独占されるがそうでなければプライオリティが低いのも実行可能としか読めないが。
P低が実行>P高がスケジューリング>P高がレディ、P低のクォンタムを中断>P高実行>
P高のクォンタム終了>P低の中断したクォンタム再開
0527デフォルトの名無しさん
2005/11/30(水) 02:12:27で、スケジュール通りに動くけど、プライオリティの高いスレッドが実行可能状態に入ると
そっちが優先されると。
プライオリティの高いスレッドが、”他のスレッド実行中に実行可能状態に入る”のは、
該他のスレッドが明示的に状態遷移させるか、ハードウェアからの割り込みぐらいだろうから、
ずっと該他のスレッドがタイムスライスを食われたままで、与えられないってことには
ならないんでないの?
0528デフォルトの名無しさん
2005/11/30(水) 02:16:41あのイベントって誰がどのタイミングで処理してるんだろうね?
プライマリスレッドはやってないだろうし。
0529513
2005/11/30(水) 02:21:51>>526
例だとプライオリティ18のスレッドが一つだけでクォンタムを使い切ったとしてもプライオリティ18のレディキューの最後=最初に移動されるだけでまた実行されるとしか書いてなくないですか?
>>527
普通に今のスレッドのプライオリティをあげれば普通のスレッドより高いプライオリティになる。
0530デフォルトの名無しさん
2005/11/30(水) 02:26:12ありえへん解釈や。
スケジューリングの意味がまったくなくなってる。
0532デフォルトの名無しさん
2005/11/30(水) 02:33:52System.Windows.Forms.Application.DoEvents()
0533513
2005/11/30(水) 02:37:34いや、今下位のスレッドがバックグラウンドでずっとループ処理のようなものをしてるんだけれど、GUIに影響ないはずなのになんか応答が悪いのでスケジューリングに勘違いあったかなと。
0534デフォルトの名無しさん
2005/11/30(水) 02:39:46だ・か・ら、
プロセスのタイムスライスが食われてるんじゃないのか?
プロセスわけるか、サービスとして作成すれば解決するだろう。
0535513
2005/11/30(水) 02:44:04常に仕事しているのはプライオリティ下位のスレッド。タイムスライスが食われないはずなのにもたつくから理由がわからないでいる。
いわれてるのは普通に忙しいスレッドがある場合の話では?
0536デフォルトの名無しさん
2005/11/30(水) 02:47:59実現したいんですが、どうすれば実現できますか?
1.Ctrlキーを押しながらの数箇所選択
2.ドラッグ&ドロップで文字列移動
0537デフォルトの名無しさん
2005/11/30(水) 02:52:23漏れは「常に」処理があれば、それだけで重いし、処理を分離する根拠になると思うけど。
ひょっとするとスケジューラはバックグランド処理だとみて、そのプロセスのターンアラウンド
下げるかもね。 その方がオーバーヘッド減りそうだし。
わかってると思うけど、プロセスの優先度はリアルタイム以上にあげないように。
0538デフォルトの名無しさん
2005/11/30(水) 02:58:42System.Windows.Forms.Control
から派生する。
0539513
2005/11/30(水) 02:59:20だからプライオリティ低ければ、CPU100%食う処理でもすくなくてもNTでは通常の処理に影響しない(スレッド遷移のオーバーヘッドを除く)ということだとおもうんですけど?
"重い"といってる意味がわからないんですけど?SETIも同じような実装してますよね?あれも常に100%食ってるけれど通常のアプリは普通に動く。
論点がずれてると思うんですけれど。自分は今下位のプライオリティのスレッドの処理が上位のスレッドに影響するのかの話(規定の動作だとしないはず)の話をしてるんですが。
0540デフォルトの名無しさん
2005/11/30(水) 03:08:430541デフォルトの名無しさん
2005/11/30(水) 03:26:21クレーム付いたので最終レス。
少なくとも疑似マルチスレッドOSなら影響する。以上。
0542513
2005/11/30(水) 03:32:440543デフォルトの名無しさん
2005/11/30(水) 05:20:37スパーク系ソラリスは頻繁に切り替わったけど
NTはあまりスレッド切り替えしないね。
0544デフォルトの名無しさん
2005/11/30(水) 05:40:290545デフォルトの名無しさん
2005/11/30(水) 05:42:16マルチCPU(含マルチコア)のマシンで実行した場合で違うよ
0546デフォルトの名無しさん
2005/11/30(水) 10:35:52Relationが張ってるときに、
DataTable1.Select()のソート順にDataTable2のフィールドを
指定することはできますか?
それともコードでDataTable1にソートしたいColumnを追加
してデータをコピーしないといけないのでしょうか?
よろしくお願いします。
0547デフォルトの名無しさん
2005/11/30(水) 10:39:29こんなのか
0548デフォルトの名無しさん
2005/11/30(水) 11:29:29&と&&って何がちがうんですか?
処理の結果はかわらないと思うだけど。
後 | と || も。
0549デフォルトの名無しさん
2005/11/30(水) 11:36:23static bool IsTrue() {
Console.WriteLine("True.");
return true;
}
static void Main() {
if (IsTrue() | IsTrue())
Console.WriteLine("bitwise-or");
if (IsTrue() || IsTrue())
Console.WriteLine("or");
}
0550デフォルトの名無しさん
2005/11/30(水) 11:48:490551デフォルトの名無しさん
2005/11/30(水) 11:55:180552デフォルトの名無しさん
2005/11/30(水) 12:43:18まず試してみろヴォケ
0553デフォルトの名無しさん
2005/11/30(水) 14:04:06こないだ自分用のツール作ったんだけどさ、
毎日のように新しい機能とか思いつくんだよ
だからさ、毎日のようにマイナーバージョンが増えていくんだ
数日に一回ぐらいにするべきかな?
0554デフォルトの名無しさん
2005/11/30(水) 14:16:410555デフォルトの名無しさん
2005/11/30(水) 14:25:27バージョン管理をする目的は何?
それが明確になれば答えは出るんじゃない?
0556デフォルトの名無しさん
2005/11/30(水) 14:36:02そんなのです!
どうもありがとう!
0557553
2005/11/30(水) 14:39:49今は自分用だが我ながら出来が良いのでいずれ誰かにあげるかもしれん
>>555
ん?ってことは機能が違うならマイナーアップして良いってこと?
0558デフォルトの名無しさん
2005/11/30(水) 14:49:15何を気にしているのかわからんが、バージョン番号の付け方に決まりなど無い。
よって>>554
0559デフォルトの名無しさん
2005/11/30(水) 16:06:12ショートサーキット
0560デフォルトの名無しさん
2005/11/30(水) 16:24:31ならバージョン管理でも導入して、適当なところでtag付けておけ
そうすりゃ自分用と配布用にある程度分けられるだろ
0561501
2005/11/30(水) 16:39:11>>502 氏のリンク先に書かれたソースコードを適用したところ、
一時的には強制フォント変更の問題が解決したように思えたのですが、
別ダイアログを使って文字列検索を行うため HideSelection を false にしたところ、
なぜか再び Arial 地獄が復活しました。
理由は完全に不明です(ググってみても分かりません)。
この問題について何か情報は無いですか?
ちなみに、「検索ダイアログ.ShowDialog(this)」の直前で false にして
直後に true に戻す作戦は試しましたが駄目でした。
この文字列検索機能を諦めるべきでしょうか?
完全な解決ではないですが、 OpenJane の検索のように一件検索するごとに
ダイアログを閉じる方法もあります。
しかし、せっかく IE の検索ダイアログ並みの検索ダイアログを作成したので、
可能であれば使いたいと考えているのですが……
0562デフォルトの名無しさん
2005/11/30(水) 16:42:27HideSelectionの変更のためにはウィンドウスタイルを変更せにゃならんはず
メッセージ送りなおせば?
0563501&561
2005/11/30(水) 16:58:51まだまだ初心者なもので、API とかメッセージとかよく分からないです。
ところで、プロパティのオーバライドってできましたっけ?
できるようであれば、そこの get や set のところでメッセージ送信して、
それから return super.HideSelection とかやれば良さそうな気がするのですが……
(メッセージ送信の方法はコンストラクタでやっているのと同じで良いんですよね?)
0564501&561&563
2005/11/30(水) 17:12:06一件ごとの検索で妥協することにしました。
0565デフォルトの名無しさん
2005/11/30(水) 17:12:50HandleCreatedイベントでやらせとけばいいんじゃね
0566デフォルトの名無しさん
2005/11/30(水) 17:25:14ありがとうございます!
さっそく
this.HandleCreated += (ry
でやってみました!
そしたら成功しました!
大感謝であります!
0567デフォルトの名無しさん
2005/11/30(水) 18:11:53ふむふむこうやるんだ!なぁーんだ簡単!うわすげぇ!ウハハハハwww
と楽しみながらやっております。以上
0568567
2005/11/30(水) 18:15:13さっぱりわからなかったので、C#使った瞬間こういうことなんだ!!!と興奮した。
最初は “静的” という言葉がナンなのかわからなくて困ってたけど。
あとVBではできなかったマルチスレッドに感動しました。
もうドゥーイベンツでごまかすのは おさらば だと思うと涙が出そうです。
0569デフォルトの名無しさん
2005/11/30(水) 19:28:32VB6じゃできんけど。
0570デフォルトの名無しさん
2005/11/30(水) 19:40:11難しいな・・・
なにをどうすればいいかさっぱりだ
0571デフォルトの名無しさん
2005/11/30(水) 20:14:08あれをセンターに表示したいんだけど、どうしたらできる?
0572デフォルトの名無しさん
2005/11/30(水) 21:39:37つまりクラスなどの機能縮小ね
コントロールとか無駄な部分が多くてリソースが勿体無い
0573デフォルトの名無しさん
2005/11/30(水) 21:42:100574デフォルトの名無しさん
2005/11/30(水) 21:50:19というか常識的に考えてさ、Controlクラスが場合によってControlとして
振舞ってくれなかったら悪夢だろ。Streamクラスみたいにそういうのを
想定しているならまだしも。
ちなみに継承は「拡張」じゃない。「特化」や「限定」だ。
0575デフォルトの名無しさん
2005/11/30(水) 21:57:450576デフォルトの名無しさん
2005/11/30(水) 22:07:33機能縮小というか隠すだけなら包含と委譲でいけるが、ほんとに削り落とすとなるとなさそうだな。
0577デフォルトの名無しさん
2005/11/30(水) 22:13:56俺としては、Windows Formsを無視したオリジナルな
軽量ウィンドウライブラリを構築することをお勧めする。
Win32のちょっとしたラッパでいい。
出来上がったら俺が使ってやる。
0578デフォルトの名無しさん
2005/11/30(水) 22:24:250579デフォルトの名無しさん
2005/11/30(水) 22:34:54プロパティは読み書き可能なんですが、そのインスタンスから、
同じプロパティで、すべてのプロパティが読み取り専用なクラスを作りたいんですが、
どんなやり方がありますかね?
設定を一度設定ファイルから読み込んだらもう変更したくないんですが
0580デフォルトの名無しさん
2005/11/30(水) 22:36:36> 設定を一度設定ファイルから読み込んだらもう変更したくないんですが
読み書き可能なクラスを作る必要があるのか?
0581デフォルトの名無しさん
2005/11/30(水) 22:37:42逆転の発想なら、get のみのアクセサを持つクラスを継承して set/get 両方を持つクラスを作る。
正攻法なら、読み取り専用のクラスの set アクセサを使ったら例外飛ばすようにする。
0582デフォルトの名無しさん
2005/11/30(水) 22:39:54うう、すみません説明不足でした。
XmlSerializerは、プロパティ(またはフィールド)が読み書き可能じゃないと使えないようなんです。
できればBinaryFormatterやSoapFormatterは使いたくないんですが、
あと独自の設定ファイルも使いたくないんですが(大量のプロパティを延々設定していくメソッドを作るのはなんか変)
あきらめるしかないでしょうか
0583デフォルトの名無しさん
2005/11/30(水) 22:40:42ありがとうございます
上を試して見ます
0584デフォルトの名無しさん
2005/11/30(水) 23:06:21ここでいうのも何なんだがどのXMLすれもほとんど更新されてへん。使い始めたばかりでいろいろと聞きたいことあるんだけど・・・
0585デフォルトの名無しさん
2005/11/30(水) 23:09:08XMLスレはすぐ落ちるので見に行かなくなったが
0586デフォルトの名無しさん
2005/11/30(水) 23:09:180587デフォルトの名無しさん
2005/11/30(水) 23:51:320588584
2005/12/01(木) 00:10:55お言葉に甘えて。
クラスにあたるようなものをXMLSchemaで定義して、それにあわしてちょっと複雑な設定ファイルを作りたいんだけど、
その場合、クラスのようなものをcomplexTypeで定義、その中でメンバに当たるようなものをattributeもしくはelementで表現。
elementとかは基本的にはsequenceで列挙、その中で候補が複数あるものにはchoiceを使い、
値には正規表現でバリバリにチェックという感じで委員でしょうか?
0589デフォルトの名無しさん
2005/12/01(木) 00:33:17VS2005でも3〜4倍程度の高速化だし、使えるかどうか微妙。
0590デフォルトの名無しさん
2005/12/01(木) 00:39:23Webサービスは全部Xmlメッセージだと思われ?
VS2005で3〜4倍高速化したとはほんと?
普通にうれしいんですが
0591デフォルトの名無しさん
2005/12/01(木) 00:40:03答えるとは言ったがそれはスレ違いじゃね?
.NETの標準的なクラスのXML Schemaが知りたいならxsd.exeを使えば雰囲気はつかめると思う
0592デフォルトの名無しさん
2005/12/01(木) 01:53:50だよね。どっかコミュ探します。
0593デフォルトの名無しさん
2005/12/01(木) 18:01:33昔VB6か何かで同コントロール使ったときには簡単にできた気がするのですが、
C#でのやり方は知らないので、知っていたら教えてください
0594593
2005/12/01(木) 18:06:26要するにコピペしたときにアイコンが表示されるものとされないものがあるので、
これをすべて表示できるようにするにはどうしたらいいのかってことです
0595デフォルトの名無しさん
2005/12/01(木) 18:37:07System.Windows.Forms.ListViewでサブアイテムに画像を表示させたくて調べた結果オーナードローしか手がないようで挑戦しました。
派生クラスをつくって、
this.DrawSubItem += new System.Windows.Forms.DrawListViewSubItemEventHandler(this.ListViewDrawSubItem);
this.DrawColumnHeader += new DrawListViewColumnHeaderEventHandler(this.ListViewDrawColumnHeader);
を追加して、e.DrawBackground()で背景を描いてから、ListViewDrawSubItemの中では画像を表示したいカラム以外ならe.DrawText()、画像のカラムならm_imglist.Draw(e.Graphics,...)、こんな感じで描画は成功しました。
でも問題が1つ。
項目をクリックして選択行を変えただけで、表示されてる全ての行の全てのカラムにいちいち再描画イベントが飛んできてしまうので、チカチカして重いんです。
オーナードローを使わないで普通に使ったときのListViewの動作は、選択行を変えたときは選択が消える行と選択される行だけが表示更新されているのでチカチカしませんし軽いです。
同じ動作にしたいんですが、再描画を行う必要があるのかないのかイベントプロシージャ内で判別する方法がわかりません。
なにかいい方法ないでしょうか。
0596デフォルトの名無しさん
2005/12/01(木) 20:59:400597デフォルトの名無しさん
2005/12/01(木) 22:29:31ListViewを継承したクラスでOwnerDraw=trueにして、5個カラムをつくり、画面上に4行見えている状態で選択行と違う行を1回だけクリックしたときの挙動をListViewDrawSubItemの先頭にデバッグ出力を入れて試してみました。
見事に表示行全てしかも2回も呼ばれるようです。(涙
---
2005/12/01 22:23:08 column=0item=0
2005/12/01 22:23:08 column=1item=0
2005/12/01 22:23:08 column=2item=0
2005/12/01 22:23:08 column=3item=0
2005/12/01 22:23:08 column=4item=0
(略)
2005/12/01 22:23:09 column=2item=2
2005/12/01 22:23:09 column=3item=2
2005/12/01 22:23:09 column=4item=2
2005/12/01 22:23:09 column=0item=0
2005/12/01 22:23:09 column=1item=0
2005/12/01 22:23:09 column=2item=0
2005/12/01 22:23:09 column=3item=0
2005/12/01 22:23:09 column=4item=0
(略)
2005/12/01 22:23:09 column=0item=3
2005/12/01 22:23:09 column=1item=3
2005/12/01 22:23:09 column=2item=3
2005/12/01 22:23:09 column=3item=3
2005/12/01 22:23:09 column=4item=3
0598デフォルトの名無しさん
2005/12/01(木) 22:43:150599デフォルトの名無しさん
2005/12/01(木) 23:28:35System.Windows.Forms.TabControl.OnDrawItem(DrawItemEventArgs)
を呼んでいる個所が見つけれません。
ご存知のかたいませんか?
0600デフォルトの名無しさん
2005/12/01(木) 23:29:530601デフォルトの名無しさん
2005/12/02(金) 00:34:53System.Windows.Forms.TabControl.WmReflectDrawItem(Message&)
System.Windows.Forms.TabControl.OnDrawItem(DrawItemEventArgs)
0602デフォルトの名無しさん
2005/12/02(金) 00:37:36WndProcで、base.WndProcを呼ぶ前に
作成していた場合RegionをDispose&HrgnをDeleteObject
CreateRectRgn関数&GetUpdateRgn関数で更新リージョン取得
Region.FromHrgnでRegion作成
OnDrawSubItem or DrawSubItemで
e.Bounds.Locationが上で作ったRegionのIsVisibleでない場合処理中止
これでどう?
0603デフォルトの名無しさん
2005/12/02(金) 00:50:24ArrayListよりList<>の方が
キャストなしでも10%くらい速いんだね。
0604デフォルトの名無しさん
2005/12/02(金) 00:56:02参照型でも速い?
0605デフォルトの名無しさん
2005/12/02(金) 01:07:580606デフォルトの名無しさん
2005/12/02(金) 01:12:18そこまでは誰でもわかります。
TabControl.DrawItem イベント のヘルプに
「OwnerDrawFixed に設定されている場合に、タブが描画されたときに発生します。」
とあるのですが、これがどこに記述してるのかが知りたいのです。
0607デフォルトの名無しさん
2005/12/02(金) 01:32:48DLLファイルってあるじゃないですか。
これって多くがC++で制作されているのかな?
そうするとC#上でC++で制作されたDLLファイルを扱うことが出来ないの?
0608デフォルトの名無しさん
2005/12/02(金) 01:34:47普通のC++が出力するDLLとC#など.NET向きのコンパイラが出力するDLLは別物。
0609デフォルトの名無しさん
2005/12/02(金) 01:38:13ttp://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html
んで質問、
C#で、C++の順列を生成する<algorithm> next_permutationに当たるものって有りますか?
0610デフォルトの名無しさん
2005/12/02(金) 01:39:21お願いします、教えてください。
0611デフォルトの名無しさん
2005/12/02(金) 01:42:25すいません、拡張子resのファイルは何で編集すればいいのでしょうか
お願いします、教えてください。
でOK?
0612デフォルトの名無しさん
2005/12/02(金) 01:43:090613デフォルトの名無しさん
2005/12/02(金) 01:46:23>そこまでは誰でもわかります。
誰でもわかるならもうちょっと考えろよ
オーナードローだからWM_DRAWITEMが怪しいとは思えないのかね
WM_DRAWITEM が飛んできたときに
WndProcでWmReflectDrawItemが呼ばれる
>これがどこに記述してるのかが知りたいのです。
よってWndProc
最初っからしりたいこと書いてよ
小出しにされてもわからへんがな
0614デフォルトの名無しさん
2005/12/02(金) 01:48:34標準ライブラリには無いねー。
なんかCombinationクラスならサンプルがあるみたいだけど。
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/mth_lexicograp.asp
0615デフォルトの名無しさん
2005/12/02(金) 01:51:40ええっと、拡張子がresのプログラム?を落としたんですが再生の仕方がわからないんです。
0616デフォルトの名無しさん
2005/12/02(金) 01:53:520617デフォルトの名無しさん
2005/12/02(金) 01:56:180618デフォルトの名無しさん
2005/12/02(金) 01:57:33WmReflectDrawItemが呼ばれる条件にはOwnerDrawFixed に設定されているのと記述はありません.
Msgが0x202Bなら無条件でWmReflectDrawItemが呼ばれます.
つか0x202Bがなんなのかが分からないんです。
0619デフォルトの名無しさん
2005/12/02(金) 02:02:59Windowsを勉強してこいとしか言いようが無いが
0620デフォルトの名無しさん
2005/12/02(金) 02:04:50WM_REFLECT + WM_DRAWITEM
0621デフォルトの名無しさん
2005/12/02(金) 02:05:20WM_DRAWITEM ではありませんよw
0622デフォルトの名無しさん
2005/12/02(金) 02:06:180623デフォルトの名無しさん
2005/12/02(金) 02:13:51デスクトップ検索。これお勧め
0624607
2005/12/02(金) 02:15:13そうなんですか。
ネットで公開されているファイルなどを利用出来るのなら便利だと思ったのですが。
0625デフォルトの名無しさん
2005/12/02(金) 02:16:01メッセージ一つ調べられんのかよ
最初っから
TabControl.DrawItem イベント のヘルプに
「OwnerDrawFixed に設定されている場合に、タブが描画されたときに発生します。」
とあるのですが
メッセージが0x202Bのときに発生するようですが
0x202Bって何ですかって聞け
0626デフォルトの名無しさん
2005/12/02(金) 02:18:02Windowsですか?
0627デフォルトの名無しさん
2005/12/02(金) 02:23:44WM_REFLECT (WM_USER+0x1c00)
あたりを調べろ
もう十分付き合ってやっただろw
0628デフォルトの名無しさん
2005/12/02(金) 02:25:56釣りか?
0629595
2005/12/02(金) 13:15:29やっぱり、イベントハンドラ内で描画すべきかどうか判断する必要があって、それをしないで描画していたので何度も表示更新されてました。
e.Status または e.ItemStatus がそれです。
ところが、単一選択を指定している場合、 HideSelection が true/false に関わらず Selected の bit は常にどの行でも立っているという謎の仕様のようです。
これであのあと、一晩ハマリました。Focused なら選択行だけが真になっているのでソチラを採用しました。
あと、コントロールの Focused が false のときにも選択行をハイライトしたかったので、コントロールの SelectedItemChenged もトラップして選択行が変わるたびに自分で行番号を憶えるようにして全て解決できました。
同じとこでハマル人のために、ご参考までに〜〜
0630デフォルトの名無しさん
2005/12/02(金) 15:08:38ハッシュテーブルから削除すればGCの対象になるのでしょうか?
それとも何かしらのオブジェクトの破棄をしないとメモリリークの原因となってしまうのでしょうか?
0631デフォルトの名無しさん
2005/12/02(金) 15:30:41前者
0632デフォルトの名無しさん
2005/12/02(金) 15:36:01Thx!
これで一歩前へ進めます
0633デフォルトの名無しさん
2005/12/02(金) 20:19:170634デフォルトの名無しさん
2005/12/02(金) 21:32:08key data1 data2
1 a b
2 c d
というように
key=1を指定したらaとbを取得でき
key=2を指定したらcとdを取得するということをしたいです。
ハッシュを使うとdata1だけなら取得できることは調べて
分かったのですが、data1とdata2の2つを取得する方法がわかりません。
0635デフォルトの名無しさん
2005/12/02(金) 21:33:42Pairはそれらしいの自分で実装のこと
0636デフォルトの名無しさん
2005/12/02(金) 21:35:56それともNamedValueCollectionみたいなのを求めてるのか?
0637デフォルトの名無しさん
2005/12/02(金) 23:38:55hash.add(2, new object[]{c,d});
object[] arr = (object[])hash[1];
0638デフォルトの名無しさん
2005/12/02(金) 23:46:350639デフォルトの名無しさん
2005/12/02(金) 23:50:24そんな蛸な設計してる部下いたら作り直させる。
0640デフォルトの名無しさん
2005/12/02(金) 23:58:39動きさえすれば
0641デフォルトの名無しさん
2005/12/03(土) 00:29:200642デフォルトの名無しさん
2005/12/03(土) 00:31:510643デフォルトの名無しさん
2005/12/03(土) 00:34:44ひょっとして ListDictionary と同じ実装なわけ?
0644デフォルトの名無しさん
2005/12/03(土) 00:35:47じゃ、Hashtableを2つ使えばよさげって場合はなかなかなさそうですな
0645デフォルトの名無しさん
2005/12/03(土) 02:35:40ちょこっとテキストを楽に移動させたいだけなんだけどなー
なのになんでこんなに苦労せにゃいかんのだ
0646デフォルトの名無しさん
2005/12/03(土) 11:19:07だから利用出来るってば。>>609参照
[DllImport("hoge.dll")]
extern static int Hoge();
みたいな感じ。
0647デフォルトの名無しさん
2005/12/03(土) 11:58:07レポートビューワで表示したときに複数の帳票を一つのビューワで出したいと思っているのですが、メインレポートのタブの横に新しいタブを追加する方法がよくわかりません。
新しいタブを追加し、別のレポートを出力する方法を教えてください
0648595
2005/12/03(土) 20:14:37そのメソッドの中では、与えられた条件を元に、1つずつ classA のインスタンスを new しています。
つくられるインスタンスの数は、条件によってまちまちで、予め予測できません。
classA[]ary;
classA obj = new classA();
array.Add(obj);
のように次々追加して、
return ary;
のように返すことができるかと思って調べたんですが、できないようです。どうやったら配列をつくって返すことができるでしょうか。
0649デフォルトの名無しさん
2005/12/03(土) 20:23:28ary.add(new A);
A[] a=new A[ary.Count]
ary.CopyTo(a);
で
0650デフォルトの名無しさん
2005/12/03(土) 20:26:46というか何言語だそれは
ArrayList/List<classA>使えば良いよ
配列にするにはToArray
0651デフォルトの名無しさん
2005/12/03(土) 21:09:360652595
2005/12/03(土) 21:21:12ArrayListを使ってToArray()でobject型の配列として返すことができるのを確かめました。
あとは classA[] として返す方法ですが List<classA> の方がその説明だと思いますので調べてみます。
>>649
Listを使ったらできるということですよね。調べてみます。
ありがとうございますー!!
0653デフォルトの名無しさん
2005/12/03(土) 21:23:160654デフォルトの名無しさん
2005/12/03(土) 22:08:150655デフォルトの名無しさん
2005/12/03(土) 22:26:020656595
2005/12/04(日) 00:02:38> ArrayList.ToArrayのオーバーロード見れ
うは…見落としてました!!(泣)
(classA[])list.ToArray(typeof(classA)); で動作しました。
蛇足ですがちょっとひっかかったところを…ListArray に1つも要素を追加せずに
return (classA[])list.ToArray(typeof(classA));
された戻り値を classA[]l=foo(); のように受け取った場合、 l は null とはならないようです。
要素0件かのチェックは l.Length プロパティでうまくいきました。
0657デフォルトの名無しさん
2005/12/04(日) 02:20:270658デフォルトの名無しさん
2005/12/04(日) 03:24:40string[] strs = (string[])new ArrayList(collection).ToArray(typeof(string[]));
0659デフォルトの名無しさん
2005/12/04(日) 03:26:31ていうか素直にCopyToしとけ。
0660デフォルトの名無しさん
2005/12/04(日) 10:35:160661デフォルトの名無しさん
2005/12/04(日) 11:04:34読み込むより効率が悪いのでしょうか?
0662デフォルトの名無しさん
2005/12/04(日) 11:25:41効率よりも確実な同期を気にすべきだろ
0663デフォルトの名無しさん
2005/12/04(日) 11:31:300664デフォルトの名無しさん
2005/12/04(日) 11:36:29Bandにボタンとかコンボボックスとかを複数設置するには
どうしたら出来るでしょうか?
0665デフォルトの名無しさん
2005/12/04(日) 11:36:590666デフォルトの名無しさん
2005/12/04(日) 11:37:290667ToolStrip推奨委員会
2005/12/04(日) 11:54:59ToolStripでいいじゃん
0668デフォルトの名無しさん
2005/12/04(日) 11:57:20ありがとうございます。勉強になりました。
0669ToolStrip推奨委員会
2005/12/04(日) 12:00:55つーかPanelおいてその上に配置したら?
0670デフォルトの名無しさん
2005/12/04(日) 14:03:30毎回GetType()で済ませたら何かまずいの?
0671デフォルトの名無しさん
2005/12/04(日) 14:06:170672デフォルトの名無しさん
2005/12/04(日) 14:22:040673デフォルトの名無しさん
2005/12/04(日) 14:33:18こんな感じにしたいんだけどできるんでしょうか?
Dog dog;
Bird bird;
Type birdType=bird.GetType();
//check the type of target animal is same type or not.
Bird tmpBird=birdType.Cast(dog);
例が蛸なのはおいといてください・・・
0674デフォルトの名無しさん
2005/12/04(日) 14:37:00キャストってのは静的に型が分かってないとできないこと。
例えばその例なら
> Bird tmpBird=birdType.Cast(dog);
で結局Birdにキャストするんだから、(Bird)docと書いても変わらないわけで。
as演算でもやってれば。
0675デフォルトの名無しさん
2005/12/04(日) 14:40:04Bird tmpBird =(Bird)dog;
0676デフォルトの名無しさん
2005/12/04(日) 14:49:400677デフォルトの名無しさん
2005/12/04(日) 15:34:260678デフォルトの名無しさん
2005/12/04(日) 15:38:05try
{
if( dog is Bird )
{
Bird tmpBird =(Bird)dog;
tmpBird.Fly();
}
}
catch(NotSupportedException e)
{
}
0679デフォルトの名無しさん
2005/12/04(日) 16:40:360680デフォルトの名無しさん
2005/12/04(日) 16:53:18unmanaged API に渡すために、バイト配列へのポインタをDWORDとして取得したいのですが
どのようにすればよいのでしょうか。
0681デフォルトの名無しさん
2005/12/04(日) 16:58:02基本的に普通に配列として渡せばマーシャラが勝手にやってくれるけど?
Win32なら問題も無かろうし。
あと関数が配列の要素を変更する場合Out属性もつける必要がある。
0682680
2005/12/04(日) 17:21:51UInt32を引数としてとるデリゲートを通して呼び出しているので、
配列をそのまま渡すわけにはいかないんです。
0683デフォルトの名無しさん
2005/12/04(日) 17:26:36そのデリゲートも書き換えればいいが、そういうわけにもいかない場合は
・unsafeでfixedしてポインタからIntPtr生成
・GCHandle&GCHandleType.Pinnedで固定してAddrOfPinnedObject
でそのIntPtrをToInt32
……まて、デリゲートってことはコールバックか。
場合によっちゃ固定で難しいこともあるぞ。
0684680
2005/12/04(日) 17:27:52デリゲートのほうをUInt32→byte[]にしたらうまくいきました。
すれ汚しすみません。
>>681 >>683 多謝
0685デフォルトの名無しさん
2005/12/04(日) 19:28:000686デフォルトの名無しさん
2005/12/04(日) 20:23:15System.Web;
って標準でインストールされているんでしょうか?
using System.Web;
してもそんな名前空間は存在しないって怒られるんですが・・
0687デフォルトの名無しさん
2005/12/04(日) 20:25:160688デフォルトの名無しさん
2005/12/04(日) 20:27:27usingは単に名前空間をコード内で省略して書けるってだけ
0690デフォルトの名無しさん
2005/12/04(日) 23:55:33デバイスコンテキスト作成するたびにGDIリソースってのを消費するらしいですがコレって何でしょうか・・・
DC作りすぎるとやっぱりマズイのかな・・・
リソースを消費を抑えるテクニック等のアドバイスお願いします。。。
0691デフォルトの名無しさん
2005/12/04(日) 23:58:09絶対無い
0692デフォルトの名無しさん
2005/12/04(日) 23:59:15どうでもいいがGDIとBitmapクラスも大概相性悪いよな
0693690
2005/12/05(月) 00:20:3632ビットの640*480ビットマップを連続転送させるプログラムでテストしたところDrawImage:BitBltで2倍近いパフォーマンスが出ましたけど・・・
テストの仕方が不味かったですかね・・・orz
>>692
デバイスコンテキストは描画時のみ作成して、描画後は解放するのが流儀なのでしょうか?
現在のプログラムでは20個弱程度のDCを常時保持している状態です。
大きいビットマップを作成して複数のビットマップをチップとして扱うことでリソース消費を抑えられたらなーとか考えてました・・・
0694デフォルトの名無しさん
2005/12/05(月) 00:57:19一回C言語でWin32APIを使った描画を勉強してみるといい。
0695デフォルトの名無しさん
2005/12/05(月) 01:41:54できればコンフィグなどで出力するログをスイッチしたいんだけど、実行時に毎回通るところにif(ほにゃらら〜
って書くのがなんかやなんだが。
0696デフォルトの名無しさん
2005/12/05(月) 01:55:120697デフォルトの名無しさん
2005/12/05(月) 02:27:470698デフォルトの名無しさん
2005/12/05(月) 02:30:12たぶんそうだろうね。
0699デフォルトの名無しさん
2005/12/05(月) 02:42:460700デフォルトの名無しさん
2005/12/05(月) 03:59:510701デフォルトの名無しさん
2005/12/05(月) 05:04:300702デフォルトの名無しさん
2005/12/05(月) 07:43:55Logging Application Blockなり使えば?
0703デフォルトの名無しさん
2005/12/05(月) 17:49:30に失敗します。どういう事ですか。これは。
0704デフォルトの名無しさん
2005/12/05(月) 17:58:07検索のヒント
キーワードに誤字・脱字がないか確かめてください。
違うキーワードを使ってみてください。
より一般的な言葉を使ってみてください。
--------------------------------------------------------------------------------
c2005 Google
0705デフォルトの名無しさん
2005/12/05(月) 18:21:09http://www.stackasterisk.jp/tech/program/WatchHouse.lzh
http://www.stackasterisk.jp/tech/program/howtosniff01_01.jsp
0706デフォルトの名無しさん
2005/12/05(月) 18:38:09とは言えまるで応用力もなさそうだから>>703にできるかどうかは知らないけど
0707デフォルトの名無しさん
2005/12/05(月) 18:53:040708デフォルトの名無しさん
2005/12/05(月) 19:16:040709デフォルトの名無しさん
2005/12/05(月) 21:14:09プロジェクトのフォルダの中身を全て公開すればよさそうなんですが、
.suoファイルなどの中に個人情報が含まれていないか心配です。
0710デフォルトの名無しさん
2005/12/05(月) 21:30:260711デフォルトの名無しさん
2005/12/05(月) 21:43:25.csprojは参照dllを追加してるとdllのパスに
ローカルの相対パスかネットワークドライブなら絶対パスが入るので注意。
あとVSSを使ってるなら.csprojと.slnにその情報が残ったと思う。
0712デフォルトの名無しさん
2005/12/05(月) 21:49:250713デフォルトの名無しさん
2005/12/06(火) 00:37:47ありがとうございます
.csだけ公開することにしました
0714デフォルトの名無しさん
2005/12/06(火) 00:39:240715デフォルトの名無しさん
2005/12/06(火) 00:40:410716デフォルトの名無しさん
2005/12/06(火) 00:49:000717デフォルトの名無しさん
2005/12/06(火) 01:09:500718467
2005/12/06(火) 08:33:482chへの接続はHttpWebRequest/HttpWebResponseを使ってたのですが
どうも1つのプロセスからは1つのサーバーにセッションを2つしか作れないようです。
・書き込みを行うプログラムをシングルスレッドにして、プログラムを多数起動する
だとセッションが大量に生成されるので、速かったようです。
これは自分でTcpClientを使って書かなきゃいけない予感。
0719デフォルトの名無しさん
2005/12/06(火) 09:36:03コネクション数の制限ってhttpの仕様。
0720デフォルトの名無しさん
2005/12/06(火) 10:53:21HTTPの仕様っつーか、クライアント側とサーバ側のそのぞれの設定だろ?
>>718
maxConnectionとApp.configあたりでぐぐったら?
0721デフォルトの名無しさん
2005/12/06(火) 12:12:25http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpgenref/html/gngrfaddelementforconnectionmanagement.asp
か?
なんでこんな制限かけてるんだろう?
0722デフォルトの名無しさん
2005/12/06(火) 12:21:060723デフォルトの名無しさん
2005/12/06(火) 12:58:09>718
コネクション数の制限ってhttpの仕様。
722 名前: デフォルトの名無しさん [sage] 投稿日: 2005/12/06(火) 12:21:06
サーバの負荷とか考えたことあるのか
0724デフォルトの名無しさん
2005/12/06(火) 13:28:29このあたりのおまじないもやって置くとよいかもしれない。
System.Net.ServicePointManager.DefaultConnectionLimit = 10;
System.Net.ServicePointManager.MaxServicePointIdleTime = 10;
System.Net.ServicePointManager.Expect100Continue = false;
なんでこんな制限というか設定値があるかというと、RPCの際に
なるべくHTTP 1.1 を使って接続を使いまわすため。
0725デフォルトの名無しさん
2005/12/06(火) 14:14:26遅すぎ。パフォーマンスカウンターはどうやってるんだ?
テストコード
PerformanceCounter p = new PerformanceCounter(
"Thread", "% Processor Time", Process.GetCurrentProcess().ProcessName + ".vshost/0", true);
while (true) {
Debug.WriteLine("begin-" + Environment.TickCount.ToString());
float val = p.NextValue();
Debug.WriteLine("end-" + Environment.TickCount.ToString());
}
0726デフォルトの名無しさん
2005/12/06(火) 16:03:21>なんでこんな制限かけてるんだろう?
RFCで定められているガイドラインですよ。
ttp://support.microsoft.com/kb/183110/ja
>HTTP 1.1 の仕様 (RFC2616) で接続数 2 が上限と定められているためです。
ttp://www.studyinghttp.net/cgi-bin/rfc.cgi?2616#Sec8.1.4
>持続的接続を使用するクライアントは、サーバへ維持する同時接続の数を制限すべきである。
>シングルユーザクライアントは、どんなサーバやプロクシへも 2 接続より多く維持すべきではない。
出来るからといって接続数を増やすのはマナー違反かと思います。
0727デフォルトの名無しさん
2005/12/06(火) 16:16:29(1)タイトルバーはアイコンなし、×ボタンだけ
(2)サイズ可変
(3)右下にサイズ変更グリップ
最近のコモンダイアログって、(1)〜(3)全部備えているじゃないですか。
真似したいんですがうまくいかないんです。
FormBorderStyle.Sizableだと(1)が出来ないので、FixedDialogに
SetWindowLongして(1)と(2)は出来たのですが、(3)が
分かりません。どうしたらいいでしょう?
0728デフォルトの名無しさん
2005/12/06(火) 16:23:160729467
2005/12/06(火) 16:43:34クラスライブラリ側で制限がかかってたとは思いもしませんでした。
>>720
>>721
>>724
ありがとうございます。おかげでTcpClientを使わなくてもよさそうです。
0730デフォルトの名無しさん
2005/12/06(火) 16:48:500731デフォルトの名無しさん
2005/12/06(火) 16:54:31Cライクのすっきりした文法とか。
0732デフォルトの名無しさん
2005/12/06(火) 16:59:500733デフォルトの名無しさん
2005/12/06(火) 17:14:09.NET1.1 では、 VB.NET では不可能で、C#では可能なことがいくつかあった。
.NET2.0 では、 VBがかなり機能追加されたはず。
0734デフォルトの名無しさん
2005/12/06(火) 17:15:57.net 2.0ならFormBorderStyle.Sizableで全部できた希ガス
ShowIcon = false
MinimizeBox = false;
MuximizeBox = false;
こんな感じで
0735デフォルトの名無しさん
2005/12/06(火) 17:59:30C#で普通にWindowsアプリを作ると、初期化した後はウィンドウにイベントが来るまで何も出来ないと思うんだけど、
テキストファイルに書いてあるコードを休みなく順次実行するにはどうしたらいいんだろう?
マルチスレッドにするか、timerに1msごとにイベントを発生させてそれごとに1行ずつ進めていくぐらいしか思いつかないんだけど。
0736725
2005/12/06(火) 18:19:45後自分が何か勘違いしてるようであれば指摘してもらえると助かります。
0737デフォルトの名無しさん
2005/12/06(火) 18:55:18これなら?
0738デフォルトの名無しさん
2005/12/06(火) 18:59:50同じコードをもう一度実行するとどうなりますか?
0739725
2005/12/06(火) 19:04:49いまデバッグ用に同じプロセスを見ているので.vshostをつけないとプロセスが見つけられないのでつけてます。
>>738
繰り返しても同じですね。
今さがしたHP参考にmanagementObject使ってみてもいるんですが、これはこれで取れてる情報の値の意味がよくわからんです・・・UserModeTimeがユーザーモードの値なんだろうけど、どの期間のどんな値なのか・・・orz
参考URL
http://www.technewsgroups.net/group/microsoft.public.dotnet.general/topic9.aspx
0740デフォルトの名無しさん
2005/12/06(火) 19:15:14上記のサイトに、
class Sample
{
void Main()
{
Console.Write("岩永信之");
}
}
というのが載っていたのですが、コンパイルが
hhh.cs(5,5): error CS0246: 型または名前空間名 'Console'
が見つかりませんでした。ディレクティブを使うかアセンブリ参照を使ってくだ
さい。
とエラーが出て通りません。どこがいけないのですか?
バージョンが新しくなって、昔通っていていたコンパイルも今では通らなく
なったということでしょうか?
他のところに間違って投稿して、マルチポストっぽくなってしまったのですが、
どうかよろしくお願いします。
0741デフォルトの名無しさん
2005/12/06(火) 19:17:050742デフォルトの名無しさん
2005/12/06(火) 19:59:14・全部一気にに実行する(プログラムが終わるまでメッセージ受け付けない)
・マルチスレッド
0743740
2005/12/06(火) 20:25:43error CS5001: プログラム 'hhh.exe' のエントリ ポイントが定義されていません。
とエラーが出ます。やはり>>740にあるプログラムはnamespaceなど、
多くのものが省略された解答であるとみるべきでしょうか?
0744デフォルトの名無しさん
2005/12/06(火) 20:30:25Main の前に static 付けれ
0745デフォルトの名無しさん
2005/12/06(火) 20:32:11下の方のサンプルにはちゃんと書いてるのに
0746デフォルトの名無しさん
2005/12/06(火) 20:33:25using System;
class Sample
{
static void Main()
{
Console.Write("Hello! World!");
}
}
これが一番簡単な形なんですね! やっと一歩踏み出せました。
>>744ありがとうございます
0747デフォルトの名無しさん
2005/12/06(火) 20:37:500748デフォルトの名無しさん
2005/12/06(火) 22:39:53begin-559578
end-559609
begin-559609
end-559625
begin-559625
end-559625
begin-559625
end-559625
begin-559625
end-559640
……
初回がちょっと遅いけど、それ以降は1回のループあたり5msくらいか。
0750デフォルトの名無しさん
2005/12/06(火) 23:31:33コンストラクタでArgumentExceptionをキャッチするしかないんですか?
IsValidみたいなのないの?
0751デフォルトの名無しさん
2005/12/06(火) 23:56:48key : ushort
value : ArrayList
Hashtable hs = new Hashtable();
hs[0] = new ArrayList();
foreach(ArraList ar in hs.Keys){}
でビルドできるが、ArraList ar でエラーがでます。
なにか問題でも?
0752デフォルトの名無しさん
2005/12/06(火) 23:58:45Valuesか、Keysいらないんじゃないの?
0753デフォルトの名無しさん
2005/12/07(水) 00:02:43レス多謝です。
気づきました。ありがとう
0754デフォルトの名無しさん
2005/12/07(水) 00:14:43保存したり、プロパティ変更したりすると、PCが
勝手に再起動するんですが・・・
どうもPCと相性が悪い
0755デフォルトの名無しさん
2005/12/07(水) 00:16:27ビルド・リビルドとかするといきなり再起動する場合が・・
0756デフォルトの名無しさん
2005/12/07(水) 04:43:54それってまずハードを疑うなぁ。電源容量足りてる&安定してる?
0757デフォルトの名無しさん
2005/12/07(水) 09:27:07なんて読むの?
ドットファスケータ???
0758デフォルトの名無しさん
2005/12/07(水) 10:35:34元の単語 obfuscator がオブファスケータ(難読化する。先頭にアクセント。)で、
それと同じ感じでドットファルケータでいいと思う。
0759デフォルトの名無しさん
2005/12/07(水) 22:35:19アンマネージド API を呼び出す場合に、
データの先頭アドレスを表すポインタ(IntPtr) を、 構造体の参照を引数としてとる関数に
データのコピーを伴わずに直接渡す方法はありませんか?
今度の場合は関数の宣言を変えることはあまりしたくありません。
構造体に一度格納してから渡す方法もあると思いますが、処理速度を考えるとこれもあまりしたくありません。
書き忘れていましたが、環境は .NET Framework 2.0 beta2 です。
0760デフォルトの名無しさん
2005/12/07(水) 22:59:440761759
2005/12/07(水) 23:24:21今はとりあえずそうしているのですが、このような引数が複数あった場合、
2^n 通りのオーバーロードを書かなくてはならないことになります。
それが関数の宣言を変えたくないと言った意味です。
そのため将来を考え、もっとスマートな方法はないかと思い質問しました。
確かに現状ではあまり問題はないのですが。
0762デフォルトの名無しさん
2005/12/07(水) 23:30:50つかそんなコードC#で書くな。
0763デフォルトの名無しさん
2005/12/07(水) 23:43:582000行もあるようなクラスだとエクスプローラがなきゃ読む気しねーw
0764デフォルトの名無しさん
2005/12/07(水) 23:46:28C# 2.0はpartialキーワードでクラスを複数のソースに分けられる
0765デフォルトの名無しさん
2005/12/07(水) 23:55:12わざわざ糞コードを書きにくい仕様にしてあるのにお前ときたら……
0766759
2005/12/08(木) 00:01:51そうですね・・・
正直2通りでも気持ち悪いくらいですが、他に代替手段がないのなら仕方ないですね
>>763
IDEのアウトランを使えばヘッダファイルに近い表示にできるかと。
Ctrl-M O => 定義のみ表示
Ctrl-M L => 元に戻す
0767デフォルトの名無しさん
2005/12/08(木) 10:15:36SizableToolWindowですとタイトルバーが細いので・・・
0768デフォルトの名無しさん
2005/12/08(木) 10:21:192.0はShowIconてのがあるんですか。まだ1.1なんで(´・ω・`)ショボーンです。
0769デフォルトの名無しさん
2005/12/08(木) 10:27:56それをDataSetにロードして更新しているのですが
更新を随時ファイルに反映するためにはXmlファイルをWriteXmlで再び全て書き込むしかないですか?
AcceptChangesでXmlファイルが変更されるようにできないですか?
0770デフォルトの名無しさん
2005/12/08(木) 11:09:00VS.NETの機能か、それに順ずるソフト教えてください。
0771デフォルトの名無しさん
2005/12/08(木) 11:38:49一応、Doxygen + graphvizでドキュメント + クラス図は作ってくれる
あとは、あまり使ったことないけど、フリーの奴なら幾つか知ってる。
UMLEditor
http://www.codeproject.com/miscctrl/umleditor.asp
Pocket UML
http://www.codeproject.com/macro/pocketuml.asp
Netron Graph Libraryのデモプログラムのサンプル
http://netron.sourceforge.net/wp/?page_id=31
SDE for Visual Studio .NET等の有償ツールのCommunity Editionとかで間に合うならそれでもいいかも。
http://www.visual-paradigm.com/product/sde/vs/index.jsp
そういや、VS2005にもダイアグラム作成機能が付いてたな……。
0772デフォルトの名無しさん
2005/12/08(木) 14:24:41formのIcon= null;にすればいいじゃん
0773デフォルトの名無しさん
2005/12/08(木) 14:25:48デフォルトアイコンが表示されるがな
0774デフォルトの名無しさん
2005/12/08(木) 15:23:55ありがとうございます。
ひととおり見てみます。
0775デフォルトの名無しさん
2005/12/08(木) 19:07:170776デフォルトの名無しさん
2005/12/08(木) 19:10:29「Visual Studio .NET 2003」Windowsアプリを始めて作ります。
言語は、C#で作ってます。
サーバー上のMySQLからデータを取得して表示させたりしたいのですが、
そもそもDBへの接続の仕方が解りません。
一応、MySQLのODBCはインストールしてあります。
どなたかアドバイス頂けないでしょうか。
ちなみに私は、Windowsアプリの開発は始めてであり、
今まで、PHP+MySQLでの開発をメインに行ってました。
PHP+MySQL開発歴は、3年ぐらいになります。
Windowsアプリ開発歴は、1ヶ月も満たないです。
Googleに聞いてもSQL Serverの事例ばっかで
なかなか参考になるページがありませんでした。
MySQL接続に関して、参考になるページがご存知でしたら
そちらも合わせて宜しくお願い致します。
0777デフォルトの名無しさん
2005/12/08(木) 19:11:45確かにちょっと気持ち悪さもあるが、妥当だろう。
むしろそのためのプロパティ。
0778デフォルトの名無しさん
2005/12/08(木) 19:23:19C#で書いているアプリケーションで、キーワード強調とインテリセンス機能をもったテキストエディタを用意する必要が出てきて、カスタマイズの必要もあるのでコンポーネントのソースを探してるんですが見つかりません。
DelphiならSynEditやTEditなど山ほど検索できたので、C#にコンバートできるか調べましたが唯一できそうなのがDeluxという商用ソフトのみで6万円以上するので諦めました。
逆方向ならBorlandが無償配布してるんですが…。
インテリセンスやキーワードハイライトは自分でなんとか実装します。
エディタコンポーネントとして最低限の機能のソースでもどこかにないでしょうか??
ゼロからテキストエディタコンポーネントをC#で書く方法、特にキャレットを出して日本語を入力したりカーソルを動かしてテキストを選択したり検索したりさせる方法や、そもそもコントロールをゼロから自作する方法がさっぱりわからないので…。
0779デフォルトの名無しさん
2005/12/08(木) 19:23:19ADO.NET標準のOdbcClientやOleDbClientからODBCを使うより
専用の.NET プロバイダーを使ったほうがいいかもしれない。
ぐぐったらこんなのがあった。
http://crlab.com/mysqlnet/
0780デフォルトの名無しさん
2005/12/08(木) 20:56:260781デフォルトの名無しさん
2005/12/08(木) 21:21:58SharpDevelopという.netのIDEがあってそれにインテリセンスも
キーワード強調も実装されている。ただし、オープンソースで
ライセンスは知らない。
0782デフォルトの名無しさん
2005/12/08(木) 21:31:35そのくらいなら自分で実装してもたいした事ないだろ?
0783778
2005/12/08(木) 21:45:32ありがとうございます。SharpDevelopのソース見てみます。
コントロールをつくったことがなくC#でコントロール自作の方法を解説されているサイトもみつからずでしたので、
SharpDevelopほど大規模なIDEからそれだけを頼りに読み取れるか自信がなくてためらっていました。
やるしかなさそうですね。あたってくだけてきますー(汗
0784デフォルトの名無しさん
2005/12/08(木) 22:59:47SourceForge(JP)でみたことあるが今メンテしてるな・・・
0785デフォルトの名無しさん
2005/12/08(木) 23:35:12方法はありますか。
開発ツールは.NET2003です。
0786デフォルトの名無しさん
2005/12/08(木) 23:39:280787778
2005/12/08(木) 23:55:30おぉ…!!メンテ後思いしたりしたときには、名前教えていただけたら…。(^o^;
ちなみに SharpDevelop のエディタを参考に根性でゼロからコンポーネントをつくりはじめています。
現在キャレットを点滅させることができるようになりました。
結構難しかったです…。
(独自コンポ作成のポイント)
・独自コンポーネントは、System.Windows.Forms.UserControl から派生させる。
・キャレットは、コントロールがフォーカスを貰ったときに生成して、フォーカスを失ったら破棄する。
・コントロールがフォーカスを貰う・失うイベントは GotFocus,LostFocus イベントハンドラを使う。
・ただし、GotFocus,LostFocus は、コントロールのイベント一覧に表示されない(隠蔽されている)ので、手作業で追加するしかない。(ここでハマリました…。(;;)
コントロールの上に貼り付けたPanelのLeave,Enterイベントでキャレット処理を入れてもFocus来ないんですよね、なぜか。
0788778
2005/12/08(木) 23:57:00・キャレットはC#というか.Net自身では処理できない。WIN32APIを呼ぶしかない。
ここでもはまってました。(^^;
0789デフォルトの名無しさん
2005/12/08(木) 23:57:27>>776 の質問者です。
ありがとうございます。
早速インストールしてみました。
左側のツールボックスに「MySQL Direct」なる項目が出てきました。
さらに質問があるのですが、「mySqlConnection」と言うのをFormに追加して
追加した「mySqlConnection」をダブルクリックすると、
「mySqlConnection Editor: mySqlConnection」と言う子ウィンドウが立ち上がり、
そこには接続の為のユーザー名、パスワード、ホスト名などを入れる項目が
あり、ホスト名の所に自クライアント以外のIPアドレス(192.168.0.100)を記述したのですが、
「Test Connection」で、なぜか「Access denied for user: '[email protected]' (Using password: YES)」
となってしまいます。。
192.168.0.10はPCのアドレスです。
192.168.0.100以外にホスト名や他ネットワークのIPを試しに入れてみたいのですが、
それでも上記のエラーが出てしまいます。考える原因として何が考えられますでしょうか?
(ローカル環境でしか使えないのでしょうか…)
宜しくお願い致します。
0790デフォルトの名無しさん
2005/12/09(金) 00:23:45WM_KEYDOWNであれば lParam を見ればリピートカウントがわかったんですが、
KeyEventArgsにはそのようなプロパティはないようです。
0791デフォルトの名無しさん
2005/12/09(金) 00:43:37なりませんかね。
0792デフォルトの名無しさん
2005/12/09(金) 00:44:00ProcessCmdKeyとかWndProcとかでWM_KEYDOWN捕まえるしかないね。
0793デフォルトの名無しさん
2005/12/09(金) 00:59:000794デフォルトの名無しさん
2005/12/09(金) 01:21:02インテリセンスやキーワードハイライトは自分で実装するんなら
TextBox拡張するだけじゃないのか?
0795デフォルトの名無しさん
2005/12/09(金) 01:40:380796デフォルトの名無しさん
2005/12/09(金) 01:41:54C#でプログラミングを始めたという方は少ないと思うんです。
おそらくはC++かJavaのどちらかからの移行あるいはそれとの併用という形で利用されている方が多いだろうと思います。
それでどうしてC#を使うのかということを聞いてみたいんですけど。
例えばJavaよりよさそうだからとか、C#で出来ないところだけ、C++でやるとか。
ちなみに自分はJavaをやっております。
C#は市販の説明書を読んで、評価版をいじったみた程度なんですが、.NETさえ普及すればJavaよりいいなという感じでした。
今のところ、JavaのC#に対する優位性というのはMS社勢ゆえの将来性とC++との連携だと思うんです。
しかし自分はJavaでプログラミングを始めた人ですから、C++は勉強したことがないです。
C#を最大限にいかすにはやはりC++の知識もいるでしょうから、今のところは遊び以上では手が出ないというところです。
0797デフォルトの名無しさん
2005/12/09(金) 01:47:470798デフォルトの名無しさん
2005/12/09(金) 01:49:28あなたのC#に対するスタンスを教えて下さい。
例)Javaから移行・C++と併用…
0799デフォルトの名無しさん
2005/12/09(金) 01:50:49まあHTMLでJavaScriptを弄ってたんで全くの初めてって訳ではないが
0800デフォルトの名無しさん
2005/12/09(金) 02:15:15用途:趣味
状態:C++と併用
理由:Windows特有の内容はC♯の方がやりやすいことが色々と多いから。
C++/CLIがそれなりになったらまた考える。
0801778
2005/12/09(金) 02:23:17あーなるほど…。要件をもう少しきちんと書くと、
・キーワード強調表示、
・インテリセンス、
・強調表示でもおかしくならない無限回数Undo/Redo、
・タブや改行コードは画像で表示、
RichTextBox とか TextBox のコンポ拡張で、文書サイズが数MB
あっても速度的問題もなく上記がひととおりクリアできるんなら、
その方が確かに楽なんですが、Code Project 等で見つかった事例
だとハイライト処理が重かったり、改行コード等を画像で表示
する方法が見つからなかったりで、全部の要件を拡張で満たす
のはどうも無理っぽい気がして、スクラッチしかないかなぁと。(^^;
TextBox の拡張でなんとかできるもんなんでしょうか?
0802デフォルトの名無しさん
2005/12/09(金) 02:25:130804デフォルトの名無しさん
2005/12/09(金) 03:49:08Win32使わないとコンソールのスクラッチはできなさそうだ。
無理しても、IMEの動きが捕まえられないんじゃないかな。
0805デフォルトの名無しさん
2005/12/09(金) 12:20:44東京エ業大学は学生の質は全国最低レベルなのに教師の厳しさは全国最高レベルです
フリーター、ひきこもり、ホームレス、犯罪者、精神病患者、の輩出率は非常に高いらしい
↓↓↓証拠↓↓↓
84 名前: エリート街道さん [sage] 投稿日: 2005/10/22(土) 22:37:10
http://www.sanspo.com/sokuho/1022sokuho008.html
ニート状態の卒業生を救え−。中央大や法政大など大学・短大42校が
連携し、卒業生のうち、仕事に就かず職業訓練なども受けていないニートや、
フリーター生活者たちのための就職支援事業に乗り出した。ニート・フリーター
対策でこれほど多くの学校機関が連携する事業は珍しく、関係者は成果を
注目している。
(途中省略)
なお東京エ業大学はこの件に関して
「就職が出来ない学生および職を失った卒業生は東京エ業大学の恥である。
我々がすることは何も無い」
とのコメントを残している。
85 名前: エリート街道さん [sage] 投稿日: 2005/10/22(土) 22:39:16
>>84
すげー
流石東エ大
鬼だ(wwwww
0806デフォルトの名無しさん
2005/12/09(金) 13:13:130807デフォルトの名無しさん
2005/12/09(金) 13:35:48今sourceforge探してみたがなくなってた・・・
MinaEditorって言う奴だったんだが、
Googleにキャッシュだけ残っててWikiは死んでた。
0808デフォルトの名無しさん
2005/12/09(金) 15:14:33本題ですがピクチャーボックスオブジェクト内にテキストを描画したいのです。
具体的に言いますと、グリッドを引いたピクチャーボックスオブジェクト内に
数字を1,2,3,4・・・31と1ヶ月分の数字をグリッド内に描画させ
たいのですが、どなたかご教示願います。
当方はJavaはかじった事があるのですがC#は初めてなもので、勝手が分からん
のです。
0809デフォルトの名無しさん
2005/12/09(金) 16:07:140810デフォルトの名無しさん
2005/12/09(金) 17:09:06何がやりたいのかよくわからんけど、
カレンダーの独自コントロールを作りたいならPanelあたりのクラスを拡張した方がいいんじゃないか?
0811デフォルトの名無しさん
2005/12/09(金) 20:06:12あ、SharpDevelopでも1.xは日本語で強調表示するとバグでキャレットが
ズレるから気を付けてね。パッチを出している有志がいらっしゃるけど。
0812デフォルトの名無しさん
2005/12/09(金) 20:21:52.netにもポーティングされてた気がする。
0813デフォルトの名無しさん
2005/12/09(金) 22:10:42Process.Start() を使えば良いのでしょうか?
良い場合はどのように使えばよいのでしょうか?
できれば javaw の方で起動したいのですが・・・
0814デフォルトの名無しさん
2005/12/09(金) 22:20:560815デフォルトの名無しさん
2005/12/09(金) 23:04:280816デフォルトの名無しさん
2005/12/09(金) 23:37:31これでやってみましたが、なぜか起動できませんでした。
main class が見つからないとかメッセージが出てそれでおしまい。
コマンドプロンプトからは正常に起動できるのに・・・
0817デフォルトの名無しさん
2005/12/09(金) 23:39:200818デフォルトの名無しさん
2005/12/09(金) 23:49:180819デフォルトの名無しさん
2005/12/09(金) 23:56:460820デフォルトの名無しさん
2005/12/10(土) 00:03:42いいや。ちがうね。『 class Sample 』 のファイル名は 『 Sample.class 』 だよ。
0821デフォルトの名無しさん
2005/12/10(土) 00:42:09カレントディレクトリにすることで起動に成功しました。
つまり、
Environment.CurrentDirectory = @"クラスファイルのあるフォルダのパス";
Process.Start(@"省略\javaw.exe", "クラス名");
です。
ありがとうございました。
0822デフォルトの名無しさん
2005/12/10(土) 00:43:34PictureBoxを継承してOnPaintオーバライドするとか
PictureBox pictBox.Paint += PaintText;
private void PaintText(object sender, PaintEventArgs e){
e.Graphics.DrawString("1",10,10);
}
みたいな感じで上書きできないかな
ラベルの高さを10未満にしたいのですがデザイナが許してくれません。
どのあたりをいじればよいのでしょうか?
デザイナ上でスマートタグの定義を追加したいのですが。参考となるサイトがあれば教えてください。
vs2005b2を使用しています。
0823デフォルトの名無しさん
2005/12/10(土) 00:47:160824デフォルトの名無しさん
2005/12/10(土) 00:51:090825デフォルトの名無しさん
2005/12/10(土) 00:51:55とりあえずどうぞ
ttp://2next.net/swf/R3_temp.swf?inputStr=%83I%81%5B%83o%83%89%83C%83h%82%C1%82%C4%82%C8%82%F1%82%C5%82%B7%82%A9%81H
0826デフォルトの名無しさん
2005/12/10(土) 01:00:34Networkが使用不可能になったというイベントって取得できますか?
0827デフォルトの名無しさん
2005/12/10(土) 01:13:17ダブルバッファー用のbmp(1), その更にバッファー(2),Form(3)とあるとして、
1からずらして2に転送2から3,1に転送して計3回ビットマップ転送してるんですが、おそす。
もちっとナイスな方法内でしょうか・・・
0828デフォルトの名無しさん
2005/12/10(土) 01:19:340829デフォルトの名無しさん
2005/12/10(土) 01:21:120830デフォルトの名無しさん
2005/12/10(土) 01:25:33ダブルなバッファーにはどこから描画するの?パネルから?
0831デフォルトの名無しさん
2005/12/10(土) 02:01:130832デフォルトの名無しさん
2005/12/10(土) 02:19:30パネルを継承してOnPaint
コンストラクタではDoubleBuffered = true;@2.0
0833778
2005/12/10(土) 02:31:21プロジェクト名�dクス〜〜、もう消えてたんですね。(;;
道は遠いけど、自作進めてます。
IMEもUndo/Redoもまだ無理ですけど、ASCII文字ならとりあえずエディタとして
最低限動くようになりまちた。
>>811
キャレットずれますね。全角と半角の空白文字(スペース)が同じ行に
混在するとダメみたいです。#develop Wiki の日本語対応版上書きした
#dev本体のエディタで再現してるので今後に期待??
>>812
ありがとうございます。とりあえず見てみましたが .Net port は
今のところ発見できず。
探しながら開発続けていってみます。
壁は IME からの文字入力、 Undo/Redo、選択処理の実装、折り返し処理
あたりか??
0834デフォルトの名無しさん
2005/12/10(土) 02:40:24.NET2.0のMicrosoft.VisualBasic.Devices.NetworkにNetworkAvailabilityChangedイベントがある。
そのまま使うのがいや/使えないなら、これをildasmで調べてみたら
0835デフォルトの名無しさん
2005/12/10(土) 03:43:10現在は、
MenuItem menuItem = menu.MenuItems.Add("");
menuItem.Tag = (object)"dummy_item";
menu.Popup += new EventHandler(FillDummyMenu);
のようにダミー項目を追加し、FillDummyMenuで
ダミー項目の位置にいろいろ追加するようにしているんですが、
そうするとメニューそのものが恒久的に変更されてしまうため
二回目以降にメニューを表示したときにうまく動作しません。
どなたか解決策をお教え願います。
0836デフォルトの名無しさん
2005/12/10(土) 04:26:45そのままAbortすると
うまく殺してくれないみたいなんです
自分のコードが悪いのか
そういう仕様なのかがわかりません
だれかご教示お願いします
0837デフォルトの名無しさん
2005/12/10(土) 11:08:470838デフォルトの名無しさん
2005/12/10(土) 12:01:44this.buttons[0] = this.button1;
this.buttons[1] = this.button2;
this.buttons[2] = this.button3;
for(int i = 0; i < this.buttons.length; I++)
{
this.buttons[i].Tag = i;
}
(中略)
private void buttons_Click(Object sender, EventArgs e)
{
}
0839デフォルトの名無しさん
2005/12/10(土) 12:04:47private void buttons_Click(Object sender, EventArgs e)
{
switch(Convert.ToInt32(((Button)sender).Tag))
}
0840デフォルトの名無しさん
2005/12/10(土) 12:08:12専ブラの問題かな?・・・
switch(Convert.ToInt32(((Button)sender).Tag))
{
case 0:
//button1 の処理
break;
case 1:
//button2 の処理
break;
case 2:
//button3 の処理
break;
default:
break;
}
というふうにしているのですが、
結構面倒なので、他に効率的な方法はありませんか?
0841デフォルトの名無しさん
2005/12/10(土) 12:25:06効率的かどうかはともかく、俺なら
Control[] buttons = new Control[] { // 略};
private void buttons_Click(Object sender, EventArgs e) {
int index = Array.IndexOf(buttons, sender, 0, buttons,Length);
switch(index)
{
case 0:
break;
case 1:
break;
case 2:
break;
default:
break;
}
みたいに書くかな・・・
senderにイベントを起こしたオブジェクトが入っている保証なんかどこにもないからお勧めは出来ないけどね
0842デフォルトの名無しさん
2005/12/10(土) 13:11:27参考にさせていただきます。
0843デフォルトの名無しさん
2005/12/10(土) 15:34:09>senderにイベントを起こしたオブジェクトが入っている保証なんかどこにもない
そうなんですか?
そのことについて書かれたドキュメントとかあったら教えてもらえませんか?
0844デフォルトの名無しさん
2005/12/10(土) 15:38:30buttons_Click(null, null);
で呼べばええのちがうか
0845デフォルトの名無しさん
2005/12/10(土) 17:08:52禁止したいのですが、何か方法ありますか?
Image=nullにすると、今度は背景色で再描画され、やはり困ってます。
0846デフォルトの名無しさん
2005/12/10(土) 18:57:34頑張ってください!
0847デフォルトの名無しさん
2005/12/10(土) 21:31:55sbyteなんですか?
0848デフォルトの名無しさん
2005/12/10(土) 21:38:120849デフォルトの名無しさん
2005/12/10(土) 22:16:52sbyteはsigned byteの事で、符号あり。
byteは符号なし変数。
0850デフォルトの名無しさん
2005/12/10(土) 22:33:45ブロックのスコープは存在しなかったように思うのですが、
class GotoTest {
static void Main() {
goto cs_err;
{
cs_err:
System.Console.Write("error");
}
}
}
このブロックの外からは見えないという規約、どこら辺が役に立っているの
でしょうか? 詳しくわからない僕には、あまり意味のあるものと思えないです。
0851デフォルトの名無しさん
2005/12/10(土) 22:36:590852デフォルトの名無しさん
2005/12/10(土) 22:37:560853デフォルトの名無しさん
2005/12/11(日) 00:25:35その根拠をもう少し詳しくお教え願えないでしょうか?
ttp://wisdom.sakura.ne.jp/programming/cs/cs13.html
に規約と記述してあったのですが、制約となるとそうせざるを得ない理由が存在
するんですよね…
また、>>852では、「スタックの深い方へ」とあるのですが、これはどういう事ですか?
スタックの深い方とかで検索をかけてみたのですがよくわかりませんでした。
もしかして、プログラムコードの一行一行を指しているのですか
0854デフォルトの名無しさん
2005/12/11(日) 00:54:21……コードブロック、コンパイル後はスコープとか全然関係ないやん。
コードブロック内に goto 出来ないのは、VM じゃなくて C# 側の制約……っていうか規約な罠 orz
0855デフォルトの名無しさん
2005/12/11(日) 01:18:21goto inner;
for (int i = 0; i < 3; i++) {
inner:
Console.WriteLine(i);
}
さあどうする。
0856デフォルトの名無しさん
2005/12/11(日) 01:48:46そうなのですか。レスありがとうございました!
>>855
なるほど! それはエラーにすべきですね。C++の方でもエラーになったです。気付かなかった。
わかりやすい例題サンクスです!
0857デフォルトの名無しさん
2005/12/11(日) 02:57:19ボタン押下後に、CSVファイルを作成し、そのファイルをダウンロードさせます。
しかし、Response.Close()後、どのボタンを押下してもサーバー処理を行いません。(submitされません。)
Javaの場合はボタン押下時J、avaバッチを起動してダウンロードさせますが、C#の場合はどうすればよろしいでしょうか?
0858デフォルトの名無しさん
2005/12/11(日) 03:56:190859デフォルトの名無しさん
2005/12/11(日) 04:21:42835がどんなのを意図してるのか分からん
そもそも何故ダミーを作るんだ? 直接新しいアイテムを作ってAddしちゃいかんのか?
0860デフォルトの名無しさん
2005/12/11(日) 04:49:46そうでしたか、すみません。
簡単にいうと「お気に入り」とか「最近使ったファイル」みたいなのを
イメージしてもらえるとわかりやすいと思うんですが、
つまりメニューの外枠はアプリケーションの初期化時に作って、
メニューの内容を表示しなければいけない時に中身を追加する、
という感じにしたいと思っています。
0861デフォルトの名無しさん
2005/12/11(日) 04:56:300862デフォルトの名無しさん
2005/12/11(日) 05:07:08一度置き換えると目印を見失ってしまって追加できないので困る、ってことだろうか。
もう少しわかりやすく。
でも俺はもう寝る。
0863デフォルトの名無しさん
2005/12/11(日) 05:28:12そういうことです。
説明が下手ですみません。
具体例で説明すると、初期化時に
[ファイル]
[編集]
[お気に入り] // menu
[お気に入りに追加...] // menuItem
[-] // セパレータ
[dummy_item] // menuItem
っていう感じに作っておいて、
[お気に入り] の Popup イベントを捕獲して、そこで子アイテムの中から [dummy_item] を探し出し、
[dummy_item] を削除してからその位置にお気に入りのアイテムを追加していくという感じです。
ところがこれではご指摘のように [dummy_item] を削除する必要があるので、
2度目以降うまく動作しません。
0864デフォルトの名無しさん
2005/12/11(日) 06:46:06なんでダミーがいるのかさっぱりわからんのだが。
セパレータ探してその後ろを毎回入れ替えたらすむんじゃないの?
つか、固定の部分もあわせて作り直したらいい気がする。
0865デフォルトの名無しさん
2005/12/11(日) 12:25:39あるメソッドの実行時間を測りたくて、次のような感じでやってます。
DateTime before = DateTime.Now;
HogeMethod();//計測したいメソッド
DateTime after = DateTime.Now;
TimeSpan time = after - before;
Console.WriteLine(time.TotalMilliseconds.ToString());
ところが、いろんなメソッドに何回かやってみても、全く同じ値になったり、
キリがいい数字になったりと、ちょっと変な気がします。
なにか間違っているのでしょうか?
以下、取得できた時間です
[46.875ms]
[62.5ms]
[156.25ms]
[203.125ms]
[656.25ms]
[671.875ms]
[31.25ms]
[15.625ms]
[31.25ms]
[78.125ms]
[171.875ms]
[375ms]
[359.375ms]
[109.375ms]
[171.875ms]
[93.75ms]
[171.875ms]
0866デフォルトの名無しさん
2005/12/11(日) 12:52:56高性能にやるならWin32APIのQueryPerformanceCounter使う。
0867デフォルトの名無しさん
2005/12/11(日) 15:36:200868デフォルトの名無しさん
2005/12/11(日) 15:54:57なるべく柔軟な作りにしたいと思ってるので、例えば
[お気に入り]
[お気に入りに追加...]
[-]
[お気に入りをすべて削除]
[-]
[以下をすべてタブで開く]
[dummy_item]
のような構造に対応するために、ダミーは必要です。
しかしどちらにしろ入れ替えは必要なので、根本的な問題ではないです。
と書いてるうちに自己解決しました。
MenuItem に Visible プロパティがあったので、
[お気に入り]
[お気に入りに追加...]
[-]
[お気に入りをすべて削除]
[-]
[以下をすべてタブで開く]
[dummy_item_begin]
[dummy_item_end]
としたうえでダミーの Visible を false にし、毎回その間の項目を入れ替えるということをしたら
うまくいきました。
お騒がせしてすみません。どうもありがとうございました。
0869デフォルトの名無しさん
2005/12/11(日) 15:58:43根拠は?
0870デフォルトの名無しさん
2005/12/11(日) 16:00:12windowsアプリなら食いつきいいのに。
0871デフォルトの名無しさん
2005/12/11(日) 16:23:530872デフォルトの名無しさん
2005/12/11(日) 16:50:430873デフォルトの名無しさん
2005/12/11(日) 16:56:49それって柔軟?いびつに見えるんだけど。
ダミー以外の部分は固定なんでしょ?この固定部分を入れ替えられるようなつくりにすればいいんじゃないの?
お気に入り以下に追加するMenuItemの並びをテンプレートから作れるようにしたいんだよね?
テンプレート部分をMenuItemツリー構造に頼るのって変な感じ。
0874デフォルトの名無しさん
2005/12/11(日) 17:26:08すいません、固定部分を入れ替えるっていうのがどういう意味かわからないです。
テンプレートというのは固定部分の意味ですよね。
>>835 では固定部分も動的に作っていますが、ダミーを使った方法なら
固定部分はリソースで定義して必要な部分だけ動的に作るということも可能だと思います。
将来的にはそうするつもりです。
0875デフォルトの名無しさん
2005/12/11(日) 17:43:520876デフォルトの名無しさん
2005/12/11(日) 17:56:070877873
2005/12/11(日) 17:57:13>>874
>テンプレートというのは固定部分の意味ですよね。
違う。固定部分と、可変部分の位置をセットでテンプレートと言ってるつもりだった。
>>863の絵そのもの。これを適当な形で保持する。
で、それをMenuItemなんて実装側に依存した形にしたら、固定部分に動的な部分を
作らなきゃいけなくなったら困りそうじゃない?って思ったわけ。
もともとの>>863の絵を上の行から読んで対応するMenuItemを追加するような
つくりにしたほうがよさそうじゃない?
これなら固定部分は>>863の絵を書き換えるだけで入れ替えられるし。
また言葉が足りてない気もするが、わかんなかったら読み飛ばしておいておくれ。
0878デフォルトの名無しさん
2005/12/11(日) 19:14:53これならどうだ?
#
#
0879デフォルトの名無しさん
2005/12/11(日) 19:56:20悪いことは言わん
絶対止めとけ。
書けないことはないが、絶対にC++で書いときゃよかったって思うぞ
0880デフォルトの名無しさん
2005/12/11(日) 21:03:02文字列であればa+区切り文字+bのように連結してひとつのキーとして
扱えば楽だと思ったのですが、このような実装は好ましくないでしょうか?
同じことやったこと人いますか。
0881デフォルトの名無しさん
2005/12/11(日) 21:04:500882デフォルトの名無しさん
2005/12/11(日) 21:10:19その「キー」なるものを、他でもユニークなID(識別子)として
使いまわす気ならそれでも良いと思う。
単に疎でない二次元の連想配列が使いたいだけなら、
ハッシュのハッシュの方が良いと思うけど。
0883デフォルトの名無しさん
2005/12/11(日) 21:18:04感謝です。
0884デフォルトの名無しさん
2005/12/11(日) 21:27:57毎回
if(!_dic.TryGetValue(key,out value){
List<Hoge> list=new List<Hoge>();
_dic.Add(key,list);
}
とかやってるんでヌルポです。微妙にメソッド違うんでGenerics化もできず。もっとエレガントな方法ないでしょうか?
0885デフォルトの名無しさん
2005/12/11(日) 21:28:55一行目:ディショナリのディクショナリとかディクショナリのリストとかよく作るんだが
0886デフォルトの名無しさん
2005/12/11(日) 21:34:020887デフォルトの名無しさん
2005/12/11(日) 21:47:19キー⇒リストっていうコレクションなら、
C++でいうところのMultiMap で代用できないだろうか。
C# でどう MultiMap を実装するかはまた別の話として。
0888デフォルトの名無しさん
2005/12/11(日) 21:51:17C#では
Dictionary<object, ICollection>使ってればいいんじゃないの?
0889デフォルトの名無しさん
2005/12/11(日) 22:41:41Webアプリ作ろうとするとIIS使わざるを得ないからなぁ
ライセンスやら何やらで意外に敷居が高いと思う
個人的にはmono+apacheに期待してるけど、こっちは技術面で敷居が高い・・・
0890デフォルトの名無しさん
2005/12/11(日) 22:46:10C#使おうがC++使おうがAPIだけでやるなら、どっちにしても後悔しそうな悪寒
おとなしくDirectX使った方が幸せになれるはず
0891デフォルトの名無しさん
2005/12/11(日) 22:53:130892デフォルトの名無しさん
2005/12/11(日) 23:11:230893デフォルトの名無しさん
2005/12/11(日) 23:26:08using System.Security.Cryptography;
class Class1 {
const int dataLength = 400*1024*1024;
[STAThread]
static void Main(string[] args){
byte[] inputData = new byte[dataLength];
HashAlgorithm provider1 = new MD5CryptoServiceProvider();
Console.WriteLine("data is null? {0}", inputData == null);
try{ provider1.ComputeHash(inputData);}
catch(NullReferenceException ex){ Console.WriteLine(ex); }
Console.WriteLine("メソッド終了1");
provider1.Clear();
HashAlgorithm provider2 = new FastHash.MD5FastHash();
Console.WriteLine("メソッド終了2");
}
}
こんな単純なプログラムなんですが、
なぜか provider1.ComputeHash(inputData); の内部でNullReferenceExceptionが投げられます。
0894893
2005/12/11(日) 23:26:17スタックトレース
at System.Security.Cryptography.MD5CryptoServiceProvider._HashData(IntPtr hHash, Byte[] rgbData, Int32 ibStart, Int32 cbSize)
at System.Security.Cryptography.MD5CryptoServiceProvider.HashCore(Byte[] rgb, Int32 ibStart, Int32 cbSize)
at System.Security.Cryptography.HashAlgorithm.ComputeHash(Byte[] buffer)
at FastHash.Test.Class2.Main(String[] args) in D:\●●●●\class2.cs:line 14
HashAlgorithm provider1 = new MD5CryptoServiceProvider(); を
HashAlgorithm provider1 = new SHA1CryptoServiceProvider(); にしてもなりますが、
HashAlgorithm provider1 = new SHA1Managed(); にしても発生しません。
dataLengthを800MBとかにすると、当然OutOfmemoryExceptionが発生します。
dataLengthを10MBとかにすると例外が発生しません。
そして一番不思議なのは、
HashAlgorithm provider2 = new FastHash.MD5FastHash(); をコメントアウトすると例外が発生しません。
FastHash.MD5FastHashクラスは、自分が作った、fasthash.dll(http://hp.vector.co.jp/authors/VA033110/fasthashdll.htm)
を使用してMD5を計算するクラスです。
質問なんですが、一見全然関係ないように見える HashAlgorithm provider2 = new FastHash.MD5FastHash(); という文の有り無しで、なぜその前の byte[]配列がnullになってしまうんでしょうか?
0895デフォルトの名無しさん
2005/12/11(日) 23:32:19>dataLengthを800MBとかにすると、当然OutOfmemoryExceptionが発生します。
>dataLengthを10MBとかにすると例外が発生しません。
に気付け。『メモリが足りませんよ例外』 が出ているんだ。
0896デフォルトの名無しさん
2005/12/11(日) 23:32:510897デフォルトの名無しさん
2005/12/12(月) 00:10:550898デフォルトの名無しさん
2005/12/12(月) 00:11:46バッファがnullだったから例外が起きたんじゃ無いと思う
***CryptoServiceProviderクラスはWindowsの暗号化機能に依存しているから、Windows内部で何らかの例外が起きたんだと
fasthash.dllと競合するような部分があったんじゃ?
0899デフォルトの名無しさん
2005/12/12(月) 00:14:060900デフォルトの名無しさん
2005/12/12(月) 00:18:00これはFastHashの記述の有無に無関係に発生
0901893
2005/12/12(月) 00:20:20ILレベルですか…何と何の違いを調べればいいですか?
>>898
なるほど
すると、fasthash.dllを利用する限りどうしようもないんですかねえ?
それとも fasthash.dllの利用の仕方次第でなんとかなるんですかね
>>899
すみません、
「なぜ呼び出されていないコードに存在で、別のコードに例外が発生するのか」を、とりあえず考えていたのと、
ちょっと長くなってしまうんで省略しました。
0902893
2005/12/12(月) 00:21:46そうですか…
自分の環境だと、 FastHashの記述無しだと先にOutOfMemoryExceptionが発生してしまうんで
分からなかったです
0903デフォルトの名無しさん
2005/12/12(月) 00:28:400904デフォルトの名無しさん
2005/12/12(月) 00:34:24>「なぜ呼び出されていないコードに存在で、別のコードに例外が発生するのか」
呼び出す前にもメモリ上に何かがロードされて、
それで状況が変わるんじゃない?
0905893
2005/12/12(月) 00:41:55ちょっと気になって、常駐アプリなどを切りまくって、メモリを開けたところ、
FastHash.MD5FastHashの記述なしでもdataLengthが700MBぐらいで、ComputeHashでNullReferenceExceptionが発生するようになりました。
FastHashは関係ないようですね・・・
new FastHash.MD5FastHash() の有無で、300MBぐらい差が出るんですが、 FastHash.MD5FastHashクラスを使わないで、
このコードで直接fasthash.dllの関数を呼び出すと、200MBの差は出ないようです。
ということは、自分が作ったFastHash.MD5FastHashクラスが原因で300MBの差が起きているようです。
>>903
先に new FastHash.MD5FastHash(); を呼んだところ、結果は同じでした。
>>904
そうなんですかねえ。ううむ。
FastHash.MD5FastHashクラスを収めたソースファイルです
http://kashiwazaki.dyndns.ws/files/ppfx00005.zip
0906デフォルトの名無しさん
2005/12/12(月) 00:45:240907893
2005/12/12(月) 01:00:01それはもちろんです。
.NETのライブラリのメソッドに、nullでない引数を渡してNullReferenceExceptionが発生するなんて初めての経験でして、
気になってしまったです。
0908デフォルトの名無しさん
2005/12/12(月) 01:20:55.Net のライブラリの中にはWin32のAPIを簡単にラップしただけのモノが結構有ります。
ネイティブ側でWindowsの0xc0000005例外が投げられるとNullReferenceExceptionになります。
他の例としては例えばGDI+をラップしたGraphicsで多く発生します。
他のどんな例外がどんなExceptionにマッピングされてるのかは知りません。
どこかに資料あるのかな。
0909デフォルトの名無しさん
2005/12/12(月) 04:39:39class Pair<T1,T2> {
T1 a;
T2 b;
public override GetHashCode() {
return a.GetHashCode() ^ b.GetHashCode();
}
}
0910デフォルトの名無しさん
2005/12/12(月) 06:58:07回避する策は有るのでしょうか?
private void pictureBox1_MouseMove(object sender, MouseEventArgs e) {
Graphics g = Graphics.FromHwnd(pictureBox1.Handle);//これは一時バッファ
if (w!=0){
// g.DrawRectangle(new Pen(Color.Red, 1), new Rectangle(x, y, w, h));//これで代用できない?
pictureBox1.Invalidate(new System.Drawing.Rectangle(x, y, w, h));
pictureBox1.Update();
}
w = moving_image.Width;h = moving_image.Height;
g.DrawImage(moving_image, x = e.X - w / 2, y = e.Y - h / 2, w, h); }
//初期化コード(Form_Load)
moving_image = (Bitmap)Bitmap.FromFile("image.png");
pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(pictureBox1.Image);
g.FillRectangle(Brushes.Red, this.pictureBox1.ClientRectangle);
//フィールド
System.Drawing.Bitmap moving_image;int x, y, w, h;
0911デフォルトの名無しさん
2005/12/12(月) 07:40:320912デフォルトの名無しさん
2005/12/12(月) 14:09:53Control.Refresh()
0913デフォルトの名無しさん
2005/12/12(月) 14:54:03終了させられた事を受け取る事ってできますか?
ちなみに、通知をうけとりたいのは、コンソールアプリです。
0914デフォルトの名無しさん
2005/12/12(月) 15:17:350916デフォルトの名無しさん
2005/12/12(月) 15:58:390917910
2005/12/12(月) 17:58:30ちらついてだめでした。
>>912
それは全体を描画するので倍以上負荷がかかってしまいました。
BitBlt使うのと比べてだいぶ遅くなってるんだけど、なんか根本的に間違えてるんかな...
0918デフォルトの名無しさん
2005/12/12(月) 18:08:18>BitBlt使うのと比べてだいぶ遅くなってるんだけど、なんか根本的に間違えてるんかな...
そういうコトやるときにはPictureBoxは使わないのが吉。
自前コントロールか、ただのPanelで処理するのが良いよ。
それからコントロールに直に描画するときには Graphics.FromHwnd じゃなくて
XXX.CreateGraphics() ね。あとGraphicsの Dispose とかちゃんとやってる?
なんだかとても不安なコードだけど。
0919デフォルトの名無しさん
2005/12/12(月) 18:14:01親を殺したら、子供まで死ぬようにつくりたいんだけど、
C#でできるのかな?
ProcessExplorerなるものがあるのでwindowsでできるとはおもうのだけど
0920デフォルトの名無しさん
2005/12/12(月) 18:57:24それともタスクマネージャのプロセスツリーの終了をシミュレートしたいってこと?
0921デフォルトの名無しさん
2005/12/12(月) 19:50:35閉じてしまうのですが、そういう仕様?
まじうぜー
0922910
2005/12/12(月) 20:03:55Panelにしたら劇的に速くなりました。
こちらでInvalidateを使うとちらつくので、PictureBoxはバッファリングがあったのかも...
ほんと助かりました。ありがとうございます。
private void panel1_MouseMove(object sender, MouseEventArgs e){
using (Graphics g = panel1.CreateGraphics()){
if (w != 0) {
g.DrawImage(this.erase_image, (new System.Drawing.Rectangle(x, y, w, h)));
}
w = moving_image.Width; h = moving_image.Height;
g.DrawImage(moving_image, x = e.X - w / 2, y = e.Y - h / 2, w, h); } }
private void panel1_Paint(object sender, PaintEventArgs e){
e.Graphics.DrawImage(mem_image,new Point(0,0));}
0923デフォルトの名無しさん
2005/12/12(月) 22:17:49int[] iValue = { 1 , 2 , 4 , 8 };
int[] iValule = new int[] { 1 , 2 , 4 , 8 };
この二つって何か違うんでしょうか?
0924デフォルトの名無しさん
2005/12/12(月) 22:20:22上は下の省略形。初期化するときだけ。
0925デフォルトの名無しさん
2005/12/12(月) 22:31:05なるほど。これからは上を戸惑いなく使いたいと思います。
ありがとうございました。
0926デフォルトの名無しさん
2005/12/12(月) 22:50:370927デフォルトの名無しさん
2005/12/13(火) 00:03:150928デフォルトの名無しさん
2005/12/13(火) 00:06:140929デフォルトの名無しさん
2005/12/13(火) 00:39:30クラス ライブラリを作れないVB.NET StandardやWeb Matrixが
存在することが元凶のような気もする。
0930デフォルトの名無しさん
2005/12/13(火) 00:43:53モデルの分離はおこなわんだろ
0931デフォルトの名無しさん
2005/12/13(火) 01:01:360932デフォルトの名無しさん
2005/12/13(火) 01:25:35ま、作るだけなら簡単だ何だけど、表示したときにフォーカスがそのウィンドウにいかないようにしたい。
ちなみにHelpProviderとかじゃだめです。
そのポップアップフォームにWebBrowserControl貼り付けたいので。
なんか良い方法ないかな。
0933デフォルトの名無しさん
2005/12/13(火) 01:28:47APIのShowWindowで表示させる
0934デフォルトの名無しさん
2005/12/13(火) 01:40:30VMwareみたいなのを作りたいです。
0935デフォルトの名無しさん
2005/12/13(火) 01:46:020936デフォルトの名無しさん
2005/12/13(火) 01:54:590937デフォルトの名無しさん
2005/12/13(火) 02:27:49富士通みたいなのを作りたいです。
0938デフォルトの名無しさん
2005/12/13(火) 02:37:490939デフォルトの名無しさん
2005/12/13(火) 04:43:270940デフォルトの名無しさん
2005/12/13(火) 06:52:090941デフォルトの名無しさん
2005/12/13(火) 09:12:32メモリはよほど大きな容量でない限り明示的な開放は不要と思うのは俺だけ?
Disposeメソッドを実装しなくたって、デストラクタをきちんとしておけばいいと思う。
デストラクタをきちんと実装することで、アンマネージメモリがGCの対象になるし。
0942デフォルトの名無しさん
2005/12/13(火) 11:01:360944デフォルトの名無しさん
2005/12/13(火) 13:43:34ちなみにForm.Show()とShowWindow()って、等価と見ていいんでしょうか。
0945デフォルトの名無しさん
2005/12/13(火) 13:55:55全然
0946デフォルトの名無しさん
2005/12/13(火) 14:12:20.NETのライブラリには親プロセス/子プロセスを調べる手段は無いみたいだね。
とりあえずCreateToolhelp32Snapshot関数を使って親プロセスは調べられる。
ほかにも何か手段があるかもしれない。
0947943
2005/12/13(火) 15:12:23NtQuerySystemInformationなんてつかおうかな〜とおもったけど、
あぶないっすかねぇ。。
CreateToolhelp32Snapshotで試してみます!
0948デフォルトの名無しさん
2005/12/13(火) 16:21:57定石みたいなものはありますか?
良いサンプルとかが見つけられなくて・・
0949デフォルトの名無しさん
2005/12/13(火) 16:40:42定石と言われても。MemoryStreamじゃなくてFileStreamかもしれないし。
byte[]を確保してRead/WriteをReadの返り値が0以上の間繰り返すだけだし。
バッファサイズはネットワークでは4KB-8KB辺りが経験的に一番いいぞ。
0950デフォルトの名無しさん
2005/12/13(火) 17:21:29ありがとうございます。
その辺りで問題があるようだったので調べてる最中だったんだけど、
やり方してました。もっと違うやり方もあるのかどうかと思い・・
元の文章でJavaと混同してInputStreamって書いてしまったけど
何らか(FileStreamとか)のStreamからMemoryStreamに読み込むって意味です。
で、問題を突き詰めていったところ
書き込み部分じゃなくて、書き込んだ後、
MemoryStream.GetBuffer() の部分での問題みたい。
framework2.0で仕様が変わった部分で
http://msdn2.microsoft.com/en-us/library/system.io.memorystream.getbuffer.aspx に
書いてあるのだけど、MemoryStreamに256バイト以下の文字列が
書き込まれている場合はGetBufferの戻す長さが256バイトになるらしい
その場合、代わりにToArray()を使うよう書いてあるけど
それで副作用ないかどうかこれから調べます。
何かその辺りのことご存知でしたら教えてください。
0951デフォルトの名無しさん
2005/12/13(火) 17:30:55別に副作用ないし。
0952デフォルトの名無しさん
2005/12/13(火) 22:10:51class Hoge {
public static int test1 = 1;
public static int test2 = 1;
:
:
とやっていくのと、どこか違ったり便利であったりする部分はありますでしょうか?
0953デフォルトの名無しさん
2005/12/13(火) 22:20:58時々あるのよ。メンバの初期化以外の動作を行わせたいことが。
0954デフォルトの名無しさん
2005/12/13(火) 22:27:580955デフォルトの名無しさん
2005/12/13(火) 22:29:40初期化に if文使ったり、switch文使ったりできる。
0956デフォルトの名無しさん
2005/12/13(火) 22:32:020957デフォルトの名無しさん
2005/12/13(火) 22:32:320958デフォルトの名無しさん
2005/12/13(火) 22:33:04そもそもWin31APIがない。
0959デフォルトの名無しさん
2005/12/13(火) 22:33:06TransmitFileのことか?C#にはあったっけ・・・?
0960デフォルトの名無しさん
2005/12/13(火) 23:41:120961デフォルトの名無しさん
2005/12/14(水) 00:06:45納得! ありがとうございました。
0962デフォルトの名無しさん
2005/12/14(水) 00:42:30int i;
int& I = i;
はC#ではどうかくの?
0963デフォルトの名無しさん
2005/12/14(水) 00:45:300964デフォルトの名無しさん
2005/12/14(水) 01:10:020965デフォルトの名無しさん
2005/12/14(水) 01:14:240966デフォルトの名無しさん
2005/12/14(水) 01:48:570967デフォルトの名無しさん
2005/12/14(水) 02:57:260968名無しさん♯
2005/12/14(水) 07:49:13http://pc8.2ch.net/test/read.cgi/tech/1134514022/l50
0969デフォルトの名無しさん
2005/12/14(水) 08:19:03それとも標準でそれくらいカバーしてるのかな?
0970デフォルトの名無しさん
2005/12/14(水) 08:20:51ない。現状は俺様ライブラリが乱立だろうな。
0971デフォルトの名無しさん
2005/12/14(水) 08:30:530972デフォルトの名無しさん
2005/12/14(水) 09:07:24つかえねーな > C#
0973デフォルトの名無しさん
2005/12/14(水) 09:36:04まあまて。Windows3.1のことかもしれん。
0975デフォルトの名無しさん
2005/12/14(水) 09:58:00Show と ShowWindow の引数が全然違うのに
等価だと抜かすお前の頭は全然(ry
0976デフォルトの名無しさん
2005/12/14(水) 12:11:57Enterprise Library
0977デフォルトの名無しさん
2005/12/14(水) 12:20:13m_hbar.SmallChange = 15;
m_hbar.LargeChange = 15*2;
m_hbar.Minimum = 0;
m_hbar.Maximum = (15 * 100) + m_hbar.LargeChange;
として ScrollEventHandler,ValueChanged のイベントハンドラを
フックして変更されかたをみたんですが、スクロールバーのつまみを
つまんで少しずつスクロールさせたときの値の変化がなぜか1刻みです。
SmallChange = 15 になっているかデバッグ表示させて確かめたのですが
確かに15になっているのに1ずつ値が増減します。
なんとかならないでしょうか。orz
0978デフォルトの名無しさん
2005/12/14(水) 12:21:270979デフォルトの名無しさん
2005/12/14(水) 13:28:13SmallChangeは
> ユーザーが方向キーの 1 つを押すと、またはスクロール バー ボタンの 1 つをクリックすると、
> Value プロパティは SmallChange プロパティに設定されている値に従って変更されます。
であってドラッグによる移動量は規定していない。
0981デフォルトの名無しさん
2005/12/14(水) 16:25:10自作したの?すごいなあ。できればうpお願いします。
0982977
2005/12/14(水) 16:26:46紹介ありがとうございます。
うへ…そうするとつまみを少しずつ動かしたときの移動量ってどこで設定できるんでしょうね?(汗
MFCならdeltaという設定があって確かそれで設定できたと思うのですが…。
0983デフォルトの名無しさん
2005/12/14(水) 21:03:11そんな誰もつくれるようなものよく晒そうとできるなw
0984デフォルトの名無しさん
2005/12/14(水) 21:15:21まともに実装されてるアプリ見たことないが?
0985デフォルトの名無しさん
2005/12/14(水) 21:28:23Visual Studio
0986984
2005/12/14(水) 21:49:320987デフォルトの名無しさん
2005/12/14(水) 22:10:430988デフォルトの名無しさん
2005/12/14(水) 22:23:07素直にほしいって言えば?
0989デフォルトの名無しさん
2005/12/14(水) 22:34:240990デフォルトの名無しさん
2005/12/14(水) 22:40:050991デフォルトの名無しさん
2005/12/14(水) 22:42:590992デフォルトの名無しさん
2005/12/14(水) 23:39:390993デフォルトの名無しさん
2005/12/15(木) 00:26:370994デフォルトの名無しさん
2005/12/15(木) 00:26:520995デフォルトの名無しさん
2005/12/15(木) 00:47:160996デフォルトの名無しさん
2005/12/15(木) 01:27:220997デフォルトの名無しさん
2005/12/15(木) 01:29:300998デフォルトの名無しさん
2005/12/15(木) 01:32:14ちょっと待てw
0999デフォルトの名無しさん
2005/12/15(木) 02:20:351000デフォルトの名無しさん
2005/12/15(木) 02:21:15ttp://msdn2.microsoft.com/ja-jp/library/ms123401(ja-jp,MSDN.10).aspx
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。