C#, C♯, C#相談室 Part55
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/12/06(日) 23:54:00前スレ
C#, C♯, C#相談室 Part55
http://pc12.2ch.net/test/read.cgi/tech/1255530225/
Visual C# 2008 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
その他テンプレ>>2-5くらい
0002デフォルトの名無しさん
2009/12/06(日) 23:56:24ふらっとC#,C♯,C#(初心者用) Part49
http://pc12.2ch.net/test/read.cgi/tech/1259383252/
Visual Studio 2008 Part 19
http://pc12.2ch.net/test/read.cgi/tech/1259076828/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
http://pc12.2ch.net/test/read.cgi/tech/1245384489/
【VB.NET】LINQ友の会【C#, C♯, C#】
http://pc12.2ch.net/test/read.cgi/tech/1202568694/
C#,C#の宿題片付けます。
http://pc12.2ch.net/test/read.cgi/tech/1197620454/
0003デフォルトの名無しさん
2009/12/06(日) 23:57:11MSDNライブラリ
http://msdn.microsoft.com/ja-jp/library/
@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/
MSDN フォーラム
http://forums.microsoft.com/MSDN-JA/default.aspx?SiteID=7
pinvoke.net: the interop wiki!
http://pinvoke.net/
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/
WisdomSoft Microsoft .NET入門
http://wisdom.sakura.ne.jp/system/msnet/
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/
0004デフォルトの名無しさん
2009/12/07(月) 00:00:01初歩的な質問はPC初心者板で・・・
http://pc11.2ch.net/pcqa/
参考リンク(よく出てくる情報リンク)
Windows Vista Wiki
http://windowsvista.ms/index.php
Windows VistaFAQ
http://vistafaq.stdo.net/index.html
インストールから設定・活用まで〜 すべてが分かるWindows Vista大百科
http://journal.mycom.co.jp/special/2007/windowsvista/menu.html
次スレから関連スレに追加してください
ASP.NET + Atlas or Ajax について
http://pc12.2ch.net/test/read.cgi/tech/1150036430/
Microsoft Silverlight その5
http://pc12.2ch.net/test/read.cgi/tech/1260010993/
Visual Studio 2010 Part 2
http://pc12.2ch.net/test/read.cgi/tech/1258631113/
0005デフォルトの名無しさん
2009/12/07(月) 00:02:11スレタイ間違えました
正しくは
C#, C♯, C#相談室 Part56
です
次スレはPart57で立ててください
0006デフォルトの名無しさん
2009/12/07(月) 01:16:010007デフォルトの名無しさん
2009/12/07(月) 08:58:580008デフォルトの名無しさん
2009/12/07(月) 10:01:370009デフォルトの名無しさん
2009/12/07(月) 23:37:150010デフォルトの名無しさん
2009/12/08(火) 00:11:40もう一つのスレは削除依頼が出てるのかな? このスレが終わるまで残ってれば再利用だろうけど
0011デフォルトの名無しさん
2009/12/08(火) 00:40:06もう一つのスレ建てたものです、
削除依頼済みですので、こちらが本スレですね
0012デフォルトの名無しさん
2009/12/08(火) 22:02:58StreamクラスのWriteメソッドはbyte配列しか引数に取れません。
short配列からbyte配列に簡単に変換するにはどうしたらいいんでしょうか?
(Cのmemcpyのようなのが欲しい)
0013デフォルトの名無しさん
2009/12/08(火) 22:08:050014デフォルトの名無しさん
2009/12/08(火) 22:09:180015デフォルトの名無しさん
2009/12/08(火) 22:14:20BynaryWriterを使うことにしました。
0016デフォルトの名無しさん
2009/12/08(火) 23:01:240017デフォルトの名無しさん
2009/12/08(火) 23:38:52シリアライズするんでしょ?
0018デフォルトの名無しさん
2009/12/09(水) 14:26:46javascriptを外部アプリケーションのコードから実行することってできますか?
IEのウインドウ列挙は↓
http://d.hatena.ne.jp/unibon/20090102/p3
が使えると思うんですが、SHDocVwじゃjsのinvokeってできないのかなあ。。。
0019デフォルトの名無しさん
2009/12/09(水) 14:54:010020デフォルトの名無しさん
2009/12/09(水) 16:14:10シングルスレッドアパートメントのオプションつければよかったのね。
0021デフォルトの名無しさん
2009/12/09(水) 16:31:18C+Javaって言う名前のほうがふさわしいな
0022デフォルトの名無しさん
2009/12/09(水) 16:33:330023デフォルトの名無しさん
2009/12/09(水) 17:21:200024デフォルトの名無しさん
2009/12/09(水) 17:21:450025デフォルトの名無しさん
2009/12/09(水) 17:34:11C++とJavaならJavaの方が近いとはおもう
0026デフォルトの名無しさん
2009/12/09(水) 17:42:500027デフォルトの名無しさん
2009/12/09(水) 20:13:570028デフォルトの名無しさん
2009/12/09(水) 20:19:47UIのビジュアルなデザイナ、プロパティグリッド……
どう見ても片親はVBだなw
0029デフォルトの名無しさん
2009/12/09(水) 20:57:190030デフォルトの名無しさん
2009/12/09(水) 21:02:06panelのクリックイベントを発生させるにはどうしたら良いのでしょうか?
複数貼り付けられたどのlabelをクリックしても、
panelでイベントを発生させたいです。
0031デフォルトの名無しさん
2009/12/09(水) 21:08:060032デフォルトの名無しさん
2009/12/09(水) 21:08:080033デフォルトの名無しさん
2009/12/09(水) 21:09:240034デフォルトの名無しさん
2009/12/09(水) 21:12:47003530
2009/12/09(水) 21:14:31ユーザコントロールで、panel上にlabelが沢山あるものになっています。
配置したあと、PGにてそのpanelのイベントを登録します。
ですのでlabelをクリックしたら、panelのイベントがよばれると良いなと思ったのですが、
なんか無理そうな気がしました。。。
0037デフォルトの名無しさん
2009/12/10(木) 00:35:180038デフォルトの名無しさん
2009/12/10(木) 08:37:030039デフォルトの名無しさん
2009/12/10(木) 09:17:040040デフォルトの名無しさん
2009/12/10(木) 09:21:04どうやればいいのでしょうか?
0041デフォルトの名無しさん
2009/12/11(金) 18:54:22どうすれば切り替えできるんでしょうか
Janeみたいに、ボタン一つで表示位置を変えられるようにしたいです
内部でどういう処理をすればボタン一つで切り替えられるんでしょうか
0042デフォルトの名無しさん
2009/12/11(金) 21:28:47UI設計の基本です
0043デフォルトの名無しさん
2009/12/11(金) 21:31:24そういう機能が用意されてるわけではないので結構深いところから自分で枠組み作る感じ
0044デフォルトの名無しさん
2009/12/12(土) 00:36:06byte[]のメンバが暗号化されてしまうのを止めることは可能でしょうか?
int[]メンバのような形でXMLにしたいのです。
宜しくお願いします
0045デフォルトの名無しさん
2009/12/12(土) 01:06:080046デフォルトの名無しさん
2009/12/12(土) 01:18:10そのメンバにXmlArray属性かXmlArrayItem属性を付ける 両方でも可
0047デフォルトの名無しさん
2009/12/12(土) 01:24:340048デフォルトの名無しさん
2009/12/12(土) 01:25:430049デフォルトの名無しさん
2009/12/12(土) 01:27:49Action action =new Action(hoge);のように書くから
クラスみたいなんだけど
action("死ねよクズ");
みたいに関数のように使えるもの
でぐぐれ
0050デフォルトの名無しさん
2009/12/12(土) 01:29:350051デフォルトの名無しさん
2009/12/12(土) 18:29:01そのとき
Object o = true ? new A() : new B();
これがAとBの間に暗黙的な変換がありません
とか言うエラーがでるんだけどなんでこれAとBで変換存在しなきゃいかんの?
0052デフォルトの名無しさん
2009/12/12(土) 18:38:203項式の値が何になるかにoの型は影響しない。
Object o = true ? (object) new A() : new B();
0053デフォルトの名無しさん
2009/12/12(土) 18:40:140054デフォルトの名無しさん
2009/12/12(土) 18:52:14C#の?はC++の?とは性質が違うみたいだな・・・
C++では51みたいな書き方でもOKなんだが。C#はうるさいやつだなぁ。
0055デフォルトの名無しさん
2009/12/12(土) 19:07:340056デフォルトの名無しさん
2009/12/12(土) 19:10:25class S {};
class A : public S{};
class B : public S{};
void test(int i) {
S *s = i > 0 ? (S*)new A() : new B();
}
0057デフォルトの名無しさん
2009/12/12(土) 20:02:17逆順の推論なので。
0058デフォルトの名無しさん
2009/12/12(土) 20:37:40バッファーアンダーランが数回出ていた\(^o^)/
C++で書いたプログラムだと出ないのにC#のライブラリ関数はあちこちで
ロックしているんだろうか?
0059デフォルトの名無しさん
2009/12/12(土) 20:47:39矢沢とか内田とかみたいな恥ずかしい勘違いオヤジのことかなw
0060デフォルトの名無しさん
2009/12/12(土) 21:36:250061デフォルトの名無しさん
2009/12/12(土) 22:39:16ってかどういうプログラムなんだよ。
0062デフォルトの名無しさん
2009/12/12(土) 23:44:40まあ、C# は人的ミスを減らせるなら多少コードが冗長になる方を選んでるんで。
0063デフォルトの名無しさん
2009/12/12(土) 23:52:31ラムダ式なんかかなり柔軟に型推論してくれるじゃん
0064デフォルトの名無しさん
2009/12/12(土) 23:57:53オプション引数etc
どうみても冗長性の排除が優先だな
0065デフォルトの名無しさん
2009/12/13(日) 00:06:04KeyPress=Escキーとか認識できない
KeyDown=Escキーなども認識できる
0066デフォルトの名無しさん
2009/12/13(日) 00:08:28IMEオンで入力したら楽しいよ
0067デフォルトの名無しさん
2009/12/13(日) 10:34:15SuperDrag Extensionのようなドラッグ&ドロップ処理を
実装したいと考えています。検索しても実装は厳しいという話しか
ありません。(というか扱っているサイトの数も少ない?)
どうかお力添え願えませんか?
0068デフォルトの名無しさん
2009/12/13(日) 10:35:290069デフォルトの名無しさん
2009/12/13(日) 12:23:300070デフォルトの名無しさん
2009/12/13(日) 16:41:08音楽再生アプリでのplay/stopをしたいと思ったのですが、
nProtectGameGuardのオンラインゲーム上では登録したホットキー使用が不可能でした。
不正行為防止用にそうなっているのは予想が付いたのですが、
これをすり抜けるようなホットキー登録方法はありませんか?
0071デフォルトの名無しさん
2009/12/13(日) 23:45:000072デフォルトの名無しさん
2009/12/14(月) 10:02:070073デフォルトの名無しさん
2009/12/16(水) 00:17:36C#3.0 ラムダ式,LINQ
C#4.0 dynamic
0074デフォルトの名無しさん
2009/12/16(水) 00:35:002.0 匿名delegate、staticクラス、yield
3.0 var
4.0 Genericsのco/contra-variance
0075デフォルトの名無しさん
2009/12/16(水) 00:37:490076デフォルトの名無しさん
2009/12/16(水) 00:39:432.0と3.0が凄すぎた
0077デフォルトの名無しさん
2009/12/16(水) 00:41:42フレームワーク側の進歩が2.0の時以上な気がする
0078デフォルトの名無しさん
2009/12/16(水) 00:42:24/** */ に対応したのは 1.1 ではなく 1.2 だよ
0079デフォルトの名無しさん
2009/12/16(水) 01:27:183.0 のときと同じ感覚。C# 4.0はおまけ。
0080デフォルトの名無しさん
2009/12/16(水) 08:54:040081デフォルトの名無しさん
2009/12/16(水) 09:14:16こんだけ。
0082デフォルトの名無しさん
2009/12/16(水) 09:15:56コレクション操作がらみをライブラリ化しようとすると行きつく先は LINQ。
クエリ式(C# 中に SQL っぽいもの書ける構文)を LINQ だと思ってるならそれは勘違い。
あれは LINQ の一部分。
0083デフォルトの名無しさん
2009/12/16(水) 09:34:45実は追加された拡張メソッド部分が本体だよな。
0084デフォルトの名無しさん
2009/12/16(水) 12:09:270085デフォルトの名無しさん
2009/12/16(水) 13:19:02IPCチャネルを使って同じコンピュータ上でサーバーとクライアントを動かしたいのですが、
それぞれの通信相手が正規のプログラムであることを認証するには
どのような方法を取ればいいのでしょうか。
悪意のあるプログラムが通信相手に成り済ますのを防ぎたいと考えてます。
0086デフォルトの名無しさん
2009/12/16(水) 13:22:06カジュアルななりすましを防ぎたいなら、何らかの手順を挟めばいい。
それこそ、「山」「川」みたいな。
0088デフォルトの名無しさん
2009/12/16(水) 13:35:54ということ。なので、そのファイルを確認できる状態じゃないとダメ。
なので、通信先を証明するのにはちょっと厳しいでしょ。
0090デフォルトの名無しさん
2009/12/16(水) 13:43:00IPCってのを忘れてた。ごめんごめん。
0092デフォルトの名無しさん
2009/12/16(水) 13:48:080093デフォルトの名無しさん
2009/12/16(水) 13:50:38チャレンジレスポンスでやったらいいんじゃない?
基本的な手順は、
あらかじめ、秘密の文字列 k を決めておき、クライアントとサーバはそれを
知っている。外には漏らさない。
通信を開始する時に、ランダムでトークン文字列 s を決め、それを渡す。
s をもらったら k と連結しハッシュ関数にかけた値 h(k + s) を返す。
返ってきた値が、自分で計算した h(k + s) と同じかどうかを確認する。
同じなら相手は k を知ってるので正しい相手と認める。
詳しくは暗号の本を。
ていうかこういうのは正しく実装するのは難しいので。ライブラリ無いのかな?
0094デフォルトの名無しさん
2009/12/16(水) 13:56:31まぁとにかくそんな感じの方法。
0095デフォルトの名無しさん
2009/12/16(水) 14:34:12一般的な結論は>>86なんだが、限定状況下では有効な対処が可能な場合もある
ユーザーがプログラム(バイナリ)の読み取りや通信路への細工ができないよう厳重に管理されていれば、
実用的なレベルでの対処は可能
それ以外の状況なら何をしても程度問題(しかも分が悪い)でしかない
>>93
それはホストやユーザーの認証の場合で、今回のクライアント(プログラム)が正規のものかを
判定する用途には使えない
0096デフォルトの名無しさん
2009/12/16(水) 17:26:210097デフォルトの名無しさん
2009/12/17(木) 01:56:21ラムダ式が先に実装されていれば匿名メソッドはいらなかったとMSが言っていたはずよ
つまり、delegate{〜}はobsolute扱いで。
0098デフォルトの名無しさん
2009/12/17(木) 04:29:11ラムダ式は() =>
って絶対つけないとダメだからちょっとかっこ悪い。
0099デフォルトの名無しさん
2009/12/17(木) 08:05:380100デフォルトの名無しさん
2009/12/17(木) 09:37:120101デフォルトの名無しさん
2009/12/17(木) 12:18:50感じで格好悪い
後で捨てることを前提に作られたように見える
0102デフォルトの名無しさん
2009/12/17(木) 13:00:110103デフォルトの名無しさん
2009/12/17(木) 13:29:55関連サイトなどもC++やGLを使っているのでどうしたらいいかわかりません。
どなたか教えてくれませんか?
0104デフォルトの名無しさん
2009/12/17(木) 13:46:410105デフォルトの名無しさん
2009/12/17(木) 14:09:26そのやり方がわからなくて困ってます
0106デフォルトの名無しさん
2009/12/17(木) 14:25:110107デフォルトの名無しさん
2009/12/17(木) 19:06:48そんなレベルでなんでC#に移植する必要があるんだよ
0108デフォルトの名無しさん
2009/12/17(木) 20:28:13C++での実装コードが理解できないなら,このスレの誰かがC#で書いてくれたとしても理解できるとは思えない
0109デフォルトの名無しさん
2009/12/17(木) 21:34:430110デフォルトの名無しさん
2009/12/17(木) 21:35:230111デフォルトの名無しさん
2009/12/17(木) 21:36:51うぅ・・・
0112デフォルトの名無しさん
2009/12/18(金) 02:38:37散乱すると面倒くさいので WaitAll/WaitAny 相当の待ちのシグナルが発生するWaitHandleを作ろうかと思っているのでずか
これってライブラリにそもそもなかったりしませんでしょうか?
探しているのですが、誰か知っていたら教えてください
0113デフォルトの名無しさん
2009/12/18(金) 04:10:160114デフォルトの名無しさん
2009/12/18(金) 04:34:08#using <System.Windows.Forms.dll>
はC#の参照設定→System(略)
とまったく同じ機能ですか?
0115デフォルトの名無しさん
2009/12/18(金) 07:10:45同じ。
ちなみに、C++/CLIでもC#同様VSのプロジェクトのプロパティから設定することも可能。
0116デフォルトの名無しさん
2009/12/18(金) 12:40:24dllの管理は直接コードに書き込めるC++/CLIのほうが便利だな
C#もコードに書き込めればいいのにな。
0117デフォルトの名無しさん
2009/12/18(金) 12:52:38プロジェクト構成によって参照するdllを変えたりできる
0118デフォルトの名無しさん
2009/12/18(金) 19:11:500119デフォルトの名無しさん
2009/12/18(金) 20:51:480120デフォルトの名無しさん
2009/12/18(金) 23:53:52ざっと調べたんですがこれはwinアプリケーションでは作成できないのですかね?
0121デフォルトの名無しさん
2009/12/18(金) 23:58:33> ASP.NET および Windows Forms Chart Controls を含む新しいアセンブリをインストールします。
0122デフォルトの名無しさん
2009/12/19(土) 09:39:00Samples Environment for Microsoft Chart Controls
http://code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591
に Windows Forms Samples がある。
0123デフォルトの名無しさん
2009/12/19(土) 09:56:13マウスカーソルの付近の画像が拡大されて表示されるコントロールとかってない?
やりたいこと
画像を横に並べて表示したいんだけど、視認性が確保できる画像サイズだとあまり多くの画像が一度に表示できないのをなんとかしたい。
0124デフォルトの名無しさん
2009/12/19(土) 10:10:44ペイントの縮小ウィンドウみたいなやつなら自作するしか無いだろう。
単にビットマップをDrawImageするだけだし、そんな簡単なものコントロール化
する奴は物好きと思われる。
0125デフォルトの名無しさん
2009/12/19(土) 10:30:23何か勘違いしてるだろ。
別にコントロールがあったとしてもおかしくはない。
ただし、WPFだったらほんと簡単にできたはず。
ってかよく見るだろ。
WindowsFormsではあまり向かないというか汎用化はしにくい。
0126デフォルトの名無しさん
2009/12/19(土) 10:33:01ttp://www.youtube.com/watch?v=anrNnk3Wwmg これの0:27くらいみたいからなイメージ
拡大鏡って言われるとそうな気がする。
確かになんかテキトウにPanelの上にPictureBoxガシガシ置いてMouseHoverかなんかででっかくするだけでいいような気がしてきた…
0127デフォルトの名無しさん
2009/12/19(土) 10:34:42mjd 実現できればなんでもいいわ
WPFって聞いたことしかないからちょっと調べてみるよ!
0128デフォルトの名無しさん
2009/12/19(土) 10:35:060129デフォルトの名無しさん
2009/12/19(土) 11:52:03さーせんなんか良い検索ワード教えてください…
みんな普通にWPFとC#組み合わせての開発とかできてんのかね?難しゲーだ
0130デフォルトの名無しさん
2009/12/19(土) 12:01:580131デフォルトの名無しさん
2009/12/19(土) 12:13:42このDLLで発生するイベントを拾う方法教えてください
DLLで定義されているメソッドを実行するところまでは出来たのですが
イベントを動的に関連付ける方法がわかりません
0132デフォルトの名無しさん
2009/12/19(土) 12:21:16あなたが神か
Codeplexで探せばよかったのかー ありがとー
0133デフォルトの名無しさん
2009/12/19(土) 12:39:46やったことは無いけど、eventのアクセサの
add_EventName(Delegate) などを使うのではないかな。
0134デフォルトの名無しさん
2009/12/19(土) 12:44:580135デフォルトの名無しさん
2009/12/19(土) 13:04:19Type::GetEvent
EventInfo::GetAddMethod
の順で取得したほうが良い。
0136デフォルトの名無しさん
2009/12/19(土) 14:20:190137デフォルトの名無しさん
2009/12/19(土) 14:50:340138デフォルトの名無しさん
2009/12/19(土) 17:26:440139131
2009/12/19(土) 21:57:14>135
>138
ありがとうございます。
EventInfoのAddHandler辺りを上手いこと使えば
出来そうな予感はしているのですが
いまいちよくわかりません。
MethodInfoも有り、ますます混乱してます。
0140デフォルトの名無しさん
2009/12/19(土) 22:00:37準備しておくのがセオリーだな。
インターフェイスにキャストしたあとは普通に使えるので便利。
0141デフォルトの名無しさん
2009/12/19(土) 22:27:42using System;
public class Foo {
public event EventHandler Do;
public void Fire() {
EventHandler eh = Do;
if (eh != null) eh(this, EventArgs.Empty);
}
}
0142デフォルトの名無しさん
2009/12/19(土) 22:29:56using System;
using System.Reflection;
public class Program {
static void Main() {
Type fooType = Assembly.LoadFrom("test1a.dll").GetType("Foo");
object foo = Activator.CreateInstance(fooType);
EventInfo einfo = fooType.GetEvent("Do");
MethodInfo minfo = fooType.GetMethod("Fire");
einfo.AddEventHandler(foo, new EventHandler(MyHandler));
minfo.Invoke(foo, null);
}
static void MyHandler(object sender, EventArgs e) {
Console.WriteLine("WTF !");
}
}
0143デフォルトの名無しさん
2009/12/20(日) 10:31:03C#で、基本文法を学習した後に読む本、
例えばCのプログラミング作法、C++のEffectiveC#やCording Standards、に該当するような
コーディングのスタイルスタンダードや、べからず集、などで勉強になる良書でお勧めがあったら教えてください。
よろしくお願いしますm(_ _)m
0144デフォルトの名無しさん
2009/12/20(日) 10:34:10C++のEffectiveC++の間違いです
0145デフォルトの名無しさん
2009/12/20(日) 10:36:330146デフォルトの名無しさん
2009/12/20(日) 11:15:41Effective C#は 最近翻訳版が出たんじゃなかったかな?
中まだ見てないけど。
0147デフォルトの名無しさん
2009/12/20(日) 14:42:460148デフォルトの名無しさん
2009/12/20(日) 15:09:35デリゲートもDLLで定義されている場合はもう少しめんどくさくなる。
-- test1a.cs
:
public delegate void FooHandler(object sender, EventArgs e);
public class Foo {
:
-- test1.cs
Type fooType = asm.GetType("Foo");
Type fooHandlerType = asm.GetType("FooHandler");
object foo = Activator.CreateInstance(fooType);
Delegate fooHandler = Delegate.CreateDelegate(fooHandlerType, typeof(Program), "MyHandler");
EventInfo einfo = fooType.GetEvent("Do");
MethodInfo minfo = fooType.GetMethod("Fire");
einfo.AddEventHandler(foo, fooHandler);
minfo.Invoke(foo, null);
MyHandlerがインスタンスメソッドの場合はthisが必要になる。
Delegate fooHandler = Delegate.CreateDelegate(fooHandlerType, typeof(Program), this, "MyHandler");
0149デフォルトの名無しさん
2009/12/20(日) 18:21:02出たな
なぜかMore〜の方が先に出たw
0150デフォルトの名無しさん
2009/12/20(日) 18:57:070151デフォルトの名無しさん
2009/12/20(日) 19:40:050152デフォルトの名無しさん
2009/12/21(月) 11:20:120153デフォルトの名無しさん
2009/12/22(火) 11:19:340154デフォルトの名無しさん
2009/12/22(火) 13:06:000155デフォルトの名無しさん
2009/12/22(火) 13:22:250156デフォルトの名無しさん
2009/12/22(火) 13:35:100157デフォルトの名無しさん
2009/12/22(火) 17:43:520158131
2009/12/22(火) 22:46:10それは意味無いですね
>141
>142
>148
皆様ありがとうございます。
試して後日結果を書きますね。
0159デフォルトの名無しさん
2009/12/23(水) 18:01:19うっほうっほ!
0160デフォルトの名無しさん
2009/12/24(木) 00:11:45デリゲートや
オーナードローや
オーバーライドの意味は絶対に知っておかなきゃ話にならないですか?
0161デフォルトの名無しさん
2009/12/24(木) 00:14:46それではじめてスタートライン
0162デフォルトの名無しさん
2009/12/24(木) 00:24:40つ マ板
0163デフォルトの名無しさん
2009/12/24(木) 00:24:40そんな奴がいたとしたら年収数千万クラスだわ
本もたくさん書いてることだろう
国内の本みれば国内のエンジニアのレベルがわかるでしょ
0164デフォルトの名無しさん
2009/12/24(木) 00:27:24絶対無理だね
0165デフォルトの名無しさん
2009/12/24(木) 00:32:38もうほんのちょっとだけ勉強すれば世界がかわるのに
0166デフォルトの名無しさん
2009/12/24(木) 00:52:56もうすこしサンプル読んで見たいのですが、お勧めのサンプルコードありませんか?
0167デフォルトの名無しさん
2009/12/24(木) 01:11:50ちなみに父ちゃんは、コボラーから独学でCを身に付けて開業し、今は月収100万くらい。
0168デフォルトの名無しさん
2009/12/24(木) 01:14:230169デフォルトの名無しさん
2009/12/24(木) 01:40:00新技術の学習をやめてる時点で先が無い
0170デフォルトの名無しさん
2009/12/24(木) 02:29:23デリゲーション(委譲)ってのがあるが
それも知らないんだろうか。
まぁオブジェクト指向なんてすでに関数型使いこなせるヒトには大して重要じゃないし。
0171デフォルトの名無しさん
2009/12/24(木) 04:35:04それプログラマとしてじゃないよね?
0172デフォルトの名無しさん
2009/12/24(木) 09:26:17Cプログラマなら、関数ポインタの使い方を知っていれば、デリゲートの概念は知ってるのでOK。
0173デフォルトの名無しさん
2009/12/24(木) 10:18:06話しかけないでくれ
0174デフォルトの名無しさん
2009/12/24(木) 10:33:270175デフォルトの名無しさん
2009/12/24(木) 10:39:130176デフォルトの名無しさん
2009/12/24(木) 10:46:44そっか? Cの関数ポインタ型の抽象化といっていいんじゃないか。実装は、全然違うけど。
0177デフォルトの名無しさん
2009/12/24(木) 11:10:05メソッドを無理やりオブジェクトのように扱うための手法を
言語に取り込んで関数ポインタっぽくしたものだな
0178デフォルトの名無しさん
2009/12/24(木) 15:25:55一度C++でクラスメンバーへの関数ポインタを扱ってみるといい。
めんどくせーから。
0179デフォルトの名無しさん
2009/12/24(木) 15:39:310180デフォルトの名無しさん
2009/12/24(木) 16:04:460181デフォルトの名無しさん
2009/12/24(木) 16:10:190182デフォルトの名無しさん
2009/12/24(木) 20:26:26そのときプラグインのメソッドは制限ゾーンで動かしたいと思っています。
そのときに、これ
[PermissionSet(SecurityAction.PermitOnly, Name = "Nothing")]
public void func() { ...
と同等の状態で動かしたいのですが、
MethodInfo.Invokeで呼び出す前に制限状態にするとInvokeに失敗してしまいます。
プラグイン側は第3者が作るので属性をつけることを強制できません。
なにか良い方法はないでしょうか。
0183デフォルトの名無しさん
2009/12/24(木) 22:55:220184デフォルトの名無しさん
2009/12/24(木) 23:01:070185デフォルトの名無しさん
2009/12/24(木) 23:15:00インターフェイスか基底クラスにしといて、そこで定義したメソッドを
SecurityAction.PermitOnly状態から呼び出したらいけるんでないの?
0186デフォルトの名無しさん
2009/12/24(木) 23:20:160187デフォルトの名無しさん
2009/12/24(木) 23:53:240188デフォルトの名無しさん
2009/12/25(金) 08:14:40"このスレ".Dispose();
0189デフォルトの名無しさん
2009/12/25(金) 09:39:15using このスレ;
0190デフォルトの名無しさん
2009/12/25(金) 09:46:290191デフォルトの名無しさん
2009/12/25(金) 11:10:51DShowNETというのがあるようですが、VistaやWin7にも対応したいです。
どんな方法があるでしょうか。
0192デフォルトの名無しさん
2009/12/25(金) 11:17:420193デフォルトの名無しさん
2009/12/25(金) 11:47:24それやったことあるけど面倒だったわw。
確かに面倒だったね。
0194デフォルトの名無しさん
2009/12/25(金) 12:02:49DShowNETでOK
0195デフォルトの名無しさん
2009/12/25(金) 12:44:46やだぷーw。
0196デフォルトの名無しさん
2009/12/25(金) 12:58:100197デフォルトの名無しさん
2009/12/25(金) 13:36:41AudioVideoだっけ?ちょっと忘れたが・・・
0198デフォルトの名無しさん
2009/12/25(金) 13:54:030199デフォルトの名無しさん
2009/12/25(金) 13:58:17それヌルポ例外
0200デフォルトの名無しさん
2009/12/25(金) 14:06:360201デフォルトの名無しさん
2009/12/25(金) 14:14:050202191
2009/12/25(金) 14:33:58DShowNetが使えないって聞いたんだけど
ガセネタ?
0203デフォルトの名無しさん
2009/12/25(金) 14:37:590204デフォルトの名無しさん
2009/12/25(金) 15:13:53ヌルリじゃね?
0205デフォルトの名無しさん
2009/12/25(金) 15:17:46ノーリアクションException だな
0206191
2009/12/25(金) 15:54:43そうなんだ。ありがとう。
誤:VistaってDirectShowがDirectXが外れて
誤:VistaってDirectShowがDirectXから外れて
0207デフォルトの名無しさん
2009/12/25(金) 16:19:580208デフォルトの名無しさん
2009/12/25(金) 17:00:440209デフォルトの名無しさん
2009/12/25(金) 19:24:540210デフォルトの名無しさん
2009/12/25(金) 23:34:07使えるジェネリッククラスを書いたら便利かな、とふと思ったんだけど、
これは馬鹿げた発想だろうか?
それとも割とありふれた考え方?
もし同じようなことをやってる人がいたら、参考までにどんなクラス名にしてるか
教えてくれるとありがたい。
0211デフォルトの名無しさん
2009/12/25(金) 23:45:41どうしてもってんなら拡張メソッド書いとけ
0212デフォルトの名無しさん
2009/12/26(土) 00:06:21どういうときに役にたつのかわからんちん
0213デフォルトの名無しさん
2009/12/26(土) 00:34:02拡張メソッドで充分だろ。
0214デフォルトの名無しさん
2009/12/26(土) 00:36:07同じようなことをやっている人: Microsoft
クラス名: Enumerable (名前空間: System.Linq)
0215デフォルトの名無しさん
2009/12/26(土) 00:46:260216デフォルトの名無しさん
2009/12/26(土) 00:46:300217デフォルトの名無しさん
2009/12/26(土) 00:49:000218デフォルトの名無しさん
2009/12/26(土) 00:52:54ただ、車輪の再発明は馬鹿げている。
0219デフォルトの名無しさん
2009/12/26(土) 01:58:54だから自分で再発明するしかなくなる。
0220デフォルトの名無しさん
2009/12/26(土) 02:02:56発明の追体験
は意味があると思うんだけどな。
何でもかんでも車輪の再発明というのはどうかと思う。
0221デフォルトの名無しさん
2009/12/26(土) 02:04:48再構築とかの方がしっくりくる
0222デフォルトの名無しさん
2009/12/26(土) 02:10:280223デフォルトの名無しさん
2009/12/26(土) 02:17:09使いやすいように一から作り直すのは悪いことではない。
別にそれは再発明ではなく、ただの理論の整理だし、
たまにはそれくらいしないとより良い物は作れない。
というか、あるものは必ず使えという考えしか持てないのは大問題。
0224デフォルトの名無しさん
2009/12/26(土) 11:37:05作りなおした方がはやいかなんてその時その時で結構違うよね。
んで往々にして後者を選んで自爆する人が多いから
車輪の再発明はやめておけって昔から言われてるんだろうと思うよ。
基本前者のスタンスでいてどうしても必要なら後者、がいいんだと思う。
ただ車輪の再開発って楽しいんだよねぇ。
俺の設計/実装の方が綺麗!!!俺のネーミングセンスいかしてる!!!0.01%速くなったぜ!!!
みたいな。
0225デフォルトの名無しさん
2009/12/26(土) 11:39:20作っちまえって流れの車輪の再構築はダメなパターンだと思う。
あとマの習性としてどっか心の底で自分の方がうまくやれるって思ってる部分があるから
作り直したくなるんだろうなーとは思うなぁ。
0226デフォルトの名無しさん
2009/12/26(土) 13:34:07成果物が評価されるかどうかの話。
0227デフォルトの名無しさん
2009/12/26(土) 19:06:59そのときの更新した時点のTimeスタンプとして、System.Environment.TickCountをつかってもよろし?パフォーマンス的にとか言う意味で。
具体的にやりたいことは、UIElementTreeのようなものがあって、上の階層の座標やスケーリングが変更されたときはそれより下のものはパネル上の絶対座標が変わることになる。
各Elementは自分自身のパネル上での絶対座標を計算しておきキャッシュしておき上のものの座標などが変わらない限りそれを使い続けたい。
とりあえずその辺のアーキテクチャは置いといてタイムスタンプとしての使用に望ましい高速な経過時間に類するものがわかるものがしりたいです。
0228デフォルトの名無しさん
2009/12/26(土) 19:48:26それ本当にパフォーマンスを考慮する必要があるの?
そういう風に聞こえない。ただの杞憂じゃないの?
端的に言ってその「タイムスタンプの取得」、n万回/secとかで行われるわけじゃないでしょ?
だったらどこにパフォーマンスを気にする必要があるの?
0229デフォルトの名無しさん
2009/12/26(土) 20:07:35わかんないなら答えなくてもいいんだよ?
0230デフォルトの名無しさん
2009/12/26(土) 20:12:000231デフォルトの名無しさん
2009/12/26(土) 20:18:340232デフォルトの名無しさん
2009/12/26(土) 20:31:330233デフォルトの名無しさん
2009/12/26(土) 22:44:500234デフォルトの名無しさん
2009/12/26(土) 23:08:08もちろん精度は例によってデフォルト15msくらいだからそこが注意だな。
DateTime.NowやUtcNowは遅い。UtcNowは比較的速いが。精度はTickCountと同レベル
Stopwatchはもっと遅い。ただし精度ははるかに高い。
0235デフォルトの名無しさん
2009/12/26(土) 23:51:28>>234
一日遅れのプレゼントが来ましたよ
0236デフォルトの名無しさん
2009/12/27(日) 00:39:17WebBrowserのActiveXInstanceプロパティを SHDocVw.ShellBrowserWindow
でキャストして、その Document プロパティを ShellFolderView として使い、
VerbInvoked イベントなどで何かの実行をイベントとしてモニターすることを
やってみました。
その際、VerbInvoked の戻り値を true にして返しているのですが、なぜか
なんの実行もしてくれません(コンテキストメニューでCopyを選ぶとこの
VerbInvoked イベントは立つのですが「貼り付け」のメニュー項目が現れて
くれません)。何か注意すべきことがあるでしょうか?
それと、VerbInvoked によって、コンテキストメニュー上の何の処理を実行
しようとしたのかを知る方法はあるでしょうか?これも知りたいのですが、
方法がわかりません。よろしくお願いします。
0237デフォルトの名無しさん
2009/12/27(日) 12:11:24いい方法やクラスをお知りの方がいましたら、ご教授おねがいします。
0238デフォルトの名無しさん
2009/12/27(日) 12:15:190239デフォルトの名無しさん
2009/12/27(日) 12:24:13両方で相談するしかないじゃん。
0240デフォルトの名無しさん
2009/12/27(日) 12:25:27「じゃん」じゃねーよ。
0241デフォルトの名無しさん
2009/12/27(日) 12:27:360242デフォルトの名無しさん
2009/12/27(日) 12:32:160243デフォルトの名無しさん
2009/12/27(日) 12:35:500244デフォルトの名無しさん
2009/12/27(日) 12:46:37初心者バーカ^^
0245デフォルトの名無しさん
2009/12/27(日) 12:52:370246227
2009/12/27(日) 12:56:39サンタさん、ありがとう。
今回は精度はそれほど重要でないので高速であれば十分です。
もしかしたら、速度も精度もPerformanceCounterからみのほうがよいのかもしれませんが、あのへんはよくわかってないです・・・
0247デフォルトの名無しさん
2009/12/27(日) 12:58:51VerbInvoked を検知してしまうと何も実行しない、というのは
一体何が原因なのか知りたく、みなさんのところではこういうことは
ないですか?
0248デフォルトの名無しさん
2009/12/27(日) 13:00:31パフォーマンスカウンタはStopwatchと同じだよ。
一番遅い。
0249デフォルトの名無しさん
2009/12/27(日) 13:03:11もっといいのあるんだろ
0250デフォルトの名無しさん
2009/12/27(日) 13:06:15っていうか、だからそんなワーストケースでもせいぜい数秒に一回程度しか
実行されないような処理のパフォーマンスを気にして意味あるのかよ
0251デフォルトの名無しさん
2009/12/27(日) 13:09:37っていうのはら話も分かるけど、普通に考えてタイマーがカウントしてるカウンターの
値を読み取ることそれ自体はただの同期読み取りに過ぎないわけで、
こんなものがそんなに重い処理になる道理がないだろうよ。
0252デフォルトの名無しさん
2009/12/27(日) 13:14:220253デフォルトの名無しさん
2009/12/27(日) 13:21:43Axの方を使ってみたら?
0254236
2009/12/27(日) 13:37:41WebBrowserなためかもしれないと。わかりました。
>Axの方を使ってみたら?
直接COMの方を使うと。わかりました。やってみます。
0255デフォルトの名無しさん
2009/12/27(日) 13:39:570256デフォルトの名無しさん
2009/12/27(日) 13:40:37( ´∀`)初心者バーカ
0257デフォルトの名無しさん
2009/12/27(日) 14:10:43mcisendstring
0258デフォルトの名無しさん
2009/12/27(日) 14:59:10素人は黙ってろ
0259デフォルトの名無しさん
2009/12/27(日) 15:10:440260デフォルトの名無しさん
2009/12/27(日) 15:14:020261デフォルトの名無しさん
2009/12/27(日) 15:17:46ところでなんでQueryPerformanceCounterはあんな遅いの?
0262デフォルトの名無しさん
2009/12/27(日) 15:19:520263デフォルトの名無しさん
2009/12/27(日) 15:29:11良くても一つしか挙げないし、大抵は発狂するんだよね。
>>262
どう見たの?
0264デフォルトの名無しさん
2009/12/27(日) 15:34:230265デフォルトの名無しさん
2009/12/27(日) 15:35:440266227
2009/12/27(日) 15:43:44ありです。
>250
ピーク時は一秒間に数百回コールされる可能性あるので。
0267デフォルトの名無しさん
2009/12/27(日) 15:51:11掛かる時間とかCPU負荷とか調べてみりゃいいじゃん
0268デフォルトの名無しさん
2009/12/27(日) 16:01:11最大限見積もっても1,000回/sec程度の頻度の読み出しでパフォーマンスを気にする
必要があるほど重い処理とは思えないけどね。
0269227
2009/12/27(日) 16:05:51もともとはTickCountのほかに何かいい方法があるかという趣旨の質問です。
>268
1ミリせく違うだけでも一秒の違い生じますが。
0270デフォルトの名無しさん
2009/12/27(日) 16:09:520271デフォルトの名無しさん
2009/12/27(日) 16:10:09msオーダーの時間が掛かるわけないでしょw
恐らく10nsかかんないよ。
10のマイナス6乗見積もる時間が間違ってる。
0272デフォルトの名無しさん
2009/12/27(日) 16:14:02順番だけが重要なんじゃないか?
0273デフォルトの名無しさん
2009/12/27(日) 16:43:3010nsって面白い冗談だ。
メモリアクセスですら何倍もかかるというのに
0274デフォルトの名無しさん
2009/12/27(日) 16:45:18QueryPerformanceCounterになるとマイクロ秒以上かかる。
0275デフォルトの名無しさん
2009/12/27(日) 16:48:17キャッシュとかを実装しようとすると気になる話ではあるよ。
TickCountは精度は悪いが速いってこと以外に
値が32ビットに収まるって利点と欠点がある。
0276デフォルトの名無しさん
2009/12/27(日) 16:52:20マイクロ秒なんで膨大なオーバーヘッドだ。
0277デフォルトの名無しさん
2009/12/27(日) 17:09:320278デフォルトの名無しさん
2009/12/27(日) 17:54:41なんか通じてない奴が数人いるようなw
0279デフォルトの名無しさん
2009/12/27(日) 18:01:14Interlocked..Incrementでカウントアップしたほうが早いんじゃないかな。
0280デフォルトの名無しさん
2009/12/27(日) 18:07:35まあ平均ってのも曖昧な値だけどな。
0281デフォルトの名無しさん
2009/12/27(日) 18:17:32なんでインタロックなんだよ。
元の話は明らかにスレッドセーフではない前提なのに。
大体インタロック使ったらTickCountより遅くなるかも知れんぞ。
0282デフォルトの名無しさん
2009/12/27(日) 18:21:59時間を書いてるのは明らかに平均だよな、平均でしか測定不能だし。
10nsへの突っ込みに噛みついてるのかな?
特に元の話でなら呼び出し頻度は低い前提だから、
どっちにしてもメモリアクセスより速い訳がないな。
0283デフォルトの名無しさん
2009/12/27(日) 18:24:11どれが早いと言う話は方がついている。それで遅いならお前の実装が悪い。
0284デフォルトの名無しさん
2009/12/27(日) 18:30:30ひょっとするとたくさん同時使う可能性もあるとき、
組み込みのメモリストリームだとエラーになるリスクが大きい。
断片化を避けるために例えばチャンクわけして小さめの配列のコレクションを持つメモリストリームを作ったりとか
いろいろ考えるんだが、他にいい方法はあるだろうか?
サイズが一定のしきい値をこえたら、テンポラリ指定の実質オンメモリファイルを作成するのはどうかなと考えたんだけど、どう思う?
0285デフォルトの名無しさん
2009/12/27(日) 18:36:59パフォーマンスオーバーヘッドは大きいとしてもメモリ的にはかなり上限を増やせる気がするんだ。
64ビットOSならそんなことあまり気にしなくてもいいんだろうけど。
0286デフォルトの名無しさん
2009/12/27(日) 19:09:49Interlock系はCASなんじゃないの?確認はしてないけど。
0287デフォルトの名無しさん
2009/12/27(日) 19:28:29計算処理がとても重くPCがすごく重くなってしまいます
一瞬で答えが欲しいタイプのものではないので
バックグラウンドでまわしっぱなしで放置する
といった使い方をしたいのですが
0288デフォルトの名無しさん
2009/12/27(日) 19:33:320289デフォルトの名無しさん
2009/12/27(日) 19:35:080290デフォルトの名無しさん
2009/12/27(日) 19:37:130291デフォルトの名無しさん
2009/12/27(日) 19:38:44>Process.PriorityClassね
何の効果もないわな。
0292デフォルトの名無しさん
2009/12/27(日) 19:39:050293デフォルトの名無しさん
2009/12/27(日) 19:40:29何が言いたいのか分からんが、CASだからなんなんだ?
そもそも(最初の話での用途的には)CASの必要がないだろって話だろ?
0294デフォルトの名無しさん
2009/12/27(日) 19:42:31だからCPUがアイドルなら優先度が低かろうがCPUは実質100%割り当てられる。
まあ最近のCPUはそもそもマルチコアが普通だから、結局25とか50になるけど。
0295デフォルトの名無しさん
2009/12/27(日) 19:44:19動画再生がスムーズに行かないって時にプライオリティ設定は覿面
メモリを制約するのは知らないなぁ
0296デフォルトの名無しさん
2009/12/27(日) 19:44:25> 一瞬で答えが欲しいタイプのものではないので
> バックグラウンドでまわしっぱなしで放置する
> といった使い方をしたいのですが
ちゃんとここも読もうね
質問者が何を求めてるかちゃーんと理解しないとだめだよ!エヘ!
0297デフォルトの名無しさん
2009/12/27(日) 19:46:450298デフォルトの名無しさん
2009/12/27(日) 19:48:050299デフォルトの名無しさん
2009/12/27(日) 19:49:42最初の話は>>227だろどう読んだら
>元の話は明らかにスレッドセーフではない前提なのに。
なんだ?
>大体インタロック使ったらTickCountより遅くなるかも知れんぞ。
CASなら競合が無い限りAPI呼び出すより速いだろ。
タイムスタンプの変わりに世代をあらわす整数で十分という前提なら、
この方はどうかということを言ってるのだが。
0300デフォルトの名無しさん
2009/12/27(日) 20:05:55Interlocked.Increment:00:00:01.3034899
Environment.TickCount:00:00:00.3905401
0301デフォルトの名無しさん
2009/12/27(日) 20:08:13ま連チャン呼び出しなので、TickCountは実質キャッシュ読み取りだな、APIはコールしてても。
0302デフォルトの名無しさん
2009/12/27(日) 20:09:09IT土方ってパチンカスみたいに頭やられてる奴しかいないのかね。
0303デフォルトの名無しさん
2009/12/27(日) 20:10:35Interlockedはシングルなら多分もっと速いだろうが、そんな前提はあまりよろしくはないな。
0304デフォルトの名無しさん
2009/12/27(日) 20:11:09調査ご苦労さん
0305デフォルトの名無しさん
2009/12/27(日) 20:14:06圧倒的な差じゃないか
0306デフォルトの名無しさん
2009/12/27(日) 20:27:360307デフォルトの名無しさん
2009/12/27(日) 20:32:29こっちは遅いので1000万回で。
DateTime.Now:00:00:02.2796051
DateTime.UtcNow:00:00:00.1485831
Stopwatch.GetTimestamp:00:00:06.9976666
※Stopwatch.GetTimestampはつまりQueryPerformanceCounterね
0308デフォルトの名無しさん
2009/12/27(日) 20:32:34結局は議論より実測してみるのが一番だな。
0309デフォルトの名無しさん
2009/12/27(日) 20:32:380310デフォルトの名無しさん
2009/12/27(日) 20:33:29Interlocked厨涙目wwwwwwwwwwwwwwwwwww
0311デフォルトの名無しさん
2009/12/27(日) 20:34:480312デフォルトの名無しさん
2009/12/27(日) 20:36:49体感上全く差が無いレベルだけどな
0313デフォルトの名無しさん
2009/12/27(日) 20:37:22Interlocked.Increment:13ns
Environment.TickCount:4ns
DateTime.Now:228ns
DateTime.UtcNow:15ns
Stopwatch.GetTimestamp:700ns
てところか。
0314デフォルトの名無しさん
2009/12/27(日) 20:38:50ハードウエアから読み取るタイミングおよびキャッシュされてない前提での話だったじゃん。
この調査はほぼキャッシュ読み取りなんだから速いのは当たり前。
0315デフォルトの名無しさん
2009/12/27(日) 20:41:09>>234
が実証されたわけだ。
0316デフォルトの名無しさん
2009/12/27(日) 20:42:400317デフォルトの名無しさん
2009/12/27(日) 20:47:33>>313
Interlocked厨だが、そこそこ検討してて安心したよ
0318デフォルトの名無しさん
2009/12/27(日) 20:50:51キャッシュってのが何のことを言ってるのかわからないけど、
Environment.TickCountの値はシステムで一つだから、もともとその処理には
HWからの読み取りなんて入ってないと想像する。
っていうか、PCのアーキテクチャ詳しいわけじゃないけど、
もともと高精度のHWタイマは必ずしも持ってないんじゃないの?
持ってるのなら巷間いわれてるような「計測精度を上げるとPCへの負荷が変わる」
なんて現象は起こらないはず。
もしそんなことが本当に怒るとすれば、それはタイマ割り込みでSWでタイマを
実装してるからだろう。
0319デフォルトの名無しさん
2009/12/27(日) 20:52:020320デフォルトの名無しさん
2009/12/27(日) 20:54:45いや俺も知らないんだけどね。
0321デフォルトの名無しさん
2009/12/27(日) 20:55:550322デフォルトの名無しさん
2009/12/27(日) 20:57:370323デフォルトの名無しさん
2009/12/27(日) 20:58:560324デフォルトの名無しさん
2009/12/27(日) 21:08:42だから、持ってるとしてそれをシステムが使ってるのなら、
アプリレベルではないのと一緒でしょ。
0325デフォルトの名無しさん
2009/12/27(日) 21:10:19z80だったかDRAMのリフレッシュ用のレジスターがあって
ゲームの乱数に使っていた遠い記憶が・・・(笑
0326デフォルトの名無しさん
2009/12/27(日) 21:11:424コアだと多分さらに倍は遅いぜ。
0327デフォルトの名無しさん
2009/12/27(日) 21:13:53はらたいらも真っ青
#endregion
0328デフォルトの名無しさん
2009/12/27(日) 21:28:18どぞ
0329デフォルトの名無しさん
2009/12/27(日) 21:44:540330デフォルトの名無しさん
2009/12/27(日) 21:47:07Stopwatch.GetTimestampが内部で使っている可能性はある。
たぶん、今時のハードウェアならHPETを使っているのだと思うけど。
Stopwatch.GetTimestampはネイティブのQueryPerformanceCounterに対応するとされる。
http://msdn.microsoft.com/ja-jp/library/system.diagnostics.stopwatch(loband).aspx
QueryPerformanceCounterはRDTSCまたはもっとましな手段を使うという話がある。
http://msdn.microsoft.com/ja-jp/library/bb173458(loband).aspx
0331デフォルトの名無しさん
2009/12/27(日) 21:58:17なるほど、奥が深いな・・・
0332デフォルトの名無しさん
2009/12/27(日) 22:24:38酸素が薄くなってきましたね・・・
0333デフォルトの名無しさん
2009/12/27(日) 22:36:08bool succeeded = SafeNativeMethods.QueryPerformanceFrequency(out Frequency);
if(!succeeded) {
IsHighResolution = false;
Frequency = TicksPerSecond;
tickFrequency = 1;
}
else {
IsHighResolution = true;
tickFrequency = TicksPerSecond;
tickFrequency /= Frequency;
}
}
public void Start() {
if(!isRunning) {
startTimeStamp = GetTimestamp();
isRunning = true;
}
}
public static long GetTimestamp() {
if(IsHighResolution) {
long timestamp = 0;
SafeNativeMethods.QueryPerformanceCounter(out timestamp);
return timestamp;
}
else {
return DateTime.UtcNow.Ticks;
}
}
0334デフォルトの名無しさん
2009/12/27(日) 22:40:430335デフォルトの名無しさん
2009/12/27(日) 22:50:52TickCountは単位としては1/1000秒、精度的には1/100秒程度だろ。
この例では1億回の実行中に39種類しかtickを返してないわけだ。
ちとずるいな。
0336デフォルトの名無しさん
2009/12/27(日) 22:53:160337デフォルトの名無しさん
2009/12/27(日) 22:54:160338デフォルトの名無しさん
2009/12/27(日) 22:59:09突っ込まれたら答えられない程度の理解の人が
急いで先回りで釘刺すみたいな反応しなくても。
0339デフォルトの名無しさん
2009/12/27(日) 23:00:430340デフォルトの名無しさん
2009/12/27(日) 23:03:29微細なキャッシュ処理をしてるのに、
タイムスタンプが荒すぎるんじゃないのかと。
0341デフォルトの名無しさん
2009/12/27(日) 23:08:06そんなに粗いとは思わないがな。
0342デフォルトの名無しさん
2009/12/27(日) 23:09:26たぶんロジックを考え直せばシリアルをつけていけばすむ。
0343デフォルトの名無しさん
2009/12/27(日) 23:13:01だから「そういう問題なのか?」って言ったのに。
死ね土方。
0344デフォルトの名無しさん
2009/12/27(日) 23:14:070345デフォルトの名無しさん
2009/12/27(日) 23:15:400346デフォルトの名無しさん
2009/12/27(日) 23:17:010347デフォルトの名無しさん
2009/12/27(日) 23:21:540348デフォルトの名無しさん
2009/12/27(日) 23:22:450349デフォルトの名無しさん
2009/12/27(日) 23:28:350350デフォルトの名無しさん
2009/12/27(日) 23:28:46Google検索とか膨大なデータベースの割に一瞬で検索できますよね?
どういう仕組みなんでしょうか
0351デフォルトの名無しさん
2009/12/27(日) 23:31:44Googleはアルゴリズムはもとよりバックボーンが凄いんだと思う。
MapReduceとかもそのバックボーンがあってこその仕組みだし。
テキスト全文検索ならwikipediaにまとめがあるからそっからたどるといいよ
http://ja.wikipedia.org/wiki/%E5%85%A8%E6%96%87%E6%A4%9C%E7%B4%A2
0352デフォルトの名無しさん
2009/12/27(日) 23:32:05Google検索に関しては
あらかじめ分類して結果をキャッシュしておく。
最新のデータを使わずキャッシュを使う。
正確さを求めない。
なので勘定系のDBでこういう手法はご法度。
0353デフォルトの名無しさん
2009/12/27(日) 23:33:31最近のDBはそういう全文検索機能まで付いてるのもあるんじゃなかったっけ?
0354デフォルトの名無しさん
2009/12/27(日) 23:35:300355デフォルトの名無しさん
2009/12/27(日) 23:41:49ずるいっちゃずるいんだけどさ、最初からそういう話で
今さらそこを突っ込まれても困る。
0356デフォルトの名無しさん
2009/12/27(日) 23:45:19って疑問が出たとして計測したらintのが速かったとして
そこで、intはビット数半分だろ?ちとずるいな
って言われても困るんだ。
0357デフォルトの名無しさん
2009/12/27(日) 23:56:230358デフォルトの名無しさん
2009/12/28(月) 00:23:380359デフォルトの名無しさん
2009/12/28(月) 00:29:060360デフォルトの名無しさん
2009/12/28(月) 00:38:240361デフォルトの名無しさん
2009/12/28(月) 00:55:020362デフォルトの名無しさん
2009/12/28(月) 00:55:480363デフォルトの名無しさん
2009/12/28(月) 00:56:13精度(precision)はどうでもいいけど分解能(resolution)はかなり重要
で、それぞれの(公称の)分解能は
Environment.TickCount: 500ms
DateTime.UtcNow: 10ms
Stopwatch.GetTimestamp: H/W性能に依存
>>266によると「ピーク時は一秒間に数百回コールされる」とのこと
簡単のため500Hzとすると周期は2msで、あきらかに前2者は不十分
0364デフォルトの名無しさん
2009/12/28(月) 01:00:04まあこれは実態に合ってない数値だけどな。
それはおいといて、更新を確実に確認したいなら素直にカウントにするべきだわな。
0365デフォルトの名無しさん
2009/12/28(月) 01:01:280366デフォルトの名無しさん
2009/12/28(月) 01:05:000367デフォルトの名無しさん
2009/12/28(月) 01:09:28どうでもいいことに突っ込んで悪いけど、計測において「精度」と対比されるのは
「確度」じゃないの?
その分解能って精度とどう違うのよ?
というより、それって精度そのものじゃん。
0368デフォルトの名無しさん
2009/12/28(月) 01:21:03最小測定単位のことを言いたいんだろうってのは分かるけどね。
ただ、>>363に出てくる測定値の「誤差」ってのは、計測器そのものの
量子化誤差によるものというより、測定器を操作する側(つまりソフト)の
問題に起因する誤差だから、「分解能」ってのは概念的にしか意味を持たないよね。
0369デフォルトの名無しさん
2009/12/28(月) 01:21:500370デフォルトの名無しさん
2009/12/28(月) 01:45:53いや、同一スレッドで(Interlocked使わずに)インクリメント&取得をする方がベター
0371デフォルトの名無しさん
2009/12/28(月) 01:54:280372デフォルトの名無しさん
2009/12/28(月) 02:00:20不特定のスレッドから勝手に情報が書き換えられるイメージで、
上層の管理スレッドが下層のエレメントの様子を見て
変更があればそれに応じた処理をするのだと思うけど。
そうなると変更があったことを示すシーケンスを作る出すのが
同一スレッドというわけにはいかない。
0373デフォルトの名無しさん
2009/12/28(月) 02:28:52>上層の管理スレッドが下層のエレメントの様子を見て
>変更があればそれに応じた処理をするのだと思うけど。
こんなことを別スレッドで監視する馬鹿はいない。
0374デフォルトの名無しさん
2009/12/28(月) 02:34:02こういうバージョンカウンタはスレッドセーフでなくてもよい場合もある。
0375デフォルトの名無しさん
2009/12/28(月) 02:35:10よくある話ではある。
0376デフォルトの名無しさん
2009/12/28(月) 02:44:20変更があったら即書き換える。
0377デフォルトの名無しさん
2009/12/28(月) 02:58:19できなくはないだろうけがしんどいのと違うかなぁ。
>ピーク時は一秒間に数百回コールされる可能性あるので。
0378デフォルトの名無しさん
2009/12/28(月) 03:16:13分散処理
0379デフォルトの名無しさん
2009/12/28(月) 07:20:380380デフォルトの名無しさん
2009/12/28(月) 07:43:120381デフォルトの名無しさん
2009/12/28(月) 07:47:120382227
2009/12/28(月) 08:06:38基本的にユーザーの操作によって位置などが変えられる可能性があり、描画時に上の階層の更新時刻?をすべて舐めて更新されてたら絶対座標などの再計算を行うというものなので
後からの呼び出しが同時刻もしくはそれ以降であることが保障されるなら精度は数百ミリセクでも足ります。
計算してくれた人ありです。その時間なら問題なかです。
そもそもの更新時刻?みて再計算がやり方として正しいのかわからんですがとりあえず実装してみまふ。すくなくとも今の毎回上から全計算しながら下るよりは速いと願いたいw
0383デフォルトの名無しさん
2009/12/28(月) 10:33:58とちゅうでついていけなくなった。
0384デフォルトの名無しさん
2009/12/28(月) 10:50:53それって、ただのカウンタでいいってことじゃない。
0385デフォルトの名無しさん
2009/12/28(月) 10:54:150386デフォルトの名無しさん
2009/12/28(月) 11:58:050387デフォルトの名無しさん
2009/12/28(月) 12:07:00誰に言ってるのか何が言いたいのか分からん
0388デフォルトの名無しさん
2009/12/28(月) 12:09:59最もその前に更新自体が複数スレッドから正常に行えるか確認いるけどな。
0389デフォルトの名無しさん
2009/12/28(月) 12:15:130390デフォルトの名無しさん
2009/12/28(月) 12:17:30キャッシュするなら、全キャッシュの一発無効化が出来るプラグや更新バージョンを使わんと、
結局全親のトラバースが必要なので大して効果ないと思う。
何せ計算自体の負荷が小さいだろうから。
計算が結構重いなら効果あるだろうけど。
0391デフォルトの名無しさん
2009/12/28(月) 12:21:59でも、キャッシュの無効化のための更新バージョンなんてのは、それでも実質的にうまく動く。
考えて見たら分かるよ。
更新が競合しない場合→当然問題なし
更新が競合する場合→結果として必ず誰かが1回は更新することになるので問題なし
0392デフォルトの名無しさん
2009/12/28(月) 12:25:210393デフォルトの名無しさん
2009/12/28(月) 12:26:44ああそういうことね。ただ前提を創作しすぎるのはどうかと。
それだったらバージョンの更新は、
キャッシュを使ってる側がやれば十分でないかな。
0394デフォルトの名無しさん
2009/12/28(月) 12:27:47計算自体がそこそこ重くないとあまり効果は期待できない。
0395デフォルトの名無しさん
2009/12/28(月) 12:33:290396デフォルトの名無しさん
2009/12/28(月) 12:39:46要素数はトータルでどのくらい?
また現状のコードはどんなの?
それから、絶対座標計算するのは描画などの特定タイミングで一斉にやるの?
一斉にやるなら、ルートから全要素をトラバースするやり方ならそんな無駄はない。
あるいはこれと全要素共通の更新バージョンとの組み合わせ。
0397デフォルトの名無しさん
2009/12/28(月) 12:43:06ただしこれはうまくできるかは分からない、頭の中で設計出来てない。
出来たとしてもちょっと複雑になるから効果は落ちる可能性が高い。
0398デフォルトの名無しさん
2009/12/28(月) 12:53:270399デフォルトの名無しさん
2009/12/28(月) 16:57:480400デフォルトの名無しさん
2009/12/29(火) 05:44:350401デフォルトの名無しさん
2009/12/29(火) 08:17:310402デフォルトの名無しさん
2009/12/29(火) 10:06:330403デフォルトの名無しさん
2009/12/29(火) 12:44:010404デフォルトの名無しさん
2009/12/29(火) 12:50:04(  ̄ー ̄)(  ̄ー ̄)
(  ̄ー ̄)(  ̄ー ̄)(  ̄ー ̄)
0405デフォルトの名無しさん
2009/12/29(火) 13:14:47(  ̄ー ̄)(  ̄ー ̄)
(  ̄ー ̄)(  ̄ー ̄)(TーT)
0406デフォルトの名無しさん
2009/12/29(火) 13:29:200407デフォルトの名無しさん
2009/12/29(火) 13:57:460408デフォルトの名無しさん
2009/12/29(火) 15:06:590409デフォルトの名無しさん
2009/12/29(火) 15:52:140410デフォルトの名無しさん
2009/12/29(火) 15:53:230411デフォルトの名無しさん
2009/12/29(火) 17:32:370412デフォルトの名無しさん
2009/12/29(火) 17:42:48では
0413デフォルトの名無しさん
2009/12/29(火) 17:47:510414デフォルトの名無しさん
2009/12/29(火) 17:56:500415デフォルトの名無しさん
2009/12/29(火) 18:02:22ループでコピーするしかないですか?
0416415
2009/12/29(火) 18:05:180417デフォルトの名無しさん
2009/12/29(火) 18:06:200418デフォルトの名無しさん
2009/12/29(火) 18:08:40答え書け、バカ
0419デフォルトの名無しさん
2009/12/29(火) 18:10:54イヤです。
0420デフォルトの名無しさん
2009/12/29(火) 18:10:59自演乙
誰だよお前w>>416
0421デフォルトの名無しさん
2009/12/29(火) 18:16:02おとなしくループでしこしこやってるわ
0422デフォルトの名無しさん
2009/12/29(火) 18:20:57どうしても答え欲しいならトリップでもつけりゃいいじゃん
あほなの?
0423デフォルトの名無しさん
2009/12/29(火) 18:23:230424デフォルトの名無しさん
2009/12/29(火) 18:25:520425デフォルトの名無しさん
2009/12/29(火) 18:28:05ループコピーの関数作ったから。
0426デフォルトの名無しさん
2009/12/29(火) 20:39:25パブリックプロパティ作ったらデザイナが勝手にnull入れようとしてくるのね。
そのプロパティはnull許容できないからArgumentNullException吐いてるのね。
それでも執拗にnull入れてくるのね。
たぶんこの辺を制御する属性があるはずなんで教えてください。
0427デフォルトの名無しさん
2009/12/29(火) 20:40:020429デフォルトの名無しさん
2009/12/29(火) 20:41:580430デフォルトの名無しさん
2009/12/29(火) 20:42:34ありがとうござます。
0431デフォルトの名無しさん
2009/12/29(火) 21:23:320432デフォルトの名無しさん
2009/12/29(火) 22:21:23デザイナは勝手にnull入れようとなんてしないし、
DefaultValueAttributeは単にプロパティグリッドのコンテクストメニューが
表示されるときに「リセット」項目を有効にするかどうかの判定に使われるだけ。
なんか勘違いしてると思う。
0433デフォルトの名無しさん
2009/12/29(火) 22:26:51Form.InitializeCompornent
の中で毎度毎度
MyControl.NullNotablePropaty=null
を自動生成されるのでどうしたらいいのやら
結局メソッドにしたからいいんだけど
0434デフォルトの名無しさん
2009/12/29(火) 22:35:38普通にFormアプリケーションのプロジェクトを新規作成します。
追加でUserControlを選択し、TestUserControlを作成します。
TestUserControlに以下のコードを記入します。
private object nullNotablePropaty = null;
public object NullNotablePropaty {
get { return this.nullNotablePropaty; }
set {
if (value == null) { throw new ArgumentNullException("value"); }
this.NullNotablePropaty = value;
}
}
一度ビルドします。
Formに戻ってTestUserControlを貼り付けます。
もう一度ビルドすると
//警告 値を Null にすることはできません。
//パラメータ名: value
と吐いてデザイナが停止します。
これ標準的な動作なのですか?
0435デフォルトの名無しさん
2009/12/29(火) 22:38:49それはUserControlのコードで適切なタイミング(普通はコンストラクタで
いいと思うけど)でプロパティを初期化してないから。
あるいは逆に、UserControlが何かのイベントハンドラでプロパティ(またはその
バックストアフィールドに)nullを入れちゃってるか。
いずれにせよ、デザイナがやってるのは、ただ設定されてるプロパティを永続化するための
コードを吐いてるだけ。
もちろんDefaultValueAttributeで適当な値を指定して、そのプロパティをデザイナで
指定すれば、
MyControl.NullNotablePropaty=null;
は作成されなくなるけど、根本的な問題解決になってない。
0436デフォルトの名無しさん
2009/12/29(火) 22:39:520437デフォルトの名無しさん
2009/12/29(火) 22:43:42適当な値が思いつかなかったからここではNullになってるだけっす。
重箱がお好きですねぇ。
0438デフォルトの名無しさん
2009/12/29(火) 22:46:16程度低いよねw
0439デフォルトの名無しさん
2009/12/29(火) 22:48:240440デフォルトの名無しさん
2009/12/29(火) 22:52:52だから、とにかくプロパティを初期化するコードを書こうよ。
なぜそういう動作になるのかは、俺も完全には説明できないけど
落ち着いて考えれば大体の想像はつくと思う。
0441デフォルトの名無しさん
2009/12/29(火) 23:02:060442デフォルトの名無しさん
2009/12/29(火) 23:02:580443デフォルトの名無しさん
2009/12/29(火) 23:07:09設 計 が 悪 い
0444デフォルトの名無しさん
2009/12/29(火) 23:09:43設計が悪い
0445434
2009/12/29(火) 23:20:310446デフォルトの名無しさん
2009/12/29(火) 23:20:36あと、一応言っておくけど単にIDEがそのプロパティを永続化するコードを吐くことを
抑止したいだけなら、DesignerSerializationVisibilityAttribute.Hiddenを付ければいい。
0447デフォルトの名無しさん
2009/12/29(火) 23:22:22(´・ω・`)←鳥の糞
0448デフォルトの名無しさん
2009/12/29(火) 23:24:56なんかさもしいよな
0449デフォルトの名無しさん
2009/12/29(火) 23:26:110450デフォルトの名無しさん
2009/12/29(火) 23:31:570451デフォルトの名無しさん
2009/12/29(火) 23:44:30そういうことだ
0452デフォルトの名無しさん
2009/12/30(水) 00:17:40こんなあほ相手にするだけ無駄だったな。
0453デフォルトの名無しさん
2009/12/30(水) 00:20:15お前も勘違いしてる。
0454デフォルトの名無しさん
2009/12/31(木) 03:05:56現在COMのiTunes 1.12 Type Libraryを利用して、
iTunesで曲が再生される度にListViewに曲目を追加していくアプリを開発しています。
再生開始時にListViewに追加できるようにするため、一通りコードを書いたのですが
以下のコードがうまく動かずに頓挫しています。
具体的には、関数ShowSongInfoOnList()において
リストを表示する手前でMessageBoxを出すと、曲目が表示されるのですが、
(ゆえに、曲目は正常に取れているはず)
その次の行のAddする時にうまく行っていないようで、困っています。
Addさえうまく行けば…と思い、苦労しております。
解決法をご存知の方、どうかご教授ください。
0455454のコード1
2009/12/31(木) 03:07:34{
public partial class Form1 : Form
{
// iTunes操作のためのインスタンス
private iTunesApp iTunes;
public Form1()
{
// 初期化
InitializeComponent();
// リスト形式で表示するためのコード
listView1.FullRowSelect = true;
listView1.GridLines = true;
listView1.Sorting = SortOrder.Ascending;
listView1.View = View.Details;
listView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
listView1.Columns.Add("楽曲名", 145, HorizontalAlignment.Left);
listView1.Columns.Add("アーティスト", 145, HorizontalAlignment.Left);
listView1.Columns.Add("アルバム", 100, HorizontalAlignment.Left);
listView1.Columns.Add("再生日時", 200, HorizontalAlignment.Left);
// インスタンス生成
iTunes = new iTunesAppClass();
0456454のコード2
2009/12/31(木) 03:08:20iTunes.OnPlayerPlayEvent += new _IiTunesEvents_OnPlayerPlayEventEventHandler(iTunesPlayEvent);
iTunes.OnPlayerStopEvent += new _IiTunesEvents_OnPlayerStopEventEventHandler(iTunesStopEvent);
iTunes.OnAboutToPromptUserToQuitEvent += new _IiTunesEvents_OnAboutToPromptUserToQuitEventEventHandler(iTunesQuitEvent);
}
// 再生開始イベント
private void iTunesPlayEvent(Object iTrack)
{
ShowSongInfoOnList((IITTrack)iTrack);
}
// 再生終了イベント
private void iTunesStopEvent(Object iTrack)
{
}
// iTunes終了イベント
private void iTunesQuitEvent()
{
this.Close();
}
private void ShowSongInfoOnList(IITTrack itrack)
{
// 曲情報を格納
DateTime dt = DateTime.Now;
// デバッグ用
MessageBox.Show(itrack.Name + itrack.Artist + itrack.Album + dt.ToString());
// リスト表示
this.listView1.Items.Add(new ListViewItem(new String[] { itrack.Name, itrack.Artist, itrack.Album, dt.ToString() }));
}
}
}
0457454
2009/12/31(木) 03:11:170458デフォルトの名無しさん
2009/12/31(木) 22:29:20この場合、FUNCによってCBで得られた値を返すにはどのような方法をとればいいのでしょうか。
CB内の処理で適当なフラグをONにして、FUNC内でそのフラグがONになるのをwhileループで待つというのは微妙な方法だと思います。
またThread.Sleepで処理を待つというのも、この場合FUNCの反応速度が1ms単位になってしまうので若干の妥協を強いられることになってしまいます。
この場合どのような手段が最適なのでしょうか。
ちなみにこの情報が役に立つかはわかりませんが、具体的にやりたいことはDirectShowでUSBカメラのキャプチャを行うことの複雑さをクラスによって隠蔽しようとしています。
DirectShowのISampleGrabberCB.BufferCBが上記のコールバック関数CBにあたり、クラスでキャプチャ画像を取得する関数が上記のFUNCに相当します。
よろしくお願いします。
0459デフォルトの名無しさん
2009/12/31(木) 22:35:25普通に考えれば、コールバックなりイベントなりを使うだろうけどね。
0460デフォルトの名無しさん
2010/01/01(金) 02:08:29| コールバック関数にキャプったデータが非同期で順次渡され、FUNCで現在のデータを取り出す
| しかし、まだカメラの準備ができていなくてデータがないときはFUNCをブロックしたい
いずれにしても、同期制御の基本的な部分が分らないんだろうな
キーワード: イベントオブジェクト、EventWaitHandle
0461デフォルトの名無しさん
2010/01/01(金) 05:13:05笑(笑)
0462458
2010/01/01(金) 17:19:470463デフォルトの名無しさん
2010/01/01(金) 17:34:250464デフォルトの名無しさん
2010/01/01(金) 18:01:310465デフォルトの名無しさん
2010/01/01(金) 21:09:16レスありがとうございます。極力クラスを利用するほうには簡単に見せたかったので、イベントやコールバックも控えていたんです。
EventWaitHandleなどについて調べてみたいと思います。
0466デフォルトの名無しさん
2010/01/03(日) 13:47:18e.ColumnIndex の値が書き変わってしまいます。
関数内で this(あるいはキャストした sender).Rows[].Cells[].Value のように、cell.Value
を実行したのが原因のようですが、これはしてはいけないことなんでしょうか?
0467466
2010/01/03(日) 14:17:020468466
2010/01/03(日) 14:20:14DataGridView を継承したクラス を作っているんですが、CellValuePushed イベント内で
e.ColumnIndex の値が書き変わってしまいます。
関数内で this(あるいはキャストした sender).Rows[].Cells[].Value のように、cell.Value
を実行したのが原因のようですが、これはしてはいけないことなんでしょうか?
0469デフォルトの名無しさん
2010/01/03(日) 14:26:37偽者なんてわかってるのに二重書き込みとかいちいちうざいよ。
0470デフォルトの名無しさん
2010/01/03(日) 14:54:31チミ自身は「うざ」くないと思ってるの?w
こういう「俺様棚上げ君」って頭オカシイんじゃないのかねホント。
0471デフォルトの名無しさん
2010/01/03(日) 14:56:15意味がわかんない。e.Value使えばいいんじゃね?
確かめたわけじゃないけど、Cellsのインデックスはカラム順じゃないキガス
それと467==469だな、うん。ゴミレスが根拠。470も同類ウザ
0472デフォルトの名無しさん
2010/01/03(日) 14:59:43あと466解決しました。
0473デフォルトの名無しさん
2010/01/03(日) 15:00:100474デフォルトの名無しさん
2010/01/03(日) 15:02:26チミとかきんもーっ☆
0475デフォルトの名無しさん
2010/01/03(日) 15:11:11「==」わろた
0476デフォルトの名無しさん
2010/01/03(日) 15:13:280477デフォルトの名無しさん
2010/01/03(日) 15:29:540478デフォルトの名無しさん
2010/01/03(日) 15:37:120479デフォルトの名無しさん
2010/01/03(日) 15:42:20ここまで自演
0480デフォルトの名無しさん
2010/01/03(日) 15:43:160481デフォルトの名無しさん
2010/01/03(日) 15:49:59試してみた。
現象としては違うんだけど、デバッグ文とかで
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value
を参照すると、e.Valueが何故か消えるな・・・
String mes1 = "row:" + e.RowIndex + ", col:" + e.ColumnIndex + ", val:" + e.Value;
String mes2 = "row:" + e.RowIndex + ", col:" + e.ColumnIndex + ", val:" + dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
そもそも CellValuePushed の中じゃ dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value は
入力以前の値だから見ても意味がない。
やっぱり e.Value を使えばいい。変更前の値ならデータストアを見る。
0482デフォルトの名無しさん
2010/01/03(日) 15:52:370483466
2010/01/03(日) 17:31:14レスありがとうございます。
Rows[].Cells[].Value で同行の他列を参照したいので、e.Value は使えないんです。
最初に e.ColumnIndex を保存しておくとかも考えたんですが、CellValuePushed 内で
他列を参照しない方がいいですね…
アドバイスどおり、おとなしく元データのほうを参照するようにします。
0484デフォルトの名無しさん
2010/01/06(水) 21:06:3764bitOSでも使えますか?
0485デフォルトの名無しさん
2010/01/06(水) 21:15:000486デフォルトの名無しさん
2010/01/06(水) 21:16:220487デフォルトの名無しさん
2010/01/06(水) 21:25:25IntPtr使うところわざとint使ったりでもしなきゃ動くんじゃないのか
0488デフォルトの名無しさん
2010/01/06(水) 21:57:04アンマネージ使う場合くらい注意。
0489デフォルトの名無しさん
2010/01/06(水) 22:24:560490デフォルトの名無しさん
2010/01/06(水) 22:30:46昔、LINQ to SQL 使うと64ビットで動かなかったことが。
0491デフォルトの名無しさん
2010/01/06(水) 22:35:26Linkの派生版ですかぁ?
ハイパーリンク出来るんですかぁ?
よくわかりません><
0492デフォルトの名無しさん
2010/01/06(水) 22:39:13和製英語で臨海空港のこと。
臨海空港 ⇒ りんくう ⇒ LINQ
一つお勉強になったね
0493デフォルトの名無しさん
2010/01/06(水) 23:05:220494デフォルトの名無しさん
2010/01/07(木) 00:46:57validateを差し込む方法はあるでしょうか?
ユーザがuser.configを自分で無効な値に書き換えた場合などに、
キャンセルしてデフォルト値を読み込めるようにしたいのですが。
0495デフォルトの名無しさん
2010/01/07(木) 02:17:26突然ひらめいて解決できた。
ありがとう、本当にありがとう。
0496デフォルトの名無しさん
2010/01/07(木) 02:19:480497デフォルトの名無しさん
2010/01/07(木) 02:25:120498デフォルトの名無しさん
2010/01/07(木) 05:23:160499デフォルトの名無しさん
2010/01/07(木) 09:01:530500デフォルトの名無しさん
2010/01/07(木) 09:33:12やっぱ整理するって大事なのね
0501デフォルトの名無しさん
2010/01/07(木) 09:37:270502デフォルトの名無しさん
2010/01/07(木) 14:06:000503デフォルトの名無しさん
2010/01/07(木) 23:05:190504デフォルトの名無しさん
2010/01/07(木) 23:14:250505デフォルトの名無しさん
2010/01/08(金) 01:51:050506デフォルトの名無しさん
2010/01/08(金) 02:32:56WindowsFormに入力した値をブラウザ上に自動入力する
プログラムを作っています。
通常のiFrame(インラインフレーム)等を使わないページであれば
mshtmlを使用する事によりWindowsフォームに入力した値を
ブラウザに設定する事が出来ているのですが、
指定したページ内部にiFrameを使用しているページの場合には
どうしても自動で入力をする事が出来ません。
どうすれば指定したページ(URL)にiFrameが使用されている場合にも
ページの特定項目にmshtmlを使用して自動入力をさせる事が出来るのでしょうか?
0507デフォルトの名無しさん
2010/01/08(金) 02:59:46javascriptでのやり方と一緒です
iframeをDOMで取得して中のドキュメントを取得すれば
そこから先はiframeを使っていない場合と同じ
トップのドキュメントとフレームのドメインが異なるなら無理です
絶対不可能かというとそうでもないんだがセキュリティ上の制約です
0508デフォルトの名無しさん
2010/01/08(金) 19:24:09Mはアウトライン関連の2ストロークの最初の文字みたいだったんで、それらを削除してみたんだが。
0509508
2010/01/08(金) 19:53:310510デフォルトの名無しさん
2010/01/09(土) 12:47:14var seq = from item in container orderby item.Key1 , item.Key2 select item;
この複数キーでソートするorderbyに直接対応する拡張メソッドが無いようなのですが
これって、どうやって呼び出されているかご存じの方おられますか?
0511デフォルトの名無しさん
2010/01/09(土) 13:14:410512デフォルトの名無しさん
2010/01/09(土) 15:58:380513デフォルトの名無しさん
2010/01/09(土) 20:56:360514デフォルトの名無しさん
2010/01/10(日) 03:20:21開くようにコーディングしたいのですが、どうすればよいでしょうか。
0515506
2010/01/10(日) 04:11:58※規制されていました。
>>507
フレーム内の要素にアクセスしようと思い
次の様なコードを書いてみたのですが
次の「ERROR_POINT」と書いた部分でエラーが発生してしまいます。
一体何が原因なのでしょうか?
アクセスが拒否されました。(HRESULT からの例外: 0x80070005(E_ACCESSDENIED))
iCol = HTMLDoc.getElementsByTagName("iframe");
foreach (mshtml.IHTMLElement IhtmlIE in iCol)
{
if (IhtmlIE.getAttribute("id", 1) != null) // ERROR_POINT
{
sString = (string)IhtmlIE.getAttribute("id", 1);
if (sString == "inputBody_ifr")
{
}
}
また、mshtml を使用して自動でiframe内の要素に自動入力が
出来ない場合には、Windows APIを使用して画面内のiFrameの位置をクリックし
文字列を入力したいと思うのですが、
そもそもWindows APIを使用して画面内の特定座標をクリックし
そこに対して文字列を入力する事など可能なのでしょうか?
0516デフォルトの名無しさん
2010/01/10(日) 09:13:30>一体何が原因なのでしょうか?
507でもいったけどトップのドキュメントとフレームのドメインが同じかどうか確認したかい?
それもせずに、ソース丸投げでデバッグしてくれはないだろ
0517デフォルトの名無しさん
2010/01/10(日) 19:18:02それが不思議な事にそのサイトは、コードを見ても次の様になっていて
(SRCにJavaScriptになっています。)
ドメインが同じかどうかの確認をする事が出来ません。
しかも、ブラウザから見て入力を行うと(例えば"あいうえお")
iFrame内の<body>タグ内になぜか文字が入るのです。
(FireBugで要素を調査したと結果)
<body>あいうえお</body>
■iFrame内のコード
<iFrame src="Javascript:">
<html>
<head>
</head>
<body>
</body>
</html>
</IFrame>
0518デフォルトの名無しさん
2010/01/10(日) 19:45:470519デフォルトの名無しさん
2010/01/10(日) 19:58:48実は会社から自分のブログへアクセスし
書き込みをする事が出来ない為、
これまで仕事中にこっそりブログのネタをテキストファイルに書込みを行い、
メールで自宅に送信し、そのネタをブログの本文に貼り付けていたのですが、
毎回それを手動でするのは面倒なので、自動で受信メールの内容を
ブログにログインし本文に貼り付けようとしているのですが、
iFrameのトラップがある事を知り断念している状況です。
結構難易度が高く私のスキルではどうもiFramewを使ってるところに
自動で入力をする事が出来ません。。。
お手数ですがもし可能でしたらlivedoorの本文に自動入力する方法をご伝授頂けると助かります。
0521デフォルトの名無しさん
2010/01/10(日) 20:03:02まずそこから考えたほうがいいと思うよ
0522デフォルトの名無しさん
2010/01/10(日) 20:04:240523デフォルトの名無しさん
2010/01/10(日) 20:04:57龍馬伝見てから考える
0524デフォルトの名無しさん
2010/01/10(日) 20:06:29ログイン->クッキーもらう->ブログの書き込み内容をPOST、みたいな感じだろうし。
0525519
2010/01/10(日) 20:11:37(だって仕事詰まらないんですもの。)
>>524
httpWebRequestはあまり詳しく無いので
Windows APIでも駆使して何とかして
自動化したいんです。
(仕事中にじっくりネタを考えてるせいもあって、お陰様で結構人気です。)
0526デフォルトの名無しさん
2010/01/10(日) 20:13:010527デフォルトの名無しさん
2010/01/10(日) 20:14:360528デフォルトの名無しさん
2010/01/10(日) 20:15:07プログラムってのはコードの実行性だけを示すんじゃないんだけどなぁ
0529519
2010/01/10(日) 20:33:31私のスキルではどうもiFrameを使ってるところの自動
入力させるのは難しいです。
どなたかこの様な事を出来る方はいませんか?
0530デフォルトの名無しさん
2010/01/10(日) 20:40:01せいぜい、キー入力を送るくらい(これなら、SendKeysで充分だけど)。
0531デフォルトの名無しさん
2010/01/10(日) 20:42:53一言余計だと思うんだけどなぁ
0532デフォルトの名無しさん
2010/01/10(日) 20:45:46風呂入ってくる。
0533デフォルトの名無しさん
2010/01/10(日) 20:47:43意味わかんないなら誰かに金払って作ってもらいなよ。それか携帯でブログ更新するかだね。仕事中に。
0534デフォルトの名無しさん
2010/01/10(日) 21:17:34>それが不思議な事にそのサイトは、コードを見ても次の様になっていて
>(SRCにJavaScriptになっています。)
>ドメインが同じかどうかの確認をする事が出来ません。
それはドメインが異なるのと同じ扱いになってる(勝手に解釈して情報省くな)
まあ、どう考えても自動操作はめんどくさいだけだから
524の言うようにhttpWebRequestでやるか
もう少し扱いが簡単なWebClient使って頑張るかだな
0535519
2010/01/10(日) 21:33:15SendKeyで試そうしているのですが
例えばタイトル項目にフォーカスを当ててからSenkeyで
"{TAB}あいうえお" という文字列を送ろうとして次のコードを書いたところエラーが出てしまいます。
■コード
// mshtml.IHTMLElement IhtmlIE
IhtmlIE.Focus();
■エラー内容
mshtml.IHTMLElement' に 'Focus' の定義がありません。
VB.netだと普通にFocus(); が出切るのになぜC#だと出来ないのでしょうか?
0536デフォルトの名無しさん
2010/01/10(日) 21:36:450537519
2010/01/10(日) 21:39:46お風呂から上がられましたら>>532さんのテクニックに期待してます。
>>533 >>534
mshtmlを操作して入力→ボタンのクリックをした方が一番簡単かと思っているのですが
その認証を行う為には、>>534さんのおっしゃってる様に
httpWebRequest か WebClient を使うしか無いのでしょうか。
また、mhstmを使用しても出来ない場合には、
本文の入力エリアは決まった位置に表示されるので、WindowsAPIを使用して
iFrameで定義されたiFrame内の要素をクリック→文字列の送信をする方法を考えているのですが
Windows APIで特定の座標をクリック→文字列の送信をするにはどうすれば良いでしょか?
0539デフォルトの名無しさん
2010/01/10(日) 21:41:420540519
2010/01/10(日) 21:58:490541デフォルトの名無しさん
2010/01/10(日) 22:02:19534だが、mshtmlを操作するよりWebClientのほうが簡単だ
DOMによる操作セキュリティ制限に引っかかっていて難しい
キー操作でどうにかするならレイアウト変わるたびにメンテ
マウスなら座標取るためにDOMが必要だから非現実的
どの方法も不可能とは言わないが、WebClientが圧倒的に簡単
根性でキー入力するなら文字はクリップボードから貼り付ければw
0542デフォルトの名無しさん
2010/01/10(日) 22:23:480543デフォルトの名無しさん
2010/01/10(日) 22:51:17でも投稿できない。本文を入れなければ投稿するけど
本文を入れて下さいのエラーがでる。今日はつかれたからこの辺にしておこう。
0544519
2010/01/10(日) 23:07:18WebClientにも挑戦してみようと思います。
というよりちょっと疑問なのですが、
>DOMによる操作セキュリティ制限に引っかかっていて難しい
この様な情報ってどこから知られたのでしょうか?
私の方でも色々とぐぐってみたのですが見つかりませんでした。
>>543
ええっ!?風呂入ってもうそこまで出来たのですか!?ぱねーっす。
私はタイトルの入力まででだいたい5時間位時間がかかったのに、、、
お暇な時で結構ですので本文の入力方法をご教示下さい。
(仕事がつまらないから、こっそりブログのネタを考えてる俺って社会人として最低かなw?
まだ、自覚症状があるだけましと勝手に解釈しています。)
0545デフォルトの名無しさん
2010/01/10(日) 23:08:310546デフォルトの名無しさん
2010/01/10(日) 23:27:160547デフォルトの名無しさん
2010/01/10(日) 23:33:35どこのブログ使ってんの?
0549デフォルトの名無しさん
2010/01/10(日) 23:53:290550デフォルトの名無しさん
2010/01/10(日) 23:54:36できた。例外エラーが出てただけだった。
0551デフォルトの名無しさん
2010/01/10(日) 23:58:020553デフォルトの名無しさん
2010/01/11(月) 00:10:370556デフォルトの名無しさん
2010/01/11(月) 00:13:49#kusosure
0557デフォルトの名無しさん
2010/01/11(月) 00:14:11そうです
0558519 ◆G0.qAawIBk
2010/01/11(月) 01:42:54なるほどw勘違いしてました。すみません。
>>555
お前は2chのプロ固定w?酉が丸見えの様だけどw
0559519 ◆G0.qAawIBk
2010/01/11(月) 01:50:25>>555
酉が分ってる時点でプロ固定丸出しw
2chのサクラのプロ固定はウザイからウセロカスw
0560デフォルトの名無しさん
2010/01/11(月) 02:12:30ふらっと行けよ、ふらっと。
0561デフォルトの名無しさん
2010/01/11(月) 02:22:47うpしとくよー。
DLパスはlivedoorだよ。
http://www1.axfc.net/uploader/Sc/so/72426.txt
0562デフォルトの名無しさん
2010/01/11(月) 09:11:470563デフォルトの名無しさん
2010/01/11(月) 09:40:40病気か?
http://ja.uncyclopedia.info/wiki/%E3%83%97%E3%83%AD%E5%9B%BA%E5%AE%9A
0564519 ◆G0.qAawIBk
2010/01/11(月) 11:50:05ありがとうございます。凄いです^^w
まさかこんな短期間で出切るなんて、、、
本当にどうもありがとうございました。
(これで仕事中にブログのネタを一生件名考える事が出来ますw)
0565519 ◆G0.qAawIBk
2010/01/11(月) 11:50:46某サイトにプロ固定の情報がテンコ盛りだよw
0566デフォルトの名無しさん
2010/01/11(月) 11:53:590567デフォルトの名無しさん
2010/01/11(月) 12:03:350568デフォルトの名無しさん
2010/01/11(月) 12:25:30プロ固定って新しい技術かなんかかと思ったら
ただのキチガイの妄想かよ
プロ固定とかいうのの存在を日記に書いたら
>しかし、この日記が広く知れ渡る前に、
>井上玄氏の元にはなぜか暴力団による激しい恫喝が行われ、
>家族もその被害に合い、この日記はすぐに閉鎖させられてしまいます。
新種の厨二病かなんか?
0569デフォルトの名無しさん
2010/01/11(月) 12:27:01プロ固定を必死に否定するのが表2chのサクラ(プロ固定だよw)
某掲示板にプロ固定の情報とか全部晒されてるから見てご覧
0570デフォルトの名無しさん
2010/01/11(月) 12:29:19よくわからんけど
ここでプロ固定うんぬん言い出してスレを荒らす行為と
そのプロ固定が無意味なコピペで書き込み数を水増しするのとどう違うの?
どんだけ2chに人生かけてんだよ
0571デフォルトの名無しさん
2010/01/11(月) 12:39:000572デフォルトの名無しさん
2010/01/11(月) 12:43:27取り合えず荒らしと思う人がいるならこれで最後にするよ。
プロ固定 裏 で検索してみてね。
ブログの順位をあげるコツw
仕事中にネタを練りまくる事w
0573デフォルトの名無しさん
2010/01/11(月) 12:46:00いようがいまいが 一般人は 気にしない
0574デフォルトの名無しさん
2010/01/11(月) 12:50:140575デフォルトの名無しさん
2010/01/11(月) 13:18:32表に書いてもいいけどな
0576デフォルトの名無しさん
2010/01/11(月) 14:30:39某サイトにプロ固定の情報がチンコ盛りだよw
0577デフォルトの名無しさん
2010/01/11(月) 14:34:39表2chに対抗して作られた某掲示板の「表2ch批判」
板に色々と際どい情報(プロ固定の住所・指名とかw)がマンコ盛りw
ところでプロ固定を知らないのはマジでヤバイと思うよ。
そーいう人に限って規制を喰らって●とか買っちゃうんだろうね。
C#とは関係無いからこの変にしておくけど。
0578デフォルトの名無しさん
2010/01/11(月) 14:38:090579デフォルトの名無しさん
2010/01/11(月) 14:39:190580デフォルトの名無しさん
2010/01/11(月) 15:10:15よくまあググりゃひっかかるトリップバレからここまで話ひっぱれること。
0581デフォルトの名無しさん
2010/01/11(月) 19:09:32プロ固定かとおもたw
0582デフォルトの名無しさん
2010/01/11(月) 19:36:50「プロ固定に配布されているトリップ解析プログラム」
なんてありえないのにねw
0583デフォルトの名無しさん
2010/01/13(水) 00:06:10.NETあるいはWindows上で、
「それを確保したアプリケーション以外からは決してアクセスできないセキュアな永続化領域」
を確保する手段はあるでしょうか?
早い話が、ローカルに何かのサービスのパスワードをセキュアに保存する方法があるのかどうか、
ということなのですが。
0584デフォルトの名無しさん
2010/01/13(水) 00:11:350585583
2010/01/13(水) 00:12:17自分で調べます。ありがとうございました。
0586デフォルトの名無しさん
2010/01/13(水) 00:29:570587デフォルトの名無しさん
2010/01/13(水) 00:47:510588デフォルトの名無しさん
2010/01/13(水) 01:06:440589デフォルトの名無しさん
2010/01/13(水) 02:10:44やっているのですがどうも次のキャストで失敗する為に
後続処理のページ内の各オブジェクトにアクセスする事が出来ません。
>>561さんは、キャストもせずになぜそのまま出来たのでしょうか?
※対象コード
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
state = state + 1
If state = 1 Then
Dim doc As HTMLDocument
Try
'(A)
doc = DirectCast(WebBrowser1.Document, HTMLDocument)
'(B)
'doc = WebBrowser1.Document
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
※エラー内容
System.InvalidCastException = {"型 'System.Windows.Forms.HtmlDocument'
のオブジェクトを型 'mshtml.HTMLDocument' にキャストできません。"}
(A)(B)いずれのコードでも同一のエラーが表示されてしまいます。
0590デフォルトの名無しさん
2010/01/13(水) 02:48:26>>561はmshtml使わずにFormsだけで実装しているように見える。
それからスレタイよく読め。
0591デフォルトの名無しさん
2010/01/13(水) 02:52:58WindowsFormにツールボックスからWebBrowserをドラッグして使用しているのですが、
何が違うのでしょうか?
大変あつかましいお願いかとは思いますが、キャストの方法を教えて頂けますか?
0592デフォルトの名無しさん
2010/01/13(水) 03:19:310593デフォルトの名無しさん
2010/01/13(水) 03:32:160594デフォルトの名無しさん
2010/01/13(水) 06:32:17>>586-588
CryptProtectData系も、ログイン中のユーザが実行している他のプログラムからは
普通にアクセスできてしまうようですので、欲しいものとは少し違うかもしれません。
(まぁ、大概のケースでは問題にならないかもしれませんが)
とりあえず無さそうということで、ありがとうございました。
0595デフォルトの名無しさん
2010/01/13(水) 06:54:54小人さん>>585は無能
0597デフォルトの名無しさん
2010/01/13(水) 07:12:15あった気がする。
0598デフォルトの名無しさん
2010/01/13(水) 09:10:09最近暇人がなりすまし覚えて粘着してるから
0599デフォルトの名無しさん
2010/01/13(水) 11:17:02暇そうだね
0600デフォルトの名無しさん
2010/01/13(水) 11:45:16doc.xml = WebBrowser1.Document.outerXml
みたいに中身から再構築すればいいんじゃね?
超適当に言ってみるけど。
0601デフォルトの名無しさん
2010/01/13(水) 13:47:25低脳乙
0602デフォルトの名無しさん
2010/01/13(水) 14:43:340603デフォルトの名無しさん
2010/01/13(水) 18:25:200605デフォルトの名無しさん
2010/01/13(水) 22:28:21なんでなんで?
0606デフォルトの名無しさん
2010/01/13(水) 22:46:02>>590
そのコードがこのスレに相応しいかどうかすら判らないなんて…
つか、どこから mshtml が沸いて出たのやら。
変な参照設定でもしてるのか?
0607デフォルトの名無しさん
2010/01/13(水) 22:51:180608デフォルトの名無しさん
2010/01/13(水) 22:53:260609デフォルトの名無しさん
2010/01/14(木) 00:41:44〜3月下旬 冬休み
〜6月末 春休み
〜8月末 夏休み
〜11月末 秋休み
その後年末まで冬休み
0610デフォルトの名無しさん
2010/01/14(木) 00:44:47いい大学行こうがいい成績取ろうが「経験」が無いと世間に出たときに何も役に立たない
まぁお前らみたいなオタクにはわかんねーかもしんないけどな
俺は高卒で世間的には低学歴かもしれないが、フランスに渡米した経験を活かして
今は充実した仕事してるよ
お前らも壁作って自分の世界に閉じ込もって無いで
今しかできない「経験」しといて経験値積んどけ
0611デフォルトの名無しさん
2010/01/14(木) 00:57:24俺のよく行く「30代職歴無しの就職活動スレ」と同じ空気を感じる
0612デフォルトの名無しさん
2010/01/14(木) 01:30:070613デフォルトの名無しさん
2010/01/14(木) 01:42:09日本語でおか
0614デフォルトの名無しさん
2010/01/14(木) 03:26:380615デフォルトの名無しさん
2010/01/14(木) 03:30:43Vistaやwin7だったらメモ帳くらい早く画面出て操作可能になるの?
0616デフォルトの名無しさん
2010/01/14(木) 03:33:02劇的に速くなるなどと想像できるんだろう。
0617デフォルトの名無しさん
2010/01/14(木) 09:43:34そういうのが気になりそうな小さめのアプリはVC++でがんばれ
0618デフォルトの名無しさん
2010/01/14(木) 10:32:15あと、Vista 以降では SuperFetch があるんで、メモリ多く積んでる速いかも。
0619デフォルトの名無しさん
2010/01/14(木) 18:02:14ありがとうございました
0620デフォルトの名無しさん
2010/01/14(木) 18:38:36起動は遅いけど実行が速いのが選べたらいいのに
0621デフォルトの名無しさん
2010/01/14(木) 18:45:090622デフォルトの名無しさん
2010/01/14(木) 19:08:270623デフォルトの名無しさん
2010/01/15(金) 04:48:57おまえは立派な開発現場に居合わせたことがないんだろうね
0624デフォルトの名無しさん
2010/01/15(金) 17:03:054G中3.5Gぐらい使いたいんですけど
共有メモリにマッピングしても2G超えたらメモリダンプしちまいます。
誰か教えてください。
0625デフォルトの名無しさん
2010/01/15(金) 17:37:26つ 64bit版のWindows
0626デフォルトの名無しさん
2010/01/15(金) 17:46:0332Bit版が前提でお願いしますよ〜
いや、そう出来れば一番いいんですけどね・・・
0627デフォルトの名無しさん
2010/01/15(金) 17:49:1132Bitは無理。
0628デフォルトの名無しさん
2010/01/15(金) 17:52:26CとかだとCreateFileMappingとか使って、共有メモリに構造体ぶち込んだり
C++だったらVirtualAllocとか使ったりして
いけたんですがねー
やっぱりC#だと無理なのか・・・
0629デフォルトの名無しさん
2010/01/15(金) 18:00:410630デフォルトの名無しさん
2010/01/15(金) 18:02:16やっぱり、2Gで落ちるんですよね
参った
0631デフォルトの名無しさん
2010/01/15(金) 18:13:450632デフォルトの名無しさん
2010/01/15(金) 18:30:260633デフォルトの名無しさん
2010/01/15(金) 18:40:200634デフォルトの名無しさん
2010/01/15(金) 19:40:57でも3G
0635デフォルトの名無しさん
2010/01/15(金) 19:51:590636デフォルトの名無しさん
2010/01/15(金) 20:04:360637デフォルトの名無しさん
2010/01/15(金) 20:24:06640kのメインメモリなんて頃もあったわけだし。
0638デフォルトの名無しさん
2010/01/15(金) 22:42:100639デフォルトの名無しさん
2010/01/15(金) 23:02:27C++でも32ビットWindowsなら2GBまでだろ。C#も同じ。ただし、当然>>634はC#でも通用する。
あと、64ビット版WindowsでIMAGE_FILE_LARGE_ADDRESS_AWARE付きの32ビットEXEを実行すると仮想アドレス4GB全部使える。
>>635-637
64ビットでやれ。
0640デフォルトの名無しさん
2010/01/16(土) 06:20:390641デフォルトの名無しさん
2010/01/16(土) 07:42:52CreateFileMapping自体は4G越えもいけた。
MapViewOfFileでまとめて設定できるViewが2G越えでダメだといってるのだろうか?
どちらにせよ、ネイティブのViewからマネージド領域へマーシャリングが必要になるので
あまり効率は良くない。
0642デフォルトの名無しさん
2010/01/16(土) 10:40:264GB(3GB使用可能)てなってるが。
0643デフォルトの名無しさん
2010/01/16(土) 11:09:58それは物理メモリが3GB使えるということだけど、今の話とは関係ない。
物理メモリに空きが無くても、メモリ確保やMapOfViewFileは成功する。
そのためのページング機構。
今問題なのは、プロセスごとの仮想アドレス空間(のうち、ユーザモードで使える分)。
http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx
逆に、いくら物理メモリが空いていても、アドレス空間に空きがなければソフトウェアから使うことは不可能。
0644デフォルトの名無しさん
2010/01/16(土) 11:24:59思うに、>630で落ちるというのは、マップ可能なサイズ以上にマップしようとしてないか?
細かくビューをMap/UnMapすれば通ると思うんだが・・・
0645デフォルトの名無しさん
2010/01/16(土) 11:45:050646デフォルトの名無しさん
2010/01/16(土) 13:18:460647デフォルトの名無しさん
2010/01/16(土) 13:20:27もうすぐだろう
0648デフォルトの名無しさん
2010/01/16(土) 14:36:55そういうことが何も考えずにできちゃう時代になったんだなあとしみじみ思った。
0649デフォルトの名無しさん
2010/01/16(土) 14:44:510650デフォルトの名無しさん
2010/01/16(土) 14:54:150651デフォルトの名無しさん
2010/01/16(土) 15:14:40点で「何か考えている」か。
0652デフォルトの名無しさん
2010/01/16(土) 17:52:51ビット詰めして軽くするとかやってるみたいですけど。
0653デフォルトの名無しさん
2010/01/16(土) 18:22:56そもそも組込みでC#だのJavaだのの高級言語使える時点で時代が違うよな。
0654デフォルトの名無しさん
2010/01/16(土) 18:43:480655デフォルトの名無しさん
2010/01/16(土) 18:49:480656デフォルトの名無しさん
2010/01/16(土) 19:01:52しかし、アクセスがある時間内では局所的で、
ワーキングセットが小さく保たれていれば
それなりの動きをしているともいえるな。
0657デフォルトの名無しさん
2010/01/16(土) 19:31:470658デフォルトの名無しさん
2010/01/17(日) 02:21:530659デフォルトの名無しさん
2010/01/17(日) 17:45:10今はなんとなくコア数でやってます。
0660デフォルトの名無しさん
2010/01/17(日) 18:26:40IOなどでブロックされることが多いならいっぱい作れば速くなるだろうし
ずっと100%動いてるなら=コア数で十分だし
0661デフォルトの名無しさん
2010/01/17(日) 20:11:00ありがとうございます。
適当そうなスレッド数を事前に見積もる必要がありそうですね。
0662デフォルトの名無しさん
2010/01/17(日) 20:57:190663デフォルトの名無しさん
2010/01/18(月) 07:51:320664デフォルトの名無しさん
2010/01/18(月) 10:27:29フリーソフトならありかもしれんけどサポート要るソフトでは面倒だからやりたくないわ。
0665デフォルトの名無しさん
2010/01/18(月) 14:11:320666デフォルトの名無しさん
2010/01/18(月) 14:21:520667デフォルトの名無しさん
2010/01/18(月) 14:33:34非公開・サポート無し、な機能にすればいいと思うよ
0668デフォルトの名無しさん
2010/01/18(月) 14:42:160669デフォルトの名無しさん
2010/01/18(月) 15:35:45ん?
面倒だからやりたくないってのは
機能を盛りこむとユーザからその分の問い合わせがくる
→ 面倒な仕事が増えるってことなんだけど?
なんか意味判ってない人がいるようだな。
俺だったらコア数設定みたいなの設定項目に組みこむぐらいなら
動いてるシステムのコア数によってスレッド数増減するようなコード書くけどな。
0670デフォルトの名無しさん
2010/01/18(月) 15:43:230671デフォルトの名無しさん
2010/01/18(月) 15:47:01あと仕事の話しを持ちこむと喜ぶ奴がいることも忘れないよう。
0672デフォルトの名無しさん
2010/01/18(月) 15:49:190673デフォルトの名無しさん
2010/01/18(月) 16:40:570674デフォルトの名無しさん
2010/01/18(月) 17:15:15ふらっとスレとまちがえたか
0675デフォルトの名無しさん
2010/01/18(月) 18:10:42噂のおじいちゃんですか?((((;゚Д゚))))ガクガクブルブル
0676デフォルトの名無しさん
2010/01/18(月) 21:33:40あなたは神かww
0677デフォルトの名無しさん
2010/01/18(月) 21:37:36QuadCoreなら4とか。上限ぐらいは設定できても良い気はするけど。
0678デフォルトの名無しさん
2010/01/18(月) 21:48:38調整手段を用意するかどうかは処理次第ポリシー次第だし
質疑応答はとっくに終わってるし
どうでもよいと思います。
0679デフォルトの名無しさん
2010/01/18(月) 21:58:09コア数はプログラム側で読める上にどんな処理してるのかわかってるのもプログラム側。
この状況で誰が一番適切な値決められるんだよ。思考停止してんじゃねーよぼけ。
0680デフォルトの名無しさん
2010/01/18(月) 22:02:05例えばMTUでggrks
0681デフォルトの名無しさん
2010/01/18(月) 22:16:31ん?はぁ?ふっはっ?
0682デフォルトの名無しさん
2010/01/18(月) 22:17:39あほだ、あほがおる
0683デフォルトの名無しさん
2010/01/18(月) 22:25:09勝手にいじるようならサポートする必要はないし、勘違いユーザはいい気分になるだろうし
0684デフォルトの名無しさん
2010/01/18(月) 22:28:13>>679: はぁ?これが一番適切な値なんだよぼけ。
0685デフォルトの名無しさん
2010/01/18(月) 22:34:080686デフォルトの名無しさん
2010/01/18(月) 22:42:270687デフォルトの名無しさん
2010/01/18(月) 22:46:55っていうかね、全ての変数を設定項目にしてもいいぐらい。おもいあがんな。
0688デフォルトの名無しさん
2010/01/18(月) 22:49:48おもいあがってるのはおまえだろ
0689デフォルトの名無しさん
2010/01/19(火) 00:00:13おもいあがったプログラマさんですか?
最適コア数自動調整乙でございます。
0690デフォルトの名無しさん
2010/01/19(火) 00:20:160691デフォルトの名無しさん
2010/01/19(火) 00:58:47ユーザーが一番偉いのに。設定値は解放されるべき。
0692デフォルトの名無しさん
2010/01/19(火) 01:07:51客商売やってりゃ、神様とでも思わないとやってらんねーよってやつだ。
0693デフォルトの名無しさん
2010/01/19(火) 01:40:07低脳には無理だろうが。
0694デフォルトの名無しさん
2010/01/19(火) 01:40:540695デフォルトの名無しさん
2010/01/19(火) 02:04:35余計なことすんなよ。コア数設定させてやれよ。
0696デフォルトの名無しさん
2010/01/19(火) 06:05:170697デフォルトの名無しさん
2010/01/19(火) 07:24:170698デフォルトの名無しさん
2010/01/19(火) 08:02:18論理展開が突飛すぎて付いていけない
0699デフォルトの名無しさん
2010/01/19(火) 09:05:40一般的じゃない。
0700デフォルトの名無しさん
2010/01/19(火) 10:14:12これがプログラマー脳って奴だ。
こんなんだから日本のIT業界はおいてきぼりになるんだわ。
あーあ。馬鹿に付ける薬はないって本当だな。
0701デフォルトの名無しさん
2010/01/19(火) 10:23:34シングルスレッドじゃなかったら、プロセッサの数のスレッド数。
それで不満なんてマニア。
0702デフォルトの名無しさん
2010/01/19(火) 12:43:180703デフォルトの名無しさん
2010/01/19(火) 13:30:06意味不明な書き込みにワロタ
0704デフォルトの名無しさん
2010/01/19(火) 14:14:36というかそもそもなんで喧嘩腰なの?
あと突然5段階ぐらい論理過程ぶっ飛んだ単語を並べる奴は何がしたいの?
雑談にしてもちょっと酷いんじゃないの?
ばかなの?しぬの?
0705デフォルトの名無しさん
2010/01/19(火) 14:23:040706デフォルトの名無しさん
2010/01/19(火) 14:43:52こういうときでないと書き込めません><
0707デフォルトの名無しさん
2010/01/19(火) 19:06:320708デフォルトの名無しさん
2010/01/19(火) 19:08:05getData(string):値を返さないコードパスがあります。といったエラーが解決できない。
どこが悪いの?
namespace StockQuote
{
public class StockQuote
{
public static void Main()
{
string url = "http://stocks.finance.yahoo.co.jp/stocks/detail/?code=1";
string rtnData = getData(url);
Console.Write(rtnData);
}
private static string getData(string pUrl)
{
try
{
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(pUrl);
return "SUCCESS";
}
catch (Exception)
{
return "ERROR";
}
}
}
}
0709デフォルトの名無しさん
2010/01/19(火) 19:16:48コンパイル通ったよ
0710デフォルトの名無しさん
2010/01/19(火) 19:21:01A.dllが読み込まれた場合に
A.dllの中のBというクラスの特定のスタティックメソッドを呼び出すことは出来ますか?
0711デフォルトの名無しさん
2010/01/19(火) 19:22:10えええ?と思い、コメントアウトしてた行を全部消してみたらコンパイルが通りました^^
なんかコンパイラが信用できないなー。。。
0712デフォルトの名無しさん
2010/01/19(火) 19:52:01A.dll側で実装する方法は思いつかないなぁ
A.dllを参照する側なら、ロード前にAppDomainのAssemblyLoadイベントを設定しとけばいけるけど
0713デフォルトの名無しさん
2010/01/19(火) 20:01:180714デフォルトの名無しさん
2010/01/19(火) 20:33:08なぜ自分の頭の方を疑わないのか。。。
0715デフォルトの名無しさん
2010/01/19(火) 20:34:03初期化するって何を初期化するんでしょうか?
0716デフォルトの名無しさん
2010/01/19(火) 20:34:450717デフォルトの名無しさん
2010/01/19(火) 20:40:340718デフォルトの名無しさん
2010/01/19(火) 21:06:37「何を初期化するか」が分からないというより、
そもそも初期化って概念がわからないんでしょw
そんなの気にしなくていいよ自ずとわかるから。
0719デフォルトの名無しさん
2010/01/19(火) 23:05:20ネットワークアクセスやIOなど
まあそういう使い方だとコア数なんか全く関係ないけどなw
0720デフォルトの名無しさん
2010/01/20(水) 09:11:02思いつかないなら、初期化するオブジェクトは無いということだね。
0721デフォルトの名無しさん
2010/01/21(木) 11:24:22物事には手続きがあるようにクラスを使うにもあるんですよ
たとえばファイルアクセスなんかだとOPENして読み書きしたあとCLOSEしますよね?
クラスもnewするとOPENに相当するコンストラクタが動いてクラスの初期化を行い
使われなくなったらCLOSEに相当するデストラクタが動きます
JavaやC#はメモリ上に確保されるクラスなどはファイルほど厳密に手続きを
踏まなくても勝手に開放してくれたりしますけどね
0722デフォルトの名無しさん
2010/01/21(木) 11:28:59どうせならWebbrowserにHTMLを与えて見た目を作った方がよさそう
と思ったのですが、HTML上のボタンなどが押された場合に
通常のブラウザとしての動作ではなく自作プログラムの動作として
拾う場合はどうすればいいのでしょうか?
0723デフォルトの名無しさん
2010/01/21(木) 12:15:230724デフォルトの名無しさん
2010/01/21(木) 13:07:52HtmlElementのクリックイベント拾える
0725デフォルトの名無しさん
2010/01/21(木) 13:33:15おもしろそうですね
ただ、MSが解説してるサイトなどをみると実行部分に関しては
C#と同じみたいに書いてるのに実際はかなり変わってる気がします。
TreeViewにノード追加する部分が変わってるし、TreeNodeは見つからないしorz
>>724
ありがとうございます
0726デフォルトの名無しさん
2010/01/21(木) 15:40:37まじで超楽ちん♪
0727デフォルトの名無しさん
2010/01/21(木) 16:34:431ヶ月ほどかかったけどね俺は
0728デフォルトの名無しさん
2010/01/21(木) 16:44:07まーねー
従来のやり方と比べるといいよね〜
でもあれを実現できるってことはますます難読化が必要な気がする
0729デフォルトの名無しさん
2010/01/21(木) 16:47:13嫌すぎる
0730デフォルトの名無しさん
2010/01/21(木) 16:48:30中間コード物は昔からそんなもんですよ
0731デフォルトの名無しさん
2010/01/21(木) 17:17:34周りを説得するのも大変
0732デフォルトの名無しさん
2010/01/21(木) 21:10:420733デフォルトの名無しさん
2010/01/21(木) 21:21:330734デフォルトの名無しさん
2010/01/21(木) 21:50:330735デフォルトの名無しさん
2010/01/21(木) 22:20:53現状仕事で積極的に導入出来る領域少ないよな。
Silverlightの方がまだ現実的な気がするわ。
0736デフォルトの名無しさん
2010/01/21(木) 23:36:07作った方います?
入れ歯経験談を聞かせて頂けるとありがたいのですが…
0737デフォルトの名無しさん
2010/01/21(木) 23:38:140738デフォルトの名無しさん
2010/01/21(木) 23:50:500739デフォルトの名無しさん
2010/01/22(金) 18:21:08ネットで調べるといきなりダウンロードするコードくらいしかなさそうな感じ
0740デフォルトの名無しさん
2010/01/22(金) 18:31:51試してみればいいじゃん。
0741デフォルトの名無しさん
2010/01/22(金) 18:32:140742デフォルトの名無しさん
2010/01/22(金) 18:34:342chブラウザなやり方が必要だった気もする。
0743デフォルトの名無しさん
2010/01/22(金) 18:37:48datまるまるとって来るのはもう作ったんですけど、専ブラはいろいろ通信してるみたいだったので
>>741
なるほど
>>742
いけますよ
外部の板はまだ手をつけてないんですが、2ch本家なら例えばここなら
http://pc12.2ch.net/test/read.cgi/tech/1260111240/
↓
http://pc12.2ch.net/tech/dar/1260111240.dat
と変換すれば落ちてきますよ
0744デフォルトの名無しさん
2010/01/22(金) 18:38:39http://pc12.2ch.net/tech/dat/1260111240.dat
0745デフォルトの名無しさん
2010/01/22(金) 18:46:04HTTP/1.1 で↓あたり返してきてるから、たぶん問題ないね。
Last-Modified: Fri, 22 Jan 2010 09:38:39 GMT
Accept-Ranges: bytes
まーでも、
Content-Encoding: gzip
で、差分ダウンロードがどこまで意味あるのかわからんけど。
0746デフォルトの名無しさん
2010/01/22(金) 18:48:59http://pc12.2ch.net/tech/subject.txt
とかやれば同じく取れます
http://menu.2ch.net/bbsmenu.html
これを解析して
http://pc12.2ch.net/tech/subject.txt
を入手して
http://pc12.2ch.net/tech/dat/1260111240.dat
とやれば専ブラのできあがり
0747デフォルトの名無しさん
2010/01/22(金) 19:03:53差分取らずに全取得すべき場合とか移転時の処理とかちゃんと書いてあるから
一通り読んでから実装した方が良いと思う。
monazilla.org 資料室
http://monazilla.org/index.php?c=6-20
同開発資料
http://www.monazilla.org/index.php?e=192
0748デフォルトの名無しさん
2010/01/22(金) 19:14:52そんなの知ってます
C#でのやり方を聞いているんです
ちゃちゃ入れないでください
0749デフォルトの名無しさん
2010/01/22(金) 19:17:30勝手に書くなよw
>>747
そんなところあったんですね
勉強してみます。
というかプログラム関連の板ってなんでIDないんだろ
0750デフォルトの名無しさん
2010/01/22(金) 19:28:260751デフォルトの名無しさん
2010/01/22(金) 19:30:480752デフォルトの名無しさん
2010/01/22(金) 19:39:50うっとおしいことこのうえない。
0753デフォルトの名無しさん
2010/01/22(金) 20:02:22どうせお前がやってんだろ
0754デフォルトの名無しさん
2010/01/22(金) 20:20:57なんでわかんの?ハッカー?
0755デフォルトの名無しさん
2010/01/23(土) 03:47:280756デフォルトの名無しさん
2010/01/23(土) 10:16:490757デフォルトの名無しさん
2010/01/24(日) 01:54:29----------------------------------------------------------------------------------------
>>さまざまな意味において、基盤であるCLIの機能をもっとも反映している言語であるといえる。
>>C#にある組み込み型のほとんどは、CLIフレームワークに実装されている値型と対応している。
>>しかし、C#の言語仕様はコンパイラのコード生成については何も言及していない。
>>つまり、CLRに対応しなければならないとか、共通中間言語 (CIL) などの
>>特定のフォーマットのコードを生成しなければならないとかいうことは述べられていない。
>>そのため、理論的にはC++やFORTRANのように環境依存のマシン語を生成することも可能である。
>>しかし、現在存在するすべてのC#コンパイラはCLIをターゲットにしている。
----------------------------------------------------------------------------------------
MonoとGNUのコンパイラもそうなのですか?
0758デフォルトの名無しさん
2010/01/24(日) 01:57:310759デフォルトの名無しさん
2010/01/24(日) 02:02:48そうなのですか?
0760デフォルトの名無しさん
2010/01/24(日) 09:08:030761デフォルトの名無しさん
2010/01/24(日) 09:19:30と「マイクロソフトはCLI使ってるけど、別にC#の他の実装ではCLI使う必要は無いよ」と明記されてる。
間違っているとしたら、「しかし、現在存在するすべてのC#コンパイラはCLIをターゲットにしている。」の箇所だよね?
0762デフォルトの名無しさん
2010/01/24(日) 10:00:440763デフォルトの名無しさん
2010/01/24(日) 10:43:41VMなしの構成はありえんと思う
0764デフォルトの名無しさん
2010/01/24(日) 10:47:49Boehm GCはネイティブコードと組み合わせられるし、GHCはネイティブコード吐くし。
0765デフォルトの名無しさん
2010/01/24(日) 12:03:15詳しい事情わかんないから、誰かWikipedia訂正よろ。
0766デフォルトの名無しさん
2010/01/24(日) 12:07:16JITができるってことはやる気になれば全部できるってことだしねえ
それよりC#のクラスライブラリもやっぱりネイティブじゃなく復元が容易な
.netの中間コードなのかね?
0767デフォルトの名無しさん
2010/01/24(日) 12:11:59クラスが使えるVC++ってクラスの構造の復元は可能だったの?
実行コードは多分完璧にとまではいかなくても
クラスの大まかな枠組みは復元できそうだけど
0768デフォルトの名無しさん
2010/01/24(日) 12:23:58http://www.atmarkit.co.jp/fdotnet/insiderseye/20080222sourcecode/sourcecode.html
0769デフォルトの名無しさん
2010/01/24(日) 12:31:18どうもです
> マイクロソフトはクラス・ライブラリの難読化を一切行っておらず、
>「.NET逆コンパイラとコードを難読化するDotfuscator」でも紹介して
>いるReflectorを使えば、これまでにも.NET Frameworkのクラス・ラ
>イブラリを逆コンパイルして、そのソースコードをのぞき見ることができた。
0770デフォルトの名無しさん
2010/01/24(日) 12:35:18逆にざっくり変換するツールとかないのんかね?
0771デフォルトの名無しさん
2010/01/24(日) 12:39:16クラスやメンバ名のようなメタ情報はしっかり詰め込まれてる。
.NETのngenはメタ情報は埋め込まれてないが、
ngen前のアセンブリも必要でそっちからメタ情報を取得する。
なのでBCLはオリジナルのアセンブリとngenされたアセンブリの両方が存在する。
オリジナルのほうは当然refrectorで見れる。
0772デフォルトの名無しさん
2010/01/24(日) 13:36:41デバッグ情報があればある程度なんとかなるはず。
0773デフォルトの名無しさん
2010/01/24(日) 16:11:230774デフォルトの名無しさん
2010/01/24(日) 16:23:520775デフォルトの名無しさん
2010/01/24(日) 17:26:59そんなことしなくても、ソースコードが公開されている。
0776デフォルトの名無しさん
2010/01/24(日) 17:33:45ILGeneratorを使っている場合は、JITなしではその部分は動作しない。
0777デフォルトの名無しさん
2010/01/24(日) 17:36:460778デフォルトの名無しさん
2010/01/24(日) 17:37:210779デフォルトの名無しさん
2010/01/24(日) 17:51:470780デフォルトの名無しさん
2010/01/24(日) 17:57:25extern static void f(int n, ref double a);
static void Main(){
var a=new double[3]{1,2,3};
f(2, ref a[1]);
}
fはn個の要素を持つ配列を受け取る関数とします。
aの部分配列{2,3}をfに渡したいとして、
x86だと上記のようなやり方で一応正しく動作するのですが、
x64だとa[1]の内容が一時的に別のメモリにコピーされ、
fから戻ってきたときにそのメモリからa[1]にコピーされるので、
{2,3}を渡したことになりません。
質問したいのは、x64ではなぜこのような動作になっているのでしょうか。
普通にa全体を固定してa[1]のアドレスを渡してくれればいいのに、
と思うのですが。
0781デフォルトの名無しさん
2010/01/24(日) 18:15:020782デフォルトの名無しさん
2010/01/24(日) 18:17:510783デフォルトの名無しさん
2010/01/24(日) 18:28:320784デフォルトの名無しさん
2010/01/24(日) 18:29:53少なくともfixedで固定すれば保証されるよ
0785デフォルトの名無しさん
2010/01/24(日) 18:35:17違った、配列でなければrefは[In Out]。配列は[In]。
この場合は添え字をつけたから非配列で[In, Out]になる、
だからマーシャリングしてもおかしくない。
0786デフォルトの名無しさん
2010/01/24(日) 19:07:490787デフォルトの名無しさん
2010/01/24(日) 19:25:190788デフォルトの名無しさん
2010/01/24(日) 20:32:350789デフォルトの名無しさん
2010/01/24(日) 20:54:54型 'System.Windows.Forms.HtmlDocument' のコンストラクタが定義されていません。 (CS0143) - C:\project\nettest\MainForm.cs:228,44
というエラーがでます
開発環境は、SharpDevelop 3.1.1です。
よろしくお願いします。
0790デフォルトの名無しさん
2010/01/24(日) 21:04:450791デフォルトの名無しさん
2010/01/24(日) 21:10:01俺もそこ疑問だった
他のMS製クラスだとコンストラクタの補助情報でるのに
なぜかそれだけでないんだよね
public HtmlDocument( Uri documentLocation, string documentContent);
だそうです。
0792デフォルトの名無しさん
2010/01/24(日) 21:13:380793デフォルトの名無しさん
2010/01/24(日) 21:16:36はいはい、マルチマルチ
0794デフォルトの名無しさん
2010/01/24(日) 21:17:10かわりにぐぐって
0795デフォルトの名無しさん
2010/01/24(日) 21:17:52ぐぐった。
0796デフォルトの名無しさん
2010/01/24(日) 21:18:59で?成果は?
ん?
0797デフォルトの名無しさん
2010/01/24(日) 21:46:29>x64ではなぜこのような動作になっているのでしょうか。
つか寧ろ、なんで 32bit だと動くんだろう。
その宣言だと値型の参照渡しだから、↓の通り Boxing/Unboxing されると思ってたんだが。
ttp://msdn.microsoft.com/ja-jp/library/23acw07k.aspx
0798デフォルトの名無しさん
2010/01/25(月) 01:56:480799デフォルトの名無しさん
2010/01/25(月) 02:22:110800デフォルトの名無しさん
2010/01/25(月) 06:39:550801デフォルトの名無しさん
2010/01/26(火) 16:24:000802デフォルトの名無しさん
2010/01/27(水) 17:20:56「自身のexe(を含むフォルダ全部)を削除して終了」ということは可能ですか??
0803デフォルトの名無しさん
2010/01/27(水) 17:24:540804デフォルトの名無しさん
2010/01/27(水) 17:25:530805デフォルトの名無しさん
2010/01/27(水) 17:28:14OS標準の「アプリケーションの追加と削除」の一覧に入るようにするということですか?
>>804
そちらの方法も詳しく教えてください
0806デフォルトの名無しさん
2010/01/27(水) 17:35:03ヒント出したんだからまずググる癖付けろよ
0807デフォルトの名無しさん
2010/01/27(水) 19:13:120808デフォルトの名無しさん
2010/01/27(水) 19:51:38(´・ω・`) _。_
/ J つc(__アi!
しー-J 旦~ 旦~ 旦~ 旦~ 旦~
∬____ ∬____ ∬____ ∬____ ∬____ ∬____
\≠/ \≠/ \≠/ \≠/ \≠/ \≠/
.  ̄ .  ̄ .  ̄ .  ̄ .  ̄ .  ̄
味噌ラーメン 醤油ラーメン 豚骨ラーメン 塩ラーメン チャーシューメン ねぎラーメン
∬____ ∬____ ∬____ ∬____ ∬____ ∬____
\≠/ \≠/ \≠/ \≠/ \≠/ \≠/
.  ̄ .  ̄ .  ̄ .  ̄ .  ̄ .  ̄
サンマーメン にんにくラーメン 和風だしラーメン 五目ラーメン もやしラーメン バター醤油ラーメン
0809デフォルトの名無しさん
2010/01/27(水) 19:57:380810デフォルトの名無しさん
2010/01/27(水) 20:32:290811デフォルトの名無しさん
2010/01/27(水) 20:50:56削除用のbat(js,pl,vbs,rbなんでもいい)ファイルを作成(書き出し)します
System.Diagnostics.Process.Startなどでそれを実行します
実行中のexeは即座に終了します。
時間差で消す事になるのでスクリプトファイルの頭に数秒スリープを置くといいです
スクリプトファイルの作成場所はテンポラリフォルダにしておけば
そのファイル自信もその内消えてくれるでしょう
0812デフォルトの名無しさん
2010/01/27(水) 21:28:410813デフォルトの名無しさん
2010/01/27(水) 21:35:08(提供する側にとっては) 簡単でいいじゃないか。
>>805 の
>OS標準の「アプリケーションの追加と削除」の一覧に
も勝手に追加してくれるんだし。
0814デフォルトの名無しさん
2010/01/27(水) 22:28:310815デフォルトの名無しさん
2010/01/27(水) 22:36:380816デフォルトの名無しさん
2010/01/27(水) 22:37:06cmd.exeに del 自身パス で送り付けておけば削除してくれるでしょ?
確実じゃないかもしれないけど、DOS側でwait入れておけばどうだろう?
0817デフォルトの名無しさん
2010/01/27(水) 22:47:45ZIP展開だけで配置できるやつなら、ユーザーが自分でフォルダ削除すればいい。
(自身を削除って余計なお世話と言うか、誤操作で意図せず削除しちゃう人が結構居そう)
結局>>815なんじゃね。
0818デフォルトの名無しさん
2010/01/27(水) 22:58:480819デフォルトの名無しさん
2010/01/27(水) 23:08:48フリーソフトなどで初回起動時に勝手にレジストリに書き込んだりするやつがたまにあるけど
作法としては最悪だと思う
0820デフォルトの名無しさん
2010/01/27(水) 23:17:53可能です。
終わり。
あんたら深読みしすぎw
0821デフォルトの名無しさん
2010/01/27(水) 23:50:43何も痕跡残さずフォルダ削除のみでアンインスコ出来るやつがいいなぁ。
0822デフォルトの名無しさん
2010/01/27(水) 23:56:43このレベルの質問しかできないやつがその回答だけで済むとでも?
どうせグダグダ聞いてきてムダにスレ消費するだろ
0823デフォルトの名無しさん
2010/01/27(水) 23:56:520824デフォルトの名無しさん
2010/01/28(木) 03:02:570825デフォルトの名無しさん
2010/01/28(木) 07:45:380826デフォルトの名無しさん
2010/01/28(木) 07:48:52フレームワーク入れないと動かないウィルスとかwwwwww
0827デフォルトの名無しさん
2010/01/28(木) 08:03:53(´・ω・`) _。_
/ J つc(__アi!
しー-J 旦~ 旦~ 旦~ 旦~ 旦~
∬____ ∬____ ∬____ ∬____ ∬____
\≠/ \≠/ \≠/ \≠/ \≠/
.  ̄ .  ̄ .  ̄ . .  ̄ .  ̄
味噌ラーメン 醤油ラーメン 豚骨ラーメン チャーシューメン ねぎラーメン
∬____ ∬____ ∬____ ∬____ ∬____ ∬____
\≠/ \≠/ \≠/ \≠/ \≠/ \≠/
.  ̄ .  ̄ .  ̄ .  ̄ .  ̄ .  ̄
サンマーメン にんにくラーメン 和風だしラーメン 五目ラーメン もやしラーメン バター醤油ラーメン
塩ラーメン頂きました。
0828デフォルトの名無しさん
2010/01/28(木) 08:09:58(´・ω・`) _。_
/ J つc(__アi!
しー-J 旦~ 旦~ 旦~ 旦~ 旦~
∬____ ∬____ ∬____ ∬____
\≠/ \≠/ \≠/ \≠/
.  ̄ .  ̄ .  ̄ . .  ̄
味噌ラーメン 醤油ラーメン 豚骨ラーメン チャーシューメン
∬____ ∬____ ∬____ ∬____ ∬____ ∬____
\≠/ \≠/ \≠/ \≠/ \≠/ \≠/
.  ̄ .  ̄ .  ̄ .  ̄ .  ̄ .  ̄
サンマーメン にんにくラーメン 和風だしラーメン 五目ラーメン もやしラーメン バター醤油ラーメン
ネギラーメンうめぇ・・・・
0829デフォルトの名無しさん
2010/01/28(木) 13:50:280830デフォルトの名無しさん
2010/01/28(木) 15:51:07win7・64bit環境でx64指定してコンパイルすると、
警告 1 アセンブリの生成 -- 参照アセンブリ 'mscorlib.dll' は異なるプロセッサを対象にしています。
て出るんです。で、ぐぐってみたら、64bitに対応していない部分があるから。実行時エラーが出る。
などがあったんですけど、とりあえずなんかうごいています。でも気色悪いしいつ実行時エラーが
出るかひやひやするので、場所を突き止めて直せる物なら直したいんですけど
この警告だけ場所をいいません。どうすれば場所を突き止められますか?
0831デフォルトの名無しさん
2010/01/28(木) 16:26:45どう考えてもスレ違いだろ
そもそもそのライブラリは64BIT環境で動くことを保証しているのか?
動作環境くらい調べてこい
0832デフォルトの名無しさん
2010/01/28(木) 17:20:320833デフォルトの名無しさん
2010/01/28(木) 20:30:220834デフォルトの名無しさん
2010/01/28(木) 22:20:58x64指定は、言ってみりゃOSがx64環境でしか動きませんという指定だぞ。
理由がなけりゃAnyCPUにしとけ(OSがx64でもx86でもどっちでもネイティブに動く)。
64ネイティブでは動かないんならx86指定にしとけ(OSがx64でもx86でもどっちでも動くがx64環境では32ビットモードであるWOW64上で動く)。
0835デフォルトの名無しさん
2010/01/28(木) 22:42:540836デフォルトの名無しさん
2010/01/28(木) 22:51:370837デフォルトの名無しさん
2010/01/28(木) 23:01:170838デフォルトの名無しさん
2010/01/28(木) 23:02:520839デフォルトの名無しさん
2010/01/28(木) 23:15:350840デフォルトの名無しさん
2010/01/28(木) 23:27:070841デフォルトの名無しさん
2010/01/28(木) 23:27:270842デフォルトの名無しさん
2010/01/29(金) 11:34:55C#のEXE→64ビット
C++のDLL→32ビット
でコンパイルされていて、C#アプリからC++DLLを呼び出す場合って
多分勝手に色々な差を吸収してくれるんだろうけど大丈夫なんかな?
0843rttyfugihoj
2010/01/29(金) 11:49:33回答(できたら簡単な解説)の明記をお願いします。
問題1:入力したプログラムから以下のように出力するプログラムを作成する。
(実行結果例)
文字列を入力: 今日は、晴れです。
今日は、晴れです。
日 す
は で
、 れ
晴 晴
れ 、
で は
す 日
。すでれ晴、は日今
問題2:ファイル入力した漢字データ(全角)を読み込み、行数を数えながら逆から表示するプログラム。
(実行結果例)
(例として次のような C:\test2.txtを入力する)
今日は、晴れです。昨日は、雨で
した。明日は、曇でしょう。明後
日は、快晴でしょうか。 ←の文章を以下のようなプログラムにする。
ファイル名を入力してください:C:\test2.txt
1:で雨、は日昨。すでれ晴、は日今
2:後明。うょしで曇、は日明。した
3:。かうょしで晴快、は日
0844rttyfugihoj
2010/01/29(金) 11:51:17(実行結果例)
(例として次のような C:\test3.txtを入力する)
And friends just can't be found
Like a bridge over troubled water
I will lay me down ←の文章を以下のようなプログラムにする。
ファイル名を入力してください:C:\test3.txt
1:And friends just can't be found
⇒31文字、6ワード
2:Like a bridge over troubled water
⇒33文字、6ワード
3:I will lay me down
⇒18文字、5ワード
問題4:1月1日が金曜日の平年(たとえば2010年)について、月日の入力データから、曜日を求めるプログラム。
(実行結果例)
月を入力してください:9
日を入力してください:15
9月15日は、水曜日です。
以上4問です。どうか回答よろしくお願い致します
0845デフォルトの名無しさん
2010/01/29(金) 11:56:19ここで聞いたら全部LINQになるぞ
0846デフォルトの名無しさん
2010/01/29(金) 11:57:210847デフォルトの名無しさん
2010/01/29(金) 11:57:59どこまで自分でやってどこが判らないのかをもうちょっと書くべきだろ
こんなのも自分でできないようなら宿題忘れて怒られた方がいい
4だけ判んないとかならまだマシだろうが
そもそも動作環境は何だ?
0848デフォルトの名無しさん
2010/01/29(金) 11:59:00>学校の課題の答えを全て」を求めているのでしょうか?
はい、そうです。よろしくお願いいたします。
クソワロタ
0849デフォルトの名無しさん
2010/01/29(金) 13:03:36問題をネットで調べて回答するならまだましだわ・・・・
宿題でも聞いてるみたいだし
0850デフォルトの名無しさん
2010/01/29(金) 13:06:490851デフォルトの名無しさん
2010/01/29(金) 13:24:36C言語の課題として提出してみてほしい
0852デフォルトの名無しさん
2010/01/29(金) 13:29:570853830
2010/01/29(金) 15:43:10なんやかんやしてたら、自分で作ったコントロールがアセンブリ参照できませんとか
新たな敵が現れて、コードをひとつひとつプロジェクトから削除、そして追加とかしてたら
あの警告も消えたりで、わけわからん。orz
0854デフォルトの名無しさん
2010/01/29(金) 15:48:540855デフォルトの名無しさん
2010/01/29(金) 18:01:36大丈夫じゃないよ
0856デフォルトの名無しさん
2010/01/29(金) 18:08:420857デフォルトの名無しさん
2010/01/29(金) 18:27:360858デフォルトの名無しさん
2010/01/30(土) 02:35:40コンサル料
設計費
検査費
ドキュメント費
納品後メールサポート1インシデントあたり
お見積書としてはどのくらい項目いれようかな
0859デフォルトの名無しさん
2010/01/30(土) 02:45:260860デフォルトの名無しさん
2010/01/30(土) 10:24:460861デフォルトの名無しさん
2010/01/30(土) 14:25:570862デフォルトの名無しさん
2010/01/30(土) 15:36:120863デフォルトの名無しさん
2010/01/31(日) 13:57:460864デフォルトの名無しさん
2010/01/31(日) 14:02:46http://bbs.wankuma.com/index.cgi?mode=al2&namber=45896
0865デフォルトの名無しさん
2010/01/31(日) 14:08:400866デフォルトの名無しさん
2010/01/31(日) 14:13:510867デフォルトの名無しさん
2010/01/31(日) 14:24:50プロパティになってるからって常に別スレッドからの書き込みが
すぐに読み取れる保証はない。
てのが基本なんだが、マジレスするとBackgroundWorkerがComponent派生で、つまりはMarshalByRefObject派生だから。
MarshalByRefObjectに対する外部からのメンバ呼び出しはインライン展開されることはなく、
またフィールドへのアクセスも専用メソッド経由になる。
また、少なくともCLRでは現状、メソッドコールがあるとメモリ同期が行われる。
これらの理由により、フラグがvolatileでなくても実質問題は発生しない。
0868デフォルトの名無しさん
2010/01/31(日) 14:53:58なげーよw
って祭っつうか基地外が一人喚いてるだけじゃん。
0869デフォルトの名無しさん
2010/01/31(日) 14:57:370870デフォルトの名無しさん
2010/01/31(日) 18:40:20ソースを表示させたいのですが、どうすればいいですか
0871デフォルトの名無しさん
2010/01/31(日) 18:42:10取得した奴をそのまま表示すればいいじゃん。
0872デフォルトの名無しさん
2010/01/31(日) 19:01:010873デフォルトの名無しさん
2010/01/31(日) 19:08:21すいません
ソースをどうやって取得するんですか_
0874デフォルトの名無しさん
2010/01/31(日) 19:11:130875デフォルトの名無しさん
2010/01/31(日) 19:14:440876デフォルトの名無しさん
2010/01/31(日) 19:15:070877デフォルトの名無しさん
2010/01/31(日) 19:17:240878デフォルトの名無しさん
2010/01/31(日) 19:23:470879デフォルトの名無しさん
2010/01/31(日) 19:24:50ソースの取得方法もわかんなくて、どうやってブラウザなんて作ってんのやら。
ま、WebBrowser貼り付けただけなんだろうけど。
0880デフォルトの名無しさん
2010/01/31(日) 19:55:350881デフォルトの名無しさん
2010/01/31(日) 20:20:360882デフォルトの名無しさん
2010/01/31(日) 20:20:50此の世でもっともレベルの高いC#使い。
彼の一言はビルゲイツも参考にする程。
0883デフォルトの名無しさん
2010/01/31(日) 20:21:18>>879がゆとりだってさ
すっごいゆとり
扱いに困っちゃうんだよね^^;;;;
ゆとり
ゆとりm9(^Д^)プギャー
0884デフォルトの名無しさん
2010/01/31(日) 20:22:32WebBrowser貼り付けってお前もな(笑)
0885デフォルトの名無しさん
2010/01/31(日) 20:23:130886デフォルトの名無しさん
2010/01/31(日) 20:28:250887デフォルトの名無しさん
2010/01/31(日) 20:29:190888デフォルトの名無しさん
2010/01/31(日) 20:31:440889デフォルトの名無しさん
2010/01/31(日) 20:49:21IDE無料だし一応Win用スタンドアロンのアプリも作れるしで。
0890デフォルトの名無しさん
2010/01/31(日) 21:26:26なんか真っ暗なコマンドラインでくだらん文字が出てくるだけのプログラムなんていらんわ
0891デフォルトの名無しさん
2010/01/31(日) 23:06:49それC#やなくてWinFormsや
個人的には金になるならないでいくとC#は個人レベルでは辛いものがある気はする。
0892デフォルトの名無しさん
2010/01/31(日) 23:11:180893デフォルトの名無しさん
2010/01/31(日) 23:14:280894デフォルトの名無しさん
2010/01/31(日) 23:15:400895デフォルトの名無しさん
2010/01/31(日) 23:27:54C#はサーバサイドで動く環境を個人で準備するのが大変だと思うぜ。
Azure がどうなるか次第ってかんじ。
0896デフォルトの名無しさん
2010/02/03(水) 19:55:11デシリアライズがシリアライズの5倍くらい時間が掛かってるので、インスタンス復元時に何か要らんことしてるんじゃないかと・・・
0897デフォルトの名無しさん
2010/02/03(水) 23:52:150898デフォルトの名無しさん
2010/02/04(木) 00:01:270899デフォルトの名無しさん
2010/02/04(木) 00:50:00http://www.jaist.ac.jp/ICGA-events-2010/olympiad/
1989年にロンドンで第1回目のコンピュータオリンピアードが開催されました。
毎年開催される本イベントでは,コンピュータゲームプレイヤー同士が競技し,世界最高位を決定します。
これまでの優勝者には,Neurogammon(バックギャモン, 1989年), Chinook (チェッカー, 1989年および1990年) そして Tacos(将棋, 2005年, 2006年, 2008年, 2009年)などがあります。
コンピュータオリンピアードは国際コンピュータゲーム協会(ICGA)が主催して実施されています。
競技部門には,アマゾン,バックギャモン,ブリッジ,コンピュータプール,六目並べ,象棋,ドッツアンドボックス,国際ドローツ,囲碁,9路盤囲碁,ヘックス,ハバナ,ラインズオブアクション,
将棋,スラカルタなどがあります。
この他のゲームもコンピュータによる競技会を開催する可能性があります。主催者までコンタクトしてください。
2010年に第15回目となるコンピュータオリンピアードは金沢市内で開催されます。
ICGAとJAISTとの共同イベントとして9月25日から10月2日にかけて金沢市内で開催されます。
各競技の日程は後日決定します。
参加申し込みなどの詳細も後日お知らせ致します。
0900デフォルトの名無しさん
2010/02/04(木) 19:42:14今のおいら的には xls に変換すりゃ事足りるんだけど
素で xlsx を読めるようなライブラリってないですか?
条件としては、ターゲットマシンに Office が入ってなくても使える事。
ファイルを生成したりはしないです。読めればおk。
オリジナルの POI の jar どもを全部 ikvm で dll に変換しようとしたんだけど、挫折・・
XSSF〜クラス群に限ってうまいこと変換できない・・・
# 無いならば・・xlsx って xml を zip で圧縮しただけですよね。暇な時に自分で作ってみようかなあ。
0901デフォルトの名無しさん
2010/02/04(木) 20:01:36そりゃマイクロソフトが許さなくね?
多分無理に100オプーナ
0902デフォルトの名無しさん
2010/02/04(木) 20:21:45http://www.ecma-international.org/publications/standards/Ecma-376.htm
0903デフォルトの名無しさん
2010/02/04(木) 20:44:300904デフォルトの名無しさん
2010/02/04(木) 20:45:51読み取りだけでいいならこれは?
ttp://www.microsoft.com/downloads/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=ja
0905デフォルトの名無しさん
2010/02/04(木) 21:17:04TextWriteとかを試そうとするとpathを指定するかSystem.IO.Streamを指定しろと言われます。
抽象クラスだからnewできないよって言われます・・・。
0906デフォルトの名無しさん
2010/02/04(木) 21:17:580907デフォルトの名無しさん
2010/02/04(木) 21:19:33http://msdn.microsoft.com/ja-jp/library/system.io.memorystream%28VS.80%29.aspx
0908906
2010/02/04(木) 21:19:36Encodingでバイト配列に変換してMemoryStreamに入れる
0909デフォルトの名無しさん
2010/02/04(木) 21:22:25おおう・・・ありがとうございます
StringStreamで一生懸命ぐぐってもMSDNを見てもC++しか見つからなくって
てんぱってました・・・orz
0910デフォルトの名無しさん
2010/02/04(木) 23:51:06わーい。ありがとう。試してみます。
0911デフォルトの名無しさん
2010/02/05(金) 00:35:03てんぱってました
0912デフォルトの名無しさん
2010/02/05(金) 01:16:390913デフォルトの名無しさん
2010/02/05(金) 01:18:150914デフォルトの名無しさん
2010/02/05(金) 01:19:11ふらっとC#,C♯,C#(初心者用) Part55
http://pc12.2ch.net/test/read.cgi/tech/1265288563/
これの立てそこないです
よければつかってください
0915デフォルトの名無しさん
2010/02/05(金) 01:19:42ふらっとと違ってこっちは進行遅めだし
0916デフォルトの名無しさん
2010/02/05(金) 01:20:59C#, C♯, C#相談室 Part55
http://pc12.2ch.net/test/read.cgi/tech/1265283175/
これのことでしょう
0917デフォルトの名無しさん
2010/02/05(金) 01:49:57でーびーとかえっくすえむえるとかはよくわからないです
0918デフォルトの名無しさん
2010/02/05(金) 01:58:230919デフォルトの名無しさん
2010/02/05(金) 02:00:15ありがとうございます
0920デフォルトの名無しさん
2010/02/05(金) 05:11:230921デフォルトの名無しさん
2010/02/05(金) 06:22:370922デフォルトの名無しさん
2010/02/05(金) 20:05:06たとえば
<hoge>
<huge>hage</huge>
</hoge>
とあった場合に
<hoge>
<huge>hage</huge>
<huga>haga</huga>
</hoge>
としたい場合はどうしたらいいんでしょうか?
指定行まで読み込んでから追記してみたらだめでした・・・。
0923デフォルトの名無しさん
2010/02/05(金) 20:45:250924デフォルトの名無しさん
2010/02/05(金) 20:51:010925デフォルトの名無しさん
2010/02/07(日) 00:59:110926質問です
2010/02/07(日) 14:45:28引数で渡されているC#のメソッドをコールバックとして呼び出したいです。
ソースを以下に示します。C側(DLL)の関数は呼びだすことができ、
その中からC#側のShowMessageも呼べてます。
しかしsbには"TESTTEST"のうち、1文字入っていません。
どうすれば文字列全体を引数として渡せますか?
0927質問です
2010/02/07(日) 14:46:23// ユーザが呼び出すメソッド(開始)
private void load_button_Click(object sender, EventArgs e)
{
....// DLL内メソッド呼び出し
....bool a = TgkMM.TgkCore.TgkCoreInit(ShowMessage);
}
// DLL内から呼ばれるコールバックメソッド
static void ShowMessage(string sb)
{
....MessageBox.Show(sb);
}
----
// DLL呼出用定義
namespace TgkMM
{
....public class TgkCore
....{
........public delegate void CallBackFunction(string msg);
.
........[DllImport("TgkCore.dll")]
........public extern static bool TgkCoreInit(CallBackFunction cb);
....}
}
0928質問です
2010/02/07(日) 14:47:54bool __stdcall TgkCoreInit(CALLBACKFUNCTION call_back)
{
....call_back(L"TESTTEST");
.
....return result;
}
以上です、よろしくお願いします。
0929デフォルトの名無しさん
2010/02/07(日) 14:54:44リトルエンディアンだっけ?
0930デフォルトの名無しさん
2010/02/07(日) 14:57:06Tは0x0054
0931デフォルトの名無しさん
2010/02/07(日) 15:03:48元の文字
T
Shift-JIS
54
EUC-JP
54
ISO-2022-JP
54
UTF-8
54
UTF-16LE
FF FE 54 00
UTF-16BE
FE FF 00 54
C#のデフォルトの内部エンコードってなんだっけ?
0932デフォルトの名無しさん
2010/02/07(日) 15:15:49http://homepage1.nifty.com/nomenclator/unicode/ucs_utf.htm
UTF-16LEじゃなくUCS-2(扱いやすさ重視で採用してるらしいのでx86を考えるとLEが妥当か)
とのことなので
メモリ上をみると
C#は\0を最後とか見ないので(たぶん
0x54,0x00,0x45,0x00・・・と送ってるけど
DLL側は昔ながらの\0が文字列の最後と思ってるので
Tだけ送ってくる?
0933デフォルトの名無しさん
2010/02/07(日) 15:38:21でデリゲートの文字変数も変換されると思う。
0934デフォルトの名無しさん
2010/02/07(日) 16:45:43CALLBACKFUNCTIONの定義はどうなってることやら
0935デフォルトの名無しさん
2010/02/07(日) 16:47:220936質問です
2010/02/07(日) 18:15:38[DllImport("TgCore.dll", CharSet=CharSet.Unicode)]
をつけてみました、やっぱりダメでした。1文字しか送られません。
C#側で、
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void CallBackFunction(string msg);
としてみました。
どういう意味なのかよくわからないのですが、何も変わりませんでした。
CALLBACKFUNCTIONの定義は以下のようになっています。
typedef void (*CALLBACKFUNCTION)(const WCHAR* name);
いろいろ厄介なのでもう諦めようかと・・・。
0937デフォルトの名無しさん
2010/02/07(日) 18:17:26受け側が多分unicodeに対応してないからおかしくなってるんだから
0938デフォルトの名無しさん
2010/02/07(日) 18:19:06unicode->S-JIS->unicode
となってるか何かでおかしくなってるんだよ
0939デフォルトの名無しさん
2010/02/07(日) 18:22:44この間は上ででてる
[DllImport("TgkCore.dll"), CharSet=CharSet.Ansi]
で対応して
S-JIS->unicode
これもAnsi?で受けないと
0940デフォルトの名無しさん
2010/02/07(日) 18:24:04> [UnmanagedFunctionPointer(CallingConvention.StdCall)]
> public delegate void CallBackFunction(string msg);
CharSetつってるじゃんかー
0941デフォルトの名無しさん
2010/02/07(日) 18:24:57文字コードについていわれてるのにさっぱり理解できてないよね
0942デフォルトの名無しさん
2010/02/07(日) 18:30:02c#にコールバックで渡して大丈夫なのか?
0943デフォルトの名無しさん
2010/02/07(日) 18:33:39stringで受け取るなら\0前までをstringに変換してくれる
マーシャラさんの有り難みを噛みしめろー
0944デフォルトの名無しさん
2010/02/07(日) 18:35:47CALLBACKFUNCTIONの定義に__stdcallが付いていないのに、
CallBackFunctionの定義でStdCallを指定しているのはおかしい。
Cで呼出規約無指定の場合はCallingConvention.Cdecl。
若干、簡略化した上で自分でも試したが、これでうまくいった(TESTTESTの出力に成功した)ぞ。
// C(といよりboolがあるためC++と判断)
// cl test.cpp /Fet.dll /link /DLL
#include <windows.h>
typedef void (*CALLBACKFUNCTION)(const WCHAR* name);
extern "C" bool __declspec(dllexport) __stdcall TgkCoreInit(CALLBACKFUNCTION call_back)
{
call_back(L"TESTTEST"); return true;
}
// csc test.cs
using System;
using System.Runtime.InteropServices;
class c
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl, CharSet=CharSet.Unicode)]
public delegate void CallBackFunction(string msg);
[DllImport("t.dll", EntryPoint="_TgkCoreInit@4")] // EntryPointは書かずにうくいっているなら不要
public extern static bool TgkCoreInit(CallBackFunction cb);
static void Main()
{
TgkCoreInit(ShowMessage);
}
static void ShowMessage(string sb)
{
Console.WriteLine(sb);
}
}
0946質問です
2010/02/07(日) 19:18:08>>937様の仰る通り、送り側は"L"をつけないで "TESTTEST" で送ってみたら
うまく行きました!日本語もうまく行きます。
C++→C#に送る際に、S-JIS→Unicode(string)に変換してくれてるんですね。
みなさんありがとうございます。
0947デフォルトの名無しさん
2010/02/08(月) 03:58:48くぐったんだが、方法がわからん…
0948デフォルトの名無しさん
2010/02/08(月) 05:51:190949デフォルトの名無しさん
2010/02/08(月) 06:58:21EmEditorに対抗するため。
あちらは100メガ近くあるテキストでもまともに扱えるらしい。
0950デフォルトの名無しさん
2010/02/08(月) 07:47:050951デフォルトの名無しさん
2010/02/08(月) 08:14:39めんどくさいから一行ずつデータ保持しておけよ^;^
0952デフォルトの名無しさん
2010/02/08(月) 09:14:160953デフォルトの名無しさん
2010/02/08(月) 09:29:420954デフォルトの名無しさん
2010/02/08(月) 10:01:310955デフォルトの名無しさん
2010/02/08(月) 20:14:14軽くはないけどそんなに遅くもない
0956デフォルトの名無しさん
2010/02/08(月) 20:20:070957デフォルトの名無しさん
2010/02/08(月) 20:21:410958デフォルトの名無しさん
2010/02/08(月) 23:34:530959デフォルトの名無しさん
2010/02/08(月) 23:58:400960デフォルトの名無しさん
2010/02/09(火) 00:39:010961デフォルトの名無しさん
2010/02/09(火) 09:34:10処理するたびに new して代入するのと
最初に一回だけ new しておいて Clear() してから結果を代入するのと
どちらが望ましいんでしょうか?
結果の件数は数十万件になることもあります
0962デフォルトの名無しさん
2010/02/09(火) 09:42:03入らないジャン
0963デフォルトの名無しさん
2010/02/09(火) 09:43:18なんかの処理っていうのは別メソッドで実装してるんだよな?
Clearする必要あるの?戻り値を保持じゃなくてメソッド中で大量データを処理したいの?
つーか何を望んでるの?パフォーマンス?
0964961
2010/02/09(火) 10:06:02済みません 説明が不十分でした
処理メソッドは処理の度に new した ArrayList に結果を設定して返し
主メソッドはいくつかの処理メソッドが返却したリストをマージ・ソートして保持します
例えば今20万件保持しているとして、次の処理で30万件返却されたとしますと
主メソッドで都度 new する場合、前の20万件のデータは GC されるまで
メモリを圧迫するのではと気になります。
Clear() すればメモリの無駄は少なくなると考えましたが、よく考えたらこれも
結局は GC 頼みになって同じなのかも・・・ Clear() の処理もコストが掛かることですし
毎回 new で問題ないですかね?
0965デフォルトの名無しさん
2010/02/09(火) 10:44:28これが老いるというやつなのか・・・とほほ
0966デフォルトの名無しさん
2010/02/09(火) 10:49:24俺も(ヽ´ω`)
五回読見返したけど、ギブアップ。
0967デフォルトの名無しさん
2010/02/09(火) 10:56:11親子とも最初の一度だけでいいと思うが…
ArrayListなんだし追加していくだけでいいんじゃない?
親←NULL
子←NULL
子呼び出し
子←南下1
子終了
親←親+子
(親←南下1)
子呼び出し
子←南下2
子終了
親←親+子
(親==南下1南下2)
0968デフォルトの名無しさん
2010/02/09(火) 10:58:07親←NULL
子呼び出し
子←NULL
子←南下1
子終了
親←親+子
(親==南下1)
子呼び出し
子←NULL
子←南下2
子終了
親←親+子
(親==南下1南下2)
0969デフォルトの名無しさん
2010/02/09(火) 11:04:25.Capacityを減らしても内部のバッファを小さいのに切り替えるだけで
メモリの回収は結局GCなんじゃないかと思う。
0970デフォルトの名無しさん
2010/02/09(火) 11:07:41子ArrayList:100k超のデータ数を処理する?
子のほうは保持し続ける処理がない限り処理が終わったら勝手に消える
親をnewするのは意味不明
よって何もするな
0971デフォルトの名無しさん
2010/02/09(火) 11:12:060972デフォルトの名無しさん
2010/02/09(火) 11:18:390973デフォルトの名無しさん
2010/02/09(火) 11:19:49アホみたいに時間かかると思うけど
0974デフォルトの名無しさん
2010/02/09(火) 11:19:49両方試して。
俺らには何万件のデータがどんな容量か分からんのだよ。
0975デフォルトの名無しさん
2010/02/09(火) 11:30:29>主メソッドで都度 new する場合、前の20万件のデータは GC されるまで
>メモリを圧迫するのではと気になります
この部分が怖いんだが
親で保持してたListを毎回破棄するのか
何の意味があるんだかわからん
自分でArrayListとかマージするとかって書いてるのに…
0976デフォルトの名無しさん
2010/02/09(火) 11:33:340977デフォルトの名無しさん
2010/02/09(火) 11:37:400978デフォルトの名無しさん
2010/02/09(火) 11:38:010979デフォルトの名無しさん
2010/02/09(火) 11:52:39>今20万件保持している
親の保持List
>次の処理で30万件返却
子の返却値(=親の一時List?)
>主メソッドで都度 new する
親の一時List
>前の20万件のデータは GC されるまで
>メモリを圧迫するのではと気になります。
親の保持Listに突っ込んだ後の親の一時List
子の返却時点で上書きされないか?
add使って追加してるだけってオチ…
0980デフォルトの名無しさん
2010/02/09(火) 11:54:330981デフォルトの名無しさん
2010/02/09(火) 11:54:59実測してみた方が良いと思うよ。
0982961
2010/02/09(火) 11:56:54申し訳ありませんでした。
真意をお伝えできなかったので混乱してしまったと思いますが
要点は>>969,971,974であると理解しました。
もうちょっといろいろやってみます。
0983デフォルトの名無しさん
2010/02/09(火) 11:58:17今回に限らず「自分で測定しろよ」ってスタンスのレスがほとんどだったと思うが…
0984デフォルトの名無しさん
2010/02/09(火) 12:01:13http://pc12.2ch.net/test/read.cgi/tech/1265283175/
ふらっとC#,C♯,C#(初心者用) Part55
http://pc12.2ch.net/test/read.cgi/tech/1265288563/
0985デフォルトの名無しさん
2010/02/09(火) 12:04:130986デフォルトの名無しさん
2010/02/09(火) 12:08:380987デフォルトの名無しさん
2010/02/09(火) 12:14:070988デフォルトの名無しさん
2010/02/09(火) 12:27:220989デフォルトの名無しさん
2010/02/09(火) 12:29:210990デフォルトの名無しさん
2010/02/09(火) 13:00:34C#, C♯, C#相談室 Part55 (実質Part57)
http://pc12.2ch.net/test/read.cgi/tech/1265283175/58-
0991デフォルトの名無しさん
2010/02/09(火) 14:53:56しらんがなw
0992デフォルトの名無しさん
2010/02/09(火) 20:52:42javaで作ったファイルをバイナリエディタで見てみると、int型で値4232を書き込んだ所がE1 82 88 E1となっていて、
C#でBinaryReaderのReadInt32()メソッドで読み込むと-511147295になってしまう、といった次第で困ってます
0993デフォルトの名無しさん
2010/02/09(火) 21:03:12単一の文字を書き込みます。
文字として書き込んでるらしいけど本当にそれでいいの?
0994デフォルトの名無しさん
2010/02/09(火) 21:05:31javaの方で正しく書き込めたらまたおいで
0995992
2010/02/09(火) 21:10:46今調べたら少し勘違いしていたようですが、javaの方では入出力は問題なく行えてます。
int型の下位16ビットだけを記録しているようで、上位16ビットを使用していなかったので。
同じ変換を行うメソッドはC#には無いんでしょうか?
0996デフォルトの名無しさん
2010/02/09(火) 21:15:22int型で値4232を書き込んだ所がE1 82 88 E1
あまりまじめに調べる気もないけど16bitだけ書いてるにしても連想ができない
8288だけを数字に直しても4232とは程遠いし
0997992
2010/02/09(火) 21:20:38Javaの方のファイル作成部分を見直します
失礼しました
0998デフォルトの名無しさん
2010/02/09(火) 21:20:470999デフォルトの名無しさん
2010/02/09(火) 21:24:54といわれてもわかるわけないし
第一その16進数のエンディアンは何とか細かい情報わからねーし
1000デフォルトの名無しさん
2010/02/09(火) 21:26:0110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。