ふらっとC♯(初心者用) Part7
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/03/04(土) 16:47:48「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
前スレッドはこちら
http://pc8.2ch.net/test/read.cgi/tech/1122001458/l50 (Part6)
http://pc8.2ch.net/test/read.cgi/tech/1065196964/l50 (Part5)
http://pc2.2ch.net/test/read.cgi/tech/1059028988/l50 (Part4)
http://pc2.2ch.net/tech/kako/1047/10472/1047210828.html (Part3)
http://pc2.2ch.net/tech/kako/1035/10358/1035895873.html (Part2)
http://pc2.2ch.net/tech/kako/1023/10237/1023766485.html
C♯相談室 Part30
http://pc8.2ch.net/test/read.cgi/tech/1141448072/l50
0002デフォルトの名無しさん
2006/03/04(土) 16:50:01この板を恐る恐る覗き込んだ初心者が居るかと思い建ててしまった。
反省はしていない。
0003デフォルトの名無しさん
2006/03/04(土) 17:04:012つある理由がないもん
0004デフォルトの名無しさん
2006/03/04(土) 17:07:46こちらなら DllImport から教える余裕が出るな、何故か
0005デフォルトの名無しさん
2006/03/04(土) 17:10:50それ別に相談室でやってもよくないか?
0006デフォルトの名無しさん
2006/03/04(土) 17:19:310007デフォルトの名無しさん
2006/03/04(土) 17:22:290008デフォルトの名無しさん
2006/03/04(土) 17:32:01そうなんですか。Integerくらいかと思っていました。
ありがとう御座いました。
0009デフォルトの名無しさん
2006/03/04(土) 17:54:53ベクターで人気が出ることが目的です
0010デフォルトの名無しさん
2006/03/04(土) 17:59:51がんばる
0011デフォルトの名無しさん
2006/03/04(土) 18:10:400012デフォルトの名無しさん
2006/03/04(土) 18:21:19とりあえずエロだな。
0013デフォルトの名無しさん
2006/03/04(土) 21:27:290014デフォルトの名無しさん
2006/03/04(土) 21:29:28後は大体同じ
0015デフォルトの名無しさん
2006/03/04(土) 21:29:590017デフォルトの名無しさん
2006/03/04(土) 22:15:14VC#ではどう記述すればいいのでしょうか。
0018デフォルトの名無しさん
2006/03/04(土) 22:34:25理由はソースの可読性が下がって見づらい
0019デフォルトの名無しさん
2006/03/04(土) 23:20:19それでスッキリできる君の脳に驚愕
0020デフォルトの名無しさん
2006/03/04(土) 23:28:24何か設定が間違っているのでしょうか
0021デフォルトの名無しさん
2006/03/04(土) 23:30:04あとポインタと配列は全く別モンだ Cではほぼ同じように扱うが
0022デフォルトの名無しさん
2006/03/04(土) 23:30:56そうなんですか。ありがとうございます。
0023デフォルトの名無しさん
2006/03/04(土) 23:31:03素直に hoge[5] と書いてください
0024デフォルトの名無しさん
2006/03/05(日) 00:05:29private class SubArray<T> {
private T[] array;
private int seed;
public SubArray(T[] array, int seed) {
this.array = array;
this.seed = seed;
}
public T this[int index] {
get { return this.array[index + seed]; }
set { this.array[index + seed] = value; }
}
public static SubArray<T> operator+(SubArray<T> value, int seed) {
return new SubArray<T>(value.array, this.seed + seed);
}
}
半分ギャグだから本気にとるな?
002520
2006/03/05(日) 00:33:26別物と言うのはどういうことでしょうか?
CとC#では配列の扱いが変わってしまったという事でしょうか?
もしかしてC#には完全な下位互換性が無いのでしょうか!?
>>24
演算子のオーバーロードが必要という事は、やはり配列の実装が変わってしまったのでしょうか。。。
0026デフォルトの名無しさん
2006/03/05(日) 00:53:14Cとjavaの違いに近い程度に違う。
0027デフォルトの名無しさん
2006/03/05(日) 01:08:30おかげで俺しか読めないソースが作れなくなって
いつ肩を叩かれるかと娘に肩を叩かせながら飲んでる毎日だ
0028デフォルトの名無しさん
2006/03/05(日) 01:17:05いったいなにとの下位互換性だ
0029デフォルトの名無しさん
2006/03/05(日) 02:15:08思ってるのだろう。
>>25
C#はC++の皮を被ったjavaだ。
0030デフォルトの名無しさん
2006/03/05(日) 02:22:120031デフォルトの名無しさん
2006/03/05(日) 02:36:460032デフォルトの名無しさん
2006/03/05(日) 04:01:56genericなどというやつはひとまず飛ばしてもかまわんでしょうか…?
0033デフォルトの名無しさん
2006/03/05(日) 04:04:32C# 1.0 には無かったし、無くてもプログラミングは可能
ただ知ってると便利ではあるから、全貌を把握してまた読み返すといい
0034デフォルトの名無しさん
2006/03/05(日) 04:10:57ありがとう。ちょっと安心しました。
精進しまふ(`・ω・´)
0035デフォルトの名無しさん
2006/03/05(日) 06:27:060036デフォルトの名無しさん
2006/03/05(日) 09:28:20前スレの最後のほうではお世話になりました
また質問があったら来ます。
0037天麩羅ってこれ?
2006/03/05(日) 09:32:04http://www.borland.co.jp/csharpbuilder/personal/index.html
.NET Framework 1.1 製品ドキュメント
http://www.microsoft.com/japan/msdn/library/ja/netstart/html/sdkstart.asp
@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/index.html
GotDotNet Japan 掲示板
http://www.gdncom.jp/general/bbs/
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/index.html
WisdomSoft Microsoft .NET入門
http://black.sakura.ne.jp/~third/system/msnet/msnet.html
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/
.NET のつぼ
http://park16.wakwak.com/~mimi/dotnet/top.html
0038デフォルトの名無しさん
2006/03/05(日) 14:06:00現在はBitmapクラスをわざわざ作成してそこから抜き出しています。
こんな感じ
Bitmap bmp = new Bitmap(filename);
BitmapData bmpdata = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadWrite, PixelFormat.Format32bppRgb);
int[] data = new int[bmp.Width * bmp.Height];
Marshal.Copy(bmpdata.Scan0, data, 0, bmp.Width * bmp.Height);
0039デフォルトの名無しさん
2006/03/05(日) 14:42:22やはりがっちりした文法書を読まなくてはいけないんですかね?
作りたいソフトは指定したフォルダに変化(ファイルの増加・削除など)があった場合に
メッセージボックスを出すというものです。
0040デフォルトの名無しさん
2006/03/05(日) 14:58:08つ ttp://www.vector.co.jp/vpack/browse/pickup/pw5/pw005351.html
つ ttp://www.atmarkit.co.jp/fdotnet/dotnettips/287winfilewatch/winfilewatch.html
車輪の再発明スレにおひきとりを。
ttp://pc8.2ch.net/test/read.cgi/tech/1137076854/l50
0041デフォルトの名無しさん
2006/03/05(日) 14:58:52第2章 ボタンを押したらメッセージが出る簡単なプログラムを作ろう!
程度の知識で出来る。
0042デフォルトの名無しさん
2006/03/05(日) 14:59:39習作かもしれんだろう。
脊髄反射厨がイルのは初心者スレだからか。。。
0043デフォルトの名無しさん
2006/03/05(日) 15:24:53いいすぎたかなあ。そんならあやまる。
でも、>>39は、すぐ前にある>>37を見る努力するらしてないようだし。
それに、>>1のガイドラインには従ってるつもりだけど。
> 内容に応じて、他スレ・他板へ行くことを勧められる
0044デフォルトの名無しさん
2006/03/05(日) 15:31:59>それに、>>1のガイドラインには従ってるつもりだけど。
ガイドラインに違反していると判断した場合は
独断で煽りその他の攻撃を開始することが出来る。
なんて書いてないけど。
0045デフォルトの名無しさん
2006/03/05(日) 15:46:370046デフォルトの名無しさん
2006/03/05(日) 15:47:29フォルダの情報を定期的に見に行って蓄えて、変化があったらログ出力。
なんか、ちゃんと動いたらどうでもいいような気もするが。
004738
2006/03/05(日) 16:02:490048デフォルトの名無しさん
2006/03/05(日) 16:21:15僕のせいでちょっと荒れてさせてしまったらすいません。
すでにvectorなどにあるソフトの組み合わせで事足りてるのですが
時間に余裕ができたので自分で作ってみようと思ったのです。
>>37に乗ってるサイトはほとんど知っててみながらコピペコピペで作っていたんですが
この方法に不安になったので質問させていただきました。
回答ありがとうございました。
0049デフォルトの名無しさん
2006/03/05(日) 17:19:39例外 unknown software exception (0xc0020001) がアプリケーションの 0x7c81eb33 で発生しました
とのダイアログがたまに出るのですが、原因がわかりません。
どのようにしたら回避できるでしょうか?
なお wmp.dll を Interop して使用しています。
0050デフォルトの名無しさん
2006/03/05(日) 17:24:390051デフォルトの名無しさん
2006/03/05(日) 18:00:02ArrayListにでもほおりこんじゃえばいい...のかな?
0052デフォルトの名無しさん
2006/03/05(日) 22:19:09いやいや。
0053デフォルトの名無しさん
2006/03/05(日) 22:25:460054デフォルトの名無しさん
2006/03/05(日) 23:02:29そう、それが知りたいです
Bitmapを作成せずに直接ファイルからピクセルデータを読めませんか?
0055デフォルトの名無しさん
2006/03/05(日) 23:20:5732bppRgbと決まってるなら多少は簡単になる
ファイルをファイルストリームとして読み込んでヘッダ分だけ進めれば
直接4byte/pixelのデータが詰まってる
http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_021/csharp_abc05.html
このページを読んでわからないならやめた方がいい
そのあたりの面倒さを省くためのBitmapだし、
その部分が頻繁に読み出されるわけじゃないならパフォーマンスの低下も気にかけるほどじゃない
0057デフォルトの名無しさん
2006/03/05(日) 23:31:380058デフォルトの名無しさん
2006/03/05(日) 23:33:34お前器用すぎw
0059デフォルトの名無しさん
2006/03/05(日) 23:35:270060デフォルトの名無しさん
2006/03/05(日) 23:38:40それともASPやりたいの?
0061デフォルトの名無しさん
2006/03/05(日) 23:45:03>>56
レス、ありがとうございます
とりあえずあんな読み方をしていたんですが
その参考ページを見た限りでは確かに今のままのほうがよさそうですね。
けどせっかくなので一応試してみます
0062デフォルトの名無しさん
2006/03/06(月) 00:05:48横は4バイト境界に切り上げるから。
0063デフォルトの名無しさん
2006/03/06(月) 00:57:28VisualC#の製品版がないので替わりに使えるかと思ったのですが。
0064デフォルトの名無しさん
2006/03/06(月) 01:04:40つ Visual C# 2005 Express Edition
0065デフォルトの名無しさん
2006/03/06(月) 01:36:230066デフォルトの名無しさん
2006/03/06(月) 10:06:39BITMAPフォーマットを理解してバイナリ操作すればいーじゃん
.NET Frameworkの利便性に目が眩んでいるようだけど、そんなもの無い環境ではバイナリフォーマットを理解して操作するのが普通
数万ファイルとか一気に処理するならともなく、普通に使っているならBitmapでもパフォーマンス的な差は無いと思うけどね
0067デフォルトの名無しさん
2006/03/06(月) 14:36:450068デフォルトの名無しさん
2006/03/06(月) 14:40:34http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpref/html/frlrfsystemiofilesystemwatcherclasstopic.asp
FileSystemWatcherで変化を監視すればいいんじゃないかと。
# 67は投稿ミスりましたすみません
0069デフォルトの名無しさん
2006/03/06(月) 21:47:07VS2005は落としました
0070デフォルトの名無しさん
2006/03/06(月) 21:50:27ハ_ハ (^( ゚д゚)^) むりだとおもう
('(゚д゚∩ ) / むりだよ
ヽ 〈 (_ノ_ノ
ヽヽ_)
0071デフォルトの名無しさん
2006/03/06(月) 21:53:34コネが必要
0072デフォルトの名無しさん
2006/03/06(月) 22:00:57MCPの上位資格を一通り取ったら会社から「MVPになれ」と言われました
なので無理でもなりたいです
>>71
マイクロソフトの社員と仲良くなれば良いのでしょうか
そもそもどうやって取得するのでしょうか
0073デフォルトの名無しさん
2006/03/06(月) 23:12:48ttp://www.exconn.net/Blogs/team00/archive/2004/11/18/163.aspx
007472
2006/03/06(月) 23:15:59スキルだけじゃダメ
007574
2006/03/06(月) 23:17:030076デフォルトの名無しさん
2006/03/07(火) 02:14:14例えばpublicなクラスを作ってただpublicなフィールドを配置しまくればいいんですよね?
0077デフォルトの名無しさん
2006/03/07(火) 02:21:54値変更のイベントも置ける
0078デフォルトの名無しさん
2006/03/07(火) 02:39:19private string unkoValue;
public string unko
{
get { return unkoValue; }
set { unkoValue = value; }
}
これだとOKで
public class hoge{
public string unko;
}
これだけだと駄目なんですね。訳わかんないけど有難うございます。
0079デフォルトの名無しさん
2006/03/07(火) 09:00:370080デフォルトの名無しさん
2006/03/07(火) 09:10:04どうこうするんだろう、というところまでは推測したんだが、そこから先がわからん。
どうすれば設定できる?
0081デフォルトの名無しさん
2006/03/07(火) 12:24:59SP2が公開されたときは色々不具合が報告されていたので、ずっと遠慮してたんですが、解決されているのでしょうか?
また、入れてから不具合が見つかったらSP2だけアンインストールできるんでしょうか?
0082デフォルトの名無しさん
2006/03/07(火) 13:09:38XPSP2以降のバグやセキュリティリスクなんかは定期アップデートで直ったりしてる
全部完璧直っているかと言われれば多分それは永久に無いと思うが、XPSP1aよりはマシだと思う
あとは君の開発するアプリがXPSP2で都合が悪いとかXPSP1aじゃないと絶対駄目だとかそういう理由があるかどうかくらい
個人的には“現時点での”危険性やバグは XPSP2 < XPSP1a だと思うよ
0083デフォルトの名無しさん
2006/03/07(火) 13:47:20前は戻せなくて困ったりしたもんだが
まあアップデートする前に一時的にサービスとスタートアップを無効にすること
オフィシャルに注意書きがあるからよく読むといい
0084デフォルトの名無しさん
2006/03/07(火) 14:15:36Hashtable は IsReadOnly は常に false を返すよ。
せいぜい派生クラスでも作るとか。
008581
2006/03/07(火) 14:46:230086デフォルトの名無しさん
2006/03/07(火) 19:26:110087デフォルトの名無しさん
2006/03/07(火) 21:06:01例えばapp.configに値を保存するってことですか?
app.configに書き込んで保存すれば次回起動時にapp.config読み込めばその状態引き継げますよね?
0088デフォルトの名無しさん
2006/03/07(火) 21:35:00やれば分かる事を聞くな
やってみても分からない事を聞け
0089デフォルトの名無しさん
2006/03/07(火) 21:54:02やってみたんですけど保存されないんです。
Saveメゾットってどこに保存してるんでしょうか?
0090デフォルトの名無しさん
2006/03/07(火) 22:29:10Application Settings Architecture
http://msdn2.microsoft.com/en-US/library/8eyb2ct1.aspx
Settings File Locations ってとこ嫁
0091デフォルトの名無しさん
2006/03/07(火) 22:31:42{
Thread.Sleep(1000);
}
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 5; i++)
{
ThreadStart ts = new ThreadStart(MyThread);
Thread thread = new Thread(ts);
thread.Start();
thread.Join();
}
このコードを実行して、ボタン1を押すと、
ループが終わるまでの約5秒間、フォーム全体が無反応になります。
スレッドを使ってるのに、なぜこうなるのでしょうか?
0092デフォルトの名無しさん
2006/03/07(火) 22:43:460093デフォルトの名無しさん
2006/03/07(火) 22:46:12教えて欲しいです。
スレッドの終了を待つのではないのですか?
0094デフォルトの名無しさん
2006/03/07(火) 22:50:56で、待ってる間はその待ってる方のスレッドが止まる。
91 のコードは元スレッドが新スレッド起動>新スレッドが終了するまで元スレッド待機、という記述だ。
0095デフォルトの名無しさん
2006/03/07(火) 22:55:33やりたいことは、
MyThreadを別スレッド動かしつつ、(フォームが無反応にならずに)スレッドの終了を待つことなのですが、
どうすればいいでしょうか
0096デフォルトの名無しさん
2006/03/07(火) 22:57:120097デフォルトの名無しさん
2006/03/07(火) 23:00:21終わったタイミングで何かしたいんなら、
コールバックのデリゲートを渡すなり、イベントを作るなり、
コールバック用のオブジェクトを渡すなり、
もともとコールバックの機能を持ってる機能を使うなり、
2005ならBackgroundWorkerつかうなり
好きにしてくれ。
0098デフォルトの名無しさん
2006/03/07(火) 23:02:00イベントを作るのが簡単そうなのでそうしてみます
0099デフォルトの名無しさん
2006/03/07(火) 23:34:400100デフォルトの名無しさん
2006/03/08(水) 01:03:18回答ありがとう。
>常に false を返す
そうだったの? MSDNに「読み取り専用の場合は true」
とか書いてるからできるもんだと思ってたよ。
サブクラス化して IsReadonly をオーバーライドし true を返してみたが
ちっとも読み取り専用になってなかった……。
0101デフォルトの名無しさん
2006/03/08(水) 01:10:53きっちり Add とかで NotSupportedException 投げるようにオーバーライドしないと。
0102デフォルトの名無しさん
2006/03/08(水) 02:04:30つぅか無茶苦茶便利。
0103デフォルトの名無しさん
2006/03/08(水) 08:48:56自前で IsReadonly の状態を保存しておき、
要素を追加・削除・変更する操作すべてで IsReadonly の状態を見る。
で、読み取り専用に反するアクセスが行われたら NotSupportedException をスロー。
こんな認識でOK?
ここまで書いてて検索し直したら>>101の方法と同じことが書いてあった。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5875&forum=7&7
0104デフォルトの名無しさん
2006/03/08(水) 10:59:07選べばいいんだっけ?
0105デフォルトの名無しさん
2006/03/08(水) 11:01:15何やりたいのか知らないけど。
0106デフォルトの名無しさん
2006/03/08(水) 15:10:30命名規約が無いのでそういう決め付けはできない
0107デフォルトの名無しさん
2006/03/08(水) 20:38:19ApplicationSettingsBase.Save メゾットを実行するときに
「'System.Security.AccessControl.DiscretionaryAcl' のタイプ初期化子が例外をスローしました。」
というエラーがでるときとでないときがあります。
詳細みたりいろいろやってみたのですが解決法がわかりません。
どう解決すればいいか教えてください。
0108デフォルトの名無しさん
2006/03/08(水) 21:43:56同じ内容を言ってしまう手間を省くためにも頼むぜ
0109デフォルトの名無しさん
2006/03/08(水) 22:14:160110デフォルトの名無しさん
2006/03/09(木) 00:00:33ドキュメントのデータは、1行1クラスにして、それのコレクションにして
管理すればいいと思うんですが、表示するときどうしたらいいのでしょう?
TextBox使うんじゃないですよね?
こういうの作ったことが無くて、見当が付きませんです。
0111デフォルトの名無しさん
2006/03/09(木) 00:35:15Copyと同義?
0112デフォルトの名無しさん
2006/03/09(木) 00:40:270113デフォルトの名無しさん
2006/03/09(木) 00:48:130114デフォルトの名無しさん
2006/03/09(木) 00:59:31つ private static favorite Pornografity()
0115デフォルトの名無しさん
2006/03/09(木) 07:02:17pornograffittiか?
0116デフォルトの名無しさん
2006/03/09(木) 09:23:17ベーコン・レタス・トマト
0117デフォルトの名無しさん
2006/03/09(木) 09:57:23Block transfer
0118デフォルトの名無しさん
2006/03/09(木) 10:27:41Bse Livedoor Taishingisou
0119デフォルトの名無しさん
2006/03/09(木) 15:58:36でDebugFormというフォームを作成しました。
しかしForm1で
DebugForm df = new DebugForm();
df.Shouw();
とすると、
型または名前空間名 'DebugForm' が見つかりませんでした。
というエラーが出ます。
他に何か宣言が必要だったりするのでしょうか。
0120デフォルトの名無しさん
2006/03/09(木) 16:00:36namespaceのつづりを間違えていました。
解決しました。
0121デフォルトの名無しさん
2006/03/09(木) 16:29:55スクリプトエラーのあるページを開いてしまったときに、
「Internet Explorer スクリプト エラー」
このページのスクリプトでエラーが発生しました。
このページのスクリプトを実行し続けますか?
はい いいえ
というダイアログが出てしまいます。
ウェブページの解析にはスクリプトの部分は関係ないので、このエラーを無視したいのですが、
どうもこのエラーが原因でaxWebBrowser.Busy状態になっているようなのです。
try catchに入れてみるなど試したのですが、プログラムとは関係無いところで動いているようで、だめでした。
このダイアログを出さないようにする、または無視する方法を知っている方いますか?
0122デフォルトの名無しさん
2006/03/09(木) 16:40:570123デフォルトの名無しさん
2006/03/09(木) 16:43:03ありがとうございますm(_ _)m
0124デフォルトの名無しさん
2006/03/09(木) 16:43:33ありがとうございますm(_ _)m
0125デフォルトの名無しさん
2006/03/09(木) 17:15:18プログラムを実際に起動すると、98風なボタンになってしまいます。
なぜでしょうか?
0126デフォルトの名無しさん
2006/03/09(木) 20:38:52もはやFAQな気もしますが。
フォームの表示前にApplication.EnableVisualStyles();を呼ぶとか
マニフェストファイルを書くとかしたらいいんじゃないかと。
0127デフォルトの名無しさん
2006/03/09(木) 21:47:56質問の仕方が悪く申し訳ないです
'System.Security.AccessControl.DiscretionaryAcl' についてまずgoogle検索しました
InnerExceptionがDLL 'advapi32.dll' の 'CreateWellKnownSid' というエントリ ポイントが見つかりません。となってるので
advapi32.dllについてgoogle検索しました。
しかしどちらとも有益な情報は得られませんでした。
saveメゾットについてはmsdnライブラリを読み、その通りコードを書いています。
またsettiin1.settingsというファイルに設定を書いていてプログラム起動時に読み込む設定にしてあるのですが
まったく別の情報(チェックボックスのチェック状態が設定ではfalseなのにtrueで起動するなど)になってしまいます。
アプリケーション設定の保存・読み込みに異常があるとは思うのですが根本的な原因・解決法がわかりません。
おねがいします。
0128デフォルトの名無しさん
2006/03/10(金) 00:49:40いーかげんそのメゾットやめれ。
http://glossary.tank.jp/t0C43.html
0129デフォルトの名無しさん
2006/03/10(金) 10:04:02タイプミスだとばかり思ってた。
身の回りそう思い込んでるやつっているか…?
0130デフォルトの名無しさん
2006/03/10(金) 16:32:00プパロティって言われたときは脳みそがグルグルした
0131デフォルトの名無しさん
2006/03/10(金) 16:37:440132デフォルトの名無しさん
2006/03/10(金) 17:32:24MSでも略語として使われているっぽい
"Windows 2003" site:microsoft.com/japan - Google 検索
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=%22Windows+2003%22+site%3Amicrosoft.com%2Fjapan&num=50
ついでにこれも
"Windows 2003 Server" site:microsoft.com/japan - Google 検索
http://www.google.com/search?num=50&hl=ja&q=%22Windows+2003+Server%22+site%3Amicrosoft.com%2Fjapan&lr=lang_ja
多分"Windows 2003 Server"は誤記だろうけど"Windows 2003"は略称として通用するっぽい
0133デフォルトの名無しさん
2006/03/10(金) 18:10:25いま、サーバクライアントのプログラムを作成しています。
http://support.microsoft.com/default.aspx?scid=kb;ja;307445#appliesto
http://support.microsoft.com/default.aspx?scid=kb;ja;307739
こちらのサイトを見てサーバ側でConsole.WriteLineで出力することまでは出来ました。
しかし、クライアントから送られたデータをどのようにして
サーバで取得していいのか分かりません。
サーバオブジェクトの値をどのようにしてサーバ側で取得すればいいでしょうか?
よろしくお願いします。
0134デフォルトの名無しさん
2006/03/10(金) 18:15:39中途半端に読んでるからそうなる
コード以外もちゃんと読め
ここへのリンクがあるだろ
Visual Basic .NET を使用してリモート サーバーにアクセスするクライアントを作成する方法
http://support.microsoft.com/kb/300943/
このサンプルの中でサーバはクライアントから文字列データを取得してるでしょ
あとは応用
0135デフォルトの名無しさん
2006/03/10(金) 18:23:57んにゃ。本人曰くOffice2003とごっちゃにしてたらしい。(server2003の存在自体知らなさそう)
スレ違いなのでこの辺で。
0136デフォルトの名無しさん
2006/03/10(金) 18:30:02エスパーにしか分からないネタを書かないで下さい
0138デフォルトの名無しさん
2006/03/10(金) 20:37:180139デフォルトの名無しさん
2006/03/10(金) 20:37:500140デフォルトの名無しさん
2006/03/10(金) 21:48:200141デフォルトの名無しさん
2006/03/10(金) 22:13:18ほとんど同じ内容に見えるのだが気のせいか
http://support.microsoft.com/default.aspx?scid=kb;ja;307739
http://support.microsoft.com/kb/300943/
>>133
他のスレなら質問の要領が悪けりゃ無視するのだがふらっとだから少しエスパーすると、
フォームを持ったアプリをサーバーにしてクライアントからリモートで情報を送り
その内容をサーバーのフォームに表示するようなことがしたいんじゃないのかな。
回答がほしいならやりたいことを具体的にあげてくれ。
0142133
2006/03/10(金) 23:09:36サーバ側でデータ取得さえできれば問題ありません。
サーバの
--
RemotingConfiguration.RegisterWellKnownServiceType(
System.Type.GetType("ServerClass.myRemoteClass, ServerClass"),
"RemoteTest",
WellKnownObjectMode.SingleCall);
--
この部分でデータを取得して、WriteLineで出力していますよね。
この出力データをサーバ部の変数に取り込むにはどうしたらいいのかと
言う質問です。
myRemoteClass tmp = RemotingConfiguration.Re......
とういう風にして読み込めればいいのですが・・・。
きっと単純なことなのでしょうが、サンプルみてもどれも、WriteLineで出力
して変数に格納しているようなサンプルが見つからないもので質問しました。
0143デフォルトの名無しさん
2006/03/11(土) 00:16:06メゾットでもメゾッドでもなくメソッドですね。素で間違えてました。
答える気も失せますね。申し訳なかったです。失礼します。
0144デフォルトの名無しさん
2006/03/11(土) 00:31:17き、きみは何を言っているのかね?
てそのまえに何をやってるのか、どういうことが起こってるのか
ぜんぜん理解してないだろ。
0145デフォルトの名無しさん
2006/03/11(土) 06:01:09System.Consoleのようなstaticなクラスかシングルトンでどこからでも参照可能な単一のオブジェクトを作って、
リモートサーバーオブジェクトとサーバーのメインコード(たとえばUIを担当しているオブジェクトのコード)
の両方からアクセスできるようにする。
サンプルのmyRemoteClassはインターフェイスを使って実装して
public class myRemoteClass: MarshalByRefObject, ImyRemoteClass
クライアント側はインターフェイスでアクティベーションすると何かと都合がいい。
myRemoteClass obj = (ImyRemoteClass) Activator.GetObject(typeof(ImyRemoteClass) ...
ImyRemoteClassだけを単独のDLLにしてサーバー、クライアントの両方にコピーすることになる。
0146デフォルトの名無しさん
2006/03/11(土) 08:55:23答えがそのKBに書いてあるじゃん
それも理解できないようならヤバいよ
0147デフォルトの名無しさん
2006/03/11(土) 15:24:21どうするのですか?
0148デフォルトの名無しさん
2006/03/11(土) 15:28:200149デフォルトの名無しさん
2006/03/11(土) 16:13:470150デフォルトの名無しさん
2006/03/12(日) 05:10:23C# 用のフリーなグラフライブラリってありませんかね?
Java では JGraph というのがあるんですが、C# 用でそういうのがないのかと。
Google で探し回ったけど、どうにも見つからなかったので
皆様のお知恵を借りれたらと。
JGraph はこんなん
ttp://www.jgraph.com/screenshots.html
0151デフォルトの名無しさん
2006/03/12(日) 13:07:18有料ばっかりだわ
いいライブラリがあったらグラフじゃなくてもこっちが知りたいくらい
http://www.codeproject.com/cs/miscctrl/TreeDiagrams.asp
用途狭いけどこんなんどう
0152デフォルトの名無しさん
2006/03/12(日) 14:14:46ここを参考に共用体の勉強してますが
ページの下のほうにある
[StructLayout(LayoutKind.Explicit)]
struct Color
{
[FieldOffset(0)] public System.UInt32 Value;
[FieldOffset(0)] public System.Byte R;
[FieldOffset(1)] public System.Byte G;
[FieldOffset(2)] public System.Byte B;
[FieldOffset(3)] public System.Byte A;
}
これをたとえば配列にして
それをint型の配列にキャストする方法を教えてください。
0153デフォルトの名無しさん
2006/03/12(日) 14:28:19プロパティにすれば良いんじゃない?
//どうでもいいが B G R A の順番だろ
0154デフォルトの名無しさん
2006/03/12(日) 15:25:50愉快方を教えてください
0155デフォルトの名無しさん
2006/03/12(日) 16:11:400156デフォルトの名無しさん
2006/03/12(日) 16:19:19たとえばptrがIntPtrだとして
*(int*)ptr.ToPointer() = value;
以外に書き方はありますか?
0157デフォルトの名無しさん
2006/03/12(日) 16:21:300158デフォルトの名無しさん
2006/03/12(日) 16:28:040159デフォルトの名無しさん
2006/03/12(日) 16:33:42ありがとうございます。
そんな関数があるんですね。
0160デフォルトの名無しさん
2006/03/12(日) 21:15:56http://netcontrols.org/nplot/wiki/
こんなん見つけた。
0161デフォルトの名無しさん
2006/03/12(日) 21:19:050162デフォルトの名無しさん
2006/03/12(日) 21:21:080163150
2006/03/12(日) 21:26:32提示のURLからreferされているNetron Libraryが大体希望の機能を
満たしているようです。というか、希望の物そのものっぽいです。
お蔭様で目処は立ちましたので、これから詳細を調査したいと思います。
回答、どうもありがとうございました。
0164デフォルトの名無しさん
2006/03/12(日) 21:29:10>>157
0165161
2006/03/12(日) 21:32:39残念です。。
0166デフォルトの名無しさん
2006/03/12(日) 22:03:330167デフォルトの名無しさん
2006/03/12(日) 23:25:58P/InvokeでGetWindowPlacement使う以外にないですか?
位置大きさ保存のためだけにPOINTやらRECTやらWINDOWPLACEMENTやら
定義しないとならないんですかね〜
0168デフォルトの名無しさん
2006/03/13(月) 00:10:332005ならRestoreBoundsっていうプロパティがあるけど、2003ならそうなんじゃない?
0169161
2006/03/13(月) 00:21:07IntPtrはポインタにキャストしてから使うのが一般的な用法ってことでしょうか?
>>166
何もやったません。情報集めです。
ポインタをIntPtrに置き換えたほうがいいのかと思ったんですけど違うようですね
0170デフォルトの名無しさん
2006/03/13(月) 00:55:05SizeChanged でフィールドに取っとけばいいんじゃね?
>>168
ポインタを使わないのが一般的
0172デフォルトの名無しさん
2006/03/13(月) 01:59:17マジ感動した
今まで>>170の方法でやってたもんなあ
0173デフォルトの名無しさん
2006/03/13(月) 20:27:400174デフォルトの名無しさん
2006/03/13(月) 22:29:12んなもん不要だろ
以前のバージョンを知っているからと新しいバージョンの調査もしない輩が悪い
2.0から入ってくるヤツは当たり前のように使ってるんだし
0175デフォルトの名無しさん
2006/03/13(月) 23:15:40別にみんなが職業的プログラマという訳でもあるまいに。
0176デフォルトの名無しさん
2006/03/13(月) 23:17:28んなこと関係ないだろ
世の中なんでも「やる」人間と「やらない」人間の格差が開いて当然
0177デフォルトの名無しさん
2006/03/13(月) 23:55:51国語の成績の差が顕著に出てますね。
0178デフォルトの名無しさん
2006/03/14(火) 00:30:45むしろ「ヤった」人間と「ヤってない」人間の格差が…('A`)
0179デフォルトの名無しさん
2006/03/14(火) 01:01:27毒男スレに帰れ
0180デフォルトの名無しさん
2006/03/14(火) 01:18:59場合に応じてwebBrowserに描画するHtmlDocumentを
切り替えたいと思っています。
HtmlDocumentのインスタンスを生成する場合、
HtmlDocument hd = webBrowser.Document;
このような方法があると思うのですが、
これだと、いくつものインスタンスを生成し
そのうちひとつのインスタンスを変更すると、
切り替える作業無しにwebBrowserの描画が変わってしまいます。
HtmlDocument hd = new HtmlDocument();
は出来ませんでした。
webBrowserとは関連しないHtmlDocumentを生成する方法はあるのでしょうか。
0181デフォルトの名無しさん
2006/03/14(火) 01:35:49> HtmlDocument hd = webBrowser.Document;
インスタンスを作ってるんじゃなくて、インスタンスの参照をコピーしてるだけだ。実体は同じ。
普通に WebBrowser 複数作れ。
0182デフォルトの名無しさん
2006/03/14(火) 01:53:59単にHTMLを文字列で複数持ってりゃいいだろが
あとはDocumentTextプロパティに設定するだけ
表示中に何か変更書けたらDocumentTextから取得すればいいだけ
技術が先に来て仕様が疎かになってるよ
目的が何かを理解して無いからそういうアホな疑問が湧くんだよ
0183デフォルトの名無しさん
2006/03/14(火) 01:56:52> HtmlDocument hd = new HtmlDocument();
> は出来ませんでした。
んなコンストラクタねーよ
ヘルプくらい嫁
0184デフォルトの名無しさん
2006/03/14(火) 01:59:290185デフォルトの名無しさん
2006/03/14(火) 13:22:19コードウィンドウに行番号を表示したいのですが、
ツール→オプションの中に見つかりません。
どこにあるかわかる方いますか?
0186デフォルトの名無しさん
2006/03/14(火) 13:25:07↓わかる方いますか?
0187デフォルトの名無しさん
2006/03/14(火) 13:25:210188デフォルトの名無しさん
2006/03/14(火) 13:27:30Pro版には言語の設定にあるけど
0189デフォルトの名無しさん
2006/03/14(火) 13:29:28ありがとうございますm(_ _)m
0190デフォルトの名無しさん
2006/03/14(火) 22:42:390191デフォルトの名無しさん
2006/03/14(火) 22:44:58WebBrowserの話してるみたいなんで便乗
DocumentTextで渡すとフォントが明朝っぽくなるのはどうにかならんか?
UnicodeじゃなくてShift-JISとかで渡したいんだがこの場合どうすんの?
0192デフォルトの名無しさん
2006/03/14(火) 22:51:51Encodingで変換したらいいんじゃね。
0193デフォルトの名無しさん
2006/03/14(火) 23:11:31int[] x;
x=new int[20];
x=new int[100];
これって問題ありますか?
newした後、deleteの代わりの何かありますか?
0194デフォルトの名無しさん
2006/03/14(火) 23:11:46stringは内部的にUnicodeで扱われるみたいなんで
string→Stream(Shift-JIS)でDocumentStreamに
渡そうと思ってるんですが的はずれですか?
IEでUnicodeのページ開くとフォントが明朝っぽくなるのがわかるとおもいます。
0195デフォルトの名無しさん
2006/03/15(水) 00:05:06ない。ほっといて良し
>>194
そりゃユーザの問題だからな。
いやならインターネットオプションでラテン語基本のところのを変えろ。
0196デフォルトの名無しさん
2006/03/15(水) 00:18:00ありがとうございます
やっぱり勝手にGCがやってるんですか?
まあ、ほっといていいってのが気分悪いですが気にしないことにします
0197デフォルトの名無しさん
2006/03/15(水) 00:20:11using dispose
0198デフォルトの名無しさん
2006/03/15(水) 00:20:54それは意味が違う
0199デフォルトの名無しさん
2006/03/15(水) 01:30:21アンマネージ コード デバッグを有効にするにチェックを入れたら
終了時にfree.cでエラーが起こっていました。
また以下のようなメッセージがダイアログで出ました
app.exe の 0x7c81eb33 でハンドルされていない例外が発生しました: 0xC0020001: その文字列結合は無効です。
そもそもunknown software exceptionが出たときはどうやって原因を探ればいいんでしょうか?
0200デフォルトの名無しさん
2006/03/15(水) 06:06:44Interopとかアンマネージ コード デバッグとかいってるけどC#にその機能あったっけ?
C++/CLIのことなら別にスレがあるから探してみろ。
0201デフォルトの名無しさん
2006/03/15(水) 12:03:13Interopもアンマネージコードデバッグもあります。
どうやらWeBrowserコンポーネントが怪しい気がしてきました。
0202デフォルトの名無しさん
2006/03/15(水) 12:19:15たとえば、開始インデックスを-2にして、array[0]とすると、
実際にはarray[2]にアクセスできるようなやつです。
0203デフォルトの名無しさん
2006/03/15(水) 12:25:030204デフォルトの名無しさん
2006/03/15(水) 12:30:49Cで配列の途中のポインタとって、そこから配列ライクに使われてるんで…
開始インデックス変更できないと、結構書き直さないといけないとです。
というわけで、教えていただけ無いでしょうか。
0205デフォルトの名無しさん
2006/03/15(水) 12:31:470206デフォルトの名無しさん
2006/03/15(水) 12:40:02int buffer[1024];
int *p1 = buffer + a, *p2 = buffer + b;
for(int i = 0 ; i < c ; ++i)
/* p1[i]とp2[i]でごにょごにょ */
みたいのがたくさんあるんで、
C#にすると、全部buffer[i + a]とかに書き直さないといけないんです。
インデックス底上げする配列ラップクラスとか作るべきでしょうか?
0207デフォルトの名無しさん
2006/03/15(水) 12:54:470208デフォルトの名無しさん
2006/03/15(水) 12:55:53orz
0209デフォルトの名無しさん
2006/03/15(水) 12:57:00COM Interop のことね。了解。
0210デフォルトの名無しさん
2006/03/15(水) 12:59:43>>24 みたいなクラスでがんばろうと思います。
0211デフォルトの名無しさん
2006/03/15(水) 14:02:00> Cで配列の途中のポインタとって、そこから配列ライクに使われてるんで…
それをC#でどう実装するつもり?
全く同じにできないんだから、いっそC#らしいコードに書き換えた方がいいと思うよ
0212デフォルトの名無しさん
2006/03/15(水) 14:16:38一応できたが出来なかったことにしたほうが幸せそうだ。
int [] abc = { 1, 2, 3, 4, 5, 6, 7, 8, 9,10 };
unsafe {
fixed (int* x = &abc[3]) { textBox1.Text = x[0].ToString(); }
}
0213デフォルトの名無しさん
2006/03/15(水) 18:49:29何か良い方法はあるでしょうか。
for文で、substringして、","を探すしかないのでしょうか。
0214デフォルトの名無しさん
2006/03/15(水) 18:59:39string s = "1,000".Replace(",", "");
0215デフォルトの名無しさん
2006/03/15(水) 19:05:34m(_ _)m
0216デフォルトの名無しさん
2006/03/15(水) 19:13:08ってのが真っ先に浮かんだ俺は間違いなく逝ってよし
0217デフォルトの名無しさん
2006/03/15(水) 20:16:50このページをwebBrowser1で表示させている状態です。
しかし
string str = webBrowser1.DocumentText;
としてstrを表示させると、"<html></html>"と表示されます。
なぜ<head>や<body>がなくなってしまうのでしょうか。
0218デフォルトの名無しさん
2006/03/15(水) 20:32:08むしろ DOM で解析される前のテキストが出てきてちょっとびっくり
0219デフォルトの名無しさん
2006/03/15(水) 21:28:28検証ありがとうございます。
webBrowser1.DocumentText = "<html><head></head><body><font>aiueo</font></body></html>";
Console.Write(webBrowser1.DocumentText);
でも<html></html>となるので、
私の環境がおかしいのかもしれません。
0220デフォルトの名無しさん
2006/03/15(水) 21:33:30DocumentText に代入するってのは詳しい動作はヘルプ嫁、として、非同期の処理だから。
書き込めてない内に取得してもそりゃまともには取れない。
0221デフォルトの名無しさん
2006/03/15(水) 21:33:44で初期化していたのですが、この部分を削除したら解決しました。
ありがとうございました。
0222デフォルトの名無しさん
2006/03/15(水) 23:22:39おい、こら。それを先に言えって!
0223デフォルトの名無しさん
2006/03/16(木) 06:56:57解決になってねーよ
>>220が書いてることちゃんと理解したか?
お前この前からずっと質問しまくってるやつだろ?
現象ベースで解決しただの何だの思い込んでないで、ちゃんと根本原因を理解しろよ
それじゃいつまで経っても質問厨だぞ
0224デフォルトの名無しさん
2006/03/16(木) 18:46:02ListBoxを継承したOrderedListBoxクラスを作成しました。
その中で「上へ移動」を行うメソッドを次のように定義しました。
public void MoveUp(int index)// index:選択項目のインデックス
{
if (index <= 0 || index >= this.Items.Count)
return;
ItemData data = (ItemData)this.Items[index];
this.Items.RemoveAt(index);
this.Items.Insert(index - 1, data);
this.SelectedIndex = index - 1;
}
ItemDataはリストボックス内の項目を表します。
これで動いているようですが、
RemoveAtを行った時点でdataが指すオブジェクトは破棄されませんか?
例えば次のようにコピーコンストラクタを呼び出して、
新規にItemData型オブジェクトを作成した方よろしいですか?
ItemData data = new ItemData((ItemData)this.Items[index]);
0225デフォルトの名無しさん
2006/03/16(木) 18:52:53破棄されるときってのは既にこっちの手から離れてどうしようもなくなってるものだから気にすんな。
0226224
2006/03/16(木) 19:01:50this.Items.Insert(index - 1, data);
でdataを使っているのでこれはまずいかなということです。
0227デフォルトの名無しさん
2006/03/16(木) 19:07:29> ItemData data = (ItemData)this.Items[index];
で[data]に[Items[index]]の参照が入る。
この時点で、[Items[index]]の寿命は
・Itemsから削除された
・dataがアクセスできなくなった
の両方を満たしたときになる。(別のところで参照されてる場合は別だが)
> this.Items.RemoveAt(index);
ここで一番目の条件は満たされたが二番目の条件は満たされていないので寿命はきていない。
> this.Items.Insert(index - 1, data);
問題なくdataは存在する。
更にItems[index-1]に参照されたことで、寿命条件の「Itemsから削除された」が復活する。
> }
ここでdataの参照が無くなるが、条件一が復活しているので寿命はまだ来ない。
0228デフォルトの名無しさん
2006/03/16(木) 19:17:31RemoveAtされた時点で[Items[index]]の寿命が尽きて
dataが無効なオブジェクトを指してしまうのではと勘違いしていました。
丁寧なご説明ありがとうございました。
0229デフォルトの名無しさん
2006/03/17(金) 00:10:41頭からしっぽまで抽象的デスね。
抽象論では何も解決はしないです。
0230デフォルトの名無しさん
2006/03/17(金) 00:11:430231デフォルトの名無しさん
2006/03/17(金) 01:45:20>>223の口調(文調?)から推測するに、今までWebBrowser系の質問に対し辛辣ながら優しい回答をしていた方だと思われ
0232デフォルトの名無しさん
2006/03/17(金) 19:15:47教えてください。またその参照方法も教えてください。
エラー
ArrayList [] AL = new ArrayList[2];
AL[0}.Add("TEST1"); ←ここでエラーとなる。
0233デフォルトの名無しさん
2006/03/17(金) 19:20:41探しても、無いようなんですが
0234デフォルトの名無しさん
2006/03/17(金) 19:28:00AL[0] は Object 型。このままではどんなものか分からない。
どんな型なのか分かるようにプログラム側で指示してやらないと。
あと、配列を作っただけではその各要素までは初期化されない。一つずつ new してやらないと。
>>233
サブアイテムの一番左以外は、ColumnHeader の TextAlign で列単位で可能。
それ以外は .NET 2.0 ならオーナードローすることになるな。それ以前なら諦めろ。
0235デフォルトの名無しさん
2006/03/17(金) 19:37:37ArrayList[] AL = { new ArrayList(), new ArrayList() };
>>234
AL[0]はArrayListでしょ。
0236232
2006/03/17(金) 19:43:27できました。
ありがとう御座いました。
0237デフォルトの名無しさん
2006/03/17(金) 22:59:46AL[0]はArrayListでしょ。
0238デフォルトの名無しさん
2006/03/18(土) 11:41:32AL[0]はArrayListでしょ。
0239デフォルトの名無しさん
2006/03/18(土) 11:58:460240http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 19:05:22もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
0241デフォルトの名無しさん
2006/03/18(土) 19:29:50だけど謝らないからね
0242デフォルトの名無しさん
2006/03/19(日) 12:40:01ListBoxには"アイテム1","アイテム2","アイテム3"が登録されているとします。
ここでTextBoxに文字列を入力したら、
それと連動してListBox内の選択項目の表示を変えるにはどうすればよいですか。
例えば"項"と入れたら項目の表示が"項"へ、
"項目"まで入れたら"項目"へという具合です。
0243デフォルトの名無しさん
2006/03/19(日) 12:49:46ListBox に入ってる文字列を変更するってこと?
SelectedItem 書き換えれば良さそうだけど。
0244デフォルトの名無しさん
2006/03/19(日) 12:51:090245デフォルトの名無しさん
2006/03/19(日) 13:04:48文字列を変更するということです。
>SelectedItem 書き換えれば良さそうだけど。
これでリアルタイムで反映されますか?
>>244
いえ、そんなに高度なものじゃないです。
0246デフォルトの名無しさん
2006/03/19(日) 13:08:340247デフォルトの名無しさん
2006/03/19(日) 13:20:29private void textBox1_TextChanged(object sender, System.EventArgs e)
{
listBox1.SelectedItem = textBox1.Text;
}
0248デフォルトの名無しさん
2006/03/19(日) 13:39:220249デフォルトの名無しさん
2006/03/19(日) 13:46:15項目を検索するわけではないです。
リストボックス内の選択されている項目の表示を
テキストボックスに入力中の文字列と同期させたいのです。
0250デフォルトの名無しさん
2006/03/19(日) 13:50:01ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28100&forum=7
0251デフォルトの名無しさん
2006/03/19(日) 13:52:06foreach(SelectedItem item in listBox.1) {
if(item.Text == textBox1.Text)
選択する
}
みたいなかんじでいいんじゃね?
0252デフォルトの名無しさん
2006/03/19(日) 14:03:20おー、まさにこれです。本当に有り難うございました。
>>251
こちらも試してみようと思います。
0253デフォルトの名無しさん
2006/03/19(日) 14:04:01もうちょっと流れを読んだりしっかり要求項目を把握したりするようにしような
0254デフォルトの名無しさん
2006/03/19(日) 14:09:41クレームは>>244に
いや、私がばかでした、はい
0255デフォルトの名無しさん
2006/03/19(日) 19:04:21ていうか普通にComboBox使ったらだめなのか?
0256デフォルトの名無しさん
2006/03/20(月) 15:21:500257デフォルトの名無しさん
2006/03/20(月) 15:23:520258デフォルトの名無しさん
2006/03/20(月) 17:03:280260デフォルトの名無しさん
2006/03/20(月) 17:40:34おまいが先にコードかかんとなんともいえないと思うんだが
0261256
2006/03/20(月) 18:01:25foreach(string s in hogeList)
を
for(int i = 0; i < hogeList.length; i++)
string s = hogeList[0];
な感じにしたいです。
0262デフォルトの名無しさん
2006/03/20(月) 18:10:29キャストしてやんなさい。
0263256
2006/03/20(月) 18:29:38ありがとうございます。出来ました。
for(int i = 0; i < hogeList.Count; i++)
string s = (string)hogeList[i];
0264デフォルトの名無しさん
2006/03/20(月) 18:29:38などに当たるとUnauthorizedAccessExceptionというエラーを吐いて止まってしまいます。
そこで、こいつにアクセス権限を与えたいのですが、どのようにしたらいいでしょうか?
0265デフォルトの名無しさん
2006/03/20(月) 18:53:010266デフォルトの名無しさん
2006/03/20(月) 18:53:06「Windowsアプリケーション」にしたのですが、
デバッグのためのコンソールを表示したくなりました。
どのようにしたらコンソールを表示出来るのでしょうか。
初歩的な質問ですみません。
0268デフォルトの名無しさん
2006/03/20(月) 19:00:22読み終わりそうなので、次に買う本を探しています。
基本的なクラス一覧やたくさんのサンプルがのっているリファレンスで
おすすめなものがあれば参考にさせて欲しいです。
0269デフォルトの名無しさん
2006/03/20(月) 19:05:490270デフォルトの名無しさん
2006/03/20(月) 19:10:35なにやりたいかわからんけど、Windows用ソフト作るなら
「C#によるプログラミングWindows」(いわゆるC#版ペゾルド本)とかどうよ
http://www.amazon.co.jp/exec/obidos/ASIN/4891002921/503-2803339-4076710
とりあえず↓にWin版Hello,Worldの作り方の説明あるんで自分に合いそうかどうか確認してくれ
http://www.microsoft.com/japan/msdn/net/books/ProgWinCsharp/chapter2.asp
0271デフォルトの名無しさん
2006/03/20(月) 19:19:05デバッグのためならコンソール使うよりも System.Diagnostics.Debug の WriteLine 使った方が良いかも。
0272デフォルトの名無しさん
2006/03/20(月) 19:35:27実践プログラミング 入門編
0273デフォルトの名無しさん
2006/03/20(月) 20:29:08ありがとうございます、参考にさせていただきます。
0274デフォルトの名無しさん
2006/03/20(月) 21:09:330275デフォルトの名無しさん
2006/03/20(月) 21:12:14自分のプロセス内の、Control から派生してるコントロールなら Handle プロパティ。
0276デフォルトの名無しさん
2006/03/20(月) 21:41:36レスどうもありがとうございます。
MSDNライブラリには
「コントロールのバインド先のウィンドウ ハンドルを取得します。」とあったのですが、
これでコントロールのハンドルを取得できるでしょうか??
コントロールにIMessageFilterを実装させてメッセージのフックには成功したんですが、
そのコントロールだけじゃなくフォーム内全てが対象になってしまっているので
ハンドルを取得して操作対象を絞りたいなと思いまして・・・
0277デフォルトの名無しさん
2006/03/20(月) 21:44:53Control.FromHandle 静的メソッドがある。nullチェックも忘れずにな。
0278デフォルトの名無しさん
2006/03/21(火) 01:06:53Controlの取得に成功しました(^^
ですが、
PreFilterMessage( ref Message m )
の引数のm.HWndに格納されているハンドルのコントロールが存在していないらしく、nullが返ってきました。
TextBox等だと成功するんですが、WebBrowserコントロール上でクリックした時などに送られてくるm.HWndの正体が分かりません・・・。
どうにかWebBrowser宛てのメッセージだけを処理したいのですが。。。
何度も何度も申し訳ないです(汗)
0279デフォルトの名無しさん
2006/03/21(火) 02:27:47HtmlDocument のマウスイベントじゃ駄目な理由を述べろ。
0280デフォルトの名無しさん
2006/03/21(火) 18:41:36サンプルコードにこのようなコードがありました。
@"で検索したのですが、一致しませんでした。
わかる方がいましたら、教えてください。
0281デフォルトの名無しさん
2006/03/21(火) 18:45:03エスケープ無視だった気がする
\nとかそのまま表示だったかなー
0282デフォルトの名無しさん
2006/03/21(火) 18:58:00C# の言語仕様とか調べると良いよ。
0283デフォルトの名無しさん
2006/03/21(火) 19:29:56具体的には
string str = "c:\\windows\\hoge.txt";
なんて書かなくて
string str = @"c:\windows\hoge.txt";
で済む。それから
string str =@"
select
CustomerID
from
Customers ";
なんて書けたりする。
0284デフォルトの名無しさん
2006/03/21(火) 19:59:260285デフォルトの名無しさん
2006/03/21(火) 21:07:370286デフォルトの名無しさん
2006/03/21(火) 23:09:17とのようにしたらいいのでしょうか?
kill等を使うのはわかったのですが、どうやっても例外が発生して
強制終了させることが出来ません。
よろしくお願いします。
0287デフォルトの名無しさん
2006/03/21(火) 23:16:43そもそもkill等を使うとか曖昧なこと書かずに実際に試した手順を省略せずに書け。
0288デフォルトの名無しさん
2006/03/21(火) 23:36:58プログラムは以下のようなものです。
string exe_name = "プログラムの名前";
if (Process.GetProcessesByName(exe_name).Length >= 1)
{
Process p = Process.Start(exe_name);
p.Kill();
}
そして、発生した例外はWin32Exceptionでした。
このことに関しては全くわからないのでIntellisenseで出てきた物を手探りで
いろいろ試してるところです。
他にも、終了させる側のプログラムを二重起動禁止にしてもしてみましたが
意味はありませんでした。
0289デフォルトの名無しさん
2006/03/21(火) 23:44:24> string exe_name = "プログラムの名前";
> if (Process.GetProcessesByName(exe_name).Length >= 1)
> {
> Process p = Process.Start(exe_name);
> p.Kill();
> }
Process.Start ってのはヘルプを見たら分かるとおり、「プロセスを開始する」メソッドだ。
終了させたいのにそれどころか起動させてどうする。
終了させたいプロセスはすでに GetProcessesByName で取得できているだろう? それを使うんだ。
0290デフォルトの名無しさん
2006/03/21(火) 23:59:47こういうことでしょうか?
if (Process.GetProcessesByName(exe_name).Length >= 1)
{
Process p = new Process.GetProcessesByName(exe_name);
p.Kill();
}
取得したのをどうしたらいいんだ・・・orz
0291デフォルトの名無しさん
2006/03/22(水) 00:04:49・Process.GetProcessesByName でその名前のプロセスの Process 配列が手に入る
・この Process 配列は今起動しているプロセスの一覧である
・つまりその各要素であるそれぞれの Process はそれぞれ起動中のプロセスである
で、起動中のプロセスに対してどう操作する?
0292デフォルトの名無しさん
2006/03/22(水) 00:41:16いろいろ考えてもこんなのしか出てきませんでした・・・
if (Process.GetProcessesByName(exe_name).Length >= 1)
{
int pNo = Process.GetProcessesByName(exe_name).Length;
Process p = Process.GetProcessById(pNo);
p.Kill();
}
でもこれじゃ要素の数だから全く違うんだよな・・・
0293デフォルトの名無しさん
2006/03/22(水) 00:46:01string[] names = new string[]{"a", "b", "c"};
"a"が欲しいときはどう書くか分かる?
0294デフォルトの名無しさん
2006/03/22(水) 01:01:26string a = names[0]
・・・ですよね?
配列滅多に使わないからうろ覚え・・・
0295デフォルトの名無しさん
2006/03/22(水) 01:03:32で、今回のことに応用したらどうなる?
配列の全ての要素にアクセスするにはどんな手段が考えられる?
0296デフォルトの名無しさん
2006/03/22(水) 01:22:01まだ駆け出しの駆け出しなので練習用プログラムしか組んだことないです。
上の例で行くと
foreach(string a in string names)
{
/*何らかの処理*/
}
ですよね?
今頃ですが、もしかしたらProcess配列からどうやって配列を取り出すのかが
わかってないかもしれません・・・
0297デフォルトの名無しさん
2006/03/22(水) 01:25:50二番目の string はミススペリングかな。
配列から配列を取り出してどうする。
配列からは各要素を取り出すんだ。
string 配列である names をぶんまわして取れるのは string であって string 配列じゃないだろ?
Process.GetProcessesByName で Process 配列が手に入る。
さて、これをぶんまわせば何が取れる?
0298デフォルトの名無しさん
2006/03/22(水) 01:29:26できました・・・
if (Process.GetProcessesByName(exe_name).Length >= 1)
{
foreach (Process p in Process.GetProcessesByName(exe_name))
{
p.Kill();
}
}
これで合ってる・・・かな?
0299デフォルトの名無しさん
2006/03/22(水) 01:34:27じゃ次。
string names = new string[0]{};
foreach (string str in names) {
/* */
}
これはどういう意味で、実行結果はどうなる?
string names = null;
foreach (string str in names) {
/* */
}
これは?
0300デフォルトの名無しさん
2006/03/22(水) 01:37:30string[] names = new string[0]{};
と
string[] names = null;
な。
0301デフォルトの名無しさん
2006/03/22(水) 01:41:35上の方は配列の配列・・・?
実行結果はstring[0]が返ってくるのでしょうか
下の方は返ってくるのはnullでしょうか?
0302デフォルトの名無しさん
2006/03/22(水) 01:47:58どっちも string[] として宣言してる。
string[0]{} ってのは、string[0] とも string[]{} とも書ける。要素数 0 、空の配列ってことだな。
さて、それぞれの names に何が入ってるのかは分かったね?
じゃあそれに対して foreach を使うとどうなるか? ってのが趣旨。
0303デフォルトの名無しさん
2006/03/22(水) 01:48:07>実行結果はstring[0] →names[0]
0304デフォルトの名無しさん
2006/03/22(水) 01:57:07何も返ってこないまたはnullが返ってくる
でしょうか?
0305デフォルトの名無しさん
2006/03/22(水) 02:03:50ループ中はConsole(かDebugか).WriteLineで文字列を出力するとかブレークポイント置くとかして流れがきちんと把握できるようにな。
0306デフォルトの名無しさん
2006/03/22(水) 02:18:020307デフォルトの名無しさん
2006/03/22(水) 02:18:27試したところ、
string[] names = new string[0]{};の方ではmanesに{次元:[0]}が
返ってきてました。
string[] names = null;の方は、foreachのinで例外NullReferenceExceptionが発生しました。
0308デフォルトの名無しさん
2006/03/22(水) 02:21:40さて元のコードに立ち返ろう。
君が書いたコードではまず GetProcessesByName で取得した配列の長さで条件判断しているが、これは何故かな?
0309デフォルトの名無しさん
2006/03/22(水) 02:26:37指定したプロセスがあれば1以上、無かったら0が返ってくるので
>= 1で比較することが出来るため
です
あんまり自信がないな・・・
0310デフォルトの名無しさん
2006/03/22(水) 02:30:280311デフォルトの名無しさん
2006/03/22(水) 02:34:07指定したプログラムを強制的に終了させるためです。
0312デフォルトの名無しさん
2006/03/22(水) 02:39:23……うーん、いつまでたっても隙間が埋まらない気がしてきた。
何故 0 のときは foreach をスキップしたんだ? ってことなんだけど。
さっきの実験で foreach に対して要素数 0 の配列を渡しても別に問題はなかったよね?
だからわざわざ長さで条件判断する必要はない、と結論付けたかったんだが。
まあいいや、じゃ最後。
> 無かったら0が返ってくるので
これは保証があるの?
ひょっとして null が返ってきたりしない?
もし null が返ってくるのなら foreach に渡すのも Length プロパティを取得するのも失敗するけど?
0313デフォルトの名無しさん
2006/03/22(水) 02:47:03近年まれに見るやさしい奴だな。
0314デフォルトの名無しさん
2006/03/22(水) 02:48:26あ、そうか。
わざわざ比較してからforeachを通す必要は無かったのか・・・
最後については、
Process.GetProcessesByName().Lengthの解説では、
System.Arreyのすべての次元内の要素の総数を表す32ビット整数を取得するので
大丈夫だとおもいます。
0315デフォルトの名無しさん
2006/03/22(水) 02:51:53> Process.GetProcessesByName().Lengthの解説では、
> System.Arreyのすべての次元内の要素の総数を表す32ビット整数を取得するので
うん、Process.GetProcessesByName() が配列のインスタンスを返したらそうだろうね。
じゃあ、Process.GetProcessesByName() が配列を返す(null を返さない)って保証は?
0316デフォルトの名無しさん
2006/03/22(水) 02:55:45・・・ないです
0317デフォルトの名無しさん
2006/03/22(水) 02:58:20さて、本当に保証がないんだろうか?
そこでヘルプの出番だ。
Process.GetProcessesByName を調べてみ?
0318デフォルトの名無しさん
2006/03/22(水) 03:05:16>メソッドが返す配列は空のこともあります
つまりこれは保証されているってことですすよね?
0319デフォルトの名無しさん
2006/03/22(水) 03:14:54実行されてるのが無いときは空の配列が返るってことだね。
つまり null かどうか確認する必要も無し。直接 foreach にたたき込んじまえ。
以上で今回の講義は終了。
補講:
if (Process.GetProcessesByName(exe_name).Length >= 1)
{
foreach (Process p in Process.GetProcessesByName(exe_name))
みたいに GetProcessesByName で確保した配列を何回か使う場合、
一旦
Process[] processes = Process.GetProcessesByName(exe_name);
とやってから
if (processes.Length >= 1)
{
foreach (Process p in processes)
としたほうが良いぞ。
Process.GetProcessesByName は結構重い処理だからな。
0320デフォルトの名無しさん
2006/03/22(水) 03:18:18有り難う御座いました。
質問の回答どころか、それ以上の事を教えてもらえて、
かけることが出来るお礼の言葉が見つかりません。。
これからはより一層力を入れて勉強したいと思います。
本当に有り難う御座いました。
0321デフォルトの名無しさん
2006/03/22(水) 10:17:10やらないか?
0322デフォルトの名無しさん
2006/03/22(水) 11:28:50ゲイ?
0323デフォルトの名無しさん
2006/03/22(水) 13:32:370324デフォルトの名無しさん
2006/03/22(水) 15:55:48したいんですが、どうすればいいんでしょうか?
0325デフォルトの名無しさん
2006/03/22(水) 16:34:58ToolTip.Showを使えばいいような気がしないでもないです。2.0限定らしいですけど。
0326デフォルトの名無しさん
2006/03/22(水) 17:39:55うーん・・・使ってみたんですけど消えちゃいます
0327デフォルトの名無しさん
2006/03/23(木) 02:13:510328デフォルトの名無しさん
2006/03/23(木) 11:35:380329デフォルトの名無しさん
2006/03/23(木) 11:42:480330デフォルトの名無しさん
2006/03/23(木) 13:24:350331デフォルトの名無しさん
2006/03/24(金) 00:24:57「〜の数」とかを格納する変数の名前ってどんなのつけてる??
numberOfPageとか
アンダースコアとか"Of"は個人的にはあんまり使いたくないけど・・・
Ofはなんか見にくい感じがする
0332デフォルトの名無しさん
2006/03/24(金) 00:27:120333デフォルトの名無しさん
2006/03/24(金) 00:33:35どうもありがと(^-^
0334デフォルトの名無しさん
2006/03/24(金) 02:51:500335デフォルトの名無しさん
2006/03/24(金) 06:44:270336デフォルトの名無しさん
2006/03/24(金) 07:53:22どこかのだれかが言ってた。
気がする。
0337デフォルトの名無しさん
2006/03/24(金) 07:55:43せめて数語の単語程度にしようぜ
0338デフォルトの名無しさん
2006/03/24(金) 08:47:05http://pc8.2ch.net/test/read.cgi/tech/1068752664/
こっち向きの話題かな。
0339デフォルトの名無しさん
2006/03/24(金) 08:57:38浅学ゆえ、それ以前にもあったかどうかは知らんが。
とはいえCやらUNIXコマンドやらの如き省略っぷりも初見では見切れんしな
strpbrkとかxmkmfとか
0340デフォルトの名無しさん
2006/03/24(金) 15:53:46HogeLENGTHとかHogeINDEXとか後に付くのは全部大文字
固定ピッチのフォントで Hoge.Count と HogeCount が見分け辛いってあるか?
0341デフォルトの名無しさん
2006/03/24(金) 16:17:230342デフォルトの名無しさん
2006/03/24(金) 17:27:55んなもん色分けされて一発で分かるやん
0343デフォルトの名無しさん
2006/03/24(金) 18:39:13>どこかのだれかが言ってた。
>気がする。
ひらがなてどうよ?
0344デフォルトの名無しさん
2006/03/24(金) 20:30:470345デフォルトの名無しさん
2006/03/24(金) 20:32:330346デフォルトの名無しさん
2006/03/24(金) 20:44:020347デフォルトの名無しさん
2006/03/24(金) 21:02:150348デフォルトの名無しさん
2006/03/24(金) 21:03:180349デフォルトの名無しさん
2006/03/24(金) 21:09:190350デフォルトの名無しさん
2006/03/24(金) 21:29:26つか、プロジェクト名もクラス名も当然のごとく全部英数字でやってたんで、
自動生成でも日本語出ないし。
0351デフォルトの名無しさん
2006/03/24(金) 22:39:24オブジェクトのコピーってどうやるんでしょうか?
あるオブジェクトを暫定的に処理して、その結果をコピー元のオブジェクトへ反映したいのですが、
どうもうまく行きません。
例:
class Original {
public string str = "abc";
}
class Temp{
private Original ori;
public Temp( Original ori ) {
this.ori = ori; //これだと参照ですよね?
this.ori = new Original(); //これだといちいちメンバの値を直さないといけないし
}
0352デフォルトの名無しさん
2006/03/24(金) 22:47:56普通は ICloneable を実装させるがまあ別に必須ではない。
Object が protected メソッドとして全てのフィールドをシャローコピーする MemberwiseClone を持っているから、
特に考える必要がないのなら実装するメソッドはこれを呼び出すだけで良い。
0353デフォルトの名無しさん
2006/03/24(金) 22:59:08ありがとうございます。稚拙な質問にも返答いただき感謝しております。
さっそくICloneableメンバのClone()を実装し、MemberwiseClone()にて
オブジェクトを返したところすべて上手くいきました!!
適切かつ迅速に回答頂き、心より感謝申し上げます。
ありがとうございました。
0354デフォルトの名無しさん
2006/03/24(金) 23:05:13MemberwiseClone はシャローコピー、つまり浅いコピー。
つまりフィールドに参照型を持っている場合、それは参照しかコピーされない。
0355デフォルトの名無しさん
2006/03/24(金) 23:16:27テストして確認し、実感いたしました。きっとミスしていたと思います。
ご忠告ありがとうございました。
0356デフォルトの名無しさん
2006/03/24(金) 23:21:21FormのプロパティにVisibleが無いので困っています。
Opacityやサイズの変更ではない方法というのは無いんでしょうか。
0357デフォルトの名無しさん
2006/03/24(金) 23:23:35インテリセンスやプロパティグリッドには出てないかも知れないけど。
あと Hide メソッドがある。
0358デフォルトの名無しさん
2006/03/24(金) 23:35:15ありがとうございます、調べてみます
0359デフォルトの名無しさん
2006/03/24(金) 23:43:46今試していますが、なんとなく表示時より安定しています。
0360デフォルトの名無しさん
2006/03/25(土) 00:21:18WriteLine(dataGridView1.Rows[0].Height);
行の高さを15に設定したはずが、WriteLineでは20と表示されます。
Rows[0].MinimumHeightは3なのですが、何がいけないんでしょう。
わかる方いらっしゃいますか?
0361デフォルトの名無しさん
2006/03/25(土) 15:02:412005に関連する話題ということで少し続けさせてもらうと。
例えばToolStripMenuItemをデザインモードで入力したときに
Nameが「ファイルFToolStripMenuItem」とかなるのは勘弁してほしい…
せめて「toolStripMenuItem1」くらいにしておいて欲しかったなあ。
0362デフォルトの名無しさん
2006/03/25(土) 23:50:14激しく同意
0363デフォルトの名無しさん
2006/03/26(日) 00:53:58「メリケンではアクセスキーを"&File"式で付ける」のとが
合わさってこういう仕様になったのを、そのまま日本語化したので
こんなことになってしまったんだろう。こまったもんだ。
それでまた話がそれるけどコントロールのクラス名をサフィックスに
付けてますかおまいらは?
おいらは「toolStripMenuItemファイル」「textBoxファイル名」みたいに
クラス名+キャプションてのがお気に入りなんですが。
0364デフォルトの名無しさん
2006/03/26(日) 02:16:18β1で触ってえ゛っーで、正式版では当然直るだろうと思ってたのに。
0365デフォルトの名無しさん
2006/03/26(日) 04:44:07かなり変則的だな。むしろ変態的かもしれん。
たとえば、
fileToolStripMenuItem
で、このメニューの下に「開く」メニューがあると
fileToolStripMenuItemOpen
みたいな。
0366デフォルトの名無しさん
2006/03/26(日) 12:33:34tsmiFileOpen
みたいなかんじ。
インテリセンスで同じ種類のが並ぶから便利
0367デフォルトの名無しさん
2006/03/26(日) 13:30:500368デフォルトの名無しさん
2006/03/26(日) 14:48:340369デフォルトの名無しさん
2006/03/26(日) 15:32:58Pascal式は単語の先頭だけ大文字にするっていう一貫性のあるルールだからいい。
ハンガリー記法も、接頭語とそれ以外の単語で意味が違うから問題ない。
だけど先頭単語とその単語に意味の違いがあるわけでもないのに
先頭の単語はすべて小文字にするcamel式は気持ち悪くてしょうがない。
ハンガリー記法の法が数倍マシ。
0370デフォルトの名無しさん
2006/03/26(日) 23:25:12俺は何ともないけど気持ちはわかるな。でも
英語とかは1文中の各単語は単語で代わりはないけど、先頭の単語だけ
先頭大文字で書くじゃん。それの逆だとか考えたら気持ち悪さ減少しないか?
0371デフォルトの名無しさん
2006/03/27(月) 13:30:23英語は先頭大文字の文化が確立している
ところがCamel法だけはそれを無視してる
だから気持ち悪いんだろ
Camel法は、日本語で言えば平仮名と片仮名が逆転したような気持ち悪さがある
コノこんぴゅーたノCPUハ何ぎがへるつデスカ
あ、書いてみたらちょっと気持ち悪さが取れたかもw
0372デフォルトの名無しさん
2006/03/27(月) 14:39:39foreachの中で現在の要素が何番目の要素かどうかというのは、
自前でcount++;などしていく方法しかないのでしょうか。
0373デフォルトの名無しさん
2006/03/27(月) 14:44:560374デフォルトの名無しさん
2006/03/27(月) 14:51:190375デフォルトの名無しさん
2006/03/27(月) 21:37:300376デフォルトの名無しさん
2006/03/28(火) 10:37:480377デフォルトの名無しさん
2006/03/28(火) 10:56:300378デフォルトの名無しさん
2006/03/28(火) 11:00:35マウスが砂時計になるのを防ぎたいんですが
this.Cursor = Cursors.Arrow;
↑これではだめでした。なにがいけないですか?
0379デフォルトの名無しさん
2006/03/28(火) 11:06:570380デフォルトの名無しさん
2006/03/28(火) 11:34:530381デフォルトの名無しさん
2006/03/28(火) 18:04:21Clone()で確定していたことに
ずーっと気付かなかった・・・て経験ないですか?
0382デフォルトの名無しさん
2006/03/29(水) 04:42:11SQLにはstring型以外のデータをセットできますか?
0383デフォルトの名無しさん
2006/03/29(水) 21:56:43何か問題があれば指摘してください。
public sealed class CMMTimer : IDisposable
{
private static readonly CMMTimer mmtimer = new CMMTimer();
private static int flagDisposed = 0;
public static CMMTimer Instance
{
get
{
flagDisposed++;
return mmtimer;
}
}
0384デフォルトの名無しさん
2006/03/29(水) 21:57:48private CMMTimer()
{
timeBeginPeriod(1);
}
~CMMTimer()
{
Dispose();
}
public void Dispose()
{
if (--flagDisposed == 0)
{
timeEndPeriod(1);
GC.SuppressFinalize(this);
}
}
0385デフォルトの名無しさん
2006/03/29(水) 21:58:32public int Time
{
get
{
return timeGetTime();
}
}
[DllImport("winmm.dll")]
private static extern int timeGetTime();
[DllImport("winmm.dll")]
private static extern uint timeBeginPeriod(uint uPeriod);
[DllImport("winmm.dll")]
private static extern uint timeEndPeriod(uint uPeriod);
}
0386デフォルトの名無しさん
2006/03/29(水) 22:12:01何のためにコンパイラがあるんだ。
デストラクタてw
0387383
2006/03/29(水) 22:17:38> デストラクタてw
初めてDisposeを使ったので、使い方があってるか分かりませんが
とりあえずDisposeのサンプルにもデストラクタがあったので、、、まずいですか?
0388383
2006/03/29(水) 22:18:460389デフォルトの名無しさん
2006/03/29(水) 22:25:29・コンストラクタで timeBeginPeriod を呼ぶ
・public void Dispose() は private void Dispose(true) を呼び出してから SuppressFinalize
・ファイナライザは private void Dispose(false) を呼び出す
・private void Dispose(bool) はまだ呼ばれていない場合に timeEndPeriod を呼び出す
0390383
2006/03/29(水) 22:29:31ひょっとして問題ないですか?
それだけでだいぶ楽になります。
>・public void Dispose() は private void Dispose(true) を呼び出してから SuppressFinalize
>・ファイナライザは private void Dispose(false) を呼び出す
>・private void Dispose(bool) はまだ呼ばれていない場合に timeEndPeriod を呼び出す
↑
さっそくやってみます
0391デフォルトの名無しさん
2006/03/29(水) 22:32:48MSDN くらい目を通そうな
0392383
2006/03/29(水) 23:55:59public sealed class CMMTimer : IDisposable
{
private bool flagDisposed = false;
public CMMTimer() { timeBeginPeriod(1); }
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
private void Dispose(bool flag)
{
if (!flagDisposed)
{
if (flag) { }
timeEndPeriod(1);
flagDisposed = true;
}
}
~CMMTimer() { Dispose(false); }
public int Time { get { return timeGetTime(); } }
[DllImport("winmm.dll")]
private static extern int timeGetTime();
[DllImport("winmm.dll")]
private static extern uint timeBeginPeriod(uint uPeriod);
[DllImport("winmm.dll")]
private static extern uint timeEndPeriod(uint uPeriod);
}
0393デフォルトの名無しさん
2006/03/30(木) 02:06:55※詳しくないからMSDN読み違えかも知れんけど。
0394デフォルトの名無しさん
2006/03/30(木) 02:23:35どういう意味で言ってるのか分からんが、timeEndPeriod は timeBeginPeriod と同じ回数呼ばねばならない。
取りあえず 392 のコードで問題なさそうだが。
0395383
2006/03/30(木) 23:02:23どなたかヒントをお願いします。
0396デフォルトの名無しさん
2006/03/30(木) 23:06:50まずどこまでコード書いてどこまで理解したか書くんだ。
0397383
2006/03/30(木) 23:12:47ここをどーすればいいのか分からないです↓
private static extern uint timeSetEvent(uint uDelay, uint uResolution, LPTIMECALLBACK fptc, int dwUser, uint fuEvent);
0398デフォルトの名無しさん
2006/03/30(木) 23:17:28例えばコールバック関数が
DWORD HOGECALLBACK(DWORD value);
なら
public delegate int HogeCallback(int value);
で引数に HogeCallback
デリゲートが分からないってんならまずそっちから勉強する必要があるぞ。
0399383
2006/03/30(木) 23:21:38デリゲートの勉強からはじめます。
0400383
2006/03/30(木) 23:51:04かなり勘だけで作ったけど何とか動きました。
もうひとつだけ質問です。
試してみたら
TIME_ONESHOT → 0
TIME_PERIODIC → 1
みたいだったけど、こういうのってどこで調べればいいんですか?
0401デフォルトの名無しさん
2006/03/30(木) 23:55:00そうでないなら Google。
0402デフォルトの名無しさん
2006/03/31(金) 03:56:140403デフォルトの名無しさん
2006/03/31(金) 07:19:40そーいう感じでCLRの外に(マーシャリングして)関数ポインタを晒した
delegate は、static 変数に入れるとかして保持しておかないと gc されて
アボーンするから気をつけてね。
MS のなんかのドキュメントにも書かれてるけど。
0404デフォルトの名無しさん
2006/03/31(金) 08:24:34http://www.pinvoke.net/default.aspx/winmm.timeSetEvent
うまくいったらここに書き足してくれたりすると
幸せな人が増えるかも:)
0405デフォルトの名無しさん
2006/03/31(金) 09:13:04つ Win32API
0406デフォルトの名無しさん
2006/03/31(金) 13:38:560407デフォルトの名無しさん
2006/03/31(金) 13:47:58TextBox継承してEnabledを自前で実装
0408デフォルトの名無しさん
2006/03/31(金) 18:46:01このようなことはよくありますか?
0409デフォルトの名無しさん
2006/03/31(金) 18:47:510410デフォルトの名無しさん
2006/03/31(金) 19:29:23+= されているイベントハンドラって、実行中に動的に
別のイベントハンドラと関連付け直すってことは
できるのでしょうか?
0411デフォルトの名無しさん
2006/03/31(金) 19:33:50同じメソッドなら -= new HoveEventHandler(hogehoge) でも問題ないよ。
0412デフォルトの名無しさん
2006/03/31(金) 19:38:57オススメありますか?
0413デフォルトの名無しさん
2006/03/31(金) 21:36:27イベントを選択するプロパティにないためわかりませんでした。
0414デフォルトの名無しさん
2006/03/31(金) 21:41:412005 か? なら代わりに FormClosing 使え
0415デフォルトの名無しさん
2006/03/31(金) 21:51:580416デフォルトの名無しさん
2006/03/31(金) 22:33:31foreachのStreamWriterでファイルに記録しようとしているのですが
もっと良いおすすめの方法などがあれば教えてください。
0417デフォルトの名無しさん
2006/03/31(金) 22:42:27まともに答えるなら、それでいいんじゃない?
0418デフォルトの名無しさん
2006/03/31(金) 22:58:430419デフォルトの名無しさん
2006/03/32(土) 00:00:550420デフォルトの名無しさん
2006/03/32(土) 00:27:090421デフォルトの名無しさん
2006/03/32(土) 00:28:210422デフォルトの名無しさん
2006/03/32(土) 00:35:09ArgumentOutOfRangeException はハンドルされませんでした。
0423416
2006/03/32(土) 01:11:31DateTime dt = DateTime.Now;
int today = dt.Day;
ArrayList list = new ArrayList();
list.Add(new string[] { "山田", "太郎" });
list.Add(new string[] { "山田", "次郎" });
このようなArrayListがあります。
これをシリアライズしてXMLファイルにしたいのですが、
InvalidOperationException はハンドルされませんでした。
XML ドキュメントを生成中にエラーが発生しました。
というエラーになります。
ご教授願います。
XmlSerializer lizer = new XmlSerializer(typeof(ArrayList));
using (FileStream stream = new FileStream("hoge.xml", FileMode.Create))
{
lizer.Serialize(stream, list);
}
0424デフォルトの名無しさん
2006/03/32(土) 01:22:510425416
2006/03/32(土) 01:37:59Type[] et = new Type[] { typeof(string) };
XmlSerializer lizer = new XmlSerializer(typeof(ArrayList), et);
で試してみたのですがだめでした。
0426デフォルトの名無しさん
2006/03/32(土) 01:45:23○ Type[] et = new Type[] { typeof(string[]) };
こちらで出来ました。ヒントありがとうございました。
0427デフォルトの名無しさん
2006/03/32(土) 08:36:170428デフォルトの名無しさん
2006/04/02(日) 04:11:35新しいウィンドウで開くようなリンクなどをクリックした場合、
そのリンク先をForm2のWebBrowser2に表示させたいのですが
どうすればいいでしょうか?
WebBrowser1のNewWindowイベントで何かすればいいのかなぁ・・と漠然としてます。
0429デフォルトの名無しさん
2006/04/02(日) 04:20:42CodeProjectにサンプルがあるから
Googleで ExtendedWebBrowser で調べてみな。
0430デフォルトの名無しさん
2006/04/02(日) 04:24:58ttp://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=c5aa05c2-73ce-40af-b6b1-7b5900cf4e9f
こういうことやるか、
Interop.SHDocVw.dll 参照して ActiveXInstance プロパティを SHDocVw.WebBrowser にキャストして
NewWindow3 イベントを使うか。
0431デフォルトの名無しさん
2006/04/02(日) 04:28:11お早い返信ありがとうございます。早速見つけました。
読んで試してみます!
0432デフォルトの名無しさん
2006/04/02(日) 04:36:19やることわかってるなら>430のフィードバックセンターから
コードをコピーした方が早いよ。
やってることは同じだけどCodeProjectの方が詳しいっていうだけ。
0433デフォルトの名無しさん
2006/04/02(日) 05:18:23入れ違いで見逃してました、ありがとうございます。
>>432
始めたばかりの自分には二つともコードが長すぎて正直どうすればいいかさっぱりですたorz
もうちょいがんばってみます。
0434デフォルトの名無しさん
2006/04/02(日) 19:30:3910 行でズバリ !! リレーショナルデータテーブルの構築 (C#)
ttp://www.microsoft.com/japan/msdn/thisweek/300x10/phase2/relationaldata/cs.aspx
を参考にし、データベースの内容を表示させるようにしてみたのですが、
確かに上記の説明で、リレーションを元にデータを表示する事が出来るのは理解できました。
そこで、単純な疑問が湧いたのですが、
>// Orders テーブル用のデータ アダプタを準備する
>SqlDataAdapter da1 = new SqlDataAdapter ("SELECT OrderID, CustomerID, OrderDate FROM Orders" , con);
>
>// Orders Details テーブル用のデータ アダプタを準備する
>SqlDataAdapter da2 = new SqlDataAdapter ("SELECT OrderID, ProductID, UnitPrice, Quantity FROM [Order Details]" , con);
とありますが、これだと必ず全レコードを取得してしまうような気がするのですが、どうなのでしょうか?
内部処理がどうなっているのかが不明なのですが、
Orders Detailsを全件ローカルに取得してから、親レコードのOrdersのカレントレコードが変わったときに
該当するデータを絞り込んでいるように見えます。
それとも、こういったソースで、Ordersのカレントレコードと関連のあるOrders Detailsのレコードを
動的にDBから取得しているのでしょうか?
仮に後者なら、業務で数万件〜数百万件のレコードが存在するような親−子テーブルを処理する場合、
レスポンス的に業務では使えないものになるような気がするのですが?
0435434
2006/04/02(日) 19:47:43今さっき、ちょっとテストしてみました。
・クエリアナライザをしようして監視
・最初にデータを表示されてから、SQLServerのサービスを停止させる
結局の所、親−子とも全レコードを最初に抽出したあと、リレーションにもとづいて
データを表示させているだけでした。
これを、親レコードが選択された場合に、リレーションにもとづいて
DBからデータを取得するようにするにはどうしたらいいのでしょうか?
0436デフォルトの名無しさん
2006/04/02(日) 23:26:55事情があって、Rectangleのサイズは変えられません。
Rectangleのサイズが大きめなので文字列が長いと2列になってしまうのですが、
何かいい方法はありませんでしょうか・・・?
0437デフォルトの名無しさん
2006/04/02(日) 23:31:11StringFormat 使えば何とかなると思うが。
0438436
2006/04/02(日) 23:44:48StringFormatは使ってたんですが見落としてました。 ごめんなさい。(´・ω・`)
0439デフォルトの名無しさん
2006/04/03(月) 17:29:120440デフォルトの名無しさん
2006/04/03(月) 17:38:200441デフォルトの名無しさん
2006/04/03(月) 19:34:34HogeHogeEventHandler(string text, int index)とかやってるんだけど無問題?
これがOKならEventArgsがなんのためにあるのか分からなくなってきた・・・
0442デフォルトの名無しさん
2006/04/03(月) 19:41:45構わないと言えば構わないが、Microsoft のガイドラインに従うのなら、
イベントのデリゲートは delegate void HogeEventHandler(object, HogeEventArgs) にすべきである。
イベント引数の要素を後で変更したくなったときにイベントシグネチャを変える必要がないから。
// HogeEventArgs を継承する HogehogeEventArgs をイベントに渡す。
0443439
2006/04/03(月) 19:50:30http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconeventnamingguidelines.asp
# イベント ハンドラ名には、EventHandler サフィックスを付けます。
# sender および e という名前の 2 つのパラメータを指定します。
# sender パラメータは、イベントを発生させたオブジェクトを表します。
# sender パラメータの型は、より適した型を使用できる場合でも、常に object にします。
この規則が何のためなのかと思ったわけです。
0444デフォルトの名無しさん
2006/04/03(月) 20:08:39自分なりのガイドラインがあっても良いし、Microsoftのガイドラインに沿ってもいい
今回の場合はMSガイドラインに沿うと拡張性は上がる
でも嫌なら好きなように作ればいい
0445デフォルトの名無しさん
2006/04/03(月) 20:09:42例えば、IE のメニューの「文字のサイズ-最大/大/中/小/最小」なんて、
同じイベントハンドラを呼び出してそこで「どこから呼び出されたのか」を判断する方が自然だ。
そのための sender 。
で、ガイドラインにするのはイベントをそう言う統一的概念で扱えるようにするため。
0446デフォルトの名無しさん
2006/04/03(月) 23:12:020447デフォルトの名無しさん
2006/04/04(火) 10:04:08自分なりに統一的概念を作れるなら他の実装でも構わない
ただ、自分が考えるガイドラインってのは往々にして「自分の理解の範囲」に特化した劣化版がほとんど
最後は開発側であるマイクロソフトのガイドラインに帰結すると思うよ
0448デフォルトの名無しさん
2006/04/04(火) 12:31:03以下のようなメール送信プログラムを作ったのですが、
SmtpMail.Send(textBox1.Text, label2.Text, label5.Text, textBox2.Text);
MessageBox.Show("送信しました", "送信完了", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();
※送信先(label2)とタイトル(label5)は固定
自分のところではうまく送信できたのですが、ビルドした物を友人に送信して試してもらったところ、
以下のようなエラーが出て送信できませんでした。
System.Web.HttpException: "SendUsing" の構成値は無効です。
---> System.Reflection.TargetInvocationException: 呼び出しのターゲット
が例外をスローしました。
いろいろ試しても自分のところで再現することが出来ず、何が原因かわからず困っています。
上のエラーは何が原因なのでしょうか?
0449デフォルトの名無しさん
2006/04/04(火) 16:33:280450デフォルトの名無しさん
2006/04/04(火) 18:22:24あまりに突っ込みどころが多すぎて困る
まずは友人とやらの環境を確認しろ
・SMTPでインターネットへパケットを飛ばせる環境なのか
・SMTPの送信に制限が掛かっていないか
・メールサーバの設定は正しいか
・メールサーバのSMTP認証に反した送信をしていないか
・メールサーバがプロバイダのものなら、そのプロバイダ以外からの接続を許可しているのか
ネットワーク系の場合はコード以外に環境も確認しろ
0451デフォルトの名無しさん
2006/04/04(火) 23:38:10Convert.ToChar(bytes[i]);
をループさせるのと
Encoding.ASCII.GetString(bytes);
って何が違うの?
逆にstr→byteしたいときも
BitConverterつかうのとASCII.GetBytes(str)
って何が違うの?
文字コードとかワケワカラン・・・
0452デフォルトの名無しさん
2006/04/04(火) 23:46:45を実装したいのですがどうすればいいでしょうか?
もうちょっと具体的にいいますと
ContextMenuStrip内のToolStripMenuItem.ShortCutKeyDisplayStringプロパティに
"A"や"B"などのショートカットを設定してそれを実行できるようにしたいのです。
0453デフォルトの名無しさん
2006/04/04(火) 23:48:20VS2005 の「プロパティ」がまさにそれだと思うのですが。
0454デフォルトの名無しさん
2006/04/04(火) 23:53:04PropertyGrid
柔軟性が欲しいならコンポ探せ
0455デフォルトの名無しさん
2006/04/04(火) 23:53:45メモ帳でUTF8とシフトJISのテキストファイルを作って読み込んでみろ
>>452
無理。
KeyDownとかで代用
>>453
あれはPropertyGrid
0456デフォルトの名無しさん
2006/04/04(火) 23:55:43使われるのが ASCII コード(0x00-0x7F)だけなら変わらん
それ以上知りたければエンコーディングを勉強すれ
>>453
プロパティグリッド? プロパティの表示専用みたいなもんだが。
0457デフォルトの名無しさん
2006/04/05(水) 00:01:05↑これってなんて読むのですか?
ネットで検索したいんだけど一文字だからできなくて
おねがいします
0458デフォルトの名無しさん
2006/04/05(水) 00:04:31あとは ttp://www.unicode.org で調べるんだ。
0459451
2006/04/05(水) 00:20:44hmac_md5計算しようとしてるんですが、byteやらstrやらが入り乱れて
わけわからんくなってきてます・・・
地道にがんばります。
0460453
2006/04/05(水) 00:22:44http://blogs.msdn.com/photos/atc_avalon_team/picture541212.aspx
こういうのナイっすか……
0461デフォルトの名無しさん
2006/04/05(水) 00:31:19そのままの言葉でぐぐるとこれが出てくるわけだが?
http://www.codeproject.com/cs/miscctrl/treelistview.asp
0462デフォルトの名無しさん
2006/04/05(水) 00:32:31http://www.google.com/search?num=50&hl=ja&q=hmac_md5+c%23+site%3Awww.zj55.net&lr=
それっぽいもの。
本サイトは落ちてるみたいなんでキャッシュで見られるかも。
0463デフォルトの名無しさん
2006/04/05(水) 00:35:06「記号 読み方」ネットで検索
0464デフォルトの名無しさん
2006/04/05(水) 18:36:310465デフォルトの名無しさん
2006/04/05(水) 18:45:39こうですか? わかりません!
0466デフォルトの名無しさん
2006/04/05(水) 21:28:52その言葉をここに書き込むよりGoogleの検索欄に書いた方が速いよ?
まあこんなレスするより教えた方が速いんだが
0467デフォルトの名無しさん
2006/04/05(水) 21:46:10ごめんなさい。MSDNサイト上のURLです。
>>464
いままで検索からきていたのですが、新サイトに移行してから分からなくなってしまいました。C#やVB.NETのリファレンスなら見つかったのですが…。
0468デフォルトの名無しさん
2006/04/05(水) 21:50:100469デフォルトの名無しさん
2006/04/05(水) 22:00:53見つかりました
ありがとうございます
0470デフォルトの名無しさん
2006/04/05(水) 23:51:20textBox.Textは一度に読み込ませないとだめみたいで
こういう場合どうすればいいでしょうか?
0471デフォルトの名無しさん
2006/04/05(水) 23:56:420473デフォルトの名無しさん
2006/04/06(木) 15:40:22これを逆にならずに読み込ませる方法を教えてください。
0474デフォルトの名無しさん
2006/04/06(木) 15:47:40数値をビッグエンディアンで解釈するには System.Net.IPAddress.HostToNetworkOrder なんてメソッドもあるけど。
0475デフォルトの名無しさん
2006/04/06(木) 16:40:24分かりました。ありがとうございました。
0476デフォルトの名無しさん
2006/04/06(木) 16:48:100477デフォルトの名無しさん
2006/04/06(木) 16:51:03いいだろ?
0478デフォルトの名無しさん
2006/04/06(木) 16:55:17イベントハンドラは、イベントに関連づけられてイベントが発生したときに実行されるメソッド。
0479デフォルトの名無しさん
2006/04/06(木) 19:31:322文字以上の連続した文字列で分割したい場合
便利なクラスはありますでしょうか?
0480デフォルトの名無しさん
2006/04/06(木) 19:37:07.NET 1.x なら Regex 使えば?
0482デフォルトの名無しさん
2006/04/06(木) 20:49:47これはどういう構造なんでしょうか?
ListViewSubItemはListViewItemを継承してるんでしょうか?
こういう感じのものをArrayListを使って作りたいんですけど
やり方がよくわかりません
学校.クラス[0].クラスメイト[0].名前="まっちゃん";
学校.クラス[0].クラスメイト[0].身長="230cm";
みたいなものを作りたいんです
構造はlistviewに近いので参考にしようと思ったのですが
よくわからなくて・・・
0483デフォルトの名無しさん
2006/04/06(木) 20:56:450484デフォルトの名無しさん
2006/04/06(木) 21:07:43ぶち込めばいんですがやり方がよくわからないんです
Class クラス:ArrayList
{
public クラスメイト=new クラスメイト();
}
こういう感じにすればいいんですか?
どうも違うような?これだと、学校からの継承がなくなるし
どうしたらいいもんか・・
0485デフォルトの名無しさん
2006/04/06(木) 21:14:59そんなことしたら ListViewSubItem が ListViewSubItem コレクションを持つことになるじゃないか。
ListView が持つ ListViewItemCollection で ListViewItem を管理する。
ListViewItem が持つ ListViewSubItemCollection で ListViewSubItem を管理する。
特定のコレクションは、ArrayList やら List<T> やらを使ったりを派生させたり CollectionBase から派生させたり。
public class Item {
public LisT<SubItem> SubItems {get;}
}
public class SubItem {
}
学校はクラスのコレクションを持つ。
クラスはクラスメイトのコレクションを持つ。というだけの話。
0486デフォルトの名無しさん
2006/04/06(木) 21:24:070487デフォルトの名無しさん
2006/04/06(木) 21:42:01なんとなくわかったようなわからないような
解説サイトは人間の中の学生の・・とかをモデルに継承を説明してたけど
安易に継承したらダメってことかな
例えば、人間クラスに複数の学生クラスを保持してたとすると
一人一人の学生にすべて学生のクラスを保持できる変数まで継承してしまいますよね?
じゃあなんでそういうモデルを例にあげたのかさっぱりわからない
継承なんかしないで、人間クラスに学生を保持するArraylistを宣言すればいいだけでは?
と思ったり、とにかくこういう場合は継承しないほうがいいみたいですね
0488デフォルトの名無しさん
2006/04/06(木) 22:24:16> 例えば、人間クラスに複数の学生クラスを保持してたとすると
訳分からんこと言うな。
人間がどうして複数の学生を保持するんだ?
その人間ってのは担任の先生なのか?
学生を持つのは学校であって人間ではない。
そして学校は学生とは継承関係にあるはずもない(「学生は学校である」「学校は学生である」どっちも偽だ)。
0489デフォルトの名無しさん
2006/04/06(木) 22:52:190490デフォルトの名無しさん
2006/04/06(木) 22:52:540491デフォルトの名無しさん
2006/04/06(木) 22:54:15なるほどね
0492デフォルトの名無しさん
2006/04/06(木) 22:54:58http://www-ise2.ise.eng.osaka-u.ac.jp/~iwanaga/study/csharp/oo_inherit.html
0493デフォルトの名無しさん
2006/04/06(木) 22:57:14いや、まったくその通りで
機能ほ受け継ぎたい→継承
量を保持したい→コレクション
こんな感じですかね?
自分が何を誤解してたのかようやくわかった
ありが�d
0494デフォルトの名無しさん
2006/04/06(木) 23:02:12そのサイトの例は機能を受け継ぐっつー例やね
0495デフォルトの名無しさん
2006/04/06(木) 23:05:43エクセル入ってないとつくれない?
0496デフォルトの名無しさん
2006/04/06(木) 23:08:080497デフォルトの名無しさん
2006/04/07(金) 03:19:46今まで同じ基本クラス持ってるコントロールにそれぞれ同じメソッド書いてたけど
自作コントロールを作成してそのにメソッド書いてそれぞれに継承させれば楽チンじゃん!
しかもイベントも全部その自作クラスのイベントにキャストすればイベントコードも1つで済むじゃんん!!!
早く教えてよ!こんな便利な機能
0498デフォルトの名無しさん
2006/04/07(金) 08:33:50特権がないとエラーが出てしまうんですが・・・。
Web上もリモートPCのなら載ってるんですけどorz
検索して見つけたコードです。サイトの人もエラー吐くかもと認識しているみたいですorz
ManagementObjectSearcher searcher = new ManagementObjectSearcher();
searcher.Query.QueryString = "SELECT * FROM Win32_OperatingSystem";
ManagementObjectCollection operatingSystems = searcher.Get();
foreach (ManagementObject operatingSystem in operatingSystems)
{
operatingSystem.InvokeMethod("Reboot", new string[] { "" });
}
0499デフォルトの名無しさん
2006/04/07(金) 08:39:14で、その特権を獲得するには Win32API を使う必要がある。
ttp://www.google.com/search?num=100&hl=ja&lr=lang_ja&oe=utf8&q=%E5%86%8D%E8%B5%B7%E5%8B%95+%E7%89%B9%E6%A8%A9
0500デフォルトの名無しさん
2006/04/07(金) 08:41:210501デフォルトの名無しさん
2006/04/07(金) 08:47:08うぅー、やっぱそこら辺になりますかぁ・・・。
宇宙仮面さんのとこは正直分からなかったですがやるしかなさそうですね。
どもでした、おやすみー
0502デフォルトの名無しさん
2006/04/07(金) 09:03:32XML形式で良ければテキスト操作で作れる
DIFF形式ならXLSoftのExcelCreatorとか買うしかない
自力でDIFF形式出力を実装することもできなくもないが茨の道
0503デフォルトの名無しさん
2006/04/07(金) 09:21:04ManagementScope.Options使って管理者に偽装すりゃいいんじゃねーの?
0504デフォルトの名無しさん
2006/04/07(金) 09:26:27権限と特権は別。
0505デフォルトの名無しさん
2006/04/07(金) 11:08:52うん、まあよかったな。その調子でがんがれよ。
0506デフォルトの名無しさん
2006/04/07(金) 16:44:44Win32のlongは32bitでいいんでしょうか?
64bit対応を考えたとき、
wParamとかハンドルとか、IntPtrで受けた方がいいですか?
0507デフォルトの名無しさん
2006/04/07(金) 16:47:57WPARAM とか HANDLE とかは当然 IntPtr だね。.NET の標準ライブラリでもそうなってるし。
0508デフォルトの名無しさん
2006/04/07(金) 16:50:14ありがとうございます
0509デフォルトの名無しさん
2006/04/08(土) 21:02:04オートシェイプみたいなオブジェクトをドラッグ中、画面が狭いと滑らかに動くんですが
全画面表示にするとフレーム落ちしたような動きになります。
ワードクラス(コントロールを継承) 図形クラス(座標、サイズ、Drawメソッドを持つ)
ドラッグ中の処理(ワードクラスMouseMoveivイベント)
・図形クラスの座標にマウスの座標を設定
・図形クラスのRectangleで Invalidate(rect, false);//必要なエリアだけ描画 OnPaintイベント発生
描画処理(ワードクラスOnPaintイベント)
protected override void OnPaint(PaintEventArgs e)
{
Bitmap bmp = new Bitmap(this.Width, this.Height);
Rectangle re = new Rectangle(0,0,this.Width, this.Height);
using(Graphics g = Graphics.FromImage(bmp))
{
g.Clear(SystemColors.Window);//背景描画
図形クラス.Draw(g);//Rectangleの枠を描画するだけ
e.Graphics.DrawImage(bmp, re, re, GraphicsUnit.Pixel);
}
}
大体こんな感じの処理ですが、アドバイスお願いします。
Framework1.1です。
0510デフォルトの名無しさん
2006/04/08(土) 23:21:51もとの色は何色でしょうか。
プロパティを見るとBackColorがControlになっていますが、
label1.BackColor = Color.Control;
が出来ないので困ってます。
0511デフォルトの名無しさん
2006/04/08(土) 23:29:11取りあえず ResetBackColor メソッド
インテリセンスには出ないかもしれんが
0512デフォルトの名無しさん
2006/04/08(土) 23:31:54ありがとうございます。
選択肢に出ないものもあるんですね。
0513デフォルトの名無しさん
2006/04/08(土) 23:33:20SystemColors クラス見てみ。
0514デフォルトの名無しさん
2006/04/08(土) 23:52:47PaintEventArgsのClipRectangleプロパティを見落としていました。
でもここはあまり問題じゃなかったです。
問題のフレーム落ちみたいになったのは
ダブルバッファようのBitmapのサイズがまさに全画面で...orzなのと
DrawImage()での描画位置などの指定も同じく全画面でした...orz
ところでワードのようなコントロールってないんですかね?
文章書けて、画像が配置できるような。。。
0515デフォルトの名無しさん
2006/04/08(土) 23:57:550516デフォルトの名無しさん
2006/04/09(日) 00:04:53DateTime.Now.HourやDateTime.Now.Minuteを使ったif文だととても複雑になってしまうのですが、
もっとスマートに書く方法はありますか?
たとえば、「8:00-11:30 12:30-17:00」の場合だと
時間部分が8以上かつ12未満で、11の時は分部分が30以下
または
時間部分が12以上かつ17未満で、12の時は分部分が30以上
ただしきっかり17時の時を含める
このように長くなります。
if(8:00-11:30 || 12:30-17:00)
このような感じのものはないのでしょうか?
0517デフォルトの名無しさん
2006/04/09(日) 00:10:30TimeOfDay プロパティを使えば多少は楽になるだろ
0518デフォルトの名無しさん
2006/04/09(日) 00:18:24日付部分さえ同じなら DateTime 同士の単純な比較で問題ないけど。
0519デフォルトの名無しさん
2006/04/09(日) 00:27:46お前は一個上も(ry
0520デフォルトの名無しさん
2006/04/09(日) 00:46:09気づいたのですが、DateTime.Nowの時間と、タスクトレイの時計の時間は数秒違うのですね。
これは同期する方法はあるのでしょうか?
0521デフォルトの名無しさん
2006/04/09(日) 18:58:19このような記述を見つけました。
どうやら[ ]は配列では無いことはわかるのですが何を表しているかわかりません。
どんなキーワードで検索すればわかるでしょうか。
0522デフォルトの名無しさん
2006/04/09(日) 19:02:50ていうかまずそのクラスを調べようよ
0523デフォルトの名無しさん
2006/04/09(日) 19:10:56ありがとうございます。
0524デフォルトの名無しさん
2006/04/09(日) 20:47:33プロジェクト内のすべての.csファイルを一括印刷する方法はありますでしょうか。
0525デフォルトの名無しさん
2006/04/09(日) 20:48:39自分で作るってのはどう?
0526デフォルトの名無しさん
2006/04/09(日) 22:23:40マクロかアドインでって、Expressじゃ使えないんだよな。
0527デフォルトの名無しさん
2006/04/09(日) 22:32:00textBox_Click(object.........
てな感じでメソッド名の始まりが小文字になるでしょ?
でも、作法としてはPascal形式で大文字始まりにする
べきだよね。みなさんどうしてる?
0528デフォルトの名無しさん
2006/04/09(日) 22:33:500529デフォルトの名無しさん
2006/04/09(日) 22:40:15見えないものはどうでもいい
0530デフォルトの名無しさん
2006/04/09(日) 23:53:15これの <T> を調べたいんだけど、
これなんて呼ばれてんの?
0531デフォルトの名無しさん
2006/04/09(日) 23:59:260532デフォルトの名無しさん
2006/04/10(月) 00:10:49まあ、ジェネリック型パラメータとか、型パラメータ、とかかな。
0533デフォルトの名無しさん
2006/04/10(月) 00:47:29サンクス
ジェネリックって知らん刈田
0534デフォルトの名無しさん
2006/04/10(月) 00:57:07おまいは上の名前空間を自分で使ってたんじゃなかったのか!
0535デフォルトの名無しさん
2006/04/10(月) 16:50:18C#にリストがあるっぽいので使ってみたの
class Game{
public static ArrayList list = new ArrayList();
プログラムの初期化で
Game.list.Add(new SystemTask(50,50));
適当に追加したの。
で、メインで リストを回してるの。
foreach(Task myObj in Game.list)
{
myObj.OnIdle();
}
このOnIdle内で
Game.listに追加すると
なんか警告出るの。
foreach中に対応リスト追加するとだめっぽい。
追加するための対策どうすればいいですか?
0536デフォルトの名無しさん
2006/04/10(月) 16:56:29あと日本語をもっと勉強しろ。
0537デフォルトの名無しさん
2006/04/10(月) 16:56:400538デフォルトの名無しさん
2006/04/10(月) 16:59:440539デフォルトの名無しさん
2006/04/10(月) 17:08:17とりあえずいけたの。
ありがとうなの。
で、
C++のSTLのlistとかmapとかでiteratorみたいなので指定して使いたいけど
それっぽいのはないの?
0540デフォルトの名無しさん
2006/04/10(月) 17:34:180541デフォルトの名無しさん
2006/04/10(月) 17:45:030542デフォルトの名無しさん
2006/04/10(月) 18:38:280543デフォルトの名無しさん
2006/04/10(月) 19:08:080544デフォルトの名無しさん
2006/04/10(月) 19:12:57基本クラスのListViewを継承したサブクラスのメソッドを使う場合に
当然なんでしょうが、基本クラスのメソッドも見えてしまうのでわかりづらいんです
サブクラスで定義したパブリックなメソッドだけが見えるようにできないでしょうか?
0545デフォルトの名無しさん
2006/04/10(月) 20:17:56C#の場合、新規クラスがListViewを保持するのが上席。
0546544
2006/04/10(月) 20:53:01なるほど、継承するからややこしくなるんですね。
でも、新規クラスが保持した場合、デザイン編集画面には表示されないですよね?
できれば、デザイン編集画面でコラムや外見を編集できるようにもしたいんですが
そういう場合はどうすればいいんでしょうか?
0547デフォルトの名無しさん
2006/04/10(月) 21:22:35必要なListViewのプロパティを自分のコントロールのプロパティとして間接的に公開
0549デフォルトの名無しさん
2006/04/10(月) 22:17:02たいたい、実装の継承を避けるべきってのは依存を避けたいわけで、
はなから特定のクラスに依存しているというか、
そのものの動作を必要とするものを、
わざわざ委譲に書き換える意味が分からない。
0550544
2006/04/10(月) 22:42:34では、どうすればいいんでしょうか?
ListViewクラスのメソッドなどをprotectedできれば一番いいんですけど・・
呼び出す側にはサブクラスのメソッドだけを見せたいんです
0551デフォルトの名無しさん
2006/04/11(火) 11:36:18public static StageTablestage_tbl[]=
{
{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
{ 20 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
};
}
↑こんなの
これだとエラーでます。
やっぱ、引数ありのコンストラクタ書かないと駄目ですか?
0552デフォルトの名無しさん
2006/04/11(火) 11:51:42C# 3.0 待ち。
現状は無理。
0553デフォルトの名無しさん
2006/04/11(火) 12:56:28いやまあ間違っちゃいないとは思うけど。
0554デフォルトの名無しさん
2006/04/11(火) 14:25:350555デフォルトの名無しさん
2006/04/11(火) 15:29:11しないけど。
0556デフォルトの名無しさん
2006/04/11(火) 16:24:13IEなら インターネットオプション-詳細設定-ブラウズ-ページの切り替えを行う をオフに
0557デフォルトの名無しさん
2006/04/11(火) 17:04:460558デフォルトの名無しさん
2006/04/11(火) 18:10:30単純に与えられたstringが半角のみかどうかを調べる方法ってありますか?
0559デフォルトの名無しさん
2006/04/11(火) 18:15:11Shift_jis のバイト列に変換して 2 バイト文字のコードが含まれてるかチェックすれば?
// 別に Unicode のままでもいいか……。
0560558
2006/04/11(火) 18:39:08byte[] b = Encoding.GetEncoding("shift_jis"))).GetBytes("ほげ");
して、頭から2byte読んでひたすらshift_jisのコードと照らし合わすって事ですか?
0561デフォルトの名無しさん
2006/04/11(火) 18:46:210562558
2006/04/11(火) 18:49:46if (str.Length != Encoding.GetEncoding("shift_jis").GetByteCount(str))
上のコード書いてみました。
>>561の方法だと
byte[] b = Encoding.GetEncoding("shift_jis"))).GetBytes("ほげ");
のb[0]がascii tableになければ2byteって認識でいいですか?
0563デフォルトの名無しさん
2006/04/11(火) 18:51:390564デフォルトの名無しさん
2006/04/11(火) 19:01:56いいんですか?
0565558
2006/04/11(火) 19:04:13わかりません…
とりあえず今回は普通に使う日本語文字(微妙な表現…)か
普通のascii tableにあるような1byteか判断できれば十分なのでこれでよしとします。
0566デフォルトの名無しさん
2006/04/11(火) 21:45:44>if (str.Length != Encoding.GetEncoding("shift_jis").GetByteCount(str))
1バイト文字は1文字=1バイトなんだから、
これで良しと思われます。
0567デフォルトの名無しさん
2006/04/11(火) 22:50:22単純に StringBuilder を渡すだけでは文字化けしてしまいました。
解決策はないでしょうか?
0568デフォルトの名無しさん
2006/04/11(火) 22:57:44多分 String.Split で NULL 文字以降を切らんと駄目だぞ
0569デフォルトの名無しさん
2006/04/11(火) 22:58:430570デフォルトの名無しさん
2006/04/11(火) 23:50:20ありがとうございます。できました。
NULL 文字以降を切らなくてもちゃんとできてるみたいです。
0571デフォルトの名無しさん
2006/04/12(水) 10:19:470572デフォルトの名無しさん
2006/04/12(水) 11:05:53スレ違いです
0573デフォルトの名無しさん
2006/04/12(水) 11:54:27もう8年目になるけど
完全に習得できてない
0574デフォルトの名無しさん
2006/04/12(水) 12:18:270575デフォルトの名無しさん
2006/04/12(水) 12:21:450576デフォルトの名無しさん
2006/04/12(水) 13:42:320577デフォルトの名無しさん
2006/04/12(水) 13:48:430578デフォルトの名無しさん
2006/04/12(水) 14:52:370579デフォルトの名無しさん
2006/04/12(水) 15:08:180580デフォルトの名無しさん
2006/04/12(水) 15:09:170581デフォルトの名無しさん
2006/04/12(水) 15:10:150582デフォルトの名無しさん
2006/04/12(水) 15:12:100583デフォルトの名無しさん
2006/04/12(水) 15:25:350584デフォルトの名無しさん
2006/04/12(水) 15:34:580585デフォルトの名無しさん
2006/04/12(水) 15:51:43フォレアッチ?
0586デフォルトの名無しさん
2006/04/12(水) 15:53:070587デフォルトの名無しさん
2006/04/12(水) 15:55:320588デフォルトの名無しさん
2006/04/12(水) 15:56:400589デフォルトの名無しさん
2006/04/12(水) 15:57:130591デフォルトの名無しさん
2006/04/12(水) 20:07:120592デフォルトの名無しさん
2006/04/12(水) 20:16:11MSDNに書いてあるフォルダにないんだが。
0593デフォルトの名無しさん
2006/04/12(水) 20:51:040594デフォルトの名無しさん
2006/04/12(水) 21:19:00Managed Spy は試したが、いきなり例外出るし全然反応しないし
付属ソースも2003じゃIDEでコンパイルできないしですぐに消した。
VC6.0のSpy++があったんで使ってみた。
でもUnknownが多い。反応しないイベントも数あるようだ。
0595デフォルトの名無しさん
2006/04/12(水) 21:40:220596デフォルトの名無しさん
2006/04/12(水) 23:47:420597デフォルトの名無しさん
2006/04/12(水) 23:48:320598デフォルトの名無しさん
2006/04/13(木) 00:34:430599デフォルトの名無しさん
2006/04/13(木) 00:38:31の方がよほど便利だと思うのだが
0600デフォルトの名無しさん
2006/04/13(木) 00:40:330601デフォルトの名無しさん
2006/04/13(木) 12:54:05String.Emptyだとstatic readonlyだからアプリケーション中に1つだけ
っていうことじゃない?
0602デフォルトの名無しさん
2006/04/13(木) 13:47:26それも正しくない。
string はインターンプールって領域でインスタンスを管理してて、
基本的に同じ文字列は同じインスタンスを返す仕組みになってる。
// 明示的に new した場合は別。
"" を複数回使った場合もインスタンスは一つ。
で、それと String.Empty は別インスタンスになる。
String.Empty と同じインスタンスを指すのは new string(new char[]) だね。
通常 new したときは必ず新しいインスタンスが作られるんだが、空の char[] 使ったときは例外のようだ。
でも実は String の静的コンストラクタを覗くと "" を Empty にストアしてる不思議。
0603デフォルトの名無しさん
2006/04/13(木) 14:01:180604デフォルトの名無しさん
2006/04/13(木) 14:26:45string s1 = string.Empty;
string s2 = string.Empty;
string s3 = "";
string s4 = new string(new char[0]);
Console.WriteLine("s1, s2: {0}",
(Object.ReferenceEquals(s1, s2)) ? "t" : "f");
Console.WriteLine("s1, s3: {0}",
(Object.ReferenceEquals(s1, s3)) ? "t" : "f");
Console.WriteLine("s1, s4: {0}",
(Object.ReferenceEquals(s1, s4)) ? "t" : "f");
Console.WriteLine("s3, s4: {0}",
(Object.ReferenceEquals(s3, s4)) ? "t" : "f");
結果:
s1, s2: t
s1, s3: f
s1, s4: t
s3, s4: f
new string(new char[0])とString.Emptyが一緒になるとは知りませんでした。
そういう情報ってどこで見つけられるんです?
0605デフォルトの名無しさん
2006/04/13(木) 17:50:080606デフォルトの名無しさん
2006/04/13(木) 18:09:38stringクラスのあたりをmsdnとmsdn2で眺めていたんですけど
見つからなかったんですよね…。
検索スキルが足りてないようなので出直してきます。
0607デフォルトの名無しさん
2006/04/13(木) 18:15:30今回のは自分で調べただけだし。
0608デフォルトの名無しさん
2006/04/13(木) 18:22:430609デフォルトの名無しさん
2006/04/13(木) 21:24:390610デフォルトの名無しさん
2006/04/13(木) 23:25:511つの参照をさすとは限らなくなるとか。
0611デフォルトの名無しさん
2006/04/13(木) 23:29:58>>602によると同じインスタンスらしいけど
0612デフォルトの名無しさん
2006/04/13(木) 23:34:07.NET ではそう言う実装になってるが、そうでない実装も考えて、とか?
0613デフォルトの名無しさん
2006/04/14(金) 01:01:02規格として保証されてないからかな。
どんな実装であっても同一の参照になることを保証しようとすると readonly になるのかな。
0614デフォルトの名無しさん
2006/04/14(金) 01:10:48って>>610と同じこと言ってた…
0615デフォルトの名無しさん
2006/04/14(金) 11:05:40最後の配列の内容は、最後に読み取った分+一つ前に読み取った内容
の後ろ部分になってしまいます。
buf.Initialize();で初期化しているつもりなんですが、
どこがいけないのでしょうか?
int byteSize = 1024;
byte[] buf = new byte[byteSize];
int bytesRead;
while ((bytesRead = outStream.Read(buf, 0, byteSize)) > 0)
{
Response.BinaryWrite(buf);
buf.Initialize();
}
0616デフォルトの名無しさん
2006/04/14(金) 11:29:42{
thread.suspend();
if (処理を中止しますか? == Yes)
{
thread.resume();←★
thread.Abort();
thread.Join();
}
else
{
thread.Resume();
}
}
★でResumeしてからAbortしないと「Suspend中です」という例外が
出るので入れてみたんですが、このResumeからAbortの間に、スレッドの
中でちょこっと処理が進んでしまったりしませんか?
0617デフォルトの名無しさん
2006/04/14(金) 11:48:08んでbyteとかのコンストラクタは空
別に0に初期化されるなんてことはない
Clearでも使うヨロシ
0618デフォルトの名無しさん
2006/04/14(金) 11:50:00Initialize の解説嫁。C# にしか言及してないが VB.NET でも同じだ。
>>616
進むかもね。
Suspend とか使うとデッドロックになりがちだぞ。
0619デフォルトの名無しさん
2006/04/14(金) 11:51:120620615
2006/04/14(金) 11:56:33buf.Initialize()をbuf.Clear()に変えるとコンパイルエラーに
なってしまいます。
Clearの使い方が違ってるのでしょうか?
0621デフォルトの名無しさん
2006/04/14(金) 12:06:15エラーの中身を読もうよ。
0622615
2006/04/14(金) 12:09:36すいません。
引数を '0' 個指定できる、メソッド 'Clear' のオーバーロードはありません。
というエラーでbyteにはメソッドがないと思われます。
0623デフォルトの名無しさん
2006/04/14(金) 12:11:25そう言う場合はリファレンスを見るんだ。
0624615
2006/04/14(金) 12:35:13buf.Clear()ではなく、Array.Clear(buf, 0, 1024)
でクリアできているようです。
ありがとうございました。
0625デフォルトの名無しさん
2006/04/14(金) 17:18:24コレクション内のint型の配列を取得するのに今は、
int[] work = new int[foo.Values.Count];
foo.Values.Copyto(work,0);
とint型配列を作ってそれにコピーしていますが
もっとスマートな方法があれば、ご教授お願います。
0626616
2006/04/14(金) 17:25:48工エエェェ('д`)ェェエエ工工
デッドロックといえば、実はスレッドの終了時に終了イベントを
出していまして、それを受けたフォームがボタンのEnabledを実行前に
戻したりしているんですが、それをInvokeでやると固まってしまって、
BeginInvokeだと通ります。Suspendを抜かして速攻Abortにしたら
InvokeでもOKでした。Suspendは難しいんですね。。。
Suspend抜きでこういう「中止しますか」処理をするにはどうしたら
いいですか?
0627デフォルトの名無しさん
2006/04/14(金) 17:32:19それでいいんじゃないかな。
あえて書くなら
new List<int>(foo.Values).ToArray()
なんてのもあるけど、コピーが二回発生するし。
0628デフォルトの名無しさん
2006/04/14(金) 17:35:45スレッドを処理するメソッドが、中断フラグを随時確認するとか。
スレッド側が自分で流れを管理するようにして、外部スレッドはオブジェクトの状態を変更するだけ。
Abort とか Suspend なんて必要なし。
と言うのが良い。
0629デフォルトの名無しさん
2006/04/14(金) 23:36:30基本的に非同期に例外を発生させるようなことは避けたほうがいい。
スレッドのアボートも同様。
例外が発生するタイミングが予測できないコードを適切に記述するのは困難。
0630デフォルトの名無しさん
2006/04/15(土) 00:23:140631デフォルトの名無しさん
2006/04/15(土) 00:33:500632631
2006/04/15(土) 00:43:58GUI関連についてはメソッドかくさんでもいい気はするけどなーということで俺は>>549派
0633616
2006/04/15(土) 02:36:58ああ〜じつはVB6でDoEvents使った非同期処理を作ってるときに
そう言う書き方してました。そっかスレッドだからって同じでいいのか・・・
サンクスです。
0634デフォルトの名無しさん
2006/04/15(土) 21:17:49修正加えて、やっぱりやめたーってときは破棄して、また元のプロジェクトをやりたいんですけど
そういう場合どうすればいいですか?
0635デフォルトの名無しさん
2006/04/15(土) 21:41:230636デフォルトの名無しさん
2006/04/15(土) 21:43:32あらら、やっぱ専用ソフトみたいなのがいるんですねぇ
ありがとー。試してみますー。
0637デフォルトの名無しさん
2006/04/15(土) 22:10:01バージョン管理とか必要ないなら
Zipで固めといて戻したいときに削除してZip展開でいいんでない?
0638デフォルトの名無しさん
2006/04/16(日) 01:46:59OpenFileDialog にある
RestoreDirectory なんですが
RestoreDirectory=falseが既定値ですよね
trueの方がイイと思うんですが、
理由が判る方教えてください
0640デフォルトの名無しさん
2006/04/16(日) 01:59:53Windows の標準的にもディレクトリは保存される方向だと思うのだが。
初期ディレクトリ固定したけりゃ明示的に指定すれば良いんだし。
true の方が何故良いと思ったのさ?
0641デフォルトの名無しさん
2006/04/16(日) 02:09:440642デフォルトの名無しさん
2006/04/16(日) 18:37:42まだ if 文、else 文がでてきたあたりですが、
if の意味、else の意味のみ抑えておいて、
演習や説明文をすっとばしたい欲求にかられてしまうのですが、
やっぱりひとつひとつこなして行った方が良いのかな?
0643デフォルトの名無しさん
2006/04/16(日) 18:41:020644デフォルトの名無しさん
2006/04/16(日) 18:44:24レスありがとう。
C#ってまた別のもんだったのか。
スレ違い失礼しました。
0645デフォルトの名無しさん
2006/04/18(火) 07:32:07普通にifでファイルがあるかないか判別してその中で処理するだけでいいんでしょうか?
0646デフォルトの名無しさん
2006/04/18(火) 08:14:110648デフォルトの名無しさん
2006/04/19(水) 02:30:22いなくなったようなので簡単な方法を教えるが、
DLLが無い場合には DLL への初回呼び出し時に例外が発生するので、
これを catch するのが簡単。
0650デフォルトの名無しさん
2006/04/20(木) 22:24:24// 普通ではできなかった
public class Test1 {
public Dictionary<int ,string> testDict;
public SaveClass() {
this.testDict = new Dictionary<int ,string>();
} }
// ぜんぜん解らないのですが、こんな事もしてみました
public class Test2 {
public MyDictionary myDict = new MyDictionary();
public class MyDictionary :Dictionary<int ,string>
{
public MyDictionary()
: base() { }
}
public Test2b()
{
this.myDict = new MyDictionary();
} }
0651デフォルトの名無しさん
2006/04/20(木) 22:24:56void Serialize() {
using( FileStream fs = new FileStream( filePath ,FileMode.Create )) {
// Test1での記述
XmlSerializer xs = new XmlSerializer( Test1 );
// Test2での記述
Type[] types = new Type[]{ typeof( Test2.MyDictionary ) };
XmlSerializer xs = new XmlSerializer( Test2 ,types );
// 共通部位
xs.Serialize( fs ,test );
} }
これらの何れが悪いかご指摘お願いします。
少しでも良いので何か仰っていただければ、後はそれもとに気合で調べます。
0652デフォルトの名無しさん
2006/04/20(木) 22:29:09っていう例外が投げられてくるはずだけど
0653デフォルトの名無しさん
2006/04/20(木) 22:33:11でも型の宣言とか初期化が上手くないのかな?とか思っちゃって。お手数おかけしました。
できないとわかってさっぱりしました!ありがとうございます。
とりあえずリスト2つとインデクサをつかってにせ辞書は保存できましたので、
そのまま以降と思います。
ご指摘ありがとうございました。 さっぱりした。感謝です。
0654デフォルトの名無しさん
2006/04/23(日) 20:47:44参照するExcelファイル(test.xls)にはA1〜C10の各セルに適当な数値が入っています。
Excel.Application XL;
Excel._Workbook WB;
Excel._Worksheet Sheet;
Excel.Range range;
XL = new Excel.Application();
WB = XL.Workbooks.Open(@"E:\cygwin\tmp\Visual Studio Projects\ocha\bin\Debug\test.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
Excel.Sheets sheets = WB.Sheets;
Object after = sheets[sheets.Count];
Object before = System.Reflection.Missing.Value;
Excel.Worksheet sheet = (Excel.Worksheet) sheets.get_Item(1);
range = sheet.get_Range("A1", "C10");
Object[,] saRet;
saRet = (System.Object[,])range.get_Value(Missing.Value);
double x = (double) saRet[0,0];
一番最後の行で例外が発生します。(配列の境界外へのアクセス)
デバッガで見てみると、saRet[,]は確保されており、各要素にはきちんとdoubleが納められています
(saRetは、10行3列の配列になっていることが確認できます)
なぜ例外が投げられるのか分かりません。
ご指摘おねがいします。
0655デフォルトの名無しさん
2006/04/23(日) 20:56:520656デフォルトの名無しさん
2006/04/23(日) 21:13:41それでした。
行も列も1から始まってました。(なんで?)
ありがとうございました。
0657デフォルトの名無しさん
2006/04/26(水) 01:17:28C#で実装するのは不可能でしょうか?
配列の中でいちいち { new Pair<string, int>("Taro", 32), new Pair<string, int>("Kazuo", 14), ... }
と書いていくのが面倒なので。
ついでにSTLでいう set, multiset, multimap のようなコンテナってありますか?
0658デフォルトの名無しさん
2006/04/26(水) 08:56:22using Pair Pair<string, int>; とかしとけば?
あと、C# 3.0 を待つなら、new { new { "Taro", 32 }, new { "Kazuo", 14 } } でも OK になる。
set とかは、確か、ない。
0659デフォルトの名無しさん
2006/04/26(水) 09:12:46型推論できるのならそう言うメソッド書けば推論してくれるよ。
// のような ばっかりだね。
0660デフォルトの名無しさん
2006/04/26(水) 14:24:49下記の用法で使われる"[]"はなんでしょう?
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]←--------------(・ω・)
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
0661デフォルトの名無しさん
2006/04/26(水) 14:29:380662デフォルトの名無しさん
2006/04/26(水) 15:05:22=[STAThreadAttribute]
0663デフォルトの名無しさん
2006/04/26(水) 17:01:26ありがとう(・ω・)
0664デフォルトの名無しさん
2006/04/26(水) 18:38:40レスどうもです。
>>658
using にそのような使い方があるとは知りませんでした。
でもソースファイルレベルで宣言しなくてはならないのがちょっと不便ですね。
>>659
普通にC++のように宣言すればできたんですね。
書き込む前に試してみるべきでした。
どうもありがとうございました。
0665デフォルトの名無しさん
2006/04/26(水) 19:47:33文法的なもの以外で
というかDelphiから入るのは間違ってますか
0666デフォルトの名無しさん
2006/04/26(水) 19:49:470667デフォルトの名無しさん
2006/04/26(水) 21:04:46DataGridViewの編集中のRow/Col、あるいはCellを取得するにはどうしたらよいでしょうか。
DataGridViewのメンバにはそれらしいものがないように見えます。
0668デフォルトの名無しさん
2006/04/26(水) 21:08:21どのタイミングで取得するのさ?
0669デフォルトの名無しさん
2006/04/26(水) 21:21:43編集中のセルがCurrentCellと等しいというのはどんなときでも保障されているのでしょうか?
0670デフォルトの名無しさん
2006/04/26(水) 21:39:200671デフォルトの名無しさん
2006/04/26(水) 21:59:24間違ってないと思う。
言語設計者が同じだし、ある意味Delphiの後継としても使えるし。
0673デフォルトの名無しさん
2006/04/27(木) 19:50:45比較演算の値は¥でエスケープすると思うのですが、
..RowFilter = "ColumnName Like ’ * ¥’ * ’ ” // ※見難いので大文字空白入り
としたい場合、どのように入力すればよいのでしょう?
(シングルクォーテーションをエスケープするには)
"ColumnName Like ’ * \ ' * ' ";
でもダメですし、
"ColumnName Like ' * \ \ ' * ' ";
でもダメでした。
0674デフォルトの名無しさん
2006/04/27(木) 20:15:04> // ※見難いので大文字空白入り
よけい見づらい
シングルクォーテーションもう一つでエスケープ
0675デフォルトの名無しさん
2006/04/27(木) 20:26:04ありがとうございます。出来ました!
[[] ' []] とか試したり、結構検索してみたんですが甘かったです。
助かりました。ありがとうございました
>>よけい見づらい
失礼しました。|||orz
0676デフォルトの名無しさん
2006/04/27(木) 21:01:13ちょっと試してみました
比較する値に関しては、
' " \ * % [ ] がエスケープする必要あり
' \ は自身で、"は\で、任意文字記号と中括弧は中括弧でくくるみたいですね。
1つ解ったおかげでいろいろ知る事が出来ました。改めてありがとう
0677デフォルトの名無しさん
2006/04/27(木) 21:53:59とかでもいいんじゃないかと思った。思っただけ。
0678667
2006/04/27(木) 22:28:18セルのドロップダウンリストの内容を動的に変更したいと思っています。
そこで、EditingControlShowing イベントで e.Control as DataGridViewComboBoxEditingControl に対して
ctrl.Items.Clear();
ctrl.Items.AddRange(new string[] { ... } );
のように項目を追加しました。
すると、リストから選択すると「DataGridViewComboBoxCell の値が有効ではありません」とのメッセージが出るようになってしまいました。
ドロップダウンリストの内容を動的に変更するにはどうしたらよいのでしょうか?
0679デフォルトの名無しさん
2006/04/27(木) 22:35:41DataTable とかにバインドしてたのならそっちを書き換えれば良いわけだけど。
DataGridViewComboBoxColumn をまともにいじろうと思うと結構大変だよん。
0680667
2006/04/27(木) 22:48:35ListView の拡張版くらいの感じで使おうと思っているので
データは内部にもたせようと思っています。
0681デフォルトの名無しさん
2006/04/27(木) 23:28:56かなり面倒だよ。
取りあえず思いついたのは、
・DataTable 作成。long の ID 列と string の NAME 列を持つ。
・DataGridViewComboBoxColumn に上記の DataTable を設定。ValueMember と DisplayMember は NAME に。
・EditingControlShowing で、該当の列だった場合
・DateTime.Now.Ticks を取得。これを ID とする。
・上記の DataTable に、上記の ID と、必要な NAME を持った行を必要なだけ追加する。
・その DataTable を元に DataView を作成し、RowFilter で ID 列を先ほど取得した ID のみにフィルタする。
・e.Control を ComboBox にキャストして、DataSource をこの DataView に。
ValueMember と DisplayMember を NAME にする。
これだけだと選択するたびに DataTable が増え放題だからなんらかの対応が必要だけど。
ID を DateTime.Now.Ticks の代わりになんか適当な識別子使うのが良いかな。
0682デフォルトの名無しさん
2006/04/28(金) 02:08:13VBScriptで書いたものですが、
これをC#で実現するコードとか教えてもらえませんか?
Sub B2_onclick
dim result
Set o = CreateObject("KNDDDEML.DDEClient")
If Not (o Is Nothing) then
o.Initialize
If Err.Number = 0 Then
document.f01.T1.value = "Initialized"
Call o.Connect("RSS", "7203.T")
If Err.Number = 0 Then
document.f01.T1.value = "Connected"
result = o.Request( "銘柄名称", 1000)
If Err.Number = 0 Then
document.f01.T1.value = result
else
MsgBox "Connection failed. Error=" & Err.Number
End if
Else
MsgBox "Connection failed. Error=" & Err.Number
End if
End if
End if
End Sub
0683デフォルトの名無しさん
2006/04/28(金) 02:34:440684667
2006/04/28(金) 05:35:00よくわかってなくてすみません。
なかなか大変そうですね・・・。
勉強しながら少しずつ実装していきたいと思います。
どうもありがとうございました。
0685デフォルトの名無しさん
2006/04/28(金) 13:33:18どのようにすればよいのでしょうか?
0686デフォルトの名無しさん
2006/04/28(金) 13:38:36ttp://azumaya.s53.xrea.com/index.php?page=doc/dotnet/originalclassname
0687685
2006/04/28(金) 13:59:02ありがとうございます。
ウィンドウクラス名を固定にすることはできないのでしょうか?
"WindowsForms10.{クラス名}.appX"
appXのXが起動毎に変わらないようにしたいのです。
0688デフォルトの名無しさん
2006/04/28(金) 15:06:270689682
2006/04/28(金) 16:54:26どうも。
ExcelをCOM登録して起動するMSのサンプルを参考に、
登録したCOMをnewして変数に入れてみると
Initialize、Connect、Requestが出てきました。
どんなクラス?メソッド?があるか分からなくてもなんとかなりそうです。
確かVS6からだったと思いますが、ほんとすごい開発環境ですね。
0690682
2006/04/29(土) 06:34:01これでセルのデータを取得するだけで半日調べまくった。
掲示板では丸カッコ使ってるのが多くって。
こことか。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28164&forum=7&11
>そんなわけで、Me.DataGridView1([行], [列]).Style.ForeColor = Color.Red
>などとすれば、他の行や列の Style も変更可能です。
0691デフォルトの名無しさん
2006/04/29(土) 08:02:280693デフォルトの名無しさん
2006/04/29(土) 10:42:49わろた
0694デフォルトの名無しさん
2006/04/30(日) 11:44:41デリゲートのパラメータではoutと[Out]は同一にみなされないのが気になるんだけど
0695デフォルトの名無しさん
2006/04/30(日) 12:19:47out は呼び出し先で値が代入されることを表す、参照渡しを意味するキーワード。
OutAttribute は呼び出し先で値の中身が書き換えられることを表す、参照が渡ったときにしか意味がないキーワード。
OutAttribute の MSDN の解説は間違い紙一重だね。
0696デフォルトの名無しさん
2006/04/30(日) 13:04:250697デフォルトの名無しさん
2006/04/30(日) 15:10:23ある例外があった際、try catch で処理するのと自前で処理するのは
理想、思想、効率的などにはどちらが良いのでしょうか?
例えば、string数値をintに変換したい場合など、
try { intNum = Int32.Parse( strNum ); }
catch( System.FormatException ) { // 無視 }
と、try catch するかそれとも自前で
foreach( cahr c in strNum ) {
if( Char.IsNumber( c ) )
blnIsNum = false;
} if( blnIsNum ) { intNum = Int32.Parse( strNum ) };
// 実際にはローマ数字とか問題ありますが。
一長一短だとは思うのですが、基本的にはみたいな考え方と聞いてみたいんです。
0698デフォルトの名無しさん
2006/04/30(日) 15:12:14今はなるべくtry catchは控えています。なんだか対処療法みたいな感じでなので。
なるべく根本敵に排他したりしています。
0699デフォルトの名無しさん
2006/04/30(日) 15:19:50Parse ならともかく、そうでないなら事前に値チェックするのが基本、と言うのが
どっかの掲示板の決着点だったと思う。
でもたとえばファイルのオープンとかは事前に存在チェックした上で try-catch しなきゃなんないし。
0700デフォルトの名無しさん
2006/04/30(日) 15:30:18Parse と TryParse の速度比較をするためのプログラムが
WinFX のサンプルにあったとおも
0701デフォルトの名無しさん
2006/04/30(日) 15:45:19はっきりした例外はともかく、基本的にはチェック、
それでも必要なときはやっぱりある。
ケースバイケースというか。。。
ともかくすごく参考になりました。ありがとうございます。
>>700
情報ありがとうございます。ちょっと検索してみます。
事前にチェックするか、例外が少ないなら後にするか、
条件によって全然異なりますよね。
経験によるものも多いと思います。とにかく書いていろいろ
勉強していきたいと思います。
どちら様もありがとうございました。大変参考になり勉強になりました。
0702デフォルトの名無しさん
2006/04/30(日) 16:22:46使えないなら知らんが…
0703デフォルトの名無しさん
2006/04/30(日) 16:35:15tryは呼び出し側に設置、呼び出され側はthrowを返すのが基本
ユーザーから数字を受ける場合はregexを判定すればいい
0704デフォルトの名無しさん
2006/04/30(日) 17:02:470705デフォルトの名無しさん
2006/04/30(日) 17:08:20ご進言ありがとうございます
>>702
Parseがどうとかではなくて、例外に対して基本的に try catchすべきか
どうかという事でした。例が悪くてすみませんでした。
>>703
具体的な対処法お知らせ頂いてありがとうございます。
これまで正規表現などは余り利用していなかったので
これからちょくちょく使っていこうと思います。
0706デフォルトの名無しさん
2006/04/30(日) 18:57:01SQL Serverの(Transact-SQL)とかOracleならできるらしいと分かりましたが、
C#で盛り込まれたというLINQではできないでしょうか?
SQLにはこだわらないので、類似のことをするコードがあれば紹介してください。
0707デフォルトの名無しさん
2006/04/30(日) 19:53:32DataView つかってソートして、
DataTable を元の DataTable から Clone でスキーマとってきて、
ソート済み DataView から先頭 5 つの行を ImportRow 。
とかどう?
0708706
2006/04/30(日) 20:31:482005版はまだC#3になってなかったんですか。
件数が少ないかDataGridViewが速ければ簡単で良い方法なんですが。
DataGridViewが遅いから、DataSetからなん通りかのランキングだけを
画面に出そうと思ったんで、その方法はいただけないですね。
ソートは単独でなん通りかでやるんで、ソート済み配列も無駄だし。
データは常に更新するんで、データを更新するときにランキングのリストに反映するのがよさそうです。
ランキングは過去のデータからの変動率が関係するから、ランク外のデータも持っておく必要はあるんですが。
0709デフォルトの名無しさん
2006/04/30(日) 20:36:090710706
2006/04/30(日) 20:38:12試しに二つめのDataGridViewを作って同じDataSetを指定してみたらできました。
ありがとうございました。
自分でソートとかの処理なしに、一つのDataSetに持っておくだけでそれぞれにランキングを表示できました。
BindingSourceが同じだと操作もリンクしてしまいましたが、
BindingSourceを別にしておけば単独で動作しました。
>>709
それぞれあるんですか?よく分からなくて。
0711デフォルトの名無しさん
2006/05/01(月) 10:03:30と
ふぁいるばーじょん
の
違いって何でしょうか?
0712デフォルトの名無しさん
2006/05/01(月) 18:03:10最後にウインドウを閉じない方法はないでしょうか。
最後に、ブレークポイント設定する方法もありますが面倒です・・・。
0713デフォルトの名無しさん
2006/05/01(月) 18:04:28でも仕込んどけ
0714デフォルトの名無しさん
2006/05/01(月) 22:52:50ロック対象のオブジェクトに属する下位のオブジェクトも含まれるのでしょうか?
具体的にはDataTableをロックした場合、DataTableが持つDataRowのValueオブジェクト
もロックされるのでしょうか。
MSDNでlockステートメントを読んでみたんですが、ちょっと確信が持てなくて。
誘導先などでもお知らせ頂ければ幸いです。
0715デフォルトの名無しさん
2006/05/01(月) 23:24:54public class B {
public C C = new C();
}
public class C {
public long count;
}
public class A {
public B B = new B();
const int count = 10000000; // 負荷が軽いならもっと増やす
static A a = new A();
static void Hoge() {
for (int i = 0; i < count; i++) {
lock(a) { a.B.C.count++; }
//a.B.C.count++;
}
}
[STAThread] unsafe public static void Main() {
Thread t = new Thread(new ThreadStart(Hoge));
t.Start();
Hoge();
t.Join();
Debug.WriteLine(a.B.C.count);
}
}
0716デフォルトの名無しさん
2006/05/02(火) 00:06:490717デフォルトの名無しさん
2006/05/02(火) 00:08:510718デフォルトの名無しさん
2006/05/02(火) 00:11:150719デフォルトの名無しさん
2006/05/02(火) 00:16:41テストしました!自分でも>>715さんを参考にしてテストしてみたところ、
ロックした場合書き込む際、きちんと待ってから書き込んだようです。
ありがとうございました。
>>716
恥ずかしながら理解していません。
オブジェクトの状態を保持するという事でしたので、
もしかしたらDataTableをロックした場合、Rowの参照アドレスの値を保障していて
参照先のオブジェクトが保持する値までは保障されないのかなとか思ったんです。
実際にはきちんとロックしてくれたようです。
愚問だったと思いますが、付き合って頂きありがとうございました。
0720デフォルトの名無しさん
2006/05/02(火) 00:19:34え・・・ あれ? あ、書き込んだからロックされてないのか
どうもかなりお馬鹿さんでした・・・
みなさん感謝です。
もう一度しっかり理解する為にもテストをしっかり作って確かめて
理解してみたいと思います。
0721デフォルトの名無しさん
2006/05/02(火) 00:29:32全てのスレッドのうち、特定のオブジェクトのロックを獲得できるのは
ひとつのスレッドだけ。これが基本、かつこれがすべて。
>>715のテストでは、ロックしてる対象のオブジェクトは唯一のa。
aのロックを同時に獲得できるのは1スレッドだけだから、
当然排他処理になる。
でも、これはaオブジェクトの内部のオブジェクトを
ロックしていることにはならない(ていうかしていない)。
0722デフォルトの名無しさん
2006/05/02(火) 00:40:05それがまずいわけじゃない。
論理的な排他範囲を明確にして、その中での代表オブジェクトを
ロックするようにすれば十分。
>>715だとaにあたる。
だから>>715はテストにはなってないけど
使い方としては特別おかしいわけではない。
0723デフォルトの名無しさん
2006/05/02(火) 00:48:01ご教授ほんとうにありがとうございました。
>>715さんのテストでは、aを排他しているだけで、結果的にロックされている様に
見えるが、実際には内部オブジェクトはロックされていないのですね。
本当に勉強になりました。
>>715-722さん本当にありがとうございました。
0724デフォルトの名無しさん
2006/05/02(火) 00:48:41オブジェクトじゃなくてコードをロックしているんですね。
0725デフォルトの名無しさん
2006/05/02(火) 00:52:39いや言葉的にはオブジェクトをロックするの方が普通の言い方だと思うが、
ただ、実動作的にはコード(というかスレッド)をロックするという
感覚のほうが近いかもしれん。
ただし、このコードというのが、上記プログラム上のaという意味で
書いてるならそれはちがうぞ。
それならまだオブジェクトをロックのほうがいい。
0726デフォルトの名無しさん
2006/05/02(火) 01:04:09感覚としては lock( obj ) と示されるように、オブジェクトのロックと感じていいのですね。
まだまだ勉強不足で抽象的な知識と具体的な知識が大幅にかけています。
もっと勉強して頑張って行きたいと思います。
最後まで面倒見て頂いて本当に申し訳ありません。
でもすごくためになりました。本当にありがとうございました。
0727デフォルトの名無しさん
2006/05/02(火) 03:01:32オブジェクトのロックを取得する、ロックを獲得する、ロックを要求する
って表現が、感覚的に実態をよくあらわしていて分かりやすい。
というか誤解されにくい表現だと思う。
0728デフォルトの名無しさん
2006/05/02(火) 17:44:30とやってもd=0.0になってしまいますが、この式何か問題ありますか?
0729デフォルトの名無しさん
2006/05/02(火) 17:45:330730デフォルトの名無しさん
2006/05/02(火) 17:46:12整数 / 整数 は 整数 になるんじゃね?
だから、
double d = 1.0 / 2;
か
double d = 1 / 2.0;
でいいんじゃね?
0731デフォルトの名無しさん
2006/05/02(火) 17:51:03でもいいのかな
0732デフォルトの名無しさん
2006/05/02(火) 18:02:25皆さんの言うとおりでした。
0733デフォルトの名無しさん
2006/05/02(火) 18:25:33これに必要な準備というのは、どんなことをすればよいのでしょうか?
CustomItemを定義し、ICollection<CustomItem>, IList<CustomItem>を実装したCustomCollectionを
CustomControlに持たし、Itemsプロパティを定義したのですか、これでは不足か間違っているようです。
どうかご教授お願いします。
0734デフォルトの名無しさん
2006/05/02(火) 19:58:350735デフォルトの名無しさん
2006/05/02(火) 20:26:20そのプロパティに System.ComponentModel.EditorAttribute 属性を付加する。
EditorAttribute 属性の引数には typeof(System.ComponentModel.Design.CollectionEditor) と typeof(System.Drawing.Design.UITypeEditor) を与える。
コレクションの要素が特殊なら、CollectionEditor の代わりにその派生クラスを独自に作成する必要があるかも知れない。
0736デフォルトの名無しさん
2006/05/02(火) 21:08:57CollectionBaseの継承
0737デフォルトの名無しさん
2006/05/02(火) 23:32:09お二方、回答どうもありがとうございます。
CollectionEditorの派生クラスを作らないといけないようで、
難しそうですが、なんとかなりそうです。
0738デフォルトの名無しさん
2006/05/03(水) 00:22:36ComponentModelもない・・・
0739デフォルトの名無しさん
2006/05/03(水) 00:26:110740738
2006/05/03(水) 00:29:310741デフォルトの名無しさん
2006/05/03(水) 00:35:010742733,737
2006/05/03(水) 00:43:24System.Designを参照するといいよ。
0743738
2006/05/03(水) 01:05:33using System.
って入力してもDesignって文字が出てこにゃい><
ヘルプにもない死・・・・
もう、だめにゃん><無料ではダメみたいにゃん><
0744デフォルトの名無しさん
2006/05/03(水) 01:08:540745デフォルトの名無しさん
2006/05/03(水) 01:10:13VC#2005 Exp. だけだと確か不完全だったはず
0746738
2006/05/03(水) 01:12:27System.ComponentModel.Designってのがあったけど
やっぱり、このネームスペースのメンバ情報とか全然にゃい
>>745
それで試してみるにゃん。情報ありがとにゃん。
0747738
2006/05/03(水) 01:18:05みんなのはちゃんとヘルプで見れるの?
うう・・・マイクロソフトのばかぁ・・・
0748デフォルトの名無しさん
2006/05/03(水) 01:19:380749733,737
2006/05/03(水) 01:35:06自分も2005Expressなんだが、
System.Designの参照追加、System.ComponentModel.Design.CollectionEditorで本当にできないのか?
ttp://msdn2.microsoft.com/ja-jp/library/system.componentmodel.design.collectioneditor(VS.80).aspx
0750738
2006/05/03(水) 01:40:07ヘルプがないとダメなの!
ネットのヘルプだと遅いにゃん
ローカルヘルプになんでComponentModelがないの?
マイクロソフトのばか!
0751デフォルトの名無しさん
2006/05/03(水) 12:22:110752デフォルトの名無しさん
2006/05/03(水) 12:30:440753デフォルトの名無しさん
2006/05/03(水) 13:13:162ページに1回出て激しくウザい。
しかたなくOperaでWebのMSDNを見る始末。下の階層にいくと左のフレームだけで1MB越え。IDEより重い。
0754デフォルトの名無しさん
2006/05/03(水) 13:15:190755デフォルトの名無しさん
2006/05/03(水) 14:36:54ビルゲイツのアホ
0756デフォルトの名無しさん
2006/05/03(水) 15:42:500757デフォルトの名無しさん
2006/05/03(水) 16:32:41(´・ω・)人(・ω・` )
0758デフォルトの名無しさん
2006/05/03(水) 19:09:11A) 面倒ですがインストーラで修復、再インストールしてください。
インストーラの情報が壊れているのが原因です。
今後はレジストリ操作系のソフト(Officeの情報まで壊してしまうソフトあり)
はなるべく使わない。あるいは慎重に手動で操作する。
また、これとは別にファイルも手動でいじったりしないように。
0759デフォルトの名無しさん
2006/05/03(水) 19:40:24使い終わったら Dispose しないとまずいんでしょうか。
ふと気づいたらそういったものをまったく Dispose していなかったもので・・・
0760デフォルトの名無しさん
2006/05/03(水) 19:59:27できる奴はしたほうがいいけど、できないものはDisposeのメソッドがないはず
まあ、しなくても勝手にしてくれたりするし気にしなくてもいい
0761デフォルトの名無しさん
2006/05/03(水) 20:02:03で Paint イベントは頻繁に呼ばれるのに入るだろうなぁ
0762デフォルトの名無しさん
2006/05/03(水) 20:32:39Brushes.XXX 系のと new SolidBrush(...) 系のものが入り混じってるのでかなり億劫です・・・
必ずしも必須というわけではないんですね。
気が向いたら修正することにします。
0763デフォルトの名無しさん
2006/05/03(水) 20:53:000764デフォルトの名無しさん
2006/05/03(水) 21:00:150765デフォルトの名無しさん
2006/05/03(水) 21:08:210766デフォルトの名無しさん
2006/05/03(水) 21:36:23日本語でしゃべれよ
0767706
2006/05/03(水) 21:39:340768デフォルトの名無しさん
2006/05/04(木) 01:23:52南宋の武人の家に生まれる
幼い頃より兵法を学び、天賦の才から来る洗練された用兵を行ったことで有名
宋守の用兵は人馬のみならず大自然のあらゆる要素を複雑に計算し尽くしたものであり、その緻密な戦術は地球シミュレータですら打ち破れない
この宋守の功績は遥かユダヤにも及び、その末裔が携わったコンピュータシステムであらゆる要素を表す言葉として「リソース」が使われるようになった
民名書房刊「魂の秘より得るもの多し」より
0769デフォルトの名無しさん
2006/05/04(木) 04:12:37マルチスレッドはできたんですが、1スレッドに1MBも使っちゃってて、
できればそれを300個作りたいんでもうちょっと省メモリでいけないかと思うんですが。
0770デフォルトの名無しさん
2006/05/04(木) 04:27:40状況がさっぱり分からんから答えようもないな
0771769
2006/05/04(木) 08:49:09マルチスレッドでメモリ食い過ぎなんで・・・
でも、Threadの引数でスタックを指定できてましにはなりました。
ところで、DataGridViewにリンクしたDataSetのデータアクセスが遅いので、
更新をコピーしたDataSetに対してやってて、たまに戻してやりたいんですが、
セル一個ずつしかコピーできなくて、しかもめちゃめちゃ遅いんですが、どうにかなりませんか?
.Copy()を入れようとしても、互換性がないとか言われるし。
0772デフォルトの名無しさん
2006/05/04(木) 10:05:4318めっけ
0773769
2006/05/04(木) 10:43:08ただ、ユーザーが変更したデータをすぐにコピーにも反映させておかないと、
データは眺めるだけになっちゃいますね。
testDataSet.RSSTABLE.Clear();
testDataSet.RSSTABLE.Rows.Add(dsCollect.RSSTABLE.Rows[i].ItemArray);
0774769
2006/05/04(木) 13:22:44testDataSet.RSSTABLE.Rows[i].ItemArray = dsCollect.RSSTABLE.Rows[i].ItemArray;
レコード単位とかまとめてコピーしようとして気付いたのが、
DBから持ってきたDataSetは、上記で言えばtestDataSet型になってて
型互換がなかったことですね。驚きました。
testDataSet型にしたらテーブル名もtestDataSet.Tables[0].Rowsから
testDataSet.QTABLE.Rowsて感じでテーブル名が使えてなるほどだった。
最初めちゃめちゃお手軽だったけど、やっぱいろいろ不満で手を加えていくと、
やっぱりDB読み込みからデータ操作、画面はそれぞれしっかり設計して
コーディングしないとだめだと思いました。
でも、最初にほとんどコーディングしなくても動いたからその後も続けられたんですよね。
0775769
2006/05/04(木) 13:44:05やっぱFormクラスみたいなpublic partial classを作ればいいんですかね?
0776デフォルトの名無しさん
2006/05/04(木) 13:45:23もう一度VSを入れ直しましたが、やはりインストーラが起動してしまいますorz
0777デフォルトの名無しさん
2006/05/04(木) 14:06:18昔、C:\Documents and Settings\ユーザー\Local Settings\Temp の下を
綺麗に掃除したら直ったこともあった。
0778769
2006/05/04(木) 14:13:45http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.nativewindow.aspx
これ使ったらC#のみで直接DDE通信できたりできますか?
0779デフォルトの名無しさん
2006/05/04(木) 14:23:18>型互換がなかったことですね。驚きました。
どんなDBから生成してるか知らんけど、普通はDataSetを継承した型だと思うが、
DataSetにキャストすればいいだけのような気がする。
あとそのDBから持ってきたDataSetは、DBの制約なんかもそのまま持ってきてると思うので、Addなんかが遅くなる。
0780デフォルトの名無しさん
2006/05/04(木) 16:06:29基本的にデータはstruc型に格納して、それに対して操作(検索、削除、追加)する
ListViewやDataGridはあくまで表示させるためだと言う風に割り切ると処理が速い
removeやAddを直接Datasetで扱うと非常に処理が遅い
加工したデータはAddRangeでdatasetに追加
ユーザーが項目を削除したのを反映する場合も一旦すべてのアイテムをClearしてからAddRangeで追加したほうが速い
0781769
2006/05/04(木) 16:13:48structですか。検討してみます。
DataSetなら集計とか便利な機能がついてるかなとか、
DBとリンクするからDB更新とかも簡単かなとか思ったんですが・・・・
WindowMessageのセットの仕方は分かりました。
あとはどうやってDDE鯖に送るか・・・
C# クリップボードへコピーpublic static Message Create (
IntPtr hWnd,
int msg,
IntPtr wparam,
IntPtr lparam
)
0782デフォルトの名無しさん
2006/05/04(木) 16:16:55便利だけど、今のPCの現状じゃ処理重いんだよな
0783デフォルトの名無しさん
2006/05/04(木) 16:56:04いまさらDDEより、IPCチャネルのリモーティングじゃダメなん?
0784769
2006/05/04(木) 22:50:47あの重さはまるで10年前のパソコンのようですよね。
実際動かすまで、ちょっと想像できませんでした。
PInvoke を使用してマネージ コードからネイティブ DLL を呼び出す
User32.dll をインポートしてSendMessageを使うのか・・・
>>783
相手がDDEなんで。NetDDEでもないDDEなんで。
0785デフォルトの名無しさん
2006/05/05(金) 00:30:51このスレでも出てたはずだが
0786769
2006/05/05(金) 00:45:32ラクテンショウケン(←nazeかカナにしか変換されない)のRSSでそれを使うと、
違う銘柄のデータを受け取ろうとすると初期化しちゃって
1件に0.1秒くらいかかってしまうんです。
その時間をなくすために1スレッド1件の接続にすると120件で40MB消費します。
しかも、そのCOMコンポーネントの制約で127件までしか使えず、
RSSの制限の300と比較して少なすぎます。
結局RSSと効率よく通信するには専用の部品を作るか自分でDDE通信するしかありません。
0787769
2006/05/05(金) 00:54:180788デフォルトの名無しさん
2006/05/05(金) 01:12:16どうしたら良いのでしょうか。
やりたいイメージはOutlookExpressでツリーのところ右クリックして
フォルダの作成を選んだときになんか出てきて場所を選べるやつです。
0789デフォルトの名無しさん
2006/05/05(金) 01:16:53然るべきイベントで然るべき処理を書けばいいよ。
0790デフォルトの名無しさん
2006/05/05(金) 01:41:50ネット上のサンプルとかが上手くコンパイルされません。
Form1とかButton2とかは使用できないんですか?
0791デフォルトの名無しさん
2006/05/05(金) 01:44:09.NET Framework のバージョンが違うとそのままコンパイルできないよ
0792デフォルトの名無しさん
2006/05/05(金) 01:48:52サンプルというのがどんなのか分からんし。
どうやってコンパイルしているのかも分からんし。
0793デフォルトの名無しさん
2006/05/05(金) 01:53:12推測だけど、Nunit使ったテスト駆動とかかな?
0794デフォルトの名無しさん
2006/05/05(金) 01:55:250795790
2006/05/05(金) 02:53:03Form Form1 = new Form();
ってやったらあっさり解決してしまいました。
俺が見たサンプルの真意はわかりませんがとりあえず何とかなりました。
0796デフォルトの名無しさん
2006/05/05(金) 02:56:560797788
2006/05/05(金) 03:20:440798デフォルトの名無しさん
2006/05/05(金) 03:22:34特に*具体的に何が*分からんのかを
0799sage
2006/05/05(金) 03:42:380800sage
2006/05/05(金) 04:11:16{
ここに何を入れるか分かりません。
}
0801788
2006/05/05(金) 04:13:492回も間違えてすみません。
0802デフォルトの名無しさん
2006/05/05(金) 04:29:37ありがとうございました。
0803デフォルトの名無しさん
2006/05/05(金) 04:57:01・何をしたいのか
・〜〜みたいな、は使わない
例:ContextMenuStrip で右クリックメニューを出すとき、イメージ表示領域を消したい。
・何をしたのか
・コードをずらずら書かない。書くなら必要最小限
例:ContextMenuStrip の ShowImageMargin を false にしたら一階層目は消えた。
・何が駄目なのか
・エラーメッセージがあるなら書く
例:しかし二階層目以降が消えない。解決方法はないか。
サンプルは最近本スレであがった質問だが。
0804デフォルトの名無しさん
2006/05/05(金) 16:26:40説明できねえええええええええええええええ
・したいこと
別のフォーム間でコントロールを参照したい?
言い方が分かりません
・Form1とForm2があります
Form1にTreeView,contextmenuを配置
Form2(フォルダの作成ダイアログ)にTextBoxとtreeViewを配置
Form1のTreeViewを右クリック→contextmenuからフォルダの作成を選択→
Form2が出ます。
そこで出たForm2のTreeViewにForm1のTrEeViewの中身を表示したいです。
分かりにくかったらすみません。おねがいします。
0805デフォルトの名無しさん
2006/05/05(金) 16:39:12たとえば Form1.TreeView1 の選択されているノード以下のツリー構造を Form2.TreeView2 で表示したいとか。
0806769
2006/05/05(金) 18:49:592つのTreeViewに同じ内容で表示したいわけ?
0807デフォルトの名無しさん
2006/05/05(金) 21:00:02何らかの型でForm2のコンストラクタ引数として渡す
つーか両方にTreeViewって設計間違ってない?
0808804
2006/05/05(金) 22:47:56中身は全てのノードです。
選択されているかいないか関係なく全部です。
>>806
2つのTreeViewに同じ内容で表示したいです。
>>807
>つーか両方にTreeViewって設計間違ってない?
そうなんですか?!普通はどのように設計するのでしょうか?
表示したいのはアプリケーション内で作ったフォルダなので、
FolderBrowserDialogは使えないと思ったので、こういう風に
したのですが…
みなさんありがとうございます。
0809デフォルトの名無しさん
2006/05/05(金) 23:03:29取りあえずそれを実現するだけなら >>807 の言う通り、
各トップレベルノードをそれぞれ Clone した配列を、
Form2 のコンストラクタとか自作の Show のオーバーロードとかに渡してやればいいんだが。
0810804
2006/05/06(土) 00:20:26>>809さんの言うように、わざわざダイアログ出さなくていい気がしてきたので
この使用はやめようと思います。
OEを参考にしてソフトを作っていたので、なんかこだわりすぎました。
右クリックでダイアログを出さず、直接その場所にフォルダを作ることにします。
アドバイスしてもらったのにすみません
0811デフォルトの名無しさん
2006/05/06(土) 12:37:45ここのProjectの名前を入力するところで
名前を入力できません
マウスのポインタの形は変わるのですが
クリックしても文字を入力する事ができません
0812デフォルトの名無しさん
2006/05/06(土) 12:48:500813769
2006/05/06(土) 13:41:40心の目で見ることも大切ですよ。パソコンは。
0814デフォルトの名無しさん
2006/05/06(土) 18:40:230815デフォルトの名無しさん
2006/05/06(土) 18:52:18http://msdn2.microsoft.com/ja-jp/library/cxx6f46y.aspx
0816デフォルトの名無しさん
2006/05/06(土) 19:09:400817デフォルトの名無しさん
2006/05/06(土) 19:12:240818デフォルトの名無しさん
2006/05/06(土) 19:13:490819デフォルトの名無しさん
2006/05/06(土) 19:14:390820デフォルトの名無しさん
2006/05/06(土) 19:32:450821デフォルトの名無しさん
2006/05/06(土) 23:24:51参照
とは微妙に違うが
0822デフォルトの名無しさん
2006/05/06(土) 23:26:510823デフォルトの名無しさん
2006/05/10(水) 01:06:25連休中働いて代休消化中なのか
代休なんてもらえずに働きづめで書き込む気力もないのか知らんが
明日も何もないよい一日でありますように。
0824デフォルトの名無しさん
2006/05/10(水) 02:29:470825デフォルトの名無しさん
2006/05/10(水) 11:18:340826デフォルトの名無しさん
2006/05/10(水) 11:29:300827デフォルトの名無しさん
2006/05/10(水) 11:43:05重なった下のウィンドウやデスクトップを操作できるようにしたいのですが、
どうしたらいいでしょうか?
0828デフォルトの名無しさん
2006/05/10(水) 16:16:520829デフォルトの名無しさん
2006/05/10(水) 18:15:35ex)ゴミ箱等の特殊なフォルダの表示、ファイルの実行など
またひどく初歩的な質問なのですが、javaから移行してきたせいか例外のthrowsがないことがとても不安に感じます。
上級者の方々はどのように例外を処理してますか?
0830デフォルトの名無しさん
2006/05/10(水) 18:23:47ある程度はあるが、ある程度以上はないな。
//「C++ のシェル」が意味分からんが。
> またひどく初歩的な質問なのですが、javaから移行してきたせいか例外のthrowsがないことがとても不安に感じます。
> 上級者の方々はどのように例外を処理してますか?
どうせ処理しきれない例外なら Application.ThreadException で纏めて処理。
0831デフォルトの名無しさん
2006/05/10(水) 18:25:020832デフォルトの名無しさん
2006/05/10(水) 18:27:45・特殊なフォルダはP/Invoke
・ファイルの実行は Process.Start()
0833デフォルトの名無しさん
2006/05/10(水) 18:30:54そう言う風に作る。
0834829
2006/05/10(水) 18:43:51最近までC++を使うつもりだったので思わず付けてしまいました。
> どうせ処理しきれない例外なら Application.ThreadException で纏めて処理。
そうですか、例外の処理はJavaよりもC/C++に近い感じですね。
>>832
細かい処理はシェルを使わないとだめですか。
0835デフォルトの名無しさん
2006/05/10(水) 18:54:17その最初の一歩が分からないのです……
ウィザード形式でないふつうのアプリならwindowsフォームの追加で
作れるんですが
0836デフォルトの名無しさん
2006/05/10(水) 19:10:46ウィンドウの遷移なら ApplicationContext でも使うとか
0837デフォルトの名無しさん
2006/05/10(水) 19:54:19単純に固定位置でボタン押してフォーム切り替えていくだけでないの?
0838デフォルトの名無しさん
2006/05/10(水) 21:06:43次の質問を予想:複数ファイルのプロパティ画面をだすのってどうやるんですか?
0839デフォルトの名無しさん
2006/05/10(水) 21:43:020840デフォルトの名無しさん
2006/05/10(水) 21:47:34チェックなら、チェックが付いてるか確認するプロパティが実は
0841デフォルトの名無しさん
2006/05/10(水) 21:58:56○チャックをあける
chuck.opened=true;
0842デフォルトの名無しさん
2006/05/10(水) 22:02:440843デフォルトの名無しさん
2006/05/10(水) 22:07:420844デフォルトの名無しさん
2006/05/10(水) 22:07:570845デフォルトの名無しさん
2006/05/10(水) 22:08:280846839
2006/05/10(水) 22:23:03難しいですか。Checkbox辞めて別の方法試します。
ありがとうございました。
0847デフォルトの名無しさん
2006/05/10(水) 22:32:20ネタじゃなかったの?
checkBox.Checked = false;
最後に釣られたか?
0848デフォルトの名無しさん
2006/05/10(水) 23:46:36ちょっとやり始めた感じだと、全く違う言語のように見えるのですが・・・
あと、まっさらな状況でやるのだったらJAVAとどちらが将来性がありますか?
0849デフォルトの名無しさん
2006/05/11(木) 00:04:07C# は C の孫。
世代違うけど、血族。
血筋自体違うほかの言語一度覗いてみ。
Java と C# 比べると、俺の感覚では将来的には C# 有利だと思う。
(ただ、このスレでその質問すれば C# よりの返事が返ってきて当たり前だと思ってね。)
どうも、世界的に見るとすでに C# 有利っぽい感じだけど、
日本では携帯アプリのおかげか Java が健闘してて、
現状はまだちょっと Java 有利かも。
0850デフォルトの名無しさん
2006/05/11(木) 00:08:50form.Show();
のようにモードレスのフォームを表示しているのですが、
Show()のときに非アクティブなまま表示するにはどうしたらよいのでしょうか?
0851デフォルトの名無しさん
2006/05/11(木) 00:16:26ファイルかディレクトリを示しているのかを調べるにはどうすればいいでしょう?
0852デフォルトの名無しさん
2006/05/11(木) 00:46:080853デフォルトの名無しさん
2006/05/11(木) 01:24:03実際に問い合わせるとは、
new DirectoryInfo(path)をやってみて例外を投げたら、今度はFileInfo〜ということでしょうか?
これだと、もし同じファイル名とディレクトリ名があった場合駄目じゃ…。
と思ったら、そういうことは出来ないようになっているんですね。プログラム以前の問題でした。
0854デフォルトの名無しさん
2006/05/11(木) 01:25:55スレ汚しすみませんでした。
0855デフォルトの名無しさん
2006/05/11(木) 01:36:33Win32API の ShowWindow 使う必要がある
0856デフォルトの名無しさん
2006/05/11(木) 03:10:46将来の就職意識してとかでなく、趣味でプログラム組むんだったら、Windowsでだけ
動けばよいソフトを作るのか、そうでないのかで決めればよかろ。
とはいえ、Microsoft&Windowsが3年後・5年後も安泰だったら、C#選んで問題ない
と思うけど、将来どうなるかはわからんもんなー。
0857デフォルトの名無しさん
2006/05/11(木) 04:22:250858デフォルトの名無しさん
2006/05/11(木) 11:13:29基本はC#もJavaも似たようなものだから両方やっときゃ無問題。
文法が多少違うぐらいだし。
0859846
2006/05/11(木) 11:45:22>checkBox.Checked = false;
え、そんな簡単な方法で良かったの?
切り替えスイッチ作っちゃったよ。
ネタじゃなかったのに・・・ ネタじゃなかったのに・・・ ネタじゃなかったのに・・・・・・・・・ orz
0860デフォルトの名無しさん
2006/05/11(木) 11:50:310861デフォルトの名無しさん
2006/05/11(木) 11:53:070862850
2006/05/11(木) 14:41:38そうなんですか。それに関するソースってないでしょうか。
0863デフォルトの名無しさん
2006/05/11(木) 16:47:21private static extern bool ShowWindow( IntPtr hWnd, int nCmdShow );
private void button1_Click( object sender, EventArgs e )
{
Form2 form2 = new Form2();
IntPtr p = form2.Handle;
ShowWindow( p,8 );
//this.BringToFront();
}
0864850
2006/05/11(木) 17:50:27できました。
それにしても何でこんなことがAPI使わないとできないんだろ。
0865デフォルトの名無しさん
2006/05/11(木) 17:53:37普通そういうことは想定されてないから、だと思うが。
0866デフォルトの名無しさん
2006/05/11(木) 18:29:40と書いたら、NullRefernceExceptionが出ます。
nullのチェック方法がまちがっているのでしょうか?
0867デフォルトの名無しさん
2006/05/11(木) 18:33:16User が null なんかもしれんが
0868デフォルトの名無しさん
2006/05/11(木) 18:36:30その通りでした。
2時間くらい悩んでいました。。
あなたは神です。
ありがとうございます。
0869デフォルトの名無しさん
2006/05/11(木) 22:28:36アンマネージドもマネージドもAPI
.NETはまだOSの全機能を網羅していないだけ
0870デフォルトの名無しさん
2006/05/12(金) 01:53:05WinFormsの基本設計のせいかな
Visibleプロパティ遷移にパラメータなんてないから。
んーむ、SetVisibleCoreあたりにパラメータつけてShowを
オーバーロードしたらよかったね>MS。今更無理だが
0871デフォルトの名無しさん
2006/05/12(金) 12:10:32この並び順はどっからもってきてるんだろう。
文字コード順かと思うと微妙にエクスプローラーの並び順とは違うし、
かといって日付とも違う。取得時に並び替えのオプションなんてあったか?
0872デフォルトの名無しさん
2006/05/12(金) 12:28:59どういう順かはファイルシステムによる。
NTFS なら文字順(文字コードとは別の基準)。
0873デフォルトの名無しさん
2006/05/12(金) 15:03:45なるほど。ありがとん。
じゃ、いちいちソートしてやんないといけないね。( ゚Д゚)マンドクセー
0874デフォルトの名無しさん
2006/05/13(土) 14:39:43しているのですが,どのように実装していいのかわかりません。一応,次のよう
作ってみましたが,「 'System.Web.UI.Control' に 'Text' の定義がありません。」
というエラーが出てしまい,コンパイルできません。
TextBoxにキャストすれば,うまくいくと思ったのですが,どうも,ダメなようです。
なお,このメソッドはClearAll(this)にような形で使う予定です。
よろしくお願いします。
public void ClearAll(Control parent)
{
foreach (Control c in parent.Controls)
{
if (c.HasControls())
{
ClearAll(c);
}
if (c is TextBox)
{
(TextBox)c.Text = String.Empty; // ここでエラー
}
}
}
0875デフォルトの名無しさん
2006/05/13(土) 14:46:06> (TextBox)c.Text = String.Empty; // ここでエラー
c.Text を TextBox にキャストする、になるぞ、これだと。
0876デフォルトの名無しさん
2006/05/13(土) 14:53:30仕事があるかないかという視点で判定をお願いします。
0877デフォルトの名無しさん
2006/05/13(土) 15:01:18まあ .NET 案件そのものが大して無いけどな。
0878デフォルトの名無しさん
2006/05/13(土) 15:08:48以前、MS社のC#開発者のインタヴュー記事を読んだのだけど、
アメリカではVB使用者が減ってるって言っていた。
0879デフォルトの名無しさん
2006/05/13(土) 15:15:41ttp://www.google.com/trends?q=C%23,VB%7CVB.NET&ctab=1&sa=N
日本はまだまだ旧VB/VBAの需要が大きい
0880デフォルトの名無しさん
2006/05/13(土) 15:28:56確かにそういうのはクライアントサイドの方がいいよね
要するに
((TextBox)c).Text = String.Empty;
って書くんじゃないの?>>874
0881デフォルトの名無しさん
2006/05/13(土) 15:34:47List<TextBox>に全部つっこんどいてforeachでまわしたら?
0882874
2006/05/13(土) 15:39:49レスサンクス。その通りでした。どうもありがとうございます。
0883デフォルトの名無しさん
2006/05/13(土) 19:03:03あるコントロールのメンバの一覧表示するなら、せめて一般的に使われそうなメンバと、
ただ継承されただけのメンバを分離して表示しろよ。
0884デフォルトの名無しさん
2006/05/13(土) 19:41:04継承(のみの)メンバ含むかどうかとかチェックボックスですぐに
切り替えられるんだけど何が不満?
0885デフォルトの名無しさん
2006/05/13(土) 20:10:29その態度が...
0886デフォルトの名無しさん
2006/05/13(土) 20:33:13オフラインならな
0887デフォルトの名無しさん
2006/05/13(土) 20:54:20継承元の大事なメンバも表示されずイライラする
0888デフォルトの名無しさん
2006/05/13(土) 22:11:49何が大事かなんて主観やし。
最小機能ならCompact Frameworkでもみたら?
0889デフォルトの名無しさん
2006/05/13(土) 22:26:540890デフォルトの名無しさん
2006/05/13(土) 23:03:30ただまあオーバーロードの場合にどうかってのもあるしな…
総評としてはそこそこ見やすいとは思うんだけどね。
0891デフォルトの名無しさん
2006/05/14(日) 02:19:03これなんとかしてほしい
0892デフォルトの名無しさん
2006/05/14(日) 02:39:47フォームの読み込みに時間がかかるけど
処理速度は他の言語よりもダントツ早い
てのがC#じゃなかったっけ?
0893デフォルトの名無しさん
2006/05/14(日) 02:45:49いやドキュメントのことです。すんません
0894デフォルトの名無しさん
2006/05/14(日) 13:04:38Managed C++より遅い
0895デフォルトの名無しさん
2006/05/14(日) 13:09:480896デフォルトの名無しさん
2006/05/14(日) 14:42:16これはなんとかしてほしいなあ。
0897デフォルトの名無しさん
2006/05/14(日) 15:52:17自分ので、WinXP・P4の2.26・メモリ1Gで、ハードディスクは
5400rpmでちょっと遅め。この環境だと、特に起動が遅いとか、
動作が遅いとかいう事はそんなに感じないんだけど。まあ、
走らせるものの大きさにも影響されるだろうけど。
後、常駐ものが動いてるから、.Net Frameworkの初期読み
込みの時間が節約できてるのかもしれない。
0898デフォルトの名無しさん
2006/05/14(日) 16:07:22だから問題は初回起動と描画の遅さだって。
0899デフォルトの名無しさん
2006/05/14(日) 16:31:16だな、明らかに遅い。高速起動パッチ当てたらマシになったけど
0900デフォルトの名無しさん
2006/05/14(日) 17:23:45詳しく
0901デフォルトの名無しさん
2006/05/14(日) 17:29:55http://www.forest.impress.co.jp/article/2006/04/06/dotnetrtune.html
0902デフォルトの名無しさん
2006/05/14(日) 17:43:42宣伝してんじゃねえよ
0903デフォルトの名無しさん
2006/05/14(日) 17:44:110904デフォルトの名無しさん
2006/05/14(日) 18:58:000905デフォルトの名無しさん
2006/05/14(日) 19:01:26遅くなる場合もある
0906デフォルトの名無しさん
2006/05/14(日) 19:03:49>>905
詳しく
0907デフォルトの名無しさん
2006/05/14(日) 19:07:23だから >>904 は心配しなくていい。
0908デフォルトの名無しさん
2006/05/14(日) 20:21:54ngen をする手間の分だけ無駄になるだけ
0909デフォルトの名無しさん
2006/05/14(日) 20:31:59動作速度は知らないけど起動速度はかなり改善されるぽいよ
ちょっと ngen 使ってない場合と使った場合測定してみたら
顕著なところでは 平均 80→20ms な箇所と 50→0ms な箇所があった
0910909
2006/05/14(日) 20:33:260911デフォルトの名無しさん
2006/05/14(日) 20:42:21Frameworkはウンコ
0912デフォルトの名無しさん
2006/05/14(日) 20:47:09>>911はウンコ
0913デフォルトの名無しさん
2006/05/14(日) 20:47:130914デフォルトの名無しさん
2006/05/14(日) 21:15:360915デフォルトの名無しさん
2006/05/14(日) 21:15:49VC#2005を使ったアプリで、http通信を用いてとあるPHPをたたき、
その処理が終了したことを検知したいのですがどうすればよろしいでしょうか。
申し訳ありませんが
1)PHPの軌道の仕方
2)処理終了の検出
の二つに分けてヒントを教えていただければと思います。
よろしくお願いします。
0916デフォルトの名無しさん
2006/05/14(日) 21:17:11APIでやったほうが早い
0917デフォルトの名無しさん
2006/05/14(日) 21:28:18レスありがとうございます。
ただ、もそっと詳しく教えていただければ…。
「2)処理終了の検出」をAPIを用いて取得するのでしょうか。
0918デフォルトの名無しさん
2006/05/14(日) 21:29:23Javaの時代は終わりつつある。
0919デフォルトの名無しさん
2006/05/14(日) 21:43:37教えてあげないよ!ジャン♪
0920デフォルトの名無しさん
2006/05/14(日) 22:26:08構成がよく分からんのだが。
http ってことはリモートサーバの Web アプリ?
それなら HttpWebRequest とかで良いが。
0921デフォルトの名無しさん
2006/05/14(日) 22:38:13ぜんぜんうれしくない。
その箇所が100個とかあって軌道が数秒以上変わるんなら別だが。
0922デフォルトの名無しさん
2006/05/14(日) 22:38:47レスありがとうございます。
処理の目的は、DBのデータをCSVに書き出して、それをローカル側に取得することです。
(サーバ:RedHatEE+PostgreSQL クライアント:WinXP + VS2005)
サーバにはhttp経由でしかアクセス出来ないので、DBのストアドプロシージャをキックする
PHPを作成して、それをクライアントから叩こうかと思ったのです。
上記を満たすようなことがHttpWebRequestを用いれば実現出来るでしょうか。
0923デフォルトの名無しさん
2006/05/14(日) 22:43:150924デフォルトの名無しさん
2006/05/14(日) 22:50:10今調べました。
GetResponse()を使えば、PHPが処理終了時に返す値を取得することができそうですね。
0925デフォルトの名無しさん
2006/05/14(日) 22:51:46.Net Frameworkの読み込み時間分起動速くなるんでねえの?
0926デフォルトの名無しさん
2006/05/14(日) 22:58:57天才
0927デフォルトの名無しさん
2006/05/14(日) 23:00:240928デフォルトの名無しさん
2006/05/15(月) 00:10:14それはあくまで顕著な部分であって、他の部分も総合的に速くなってるよ
800ms 程度かかってた起動時間が 500ms 程度になった。
0929デフォルトの名無しさん
2006/05/15(月) 21:08:560930デフォルトの名無しさん
2006/05/15(月) 21:49:100931デフォルトの名無しさん
2006/05/15(月) 23:54:390932デフォルトの名無しさん
2006/05/16(火) 00:57:34.NETでコモンダイアログボックスの拡張は出来るのでしょうか?
http://www1.harenet.ne.jp/cgi-bin/cgiwrap/unaap/chtml/chtml.cgi?key=comdlg1
Win32SDKでの実例はあるみたいなのですが。。。
0933デフォルトの名無しさん
2006/05/16(火) 01:01:23FileDialog もコンストラクタが internal なので拡張不可能。
DllImport 駆使して自前で書くしかないな。
codeproject とかの集積所に誰か既に書いたのがあるかも知れないけど。
0934デフォルトの名無しさん
2006/05/16(火) 09:08:27,," _、、..._ ヲ、_ 近 射 り オ
イttv'-‐-、弋 ゙`、_,,._ づ す 丶 チ
i(.)(.)ノ ト ヾミ、 う き る そ ン
| レ'、レ'レ' { 、_ ゙~=、_ た 丶 .こ チ
_,, | i゙ ー三~__,,,....,,,r-、、 く .と .か ン
,->_,(((、 ̄'ー.| {{・}} _,,." ,r"~ ̄ _(((_ ァ''"ー- 、 な い ら が
/ / i \~゙ー-、ト'' ヽ" _,,.、,'' イ r-''"~ / i ヽ _,ゝい う 火 3
/ ノ t ,,.. 〉゙`'"~ . 丿 ノ _/ / ノ て~ 妖 あ 炎 つ
/ `t ( ,`{ ⌒ヽ { ノ /^ー' 怪 ま を も
⌒ヽ rr( i !、ノー-、 ` ) _/⌒ー' 。
し'⌒ー`{ ( ヾ} ( ( ( ノ-‐ i'_/
`i_j〜´,r'ソ'ソソ'ヽ }_,、_,-、
r"ソ/ r"ソ `ヽ ' _}}} .{
, ''"r"ソ,'" `-'" { j
r"ソ ,''"rソ ''`゙'
: .、 ''" rソ '" , ''
\从、仆从,'// , '
0935デフォルトの名無しさん
2006/05/16(火) 09:42:01パシャッ パシャッ
パシャッ
∧_∧ パシャッ
パシャッ ( )】Σ
. / /┘ パシャッ
ノ ̄ゝ
0936デフォルトの名無しさん
2006/05/16(火) 11:13:05__[警]
( ) ('A`)
( )Vノ )
| | | |
0937デフォルトの名無しさん
2006/05/16(火) 21:40:22(組んだというより本を見ながら書いたという感じですが・・・。)
byte[] bb = new byte[256];
for (; (count = socket.Receive(bb)) > 0; )
{
tempS = Encoding.ASCII.GetString(bb, 0, count);
output += tempS;
if (socket.Available == 0)
{
break;
}
}
こんな感じで256バイトずつ読み込んでいるのですが、最後まで読み込まないうちにSocketに
データがなくなってしまいます。
600kくらいのデータなのに半分くらいしかダウンロードできません。
しかも、うまく行くときもあれば行かないときもあり、50kダウンロードできるときもあれば
400kダウンロードできるときもあります。
で、何を聞きたいかというとどうやってデバッグすればいいのでしょうか?
コードは何度も見直しましたがどうしてもわかりません。
0938デフォルトの名無しさん
2006/05/16(火) 21:48:32Available == 0 なのはバッファが空と言うだけの意味であってそれ以上転送されないと言う意味ではないからな。
Read の返値が終了条件、で良いはずだ。
ところで何故 while じゃなくて for なんだ?
0939デフォルトの名無しさん
2006/05/16(火) 21:59:12たぶん承知してるとは思うんだけど、マルチバイトのエンコーディングの場合は
少なくとも行区切りまでためてから GetString する必要があって結構面倒。
ここは素直に StringReader 使うのが吉。
0940デフォルトの名無しさん
2006/05/16(火) 22:10:59しかしネットワークストリームに対して StreamReader 使うのは個人的にどうも信用おけないんだよな。
途中でぶち切られるような気がして。
マニアックだが Decoder クラスを使う手があるぞ。
これなら勝手に泣き別れをバッファしてくれる。
0941939
2006/05/16(火) 22:24:16DoS 攻撃とか考えると、1行は1024バイトまでしか読まないとか自分で制御したいし。
0942937
2006/05/16(火) 23:08:54なるほど。読み出せないからといってもう全部読み込んだというわけではないのですね。
読み込めるまで待つのが正解ということですね。
あと、なぜwhileじゃないのかというと、お恥ずかしながら「本にそう書いてあった」というのが正直なところ。
理解した部分は自分なりに応用したりして書き換えてますが、問題無い部分はそのまま流用してたりします。
StreemReaderとDecoderクラスも調べてみます。
ありがとうございました。
#解決できなかったのでユーザーに「別のソフトでファイルをダウンロードして、ダウンロードしたファイルを読み込んでください」とか言ってごまかしてました・・・。これでボタン一つで処理してもらえるようになるかもしれません。感謝します。
0943デフォルトの名無しさん
2006/05/17(水) 00:32:500944デフォルトの名無しさん
2006/05/17(水) 22:16:46やつってないんですか?
ようするにmsctls_updown32の横向きで作りたいんですが
UpDownBaseにもそれらしいプロパティがないですし
0945デフォルトの名無しさん
2006/05/19(金) 00:18:37これでフォームのリストビューが
新規に生成したリストビューに代わるかと思ったら変化なし。なぜ?
0946デフォルトの名無しさん
2006/05/19(金) 00:23:550947デフォルトの名無しさん
2006/05/19(金) 00:25:10で、this.listView1 に新しいインスタンスを代入すると、
元々は一致していた this.listView1 と Controls 内の ListView が別インスタンスを指すことになる。
0948945
2006/05/19(金) 00:39:430949デフォルトの名無しさん
2006/05/20(土) 17:19:59ツリービューからマイドキュメントなどのフォルダを選んで、リストビューに
そのフォルダの内容を表示します。リストビューで選択した項目を
axwebbrowserに表示したいです(表示したいものはhtmのファイル)。
緑のバイクのコードを参考にして下記のコードを記述しています。
private void listView1_SelectedIndexChanged(object sender, System.EventArgs e)
{
//ブラウザに表示する
object o = null ;
string my_url = "c:\\Documents and Settings\\Owner\\My Documents\\HomepageDesigner\\index.htm";
axWebBrowser1.Navigate(my_url, ref o, ref o, ref o, ref o) ;
}
このコードでリストビューの項目を選択したらaxwebbrowserに表示させること
はできました。
これを選択したアイテムを表示されるようにするにはどのへんにどのような
コードを記述すればいいでしょうか。
0950949
2006/05/20(土) 17:24:34上記のコードではいつでもindex.htmが表示されるのを→その選択している項目
が表示されるようにしたいのですが・・・
0951949
2006/05/20(土) 17:40:37宇宙仮面のC#さんからとってきたステータスバーにファイル名までのフルパス
を表示させるコードをstring my_url = のところにそのまま貼り付けたら
できました。でもそのコードでは違う項目を選択したらエラーになるし
同じ内容を2回記述していて変なのでもうちょっと修正します。
すみませんでした。
0952デフォルトの名無しさん
2006/05/20(土) 19:40:58作りたいと思っています。その手のプログラムを組むに当たって初心者向けの解説サイト
というのはございますか?
0953デフォルトの名無しさん
2006/05/20(土) 20:00:020954952
2006/05/20(土) 20:02:280955デフォルトの名無しさん
2006/05/20(土) 20:30:23その手もなにもGUIだけ作ればいいんじゃない?
0956952
2006/05/20(土) 20:34:53たとえばどうパラメータをコマンドラインプログラムの引数として渡してやるかとか、
コマンドラインプログラムを実行した結果生じるステータスをどうしたら知ることができるのかな
と思いまして・・・
0957デフォルトの名無しさん
2006/05/20(土) 20:42:430958952
2006/05/20(土) 21:32:400959デフォルトの名無しさん
2006/05/20(土) 21:47:27Process.StandardOutput でぐぐる。
0960952
2006/05/20(土) 22:14:02> Process.StandardOutput
便利な関数ありがとうございます。
以下のような複数行からなる返り値も余すことなく拾いたかったところなんですよ( ´∀`)
C:\temp>hoge.exe
rep Run = LIVE
status ok
C:\temp>
0961デフォルトの名無しさん
2006/05/20(土) 23:30:54関数じゃなくてプロパティ。まずは基礎を…。
0962952
2006/05/21(日) 03:04:57ところで実際のコマンドラインプログラムの振る舞いをもう少し詳細に説明しますと、
C:\temp>hoge.exe
rep Run = LIVE
status ok
の状態で止まっているんです。しかも二行目、status okが表示されるまでそこそこの
時間がかかります。このプログラムを抜け、プロンプトに戻るためにはCtrl + Cを押さな
ければなりません。
C:\temp>hoge.exe
rep Run = LIVE
status ok
^c
C:\temp>
このようなコマンドラインプログラムでも2行目の
status ok
まですべての出力を余すことなく拾うことはできますか?
0963デフォルトの名無しさん
2006/05/21(日) 03:11:49つーか、ドキュメント、読め、ハゲ。
0964952
2006/05/21(日) 03:25:55> WaitForExit
どうもです。WaitForExitというのはプログラムが終了するまで待ってろと言う意味ですね。
ということはこの場合、明示的にCtrl + Cを押してやらない限りいつまでたっても
rep Run = LIVE
status ok
の文字列は読み込めないということですね?
できることならCtrl + Cを押す前の待機中の状態でも読みたかったんですが・・・。
と、言いますのも、
status ok
の部分次第ではさらに新しい命令を続けて打ち込む必要があるので・・・。
0965デフォルトの名無しさん
2006/05/21(日) 05:40:53タスクバーみたいに画面の領域を占拠?するにはどうしたらいいんでしょうか?
0966デフォルトの名無しさん
2006/05/21(日) 12:44:49お前は死んだ方が良いと思うよ
0967デフォルトの名無しさん
2006/05/21(日) 13:02:07簡単で良いのなら、Screen クラスを使えばデスクトップの範囲を取得できるので
それを元に Form の位置サイズを調整すればいい。
TopMost にしとけば隠れることもない。他のウィンドウが後ろに行ってしまうけどな。
本格的にやるのなら、大変面倒。
MSDN で Taskbar の仕様を調べるところから。
// Band Objects でいいのかな?
0968デフォルトの名無しさん
2006/05/21(日) 17:38:25あげて、質問いたします。
0969デフォルトの名無しさん
2006/05/21(日) 17:41:220970デフォルトの名無しさん
2006/05/21(日) 17:46:460971デフォルトの名無しさん
2006/05/21(日) 17:51:57C++だとこれから仕様を追加する格好になる
したがって、C++にはこれからみんなでCを使いやすくしようという意味が込められている
0972952
2006/05/21(日) 19:55:00C:\temp>hoge.exe
rep Run = LIVE
status ok
hoge.exeプロセスが生きている間は
Console.WriteLine(p.StandardOutput.ReadToEnd());
を実行しても文字列は拾えませんね。
というか、
C:\temp>hoge.exe
rep Run = LIVE
status ok
^c
C:\temp>
Ctrl + Cをかけた後でなければ途中の文字列は拾えません。
でもそれだとプログラムが終了してしまうのでアクションが取れなくなってしまうんですよね(´・ω・`)
C:\temp>hoge.exe
rep Run = LIVE
status ok
プログラムの実行中でもまずここまで読んで、
その上で
C:\temp>hoge.exe
rep Run = LIVE
status ok
set Text = test
という風にさらにコマンドを実行したいんですが・・・
0973デフォルトの名無しさん
2006/05/21(日) 20:00:360974952
2006/05/21(日) 20:03:440975デフォルトの名無しさん
2006/05/21(日) 20:07:430976デフォルトの名無しさん
2006/05/21(日) 20:08:580977952
2006/05/21(日) 20:12:130978デフォルトの名無しさん
2006/05/21(日) 20:14:12別スレッドをスレ違いと読み違えたのはおそらくネタなんだろうが、
それでもお前は基礎から勉強した方が良いぞ
0979デフォルトの名無しさん
2006/05/21(日) 20:15:30しかしまあこの場合の問題は別だな。
冷静に考えろ、ReadToEnd() ってことは終わりまで読むんだよな。
終わりって何だ?
0980デフォルトの名無しさん
2006/05/21(日) 20:17:00ありがとうございます、本格的な方ですねorz
ざっと見た感じでは
VisualStyleElement.Taskbar
でしょうか?
0981952
2006/05/21(日) 20:26:35> 別スレッドをスレ違いと読み違えたのはおそらくネタなんだろうが
>>979
> System.Threading.Thread と言えばいいか?
Σ(´Д`; )!
(´・ω:::::.....
そういう意味でしたか。ありがとうございます。
> 「結論から言えば、スレッドは起動するな。」と予め言っておく、
> スレッドを起動しないでも別スレッドで処理を実行する方法はある。
> 別スレッドで処理をするという事の説明の前段階であり、
> これを見て喜んでスレッドを起動しないでほしい。
ttp://www.ailight.jp/blog/kazuk/articles/6281.aspx
結構鬼門そうなテクニックですね。
ちょっと調べてみます。
0982デフォルトの名無しさん
2006/05/21(日) 20:30:20SHAppBarMessage()
0983952
2006/05/22(月) 00:07:10ですがどうも自分のやりたいことと違うような気もするのですが・・・
C:\temp>hoge.exe
rep Run = LIVE
status ok
hoge.exeを実行し、任意の時間ののち status ok の表示でプログラムが停止しているとします。
この表示が出されたことを確認した上でさらに続けてコマンドを入力していくわけですが、
C:\temp>hoge.exe
rep Run = LIVE
status ok
set Text = test
別スレッドでこれをやるとなるとまた他のプロセスでhoge.exeを実行することになり
連続性が失われてしまいます。あくまでも最初に動かしたhoge.exeに続けてコマンドを
入力していきたいのですが、それでも別スレッドを立てて実行した方がいいのでしょうか?
0984デフォルトの名無しさん
2006/05/22(月) 00:10:210985デフォルトの名無しさん
2006/05/22(月) 00:14:250986952
2006/05/22(月) 00:17:25> しかしまあこの場合の問題は別だな。
> 冷静に考えろ、ReadToEnd() ってことは終わりまで読むんだよな。
> 終わりって何だ?
つまりプログラムが終わらない限りReadToEnd()は全く読んでくれないということですね。
そして肝心のhoge.exeを終了させるにはCtrl + Cをかけなければならないと( ´・ω・)・・・
0987デフォルトの名無しさん
2006/05/22(月) 00:22:110988952
2006/05/22(月) 02:23:08そういえばReadToEnd()だけでなく、ReadLine()というメソッドもありましたね(*´∀`)
ただ一度にではなく、不定期に現れてくる文をどう拾ってやるかという問題がありますね。
文が現れたときに読み込んでくれるようなメソッドがあれば便利なんですが・・・
0989952
2006/05/22(月) 03:35:570990デフォルトの名無しさん
2006/05/22(月) 03:43:28mhtmlを使わずにHTMLのタグを取得したいのですがつまずいてしまいました。
1object htm;
2type typ ;
3string docbody;
4 typ = Type.GetTypeFromProgID("mhtmlfile") ;
5 htm = axWebBrowser2.Document ;
6docbody = typ.InvokeMember("title",BindingFlags.GetProperty, null, htm, null).ToString();
7textBox1.Text=("" + docbody);
上記のソースを記述しています。
タグの全てを表示したいのですが、うまくいきません。
とりあえず6行目の"title"できちんとHTMLで書かれたTITLEが表示されるのですが、
全体を表示しようとするとうまくいきません。
他のHPなどを参考に"title"の部分を"body"とか"outerHTML"とか"documentElement"に
変えてみたんですが、エラーが出ます。
どなたかご教授いただければと思います。
0991デフォルトの名無しさん
2006/05/22(月) 07:59:020992デフォルトの名無しさん
2006/05/22(月) 09:38:17FrameWork2.0から追加されたWebBrowserコントロールを使って
ページが読み込まれるまで待ってからページのDocumentに対
して操作したいのですが
WebBrowser.IsBusyプロパティを使った判定の仕方がわかりません
private void button1_Click(object sender, EvebtArgs e)
{
WebBrowser wb = new WebBrowser();
wb.Navigate("http://www.google.com");
//ここでwbがページ読み込み中かどうか判定したい
while(wb.IsBusy)
{
}
//ここに来た時点でページの読み込みは完了しているはず
//しかし wb.Document.GetElementById("xx");などとすると
//System.NullReferenceException例外が起こる
//ステップイン実行してみるとwhile(wb.IsBusy)のループを
//一度も回っていない
}
0993デフォルトの名無しさん
2006/05/22(月) 10:16:550994992
2006/05/22(月) 10:49:15やってみましたが駄目でした
bool b = false;
private void button1_Click(object sender, EvebtArgs e)
{
WebBrowser wb = new WebBrowser();
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
wb.Navigate("http://www.google.com");
b = true;
//ここでwbがページ読み込み中かどうか判定したい
while(b)
{
}
wb.Document.GetElementById("xx"); //同じエラーになってしまう
}
private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
b = false;
}
どこか間違っているでしょうか?
0995990
2006/05/22(月) 11:44:12例えばHTMLのタイトルがふらっとC#だとしたら"title"でちゃんと「ふらっとC#」とでます
が"body"にすると「mshtml.HTMLBodyClass」と表示されて中身が出ません。
すみません、他にも「文字列が長すぎます」とか出たんですがそれは今出ません。
0996デフォルトの名無しさん
2006/05/22(月) 15:47:31private void button1_Click( object sender, EventArgs e )
{
WebBrowser wb = new WebBrowser();
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler( wb_DocumentCompleted );
wb.Navigate( "http://www.google.com" );
}
void wb_DocumentCompleted( object sender, WebBrowserDocumentCompletedEventArgs e )
{
HtmlElement element = ((WebBrowser)sender).Document.GetElementById( "1a" );
MessageBox.Show( element.InnerHtml );
}
0997デフォルトの名無しさん
2006/05/22(月) 17:02:28body で取得できるのは HTMLBodyClass オブジェクトであって文字列じゃないから。
大体中身って何を想定してるんだ?
0998990
2006/05/22(月) 23:51:12そうなんですか・・・
中身はhtmlのソース(タグ?)をそうていしています
0999デフォルトの名無しさん
2006/05/23(火) 01:59:11できたー!
ありがとうございました
ただ、DocumentCompletedイベントってあんましあてに
ならないのです。
例えば最初に飛んだページがLocationヘッダ吐いても、
ページがフレームで構成されていても、IFRAME使っていても
その都度DocumentCompetedが起こってしまいます。
1000デフォルトの名無しさん
2006/05/23(火) 02:30:1310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。