インデントは全角スペースに置換したら残せますよ。
そんなの10年前から全員知ってます
いや、テンプレにインデントってあったから・・・ while true break end
分かったから小便して寝ろ
while true break end ↑全角スペース39バイト ↓HTMLエンコード59バイト while true break end サイズが増えるようなことして制限に引っかかるのはもったいなくないか?
>コードの量が多い場合は下記サイトを使うなどしたほうがいいかも。
インデントが必要なソースはどうせ長いから外部サイト使ってねってことで。
はエディタにコピペすると変になる事があるのでやめてほしい 全角空白くらい一発で置換できるんだし
14 :
デフォルトの名無しさん :2011/06/15(水) 21:44:10.31
>>12 そのような発言はいただけませんねぇ。
私には彼女がいますが。あまり怒らせない方がなんなんぢんすか。
しっくりこねーんずら
ほね」。
dll内のメソッドとかを呼び出した場合って、そのメソッドって別スレッドに なるんでしたっけ?
P/Invokeを指して言ってる?
そうです。Invokeを使わないといけないのかって意味で><
20 :
デフォルトの名無しさん :2011/06/16(木) 18:38:00.94
えっ
21 :
デフォルトの名無しさん :2011/06/16(木) 18:39:07.45
>>17 そりゃDLLのクラスなどを呼び出したのが別スレッドなら・・・
というか使ってみろよ
結局そのクラスというかメソッドがどのスレッドに所属してるかじゃないの?
j
excelのCOMオブジェクトをソース内から扱った後に ReleaseComObjectする例がよくあるけど、 ReleaseComObject使わなくても 使った後にexcelのprocessをkillすればキレイさっぱり 終わってくれる。 試しにプログラムで繰り返し使用、終了を延々繰り返しても メモリを食いつぶしたり、excelが使えなくなったりしません。 使ったCOMオブジェクトほったらかしで、 最後にkillする方法で問題ありますか?
シャットダウンすればどんな行儀の悪いプログラムでもオッケーッスよね って言ってるのと変わらんぞ 問題はあるが好きにしろ
>>24 どんな問題が起こるのでしょうか?
.netでcomを扱うのは推奨しないと何処かで見た気がしますが、
マイクロソフトのサポートページなんかでは
powerpointを扱うサンプルが有ったりします。
実際にはReleaseComObjectで後片付けしたり、
MSのサンプルのようにGC.collectするつもりですが、
プロセスが残っていない状態で何処に問題が起こるのかを
知っておきたいです。
ご存じの方よろしくお願いします。
いろいろ問題あるうちの1つだけど Excelが終了時とかに何をやっているかとかが判ってりゃいいんちゃうかな 自分のソフトも終了時になにか保存してたりすることもあるだろう それをKILLされて保存も何もされませんでした。 みたいな?
>>25 「このアプリケーションを使うときはすべてのExcelを終了してください。」
っていう糞仕様にするのか?
処理中にエクセルを起動するなってのはあったな
商用コンポーネントでもExcelでテキスト入力してるときに出力するとコケたりするから
Rangeとか些細なオブジェクトも全部ReleaseComObjectしとかないと エクセルのプロセスが居座る可能性があるよ、って昔わんくまかどっかの人が 書いてたのを読んだ記憶があるが、現実にはそんな問題が発生したことはないな。 その手の問題を起こしてる人のコードは、恐らくもっと別の点に問題がある。 プロパティ経由で取得したオブジェクトを変数に入れずにインラインでメソッド 呼んだりとかが典型だけど。
31 :
23 :2011/06/18(土) 22:27:01.27
みなさまご意見ありがとうございます。 ご意見を参考にして出来限りの開放を実装してみます。
32 :
デフォルトの名無しさん :2011/06/22(水) 09:22:36.73
C# (VS2010)でCPUやGPUの温度を計測するソフトを作りたいです。 参考になるサイトやソースがありましたら教えて頂けないでしょうか?
34 :
32 :2011/06/22(水) 14:47:17.38
>>33 ありがとうございます! 上記のURL参考にチャレンジしてみます。
XElementに文字列で表されたXML要素を追加したいです。 XElement root = new XElement("root"); XmlWriter writer = root.CreateWriter(); writer.WriteRaw("<addition>v</addition>"); 上記のコードでaddition要素をrootの子要素として追加したいのですが、 root.Valueとして扱われてしまいます。どのように修正すればよいでしょうか。
わざわざXmlWriterとか使わずともXElement.Parseで十分じゃね
>>36 実はルートが複数(addition,addition2,,,)ある文字列を処理したいのです。
XElement.Parse("<Root>"+additionStr + "</Root>").Elements()を追加
すればよいのでしょうが…。WriteRaw()がうまく動かななくて気持ち悪いのと
速度とかも関係あるかなと思いまして。
どっちにしろWriteRawでもパーサ走るだろうから全然関係ないレベル
39 :
デフォルトの名無しさん :2011/06/22(水) 17:14:31.42
直接C#の話題では無いので、もっとよいスレがありましたら誘導してください。 Visual Studio 2010のインストーラー(Setup)に関して、よい参考書があったら推薦していただけませんか? VSはそれなりに触ってきましたが、msiを使うのは初めてなのです。
>>39 簡単だからググるだけで大丈夫だと思うけどな
基本は
@インストーラのプロジェクトを作る
Aエクスプローラ感覚でファイルを貼りつける
Bプロパティで名前とか保存場所とかいじる
で、ビルドすればおっけ
41 :
デフォルトの名無しさん :2011/06/22(水) 20:30:53.74
環境:VS2005(.net 2.0) 内容:log4netについて ネット上にて参照し、log4netのダウンロード、参照設定、外部設定ファイル作成(XMLファイル)、ログ出力と一通り行って実行したところ、実行フォルダ配下にlog4net.xmlが自動的に作成され(サイズ:約1MB)、設定ファイルが読まれていないように見受けられました。 そのような現象が起きた場合、原因は何でしょうか? よろしくお願いします。
[assembly: log4net.Config.DOMConfigurator(Watch=true)] って書いてるんじゃねえの [assembly: log4net.Config.DOMConfigurator(ConfigFile="設定ファイルパス", Watch=true)] ってやれば読むだろ
43 :
デフォルトの名無しさん :2011/06/22(水) 21:03:06.50
>>42 回答ありがとうございます。
assemblyは記述してなく、XMLConfigurator.ConfigureにFileinfoのインスタンスを設定し、GetLoggerで取得してます。
44 :
39 :2011/06/23(木) 01:03:16.54
>>40 おっと、もうお返事が。ありがとうございます。
・・・うーん、チュートリアルだけだと、いまひとつピンとこなかったのですが・・・。もう少し検索してみましょう。
プロジェクトからインストーラを作るのは確かに凄く簡単なんですけど、いまひとつ痒いトコロに手が届かないんですよね。
ディレクトリごとファイルをコピーしたり、終了後に何かを実行したり、とか・・・。
たぶん設定があるんだとは思うので、もう少し調べてみましょう。
セットアップに関してはMSは始終やる気がなかっね。 カスタマイズ性の低さはともかく、ドキュメントは少ないし バージョン管理関係のプロパティーの意味不明さとか、やってると腹が立ってくるよ。 次のVSからはサポートされなくなるらしいしよね。
Windowの状態を起動毎に保存するようにしております。 その際にWindowStateを最小化で終了するとTopとLeftの位置が-32000で 保存されてしまいます。その状態で起動すると当然最小化状態でスタートするのですが 最大化等ができなくなります。この場合どのようにすればいいのでしょうか? 最小化にした場合FormのTopとLeftを見るだけではだめなのでしょうか?
47 :
46 :2011/06/23(木) 10:28:09.38
自己解決しました。 最小時のデータはTopではなくRestoreBounds.Topに持っていました。 通常時はTopでもっているようです。 なので状態保存するときはその状態(WindowState)を確認してTopを 持ってくるのかRestoreBounds.Topを持ってくるのかを調べないといけない ようでした。
インストーラーは自分で作ったほうが早いよな・・・
49 :
デフォルトの名無しさん :2011/06/23(木) 13:48:04.73
LINQいいよね〜
InnoSetupまだあるんだ!!
初歩的な質問で申し訳ないけれど C#でちょっとしたプログラムを作ったんだけど 誰かに使ってみて欲しいのよ で、私の環境だとバグみたいなのはないけど もしかして使う人によってそういうの出るのかな?って あとまぁ使い勝手なんかも可能であれば聞きたいんだけれど そういうのはどこのスレへ行ったらいいのかしら?(汗
・友達がいるならそいつに頼め ・いないならVectorなりなんなりで公開してみろ (まあものの質にもよるけどコメントなんてそう滅多にもらえないが) ・VIPとかでスレ立ててテストするとか ・最後の手段として俺が使ってやってもいいが。うpしてみそ
>>54 すみません
ありがとうございます
起動チェックだけお願いできませんか?
その後VIPに行ってみます
upしてきますね
起動と動作確認したよ メインフォームに閉じるボタンがないのはどうかと思う あと、Dispose()するときはusing使ったほうがいいよ あと、Vista以降はProgramFiles以下に配置されると、設定ファイルが保存できなくなったはず
>>57 ありがとうございます
アドバイスを参考に修正してから
VIPに行ってみますね
ありがとうございました
あとうぷろだのは削除しておきます
すいません、ListViewを使ってサムネイル表示をして それにチェックボックスも出しているんですけど そのチェックボックスなんですが サムネイル画像の左にでてなんか見た目がとても悪いんです このチェックボックスってたとえば上だとかにどうにかしてできないもんでしょうか?
ProgramFiles以下でファイル操作するなら、Administrator権限が必要になるしな
>>59 オーナードローでやるしかないと思うよ・チェックボックス自身はCheckBoxRenderer使えば簡単に描画できます
>>61 さすがにものすごくめんどくさそうなのであきらめて標準でいきます
ありがとうございますた
そんなときにだぼーぴーえふ
ListViewのオーナードローってアイテムだけ書けばいいから 大したことないんだけどね
.netframework 4.0のParallel.Forを使って関数内でループを並列処理させたいのですが、関数にoutやrefで渡された配列に対しては、クエリ式の内部では使用できませんとエラーがでます。 どうしたら解決できるのでしょうか?
どうするも何もrefやoutをやめるしかない クエリ式やラムダ式はあくまで別のメソッドなんで外のメソッドのrefやoutパラメータは取り込めない
67 :
66 :2011/06/25(土) 00:55:50.85
あー、これならいいのかな void Hoge(ref int[] a) { int[] b = a; Parallel.For(0, b.Length, i => { b[i]++ }); a = b.Select(x => x > 2).ToArray(); }
>>67 うーん、どうせ最後に ToArray するんなら、普通に戻り値を int[] にして
int[] Hoge(int[] a) { 処理; return xx.ToArray(); }
でよくね?
というか、
a.AsParallel().Select(x => x + 1); でよくね?
69 :
65 :2011/06/25(土) 04:20:46.00
結局、まずint[] b = aで先頭アドレスをコピーして、bに対して処理すればいいのですね? それとbを変更したら、自動的にaも変更されるんじゃないのでしょうか?
>>69 仕様をちゃんと聞きたいのだけど、引数で与えた a の中身を変えたいの?変えたくないの?
変えたいなら、ref で渡す必要ない。配列は参照型。
変えたくないのなら、ParallelForで処理するよりも、Parallel LINQ で処理した方がいい。
参照型を参照渡しするのは、変数が指してる参照先を別のオブジェクトに変更したい場合
だから
>>67 は最後にオブジェクトを入れ替える妙な処理が入ってる
参照先のオブジェクトの中身を変更したいだけなら参照渡しは不要
>>71 いや、それをわかってて ref にしてるならいいのだけども。
それだったら普通に戻り値にすればいいんじゃない?っていう推測の元、
分からずやってる可能性も否定できず。
ParallelForってあれか? ムッシュムラムラ、ムッシュムラムラ?
老いては子に従え。年寄りの冷や水。
Delphiしてた人なら知ってると思うけど「Delphian World」っていうサイトにいろんな無償コンポーネントが公開されててすごい便利だった。 まあ既にそのサイトなくなってるみたいだけど。 バーコードやQRコードを印刷できるものや、どんなシステムでもほぼ使う年月日系の処理とか、かなり機能便利なカレンダーとか。 グリッド系もいろんな機能が付いたのがあったと思う。 あとテキストボックス系もいろいろあった。 勝手に金額カンマ区切り、入力できる文字種プロパティあり、カーソル入ったら設定した背景色に変わるとか、後はありすぎて忘れた。 C#って出て結構経つと思うんだけどそういう無償コンポーネント(C#だとクラスって言うのかな?)って探したけどないに等しかった。 そういうサイトってやっぱりないのかな? みんな大量に同じようなルーチン作ってるのって勉強にはなるけど何か効率悪いような。
どこで何を探したんだ?
78 :
66 :2011/06/28(火) 00:34:47.60
そういうのは最近はオープンソースプロジェクトになってるから CodePlexとかCodeProjectとか行けば腐るほど見つかる
人が作ったものって結局帯に短したすきに長しだから、余程複雑な物でもない限り 俺は自分で作っちゃうな。 ライセンスだ何だと余計な心配もしなくて済むし
だよな どうせ数時間の作業だし 状況が限定されているから余計なオプションもいらないし 想定外のトラブルに見舞われることもない
82 :
75 :2011/06/28(火) 21:36:53.23
googleで「C# フリー クラス」とか「C# 無料 関数」で探してた。
まともなのはVectorのWindows > プログラミング > 各種ライブラリ くらいだった。
>>78 見たら英語なんて諦めた。
>>81 > キーワード+.NETで検索するだけ
この方が結構見つかりそう!
キーワード + .NET + C#、がベストかな。
ありがとう!
「無料 関数」という調べ方は逆に斬新に思えるんだけども、 昔ってそれでフリーのライブラリ見つかったの? てか、他の言語で、日本語で引っかかるようなレベルのライブラリなら、 .NET の場合は全部標準でそろってるだろ。
CodeProjectなら便利なのが腐るほどあるよな。評価やコメントなんかを読めば有用かどうかも分かるし。
87 :
デフォルトの名無しさん :2011/06/28(火) 23:00:01.80
>>83-86 俺みたいなタコにはこういう情報って助かる。
なんか当たり前のことを理解してないことが理解出来てないと思う。(俺が
当たり前のことを理解してないことが理解出来てないってとが理解できてれば大丈夫だよ
はぁ、参照型とポインタは等価だと何度教えればいいんだろうか…
あ り え な い。バストダンジョンがどうとか〜。
(何度も教えたら)いかんのか?
構わん、どうぞ()
まーたなんでも実況Jリーグの連中が内輪ネタを垂れ流してるのか
あれはjリーグじゃなくジュピターです
クラスのコレクションとして使うときに、List<T>をカスタマイズしたいのですが、 項目を追加するときのイベントなどがあるList<T>の実装はないでしょうか? IList<T>を自分で実装するしか無いですかね?
クラス内のコレクションメンバとして使う時です
Collection<T>を継承する
ObservableCollection
>>97 ,98
今回はCollection<T>を使おうと思います
ありがとうございました!
本当に継承が必要かを検討してみるのも。 IList<その特定のクラス>への拡張メソッドでもいけないか、とか。 昔と違って色々やりようはあるので考えてみるのもいいかも。
>>100 Addするデータの正規化を行いたいので、Collection<T>.InsertItem()をオーバーライドしようと思います
他にやり方あるでしょうか?
いいんじゃね
DictionaryのKeyが挿入順番を保持したようなコンテナってありますか?
無いッス
そういうのは自分でも作れそうだね。 Dictionaryと、挿入順を記録するためのListをもつDictionary。 実装はオブジェクトコンポジションで。
OrderedDictionaryがdisられたと聞いて ジェネリック版何故かねーけどなー
ArrayListもなぜかジェネリック版がない
そこでArrayListを持ち出してくるのは実にわざとらしい
なぜだ 配列とリストの性質を合わせ持つ最強の汎用コレクション舐めんな List<T>とか配列ラッパーじゃねーか
ヒップホッパー、まで読んだ。
>>109 あまり考えたことがなかったが、配列とリストの性質ってのはどういったもんなの?
>>111 配列はランダムアクセスが速い
リストは任意箇所での要素の追加と削除が速い
ArrayListはこの二つの性質を合わせ持つ
ワロス
>リストは任意箇所での要素の追加と削除が速い これはリストの汎用的な性質じゃないと思うんだけど リンクリストっしょ
ああリストってリンクリストのことね で、ArrayListのInsert/Removeが早いって? おかしいなぁ、List<T>とArrayListで同じ実装なんだけど
え・・・?
なんか、List<T>がArrayListのジェネリック版だってわかっててわざとぼけて荒らしてるんじゃなかろうか。
107は明らかにわざと言ってる
ArrayListはこの二つの性質を合わせ持つ(キリッ これは恥ずかしいwww
絵本は目さえ見えれば楽しめる 音楽は耳さえ聞こえれば楽しめる よって、この二つの性質を合わせ持つアニメは目も耳も効かなくても楽しめる
合わせてるのに何故か減算
でもうろ覚えな知識はネットで叩かれたほうがいいよね 職場でやらかした場合の立場のなさといったら
馬鹿は一生治らない病気
じゃあ向きあって生きていかなきゃっ☆
やる気のある馬鹿は救いがたい
List<T>の中身って配列?
>>126 ソース公開されてるので見てみればいいじゃん
ガンバ
と仲間たち
>>126 そう、配列リスト。
>>128 ネイティブと比べてGC持ちの言語はヒープの効率いいからなぁ。
ちょっと単純比較はできないかも。
とはいえ、まあ、リンクリストは極端なケースで使う物だというのは間違いない。
MonoMonoしいな
懐かしいダジャレだ
XDocument.Parse()で作成したドキュメントを var doc = new XDocument(new XElement( 〜のようなソースコードに変換してくれるツールみたいのないですかね 自分で作るしかないでしょうか Parse()するのに時間がかかってしまって大量の処理が遅くなってしまっています
一体どんな量Parseしとんの?
6万ドキュメントくらいです
気が付いたらObjective-C#になってたりして
Objective-C のダメっぷりをなめてるな。
Objective-xx はどんな言語にも合うような気がする。
Objective-Visual Basic Objective-COBOL Objective-Prolog とか?
Objective-Objection
ちょうど先日、C++とObjective-Cが併記された本を買ったけど、 Objective-C部分は見づらくて見る気すら起きねぇw この本を読んでiPhone関係は全力で逃げることに決めました。
C++より見辛いって、終わってるよね。
実際終わってるだろ
一部の人間はエレガントだと言ってるぞ まあ、マンデルブロ集合とかエレガントだと思うが
Formに細工をせず一時的にすべてのFormを無効にしたい のですがいい方法はありますか? 試しにApplication.OpenFormsですべてEnabled=falseにした のですがEnabled=trueに戻すとShowDialogで表示されたform 関連の挙動がおかしくなります。 (具体的には入力不可だったウィンドが入力可能になります。)
モーダレスダイアログの表示中にFormを無効にするとか乱暴じゃね?
WinFormでユーザーコントロールをリスト状に表示するにはどのコンテナが最適でしょうか?
手抜きするならflow
153 :
sage :2011/07/06(水) 00:32:43.28
>>150 乱暴だと思うけど、ShowDialogで呼び出されてたか、
もしくはShowDialogで無効にされたかを調べる方法が
わかりませんでした。
ほかにもいろいろ問題がありそうなんで簡単にできる方法
はないかなと。
共有フォルダへの書き込みを行いたいのですが、そのExeの実行権限では共有フォルダへ書き込みができません。 exeの実行権限を変えずに別ユーザーで書き込みを行うにはどうしたらいいでしょうか?(そもそも無理?) 例)コード内や外部ファイルにユーザーIDとパスワードを入れておきそれを読み込んでファイルアクセスをする・・・できるのかなぁ?
Vista以降はOS側で制限かけてるんだから、書き込めたらまずいだろ
実行権限がなかったらログインウィンドウを出してくれればいいのに
>>154 exeを実行するときにユーザー変えたりはできないの?
ああ、だめか・・・・そんなことしたらログインパスワードを盗むソフトばかりになってしまう
>>154 別EXEにしてプロセス起動すればできる
159 :
154 :2011/07/06(水) 14:48:04.47
むぅ・・・やはりできないですかorz ユーザーは プロセス起動≠ファイル書き込みにしたいので 158さんのようにexe自身を別にするひつようがありますね。 dllにする予定でしたがそれもできないかなorz
むしろexeの実行権限を変えろと
>>152 151ですがありがとうございます
まずはそれでやってみます
C++でいうところの、ポインタ配列のようなものは作れますか? Listのn番目の値を参照できる配列arrayを作りたいです。 array[1] はList[10]の値が読めるというような・・・ ListはGCされるので無理でしょうか?
struct ListPointer<T> { public List<T> List; public int Index; } の配列にする 同じでしょ
164 :
デフォルトの名無しさん :2011/07/06(水) 22:02:04.26
Cでいう参照先のアドレスはどう代入するんでしょうか?
できない
List<T>は参照型だから普通に代入すればポインタ渡しっぽくなる(厳密にはポインタじゃなくてGCに管理されてるハンドル) Hoge a = new Hoge(); Hoge b = a; Hogeが参照型の場合、これはコピーじゃなくてC++で Hoge* a = new Hoge(); Hoge* b = a; とするのに相当する
やっぱできないんですかね? やりたいのは、 Listを参照渡しして、コピーの手間をなくしたいです。 あるクラスで値を更新したら、その値を使っているクラスにも反映させたいんですが、 あるクラスで値が更新されたら、別のクラスでも値を更新しないといけなくて・・・
List<T>全体は参照渡しでしょ
普通に参照使い回せばいいだけのこと インデックスは諦めろ
参照型は基本的に何やってもコピーは発生しません 「値型 参照型」でググって勉強してきてください
C#はポインタ配列を使わなくて済むよう発展した。 クラスのメソッド(C++でいうクラスのメンバー関数)の引数には参照渡しと値渡しの2つの方法を選べるが。
配列ならできないって事もないけどな… その辺は初心者向けじゃないから自力で知ったほうが良いだろう
値型と参照型、値渡しと参照渡しで混乱しちゃってる人いるよね
値型を参照渡し参照型を値渡しwwwwwwwwwwwwwwwwwwww
値型を値渡し参照型を参照渡し
C++/CLIみたいにハンドル型、ハンドルの値渡し、ハンドルの参照渡しと呼べばいいのに
object型でもって
参照型を値渡しと言われると頭がふっとーしちゃう///
値渡しで混乱しちゃってる〜 あたい私w
なんか
>>162 が言ってることと全然理解せずにあさっての方向の回答してるのが多い気がするw
答え自体は
>>163 で出てるじゃん
あとは、値型と参照型を勉強してこい、で終わり
182 :
162 :2011/07/06(水) 22:38:18.57
クラスに参照型の変数を含めることはできませんか?
だからList<T>は参照型なんだって
>>162 のpublic List<T> List;は実際にはポインタ
グダグダ言ってないで参照型について勉強してきなよ
何で参照型と値型の話になってるのか俺にはさっぱり分からん。
分かってないのは
>>162 じゃなくて、そういう意味不明なこと言ってる連中の方じゃないのか?w
>>184 List<T>の特定の要素を指すポインタのようなものが欲しい、って話なんだろ?
>>163 で合ってるじゃんw
>>185 やっぱり日本語読めない人だな。
あんたが勝手に思いこんでるようなことを俺は言ってない
質問に答えずに「ぼくがかんがえたべすとそりゅーしょん」を押し付けてる連中ばっかだな
>>182 諦めろ
ワロス じゃあList<Func<T>>にでもしておけ
>>163 の構造体の配列をラップしたクラスにIList<T>実装するとか
配列にこだわらなければどうとでもできる
解決したみたいで良かったなw
class A{ public List<int> list; } class B{ public List<int> list; } A a = new A(); a.list = new List<int>(); B b = new B(); b.list = a.list; a.list.Add(1); Console.WriteLine(a.list.Count); Console.WriteLine(b.list.Count); これでまだ分からないなら死ぬまで学んだって理解できない
>C++でいうところの、ポインタ配列のようなものは作れますか? >Cでいう参照先のアドレスはどう代入するんでしょうか? >やりたいのは、 Listを参照渡しして、コピーの手間をなくしたいです。 これ見たら普通はまず値型と参照型を正しく理解してないんだろうと考えるのが自然じゃない? エスパーの人は違うのかもしれないけどさ
読解力の無さをアピールされても…
流れ無視してすまんけど、教えてください。 あるクラスインスタンスに、特定の名前のメソッドがあるか、実行時に調べることは出来ますか? 出来るようでしたら、方法を教えてください。
パブリックならそれでいいけど、違うのならBindingFlagsを渡せるオーバーロードじゃないとダメ あとオーバーロードが存在すると例外が出るから、Type[]を指定するオーバーロードを使わないとダメ 名前を見るだけなら、GetMethodsの方がいいかも
もうリフレクションで調べたほうがいいと思う
本当にメソッドを文字列で引きたいのか、って気はするが。 このinterface継承してたら、とかで足りるんでは
199 :
196 :2011/07/06(水) 23:42:57.58
訂正 GetMemberだな
C++あがりはすぐポインタ使いたがるけど、実はポインタなしでどうにでもなる
201 :
デフォルトの名無しさん :2011/07/07(木) 00:16:14.14
>>191 b.list = a.list;
とするだけで参照になるんですか?
はい 参照というよりポインタと言った方が近い C#で型というと大きく分けて参照型(List<T>など)と値型(intとかPointとか)の2種類があって、 参照型は常に型名の後に暗黙的に*が付いてるイメージ
203 :
デフォルトの名無しさん :2011/07/07(木) 00:24:16.70
タイプセーフなポインタが参照(キリッ
その話は後でたっぷりやっていいから今は黙ってろ
206 :
194 :2011/07/07(木) 00:37:44.31
みんな、ありがとう。助かりました。
>>198 その手が使えないんです。。。
ちょっとFormでご相談 A(サイズ固定) B(サイズ可変) C(サイズ可変) D(サイズ固定) E(サイズ固定) ↑こんなように縦に並んでいるTextBoxがあり、BとCだけ親フォームのサイズに合わせて可変にしたいです アンカー指定を A:Left,Top,Right B:Left,Top,Right,Bottom C:Left,Top,Right,Bottom D:Left,Bottom,Right E:Left,Bottom,Right としたのですが、CがDとE無視して下まで広がったりと上手く行きません どうすればいいでしょうか?
そういうとき、WPFのGrid楽なのにね。
209 :
デフォルトの名無しさん :2011/07/07(木) 15:55:28.87
>>207 TableLayoutPanelを敷いてから配置すればOK
>>207 今試したけどCが下に広がったりはしなかった。
けど
1) A,D,Eはサイズ固定と言いながらRightアンカーをつけてるから横にはリサイズされる。
それってサイズ固定?
で、
>>210 でもいいけどもとのままに近い方法だと
2) BとCは相手にめり込むように広がっちゃうからBとCを置く予定のところにSplitContainerを置いて
それに対して全アンカーをセットする。
でそのSplitContainerの中にBとCを置く。
ってやらないとBCの自動リサイズはめり込む。
c#でFTPS通信ってどうやってやるんでしょうか・・・ ftp通信に掛かるコンポーネントは用意されているのですが ftpsは見当たらないです・・・・ 方法が分かる方いらっしゃいますでしょうか?
FTPS .NETでググれば何かしらの方法は出てくる
>>210-211 コンテナを適宜使ってレイアウトしろということですね
ありがとうございます
>>213 〜215さん
有用な情報ありがとうございます><
さっそく調べて使ってみますm(_ _)m
Shiftキーを押しながら'A'キーを押したことを検知するにはどうしたらいいのですか?
219 :
デフォルトの名無しさん :2011/07/08(金) 11:59:29.43
それだけじゃあわからん
e.Modifiersを使うことで検知できました。
221 :
デフォルトの名無しさん :2011/07/08(金) 12:12:43.91
そういう意味じゃねえよ どういうアプリ書いててどういう場所でキー入力を知りたいかを言えって言われてるんだよ やり方は複数あるはずなんで
222 :
218 :2011/07/08(金) 12:22:39.92
フォームのKeydownで複数のキーの押下を知りたいのです。 例えば、Ctrl+Aで全選択させたりしたいのです。
>>224 どっちがだよボケ
煽るしか能のねえやつが偉そうな口きいてんじゃねえぞ
まちたまえ!君たち
227 :
デフォルトの名無しさん :2011/07/08(金) 14:01:53.38
私のために喧嘩はやめて
こういう流れが好きでつい煽ってしまう
229 :
デフォルトの名無しさん :2011/07/08(金) 18:59:42.26
特許庁のさあ、IPDLサーバーから直接特許公報とかダウンロードしたんだけど SOAPとかじゃないらしくて・・・どうやっているのかな? GetIPDLとかのソフトでやってるけど・・・デコンパイルするしかないかなあ・・・
Wiresharkで通信見てみた?
231 :
デフォルトの名無しさん :2011/07/08(金) 21:41:13.49
>>230 デコンパイルとか通信監視とかだと、人のソフトを覗き見するみたいで
失礼だなあと思って、仕様がどこかに無いか探してみたいけど見つからなくて・・・
それが一番近道ですかね。ありがとう!
232 :
デフォルトの名無しさん :2011/07/08(金) 23:38:58.66
レベルはどうであれ、プログラミングをしてる奴ってのは 多かれ少なかれ、テキストエディタに拘りがあるよな 現状使っているテキストエディタが.NETで書き直されたらどうする?
どうもしません 聞くだけ野暮
サブで使ってるエディタが.NETですがなにか?
235 :
デフォルトの名無しさん :2011/07/08(金) 23:54:48.81
メインになれない理由は?
Visual Studioが一番使ってるエディタだから.NET製だな……。
なんというか、俺様仕様だから。Azukiで自前で作ってて、常に作りかけなんだ。 メインは秀丸だけど、複雑なマクロになると、面倒なので、そんなときは、 C#でマクロ書く感じで機能実装→使用って風にしてます。
>>232 ゴルフでも料理でも、道具にこだわる奴のこだわりは実力に比例していないことの方が多い。
むしろ実力の欠如を道具で補おうとする補償行為を疑うのが自然。
VS使うとMSに囲い込まれてる気分になるから普通にテキストエディタ使ってるなぁ
>>239 C# 書いてる時点でw
というか、Windows 使てる時点でw
こだわるというか、常にベストを探してるね。
EmEditor使ってるが、これが.netで書き直されたら 間違いなく、ほかにいくな もっさり起動のエディタなんて冗談じゃねー
Notepad++だけど、正規表現がまともになりそうだからむしろ歓迎する
>>238 わざわざgitを作ったLinusをdisってんのかおまい
Listをさらに配列をつくりたのですが、これであってますか? public List<MyClass>[] mclass; mclass = new List<MyClass>[SIZE]; for(int i=0;i<SIZE;i++) mclass[i] = new List<MyClass>();
あってる
Matzが言うにはハッカーは道具にこだわるらしいが
俺は2ちゃんねらーなので、どこの馬の骨とも分からない
>>238 の意見を支持したいと思う
MyClass data = new MyClass(); data.member = hoge; mclass[i].Add(data); としてもmclassに追加されてたdataの中身がないのです。。。memberがみえない
251 :
250 :2011/07/09(土) 01:02:19.42
すいません。忘れてください。できていました
>>250 日本語でOK
日本語不自由そうだから、何かコード書いて ideone.com にでもupって。
254 :
253 :2011/07/09(土) 01:04:46.89
oh... shit fuck
>>239 wwwwwwwwwwwwwwwwwwwww
ださっ・・・
これで独立できる
売るものはスマートフォンアプリ WEBサイト運営
サーバーはクラウド VPS
電話はスマートフォンSkype
オフィスは地方にプレハブ型の格安高性能オフィスを建て
レンタル自習室&シェアオフィスで収入を得ながらそこで開発する
http://tinyurl .com/43xmk7m
http://tinyurl .com/3mopkfy
257 :
デフォルトの名無しさん :2011/07/09(土) 10:31:01.61
C#使ってる時点で囲い込まれてるだろ。
田舎で自習室がやっていけるわけない
オフィスいるの?自宅でいいんじゃね?
>>257 一応、ISOやJISになっててフリーの実装もあるんだから
言語自体が囲い込まれてるってわけではないかと。
261 :
デフォルトの名無しさん :2011/07/09(土) 14:10:02.56
ComboBoxで、選択されている項目の色を変える方法ってないんですか? ForeColorとBackColorでは選択されてない場合の色しか変えられないのです。
>>261 ドロップダウンリストがべっかんこしてる時って意味?
ComboBoxのネイティブな機能としてはない。
派生して自分でお絵かきすれば可能。たいして難しくない。
c#でおすすめの書籍を教えてください。
>>264 これいいですね!
究極なんたらとか買おうとしていましたが「果たして初心者向けか?」と悩んでいました!
>>264 俺には全部同じ「にゃー」にしか聞こえねぇ・・・
続編「タチでもわかるシーシャープ」
>>265 究極って川俣のやつなら@ITで読めるよ
延々と著者のオナニーを見せられてる感じ
途中書き込み・・・ WPFならComboboxItem. IsSelectedみて変えれそう
>>268 オナニーの度合いは「猫でも〜」の方が高いだろw
もうタイトルの猫からしてpetzoldの劣化コピーだしね
272 :
261 :2011/07/09(土) 20:40:23.92
オーナードローで実装してみました。 複数個あるComboBoxの今クリックされたものだけ、赤にして、 それいがいは青にするみたいな処理なんですが、 1つクリックしたとき、青になるはずのが赤のままになります。 もう一度マウスオーバーするとDrawItemEventArgsが起きて 青になるんですが・・・ DrawItemEventArgsを強制的に起こすことはできますか?
273 :
デフォルトの名無しさん :2011/07/09(土) 21:09:13.49
>>268 ホントに読めるじゃないか!
amazonのレビューに書きこんで購入を妨害してくる!
ワロタ お前に何の得があるんだよw
>>274 紙の束をガソリンを消費してCO2を吐き出しながら輸送する必要はないだろ?
川俣が嫉妬されるのはわかるわww VB.NETで記事書いてドヤ顔してる人だしなぁ
しっくりこないんですって人?
嫉妬なんかしてないよ。 そもそも公開されてるものだし。
>>276 嫉妬っていうか、ドラえもんの世界の「のび太のくせに〜」みたいなもんでしょw
俺なんかああいう人がいるとむしろ気が楽になるけどな。
ああこの業界ってこの程度のオツムの人でもそこそこデカい顔できるんだから温いところあるよなって。
だって、半導体でも家電でもいいけど、他の技術分野で聞いたことないような大学の農学部かどっか出てる人が
デカい顔するなんてありえないよ。
「のび太のくせに〜」って人は川俣氏より偏差値低い学校出なのかなw
いや別に俺は学歴主義者じゃないんだけどね
人物はどうでもいいけど単に文章が鬱陶しいんだよね あんたの個人的な考えとか興味ないからもっと簡潔に書いてくれと思う
マはえてして何故なのかどうしてなのか追及する奴が多いから かといってMSに聞けよ知るかボケがとはコラムに書けんし 適当にお茶を濁さざるを得ない このスレでもたまにいるだろ 言語設計上の思想は開発者に聞けやごるあっていいたくなる質問がさ
>>280 それは俺も感じるな。
コードの冗長性には病的にこだわるくせに、文章には無駄口が多すぎる。
ノーベル賞学者と比べるのはあれだが、ファインマン物理学並に冗長でいらいらする。
「俺の賢しら」を」誇示しようとする「精神の子供たち」とかいうくだりを読んだときには苦笑したよ。
それってあんたのことじゃないのかよってw
まあ、書籍用の文章だからページ数を稼ぐ必要があるという事情もあるんだろうが。
MSのcode recipieか何かの文章は、わりと簡潔だからね
技術書向きじゃないよね 開発現場の話とかなら読んでみたい気はする
いやー、ページ数に比例してギャラ入るのはよくないよね、ほんと。
285 :
デフォルトの名無しさん :2011/07/10(日) 08:24:58.73
ウェブの究極とかいうのを読んでみたが、初心者向けじゃなさそうだ。 C#2.0と3.0ってかなりちがうように書いてあるんだけどそうなの? もうオブジェクト指向は古いとか言ってるけど。
だいぶ機能追加されたのは確か。 ただ、C#的には時代は混合パラダイム。 OOPが合う場面ではOOP、関数型が合う場面では関数型で書ける。 で、それも、利用者に関数型とか意識させない。 目的ベースで「あなたが書きたいことはこう書けますよ」 (結果としてそれが関数型だったりする) というのがC# 3.0。
AOPは何処に行ったんだ?
AOPは、概念設計上のパターンとしてはいいけども、 言語に組み込むと問題も多いからなぁ。 単にmix-in的なことならインターフェイス+拡張メソッドでできるけども。
未熟者のおれはC#2.0仕様で書き続けてる OOすらまだ十分じゃないのに関数型まで手が回らないよ 人のコード読むくらいはできるけど自分じゃ書けない
未熟者っていうかただのめんどくさがりだろ 数学と同じように例を見てその通り書いてみてってやれば誰でもできるじゃん
291 :
デフォルトの名無しさん :2011/07/10(日) 10:53:56.60
そうだよ。何でもやれ。
C#3.0, 4.0が使える環境にあるのに2.0仕様で書き続けるのは 本人にとっても、周囲にとってもまるで良くない。
どうでもいい
どうでもいいとか言ってるから未熟者なんだよ 初心者スレはここじゃねえぞ
初心者スレよりもここの頭良さそうな奴らに聞きたい。 C#4.0の入門書はどれがいい? プログラミングは初めてです。
先ずC言語をやる
まず服を脱ぎます・・・
頭がいいのではなくスノッブなんです 分からなかったら辞書引いて下さい
Visual C# 2010 Express が入ってる開発マシンでは動くんだけど、 他のPC(.netインスコ済み)でそのソフトを動かそうとすると System.NullReferenceException で動作を停止する。 これはプログラムの出来が悪いってこと? それとも.net以外に何か必要なのか?
ありがちなのはAssembly.LoadFromとか
本当に頭のいい人たちは英語の掲示板で情報収集してるはずッ!
一時聞いた海外フォーラム君は今何してるかな
lol
起動時に出るの? DLL使ってて開発環境が32bitで実行が64bitで かつ、AnyCPUだったりしない、、よね? 2010はデフォルトx86になったからそうないとは思うが
つーかどこでぬるりってるのか調べなさいよ
そもそも専門系の話題は2ch方式の掲示板は向いてないよな 基本的に過去ログ見れないし
309 :
デフォルトの名無しさん :2011/07/10(日) 18:22:02.77
まあスレが見えてる間にp2などで一度アクセスしておけば外部に ログのキャッシュが残るけどね
リリースビルドだとスタックトレース出ないんだっけ?
>>309 見えるか見えないかなら過去ログを保存してる個人サーバーがあるから見れるんだけど、
過去ログの話題をしにくいシステムなんだよな
まぁ、したらばでC#掲示板作ってもっと細かい話題でスレ立てすればいいのか、
人来ないと意味ないけど
>>310 スタックトレースは出る、ソースの行番号が出ない
>>289 だから、関数型とか意識して書いちゃダメなんだって。
データ処理とかしてたら知らないうちに使わされてるのが正解。
>>296 ググって出てきたサイトでOK。
>>300 標準以外のライブラリを使ってるのにそれがインストールされてないと、
ぬるぽじゃなくてBadImageとかFileNotFoundとかの例外になると思う。
ぬるぽだと、たぶんプログラムが悪い。
そんな漠然とした情報から答え(というか
>>313 のコードのバグ)を特定できる奴がいたら
そいつは間違いなくエスパーだ。
いるといいねエスパーが
スタックトレースが見ればどこでNullってるか分かるし その前の部分に問題があると限定できるだろ その位してから聞け
316 :
デフォルトの名無しさん :2011/07/11(月) 16:08:40.27
お前らがあんまりにもすすめるんで独習C#購入したわ。 これで俺もゲームプログラマーだよ。
買った参考書にケーブル繋いで脳に直接インストールしたい そんなこともできないとか知的生命体としての人間の性能は低すぎと言わざるをえない
その参考書にウイルス入ってたらどうすんの?操られちゃうよ?
夢が広がるだけだろ?
そんなに独習C#オススメした奴いるか?
>>320 ぐぐればほぼ答えがでてくるのに本の必要性って
別に辞書を買うわけじゃないだろう
俺は.NET Frameworkについてちっとも触れてないから中途半端と言ったはず
>>277 いくら川俣でもあんなのと比べられちゃかわいそうだw
>>321 ディスプレイよりも、紙+インクの方が読み易いし
書籍の方が、検索性も良いよ。
がっつり勉強するつもりなら、やっぱ本を買うべきだと思う。
ネットの資料で済ませるのは、新しい技術で日本語の書籍が出版されてないとか
既にある程度理解している物について、ちょっとした事を調べたいとかだなー。
逆引き本ばっかり並んでる会社と人間は得てして使えない
327 :
デフォルトの名無しさん :2011/07/11(月) 20:06:19.49
>>325 それも時間の問題だけどな。
ネットの記事は編集や推敲をもっとちゃんとしてくれてたら使うんだけどなあ。
持て余してるとき手にとってばーっと読めるのが紙の良さ
どうでもいいわ
330 :
デフォルトの名無しさん :2011/07/11(月) 21:28:40.68
C#で紙の本のように扱える電子書籍を作ってくれ。
あの、昨今流行っぽい電子書籍群の 「実際の本の様にページをめくらなければいけない」センスは、マジで正気を疑うレベル 本当に使い易いと思ってんのかアレ
宣伝のためだけの機能だな
>>331 何を言ってるのか意味不明ですよ。
あんた触らずに物言ってるだろ。
そもそも2chくんだりでクダ巻いてるあんた程度の人物が思いつくこと、
他の人間は気づかないはずだと思い込めるんだからいい神経してるよ。
335 :
デフォルトの名無しさん :2011/07/11(月) 22:32:17.86
本のページをめくる感覚は人を呼び込むのに必要なんだろ。 ビジネス上の配慮だ。電子書籍による読書体験が定着したらなくなる演出かもしれん。
電子書籍ってテキスト検索できるの?だたの画像データだったらつまらないな
誤字脱字する奴が意見を述べるのは10年早い
できるようにするべきだろうな。 購入以前に検索できると便利。
本の裁断&スキャンサービスで、OCR書けるオプションが必ず付いてる程度には検索の需要あるしね。
おれは
>>333 のいい分はわかる。
実際に自炊したり購入したりして
電子書籍を利用しまくってる立場から見ると
>>331 は利用したことほとんどないだろうな、と思うわ
下2行はキチガイの妄想大爆発というかんじで怖い
今日は電子書籍スレの日か
明日はなんなんだよ?
明日はクラシック音楽の中でもバロック音楽の後期について
今日はナンの日フッフー ナンって不味いよねw
ナンってなんなん?
DataGridViewで特定のセルだけRefreshする方法はありますか?
セルの位置計算してInvalidate打ち込めばいいんじゃないか 知らんけど
.NETってアプリって起動するたびにコンパイルされてんですか?
ngen使わない場合はそう 一般的にはDLLなどを読み込む再のファイルの読み込みがボトルネックなので 事前にコンパイルしても起動時間はほどんど変わらない
なんて無駄な・・・
起動時間がほどんど変わらないということは、コンピュータのする仕事として たいして差はない、ということだぞ。 ソースからコンパイルしてるわけじゃないし。
>>352 そうかね・・・
そんなこと言うならネットの世界なんてどうするんだよ
今の.NETは起動時間の改善に力が入れられてて 積極的にngenを使ってプリコンパイルするようになってるけど 起動時のコンパイルが不要になったから早くなったわけではなくて いろいろとファイルからの読み込みを減らす工夫をしたから早くなった
356 :
デフォルトの名無しさん :2011/07/13(水) 00:40:30.56
まあその辺はHDDからSSDに変えるとOSの起動が早くなったじゃないけど ストレージの問題も大きいよ あとDLLというシステムもねw
.NETに限らずJavaバイトコードもだけど、 スタックマシン型のマシン語ってむちゃくちゃ小さくなるしね。 ある意味、ファイルサイズ圧縮されてるわけで、ディスクIO的には有利なのか。
ファイルIOの片手間に、読み込まれたILをちょっと変形するだけだろ 全然問題じゃないわな
そう。 オペランドの指定とか要らないから256個で事足りる。 .NETもよく使いそうな命令は1バイトになってる。
361 :
デフォルトの名無しさん :2011/07/13(水) 00:59:29.32
256で足りるのか 表向きCISCのx86系列なんて・・
起動も遅いし、ソースも丸見え
363 :
デフォルトの名無しさん :2011/07/13(水) 01:04:33.07
>>362 たぶんOS起動してすぐの場合はアプリに関連する.net関連の
部品がメモリにあがってないので遅いだけじゃないの?
かなりでっかいし
いちゃもん付けたいだけのバカだろ死ねよ。放置しろ
大量の文書を日→英翻訳したいんだけど、
GAPIを使ってやってたら一日の使用制限を超えたとかで、
すぐに使用できなくなってしまいました。
GAPI
ttp://gapidotnet.codeplex.com/ 100万文書くらいあって、Google翻訳じゃどうにもできそうにないです。
何かいい方法ありませんか?
翻訳精度はとりあえずは問いません。
英語っぽくなればokなのですが...
大量の文書を日→英翻訳したいんだけど、
GAPIを使ってやってたら一日の使用制限を超えたとかで、
すぐに使用できなくなってしまいました。
GAPI
ttp://gapidotnet.codeplex.com/ 100万文書くらいあって、Google翻訳じゃどうにもできそうにないです。
何かいい方法ありませんか?
翻訳精度はとりあえずは問いません。
英語っぽくなればokなのですが...
連投すみません
>>366 試してみます、
ありがとうございます
API使わなければいいんじゃね?
翻訳ソフト買えば良いだけの気がするんだが
うるさいな。
暑い
>>349 InvalidateCellで解決できました。ありがとう。
なんともお誂え向きね…
C#ってインタプリタだから遅いんですか?
インタープリターではないよ。コード実行フェーズに入ればそんなに遅くもないよ。
インターセプターは速いよ
面白くもない茶々いれんな。
380 :
デフォルトの名無しさん :2011/07/17(日) 00:21:45.25
バイナリファイルの読み出しで byte[] bs = new byte[1000]; readCt = (byte)fs.Read(bs, 0, ct); この読み込んだデータは、マイナス値もあるんだが byte配列で受けるしかないので、ほんとは-36のデータが220になっちゃう(T0T) C++ならなんでもない問題の気がするが、 C#だとbyte型からsbyte型のキャストとかできないみたいだし。。 これで1日はまり中。。
Buffer.BlockCopy使えばいい
こんなどうでもいいことで1日悩むなんてマジご苦労
BinaryReaderでもいい っていうかそういうやり方知らなかったとしても普通に1要素ずつ キャストしてコピーすればいいだけなわけで C++できるならそれくらい思いつくだろう
バイナリ上の表記が変化しないなら、 16進で一要素ずつ0xFFでANDとってsigned型に変換するとか。そのまま一要素ずつ一回ダイレクトに突っ込んでみるとか。
385 :
384 :2011/07/17(日) 00:32:38.99
かぶた。Orz
最近はC#も言語の要素が増えてきてchecked/uncheckedなんて忘れられてるのか…
意識してないならチェックはOFFだし わざわざONにしてるならchecked/uncheckedは理解してるはずだろ unchecked使ったほうがいいのは当たり前だけど
388 :
387 :2011/07/17(日) 00:59:17.17
byte->sbyteはunchecked必須なのか すまん
var ss = (sbyte[])(Array)bs;
390 :
デフォルトの名無しさん :2011/07/17(日) 09:47:22.03
>>389 これいいね!ありがとん。
これが一番エレガントかな。
拙者、プログラム歴15年の大ベテラン。
でもC#始めたばかり。
ベテランだからこそ、こんなごときでループ使えるか!と思った次第でして。
まあメインは組み込みなんだが。
>>390 やめろおおおおお、煽りたくなってくるような書き込みをするんじゃねえええええ
(うずうず)
Q次の言葉を使って、文章を作りなさい。 ありがとん 拙者 次第でして なんだが (25点)
コピペ君って馬鹿だな、まで読んだ。
>>393 拙者C#初めてまだ一年経ってないなんだが、スレ見てたらお題があるんですよ。
そのお題に投稿しようと思ったら外枠しか定義されてないんだよ。
結局
>>393 次第でしてもっとうまいネタふりを期待したいなー。ありがとん。
電車の中で悪霊退散!ってキモオタがやるコピペを思い出した
Q次って言語学の用語?
オバQの弟はO次郎だったな
拙者なんだがありがとん次第でして。
>>395 他の言語でベテランなら、過去のプログラムをc#に移植すりゃ良い
手っ取り早く覚えられる
401 :
なんだが :2011/07/17(日) 17:40:08.52
明日は、コンチのスタアラ塗装期待して出かけよう
403 :
デフォルトの名無しさん :2011/07/17(日) 21:38:39.54
ネトウヨ王に、俺はなる!まで読んだ。
405 :
デフォルトの名無しさん :2011/07/17(日) 22:56:42.54
調子にのってもう一つお題! C#でクラスを作ろうとして その中でWPF関連を使いたい(RenderTransformとか)。 さてこれってできる?できない? ファイナルアンサーでお願いします(`・ω・´)キリッ.
どう考えてもできるだろ
407 :
デフォルトの名無しさん :2011/07/17(日) 23:20:19.31
まじ? 例えば using System.Windows.Media; を追加しようとしても アセンブリ参照が不足しているとかで怒られますが ウワァァ-----。゚(゚´Д`゚)゚。-----ン!!!! 。
参照すればいいじゃない。
409 :
デフォルトの名無しさん :2011/07/17(日) 23:32:33.52
>>408 いや、普通のクラスでは参照できない
どうも、「WPFユーザーコントロールライブラリ」ってのを
選択しないといけないような。。。
オラ悟空!やってみる!(`・ω・´)キリッ.
WindowsBase PresantationCode PresentationFramework System.Xaml あたりがWPF用か
oh.. PresentationCoreの誤字が酷いな
412 :
デフォルトの名無しさん :2011/07/17(日) 23:47:12.37
>>409 410樣のおっしゃる参照で出来そうです。。
失礼つかまりました。
>>410 あなた神!
いや〜2chの書き込みって始めてだったけどいいわ〜
ヾ(●´□`●)ノありがとん
413 :
406 :2011/07/17(日) 23:48:52.13
俺が最も神だろなめてんのかコラ
414 :
408 :2011/07/17(日) 23:51:39.62
お、俺は・・・。い、いやなんでもないです。
様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣 樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様 様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣 樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様 様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣 樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様 様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣 樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様 様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣 樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様 様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣 樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様 様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣 樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様樣様
SQLServerのXML型に対してデータの入出力をするにはどのような方法があるのでしょうか?
417 :
416 :2011/07/20(水) 14:48:50.00
もしかしてXML型とは言っても実際に格納するのは文字列を格納するのでしょうか? insert into TextTable (Id, XmlData) Values ( 1, '<c><a>てすと</a></c>') のようにするのでしょうか・・・?
XElement
2.0しか使用できないからXElement使えないやorz 文字列をStreamに入れてシリアライズとか・・・するしかなっぽい??
420 :
416 :2011/07/20(水) 19:12:21.14
とりあえずSQLで取得したString形をStringReaderに入れて XMLSerializerにて変換した・・・なんかStringをStringReaderに入れるのが なんか無駄な気がきがします・・・ usingvar comand = con.CreateCommand(); comand.CommandText = "select data from [dbo].inspection where Id=1"; var read= comand.ExecuteReader(); var result = read.GetString(0); var ms = new StringReader(result); var p=Deserialize(ms);
未だに化石使ってるんだから受け入れようよ 旧環境のコストだと思えばいい
ご送信した・・orz
using(var comand = con.CreateCommand())
{
comand.CommandText = "SELECT data FROM Inspection WHERE Id = 1";
var read = comand.ExecuteReader();
var result = read.GetString(0);
var ms = new StringReader(result);
var p = Deserialize(ms);
}
上記のように一旦StringReaderに入れるのが・・・ちょっと・・・・
XMLSerializer使ってシリアライズしたXML型の無駄なタグを消せないのかなぁ?
"xmlns"から">"までの文字列を含めないようにできないかなぁ・・・
<Person xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance " xmlns:xsd="
http://www.w3.org/2001/XMLSchema ">
</Person>
↓
<Person>
</Person>
多重起動禁止でmutexを使うのですが 1 Mutex (Boolean, String) 2 Mutex (Boolean, String, createdNew) createdNewは何が便利になるんでしょうか 漠然な質問ですまん
俺もそれ気になってた 初期所有権って結局なんなんだ
多重起動禁止するのに便利なんだよ 既に作成されていた(=既に起動している)のか、そうでないのか 分からないと困るやろ?
>>425 Mutex.WaitOneを作成する時に実行してるのと同じようなもの
Mutexを作成と同時に占有しようとする
WaitOneしたときに成功するか失敗するかだから初期所有権とか関係なくね? if (mutex.WaitOne()) { 普通に起動 } else { 既に起動しているアプリをアクティブにして終了 } これだけの話じゃね?
>>429 それだとWaitOneの引数に時間制限入れないと終わらなくなるだろ
初期所有権をチェックすれば、WaitOneする前に起動してるかどうか分かるんだよ
>>429 引数のないWaitOneは待ち続けるぞw
それと多重起動禁止には所有権は全く関係ない
システムの名前つきオブジェクトが既に作成されているか否かの問題
別にMutexでなくてもいい
所有権を何か勘違いしてるんじゃないのか? Mutexの所有権って lock(mutex){ } っていうlockブロックがあった場合 mutex.WaitOne(); ... mutex.Release(); と同じことだぞ
>>432 どこからそんな根も葉もない嘘が出てくるんだ。氏ね
結局何が正しいコードなんだ…orz
>>435 ↓ これで良い
using ( var mutex = new Mutex(false, "マンコ") )
{
if ( ! mutex.WaitOne(3 * 1000) )
{
Console.WriteLine("残念");
return;
}
//アプリケーション処理
}
bool create; using ( var mutex = new Mutex(false, "マンコ", out create) ) { if ( create ) { Console.WriteLine("残念"); return; } //アプリケーション処理 } これで駄目な理由は?
別にわざわざ待機する必要ないしね
>>436 >これで駄目な理由は?
意味的におかしい。としか言いようが無い。
>>441 わざわざmutex.WaitOneで待機する理由は?
メリットは?
リンスin
来んでしょうなぁ
Windowsフォームデザイナで生産されたコードとあるのですが Form1.designer.cs↓ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.CheckBox check; private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; private System.Windows.Forms.Button closeButton; private System.Windows.Forms.Button change; private System.Windows.Forms.Button delete; private System.Windows.Forms.Button show; フォームデザイナでボタンやチェックボックスのName(オブジェクト名)を変更して Form1.csをみたのですがボタン名などが変更されてません private void button3_Click(object sender, EventArgs e) { } などそのままです フォームエディタで変えた closeとかの名前になるとおもうのですが 変更してもbutton3_Clickという名前です フォームエディタで変えたオブジェクト名を反映させるにはどうすればいいのでしょうか?教えてください
button3_Clickって名前はbutton3と無関係なので自動的には変わらん F2押してリネームしとけ
Nameプロパティのことじゃないよね? Nameプロパティは文字列値をとる汎用プロパティみたいなもんで デザイナで作るとオブジェクト名が入るけど特に意味はない
448 :
445 :2011/07/22(金) 22:08:26.98
回答ありがとうございます Visual C# 2010のTOPのピクチャービューチュートリアルの6番目の場所です
449 :
445 :2011/07/22(金) 22:13:26.90
他の 3 つのボタンの名前を backgroundButton、clearButton、および showButton に変更します。 名前を確認するには、[プロパティ] ウィンドウにあるコントロール セレクターのドロップダウン リストをクリックします。 新しいボタン名が表示されます。 これを設定したボタンの ”画像を表示” showButtonと書いてあるのですが それをクリックしたら チュートリアルでは private void showButton_Click(object sender, EventArgs e) { } とshowButtonで設定したのが xxx_Clickとなってるのですが こちらで試したら、最初に作成した名前 button1 button2 自動でつけられる その名前になってます private void button1_Click(object sender, EventArgs e) { }
450 :
445 :2011/07/22(金) 22:13:50.98
こんなかんじ Button1 Button2 それをちゃんと Button1->close button2->showなどに変えたのですが デザインのほうはちゃんと変わってて private System.Windows.Forms.Button close; private System.Windows.Forms.Button change; private System.Windows.Forms.Button delete; private System.Windows.Forms.Button show; となっており ですがボタンクリックしてコードみると Button1_Clickのままです close_clickとかになりません
グダグダと長い無駄レスご苦労さま
答えは
>>446 ですよ
上でも言われてるように自分でリネームすれば済む話 ここ初心者レクチャースレじゃないんで
453 :
445 :2011/07/22(金) 22:20:28.30
エディタで ボタンをクリックしてプロパティでcloseとかに変えたら private System.Windows.Forms.Button close; private System.Windows.Forms.Button change; private System.Windows.Forms.Button delete; private System.Windows.Forms.Button show; となるのですが Form1.csが反映されてない private void button1_Click(object sender, EventArgs e) { } private void button4_Click(object sender, EventArgs e) { } これ 初期で自動で作られる Button1_Click Button_Click って名前になってます これ変わらないの? チュートリアルのだと その設定した名前 clear_ClickとかclearButton_Clickになってるけど Form1.csも反映させる方法おしえてください
少なくともデフォでは[F2]ではリネームできないとは思うけどね。
やっぱり命令口調の奴って抜作が多いなw
>>453 あんたも同じ事を何度も繰り返さないの。ルーピーかよ。
エディタのコンテクストメニューを出してリファクターの「名前の変更」を選択するか、
[Ctrl] + R + R。
>>454 コードエディタで選択してF2でございますわよ
抜作はどちらのほうでしたかしら
抜け作同士仲良くしとけよ
普通に打変えてctrl+.でもOK
名前書き換えると1文字分赤い下線が出るから、そこからでも変更できる
マウスでってかかねえとわからんのか抜け作
461 :
445 :2011/07/22(金) 23:15:04.47
F2でもCtrl+RRでも名前かえられるけど Form1.csのファイルのメソッド名が ずっと private void button4_Click(object sender, EventArgs e) { } button1_Click; button2_Click;とかボタンをはじめて作ったときのデフォルト名のまま F2でボタンのName closeとかに変更してるのに
>>461 イベントハンドラは共有することができるので
セット先のコントロールの名前変更に追従されると困るんだよ
極端な話、ボタンとテキストボックスで同じイベントハンドラ使えるのよ
その時button_clickとtextbox_clickをどっちにする?勝手に変更されたいか?
>>461 private void button4_Click(object sender, EventArgs e){}
のbutton4_ClickはF2とかCtrl+RRとかつかって自分で変えなさいってこと。
464 :
445 :2011/07/22(金) 23:31:21.09
変えられました さっきは同じ名前にしてたから競り合いしてできないとでてました いちいち、nameを変えるたびにこれを変更しなくてはいけないのでしょうか? GUIでボタンをクリックしてName変更したら Form1.csのメソッド名がその名前にうまく変わるとかはできないのでしょうか?
465 :
445 :2011/07/22(金) 23:35:21.82
原因がなんとなくわかりました 最初にButton1のときにボタンをダブルクリックしたときに ソースコードが生産されました そしてあとからNameを変えてもできなかったのは 最初にButton1のコードがあったので上書きできずなにもかわらなかった
しつけ〜よ糞が
初心者さんですか わたしもまあ初心者みたいなもんです VS2008でコンパイルエラー300超えから0個にしたときは うれしかったもんですよ。ええ。
エラー一覧って100くらいしか出ないけどどうやって300あるってわかったんだ?
300以上表示しているからだろ
>>465 エディタでソースコードを変更しろよ,あちこちな.
perlより綺麗ですなC#
Perlと比べられても。
473 :
デフォルトの名無しさん :2011/07/23(土) 18:41:55.75
コードのレシピ集や逆引きコード集を買わなくてもMSDNで足りるよって言われたんですが。 どこを検索すれば言いかわからない。
足りるかなあ?
そのレベルなら素直に本買った方がいいと思う なんとなくクラスは分かるけど使い方が分からないってときに見るのがMSDN
TIPS集みたいな本はググればすぐ出てくる程度のことしか載ってないから無くてもいいよ
C#まじはまるっしゅwwwwwwシュシュシュ! Objective-Cより資料あるっしゅw Cocoa並みにおもしろいっしゅw
まじすげーっしゅw ウインドーズしゅげーっすw チュートリアルで迷路とかいろいろサンプルあってまずすごいっしゅw こんなのXcodeにはないっしゅw
Cocoaのコネクションがなくてまじくそですねw あれやりたかったんですよw つなげるやつ
Perlの話をしろよ
482 :
デフォルトの名無しさん :2011/07/23(土) 20:35:03.02
ごめん、PerlよりRubyだわ。
usingってばかだな useでいいのに あほくさ
どっちでもいいです^^;;;;;;
うっせ〜w
うわっ!!!わっあああ!!
ま”う”〜 ま”う”ま”う”〜
作って覚えるコネタ集、完動ソース付きってなんかない?
>>485 delphi
uses
アンダース・ヘルスバーグ
氏ればいいのに
わっ!!わっ わっ!!! PerlやってたからC#が簡単!!!!!
>>493 perlやった事ない私でも簡単ですが何か
Perlやってたからかんたん! わっ わっ わっ!! Perlのオブジェクト指向とそっくり!わっ!わっ!
今日の朝飯はシジルご飯とシジル汁でした
なんでお前らそんなテンション高いんだw
monobehaviorってなんですか?
Unityはgamedevに専用スレあるからそっちで聞け
>>492 そこはストロウプストラッパッパーじゃないの?
Aから描写に必要な設定を渡す場合、B、Cを経由するため BとCに、引数が必要になるのだが なにかすっきりしない。 A(Form) ↓ B(Video Clas) ↓ C(avi Class) ↓ 描写クラス(Draw Class)
ツイッターかっ
今日人類が初めてぇ木星に着いたよぉ(ついったぁ)
505 :
デフォルトの名無しさん :2011/07/25(月) 23:40:40.99
Avi : Videoなの? avi意外にも対応する気があるなら AviDrawer : VideoDrawerにするとか
匿名メソッドをシリアライズすることはできないかな? GetILAsByteArrayでILバイト列シリアライズして、 DynamicILInfoつかってデシリアライズしてDynamicMethodつくったけど、 CreateDelegateしようとするとRuntimeMethodInfoじゃないって怒られる。
デリゲートはインスタンス参照を持ってるから一般には不可能だろ Expression<T>で受けてCompileToMethodで我慢するべき
というかコードをシリアライズする必要あるのか? どうせそのコードをデシリアライズするときには その匿名メソッドが定義されたアセンブリも読み込まれていないと まず動かないだろうから、MethodInfo取得して完全名を保存するだけでええんゃうんかと
なぜあえて凝った事をやろうとするのか
匿名メソッドを定義してるオブジェクトはデリゲートのTargetにあるんだから、
なんとかなるんじゃないかと思ってた、残念。
>>510 どんなオブジェクトでも復元できるシリアライザがあったらいいなって、
試作してみてみた。参照関係とかコンストラクタ引数の問題は力技で
解決したけど、イベントハンドラを完全復元するのは無理ぽいなあ。
512 :
でっていうの名無しさん :2011/07/26(火) 14:38:45.44
panel上のpictureBoxをスクロールバーを用いないでスクロールさせることって出来る?
できる panelにスクロールの位置設定するプロパティあるだろ
pictureBoxの位置設定のほうが良くね? それなら画像の上で直接操作することで、スクロール出来る 多分iPhoneやAndroidみたいなのを作りたいんだろうと妄想
C#っていうかデザイナの話なんだろうけど たまーにプロパティウィンドウのイベントのリストで 階層化されてるのがあるんだけど、これって簡単に実現できるかな?
だからDelegate.Method使って ・呼び出し先のメソッドを定義してる型のアセンブリ修飾名 ・呼び出し先のメソッド名 ・メソッドのすべての引数の型 を取得して覚えとけば、デシリアライズ時にその情報からMethodInfoを取得して CreateDelegateでデリゲートを復元できるだろ どうせこんなの役に立たないけどね どんなオブジェクトでも復元できるシリアライザなんてGCのメモリ丸をごと保存しても無理
c#学んでるけどわけわかんねえ。 お前ら頭が良さそうで羨ましい。
最初はみんな初心者。諦めずに学んでるうちに分かってくるさ
最初はフォームアプリ作っていれば、その内慣れるよ
520 :
515 :2011/07/26(火) 17:20:38.33
ごめん、DesignerSerializationVisibility の指定忘れてただけだった
井桁ド頭に突き刺して死ね
522 :
515 :2011/07/26(火) 18:40:26.54
と思ったら表示はされるけどコード生成されないわ なんかこれ系は毎回はまるなー…
>>523 そこもMSDNも一応は読んでみた
で、TypeConverterの継承とかPropertyTabとか面倒なことなしにやれないかなと思ってね
Click
DoubleClick
Class1
├ Event1
└ Event2
みたいなのがどうにもうまくいかないんだ
つまんないことで引っかかってるんだとは思うけど
半分愚痴みたいになってスマン
>>516 ありがとう。でも、それはわかってるし実装してる。
問題は匿名メソッドね。
それは動的メソッドの作り方が悪いんじゃないだろうか
>>526 レスありがと。どういうこと?
イベントにゃ、そもそもラムダ使うべきでないっつーこと?
(ついでですまんが、ラムダの場合イベントremoveは不可よね?)
実用的なものが作れるなら誰かが作ってるだろうと考えて傍観
…RumtimeMethodInfoがどうのとか例外を吐くのはDynamicMethodじゃなくてDelegateのCreateDelegateだよね?
>>525 何を言ってるんだ
匿名メソッドも普通のメソッドだぞ
Perlやってたから凄い簡単 余裕のよっちゃん ちょっとむかついた場所は 抽象クラスとインターフェイスが似てて気持ち悪かった 抽象クラスっていらなくね?ごみみたいだな そんなもんつかってるやついるのか 余裕 デリゲードもObjective-Cにでてくるから 超絶余裕 本当に簡単 C++より簡単
下拵えやってたから凄い美味 余裕のよっちゃん ちょっとむかついた場所は ザリガニとイセエビが似てて気持ち悪かった ザリガニっていらなくね?ごみみたいだな そんなもんくってるやついるのか 余裕 カタツムリもフランス料理にでてくるから 超絶余裕 本当に美味 カニより美味
C++の=0関数は笑ったww 他に書き方ないのかよww
ポエマーきもっ、まで読んだ。
535 :
デフォルトの名無しさん :2011/07/26(火) 22:46:34.77
panel.AutoScrollPositionってpanelのプロパティのAutoScrollがtrueになってないと使えないの?
>>535 電源がオンになってないとパソコンって使えないの?
539 :
デフォルトの名無しさん :2011/07/27(水) 15:29:34.67
>>537 S5から電源オンにしてパソコン使えるんだが・・・
ソリューションに含まれるクラス数をカウントしてくれるツールないですか。 カウント対象はソースコードでもアセンブリでもどちらでもいいです。
classを一括置換すれば良いんちゃう?
// class お,と思いましたががカウントされてしまいます。
お,と思いましたが // class がカウントされてしまいます。
// class を置換で消しとけばいいだけですね ただめんどくさいのでソースコードを変更することなく クラス数をカウントする方法をご存じの人がいたら教えてください。
ピンポイントなツールは知らない。 1. cat *.cs | (がんばってコメント・リテラル削除) | grep -w class | wc -l(みたいな何か) 2. ildasm /text /classlist a.exe | grep "^\/\/ Class " | wc -l(みたいな何か) 3. 1ファイル1クラスで書く
全Assemblyを読み込んでGetTypesで良いんじゃないの? Webサイトは知らんが
ツール探すのが面倒になってきたので全Assembly読んでGetTypes()で落ち着きました
Assembly読んでGetTypes()するためのクラスを作って実行しましたが 件数が想定より1件多いです
>>548 お前元から数わかってて問い合わせたんか?
舐めた真似してくれるやん
落ち着け
クロージャでもあるんじゃないの CompilerGeneratedAttributeとか見れば?
Type.FullNameでも表示させれば原因分かりそうなもんだが
静的フィールド初期化用の変なクラスが常に生成されなかったっけ
VS2005でアプリケーションデータのデフォルト値を取りたいんだけど、いい方法ある? Properties.Settings.Default.Reset() すると、設定値がリセットされるけど、 Save()してないのに、リセットされたデータが保存されてしまう。 以下のようなことをしたいんですが... 「規定値に戻す」ボタンで設定値リセット ↓ 画面更新し、内容確認 ↓ 「適用」ボタンでデータ保存 「キャンセル」ボタンで保存せずに終了
そういう小回り利かせたくなったら自分で作ったほうがいろいろと面倒がないんじゃね? Settingsは全然関係ないフォルダにファイルで保存とかもできないし
リセットしてから確認して保存って謎動作だな
規定値にしたらどうなるかわかってるんだから、リセットする時はそのまま保存しちゃって良いと思うんだが・・・
まー確認したいのなら下手なことしないで、
>>555 の言う通り自力で値変えたほうが良いな
MSのユーティリティ系ツールはいっつも自分たちの流儀を押し付けてくるからほんと使いにくい
デフォルトってこの業界では既定の初期値だけど、金融では債務不履行なんだよね 居酒屋で喩えると、突き出しと食い逃げの違いか
559 :
554 :2011/07/29(金) 13:06:46.57
>>555 やっぱ自作するしかないんですねぇ。ありがとうございました。
>>556 ちょっと端折りすぎてわかり難かったかもしれませんが、
設定が複雑なので、今の設定から大幅に変えたいときに、
一旦規定値に戻して1から再編集みたいな使い方って普通にしない?
んで、その時にキャンセルしても前の設定に戻せないので困ってるんですよぉ。
単にリセットして保存するだけなら、確認は不要ですわな。
>>559 複雑ならなおさら、一度規定値に戻して動作することを確認してから、
少しずつ設定を確認しながら変えていくかなぁ・・・
やり直すなら、設定値のバックアップを取っておけばいいし
まー俺自身が、時代遅れのIniファイル作成派ってのもあるんだけどね
>>558 英語は単語数が少ないから専門が違うと素人には全く理解できなくなるらしい
>>558 初期値に戻るってことだから同じ意味だよ。
債務不履行って事は信用も借金も資産も全て初期値のゼロに戻る事。
>>558 ほんとはそれぞれ default value とか debt defaulting とか、
補語的なものを書かないといけないのを省略しやがるのよね。
>>561 単語が少ないというか、1単語が長いから無理に略そうとして破たんしてるよね。
ご破算願いましては! 日本人ならこうだな。
日本の破産を願うだと?
567 :
デフォルトの名無しさん :2011/08/01(月) 09:42:12.66
質問です。 AVIファイルを AxWMPLib.AxWindowsMediaPlayer を使って再生する処理を作っているのですが、 ファイル全体のコマ(フレーム)数と、現在表示中のコマが何コマ目であるかを表示したいと考えています。 また、コマ送り再生でstep()を現在用いているのですが、こちらは1コマ単位でしか送れないため、 任意の複数コマ送る手段を探しています。 アドバイスよろしくお願いします。
>>567 基本はこれ
http://www.gan.st/gan/blog/index.php?itemid=1406 動画のfps取得
http://dobon.net/vb/bbs/log3-23/14274.html wmp使う場合のコマ送り等(分子を変えればコマ単位が変わる)
// コマ送り
private void btnNext_Click(object sender, EventArgs e)
{
double fps = Convert.ToDouble(cboFPS.Text);
double fpsAdd = 1 / fps;
WMPLeft.Ctlcontrols.currentPosition += fpsAdd;
WMPRight.Ctlcontrols.currentPosition += fpsAdd;
}
// コマ戻し
private void btnPrevious_Click(object sender, EventArgs e)
{
double fps = Convert.ToDouble(cboFPS.Text);
double fpsAdd = 1 / fps;
WMPLeft.Ctlcontrols.currentPosition -= fpsAdd;
WMPRight.Ctlcontrols.currentPosition -= fpsAdd;
}
細かくやるならOpenCVSharpオヌヌメ
>>568 ありがとうございます。
C#自体実験以上の使用は初めてで、勝手の違いに戸惑ってます。
(最初MFC+DirectShowでやろうとしたが映すまででも七面倒臭いので時間的に断念、表示まで直行できるC#にスイッチ)
OpenCVSharpというのははじめて聞きました。ちょっと調べてみます。
表示まで直行できる、という点でOpenCVそのものにする手もあるなw
572 :
デフォルトの名無しさん :2011/08/01(月) 14:29:29.68
C#でシリアル通信しようとしてます
port.DataReceivedってイベントハンドラですけど、これってstaticなイベントハンドラしか受け取ってくれないの?
サンプルではそうなってました。
http://msdn.microsoft.com/ja-jp/library/cc825644.aspx もしそうだとするとイベントでコールバックされるときにどうやってthisを受け取ったらよいのですか?
コールバックの中でクラスの変数に受信した文字列を格納したいときとか。
引数のsenderはSerialPortクラスオブジェクトですし。
サンプルがそうなってるだけ イベントはイベント
>>572 自分でSerialDataReceivedEventArgsを継承して参照を渡せばどうでしょうか?
それとは別に俺も質問です。C#で動画のストリーミング再生を行いたいのですが
DirectX系を使用せずにする方法がないでしょうか?
調べるとAxWindowsMediaPlayerのURIに動画ファイルパスまたは、WebサーバーのURIを指定してストリーミング
再生を行うとあります。ソケット通信でストリーミング再生を行うには上記以外にどのようにすればよいでしょうか?
>>574 そういうやり方が可能なんですね。ありがとうございました
577 :
574 :2011/08/01(月) 18:04:51.34
調べてみたけどC++のランタイムが必要なのですね・・・ガックシ DirectX系を使わないというのは.net系以外を入れないということなので・・・ OpenCVは使えなさそうですね・・・dllだけ別に参照できればいいのですが・・・
いくつか紹介しようと思ってたが、、 いきなりハードル上がったな ちょっとわからんわ
579 :
574 :2011/08/01(月) 20:06:27.38
リモーティングなんてものを使えないか調べ中・・・どうだろうなぁ
自力で通信からやるのか
まず火をおこす
次に服を脱ぐ
服を脱いでからだろ!!火をおこすのわ!!
ふぅ・・・
585 :
デフォルトの名無しさん :2011/08/02(火) 17:28:29.32
WCFの話題はこちらでいいでしょうか?
ASP.netのフォーム認証をWCFで使いたいのですが、どうも上手くいきません。
http://msdn.microsoft.com/ja-jp/library/bb386582.aspx を見て、一応はクライアント側でサービスを呼び出すところまでは実装できたのですが、
※「auth」がServiceReferenceから作ったAuthenticationServiceのインスタンス
MessageBox.Show(auth.Login("test_id2", "test_password2", "", true).ToString());
MessageBox.Show(auth.IsLoggedIn().ToString());
とやると、メッセージボックスがtrue→falseと表示されます。
当然、この後に他のサービスを呼び出してもログイン画面に飛ばされて例外が出ます。
認証チケットを保存するには、他に何かコードが必要なのでしょうか?
大まかな実装方法についてはサンプルコードのとおりのはずですが「ここ晒せ」という箇所がありましたらご指摘ください。
587 :
585 :2011/08/02(火) 22:08:38.63
>>586 事実上、半年以上も前に書き込みが止まってますからね・・・。
申し訳ありませんが、お邪魔でなければ是非お知恵をお貸しください。
WCFのCて232cとかwifiとかEthernetとかperipheralな通信を扱うのかなぁと思ってたのは私だけ?
589 :
デフォルトの名無しさん :2011/08/02(火) 22:34:28.00
Membership.ValidateUserの結果を返してるだけだと思うが、ASP.NETのメンバーシップがちゃんと構成されてないんじゃない?
590 :
585 :2011/08/03(水) 00:20:15.48
>>589 メンバーシップそのものは動いているようです。というのは、
・同じディレクトリに配置したDefault.aspxとかにはちゃんと認証が掛かってる
・membershipで指定したカスタム認証そのものはクライアントからでも呼べてる
→最初のloginメソッドではtrueが返ってきてるので。
この引数を、カスタム認証で通るようにしたUserNameやPassword以外のモノにすると二つのメッセージボックスが両方ともfalseになる。
となっていますので。ただ、この認証結果を永続させる(認証チケットを発行する)にはメンバーシップに設定が必要、というのはありそうな話ですね。
ちょっとそのあたりを調べてみましょうか・・・。
つか、クッキーが保存されてないんじゃ?
592 :
585 :2011/08/03(水) 11:32:39.66
>>591 loginメソッドの四番目の引数をtrueにする、って事ではなくて、でしょうか?
AuthenticationServiceのイベントは全てサーバ側で発生させるようですし、そのあたり、クライアント側で設定が必要なのでしょうか?
593 :
デフォルトの名無しさん :2011/08/03(水) 11:51:29.64
式木について質問です。 (Expression<Func<bool>>)(() => true) == (Expression<Func<bool>>)(() => true) が false を返すのは何故ですか?
何故もなにも、Expression<T>の==はオーバーロードされたりしてなくて 通常のインスタンス比較だから
呼び出したいんじゃないの?知らんけど
596 :
593 :2011/08/03(水) 12:18:44.09
>>594 回答ありがとうございますm(_ _)m
ごく基本的なことでしたね。全くもって勉強不足でした。出直してきます。
>>595 式木のコンパイル結果をキャッシュしておこうとして、
Dictionary の Key に何も考えず Expression<T> を使ってしまったんです。
Key には ToString した文字列を使います。
.NET4で追加されたExpression Treeの機能の多くはToStringでは表現できないよ C#でサポートされてる範囲なら問題ないが
598 :
597 :2011/08/03(水) 21:12:58.72
いやC#のラムダ式の範囲でもダメだな ToStringは細かい型の情報が省略されてるから他のと衝突する
IEqualityComparer実装すればいいじゃん
簡単に言うけど数千行だよ?w
ExpressionVisitor使えばIEqualityComparerぐらい簡単に作れるだろ
ならやってみろよw 難しくはないがどんだけ面倒だと
603 :
585 :2011/08/04(木) 00:48:26.56
うーん、どうにも上手くいかないので、WCFは諦めて、普通のWebサービスとして実装し、メソッドごとに認証、という方法で逃げることにしましょう。 技術的にはものすごく美しくないですが、自分でやることにも利点が無いわけではありませんしね。 (ちょいとスレチですが)フツーのWebサービスって、やはり呼び出すたびに自前で認証・・・してるんですよね、httpってステートレスですから。 やはり基本が一番、なのかな・・・。
604 :
デフォルトの名無しさん :2011/08/04(木) 16:17:02.23
マイクロソフトのweb developerでvb でできるようになったので c#もついでにマスターの最中で大体web dbサーバー 作れるようになったけど C#のメリットって結局なんなんですか?CといってもCライクなデルファイだし。
OS提供元の公式環境っていう側面が強いと思う。 VBとC#は根っこが違うからユーザー層も微妙に違うだろうし。
WEB環境でC#はいったんですけど C#の.CSは皆さんどうやって動かしてるんですか? WEBの場合は .ASPXに直接書くか、.ASPXから.CSを呼び出す形です。
>>604 こう書くとVB決死擁護の人が発狂するかもしれんが、VBコンパイラの吐きだすMSILは無茶苦茶汚い
だから全く同じロジックのプログラムならC#製の方が優秀
C#も結構汚いぞ dynamicとかyieldとかクロージャとか使うと酷いことになる イベントの宣言でもC#4.0からは同期処理が改良されて 単純な見た目からは想像もつかないような妙なコードが生成される VBは当然のようにヘルパー関数呼び出しがたくさん挿入されるから それに比べればマシだが
C#のだめなところ withがない VB.NETのだめなところ 論理演算子が長い
withはあまり要望が無かったから入れなかったらしいよ つまり多くの人はそんなに便利だとは思っていない 3.0からはオブジェクト初期化子とコレクション初期化子が もしwithがあれば使われるようなケースのほとんどをカバーしてる
>>606 よくわからんけど、aspxからDLL呼び出してる
C#はバージョン管理に超厳格だから、もしwithを入れるとすれば、 メンバが追加されたときの名前の衝突を防ぐためにネスト不可になるだろうから、 どう考えても不便すぎて役に立たん
withが便利とか、いつの時代の人ですかw
VB6からやってきたんだろ。察しろよ。
あっても今のC#だとまず使わないな。
改行に意味を持たないC#でwithをやられたら迷惑だと思うんだが with(obj) { .Method1(); .Method1(); Method2(.Method1()); obj2 .Method3(); }
>>616 こういう安直な手抜き構文がすごくVBっぽい
>>616 ちょっと意味わかんない。
>>617 それも何かダブスタっぽい意見だな。
この種の「手抜き構文」が多いのは、どっちかって言うとC系の言語だと思うんだが
手抜き構文ってなに?
糖衣構文(シンタックスシュガー)という言葉を知らないだけ
>>620 読解力ないのな
構文の仕様が手抜きって言ってるんだが
Cは確かにそうでJavaですらCの悪い仕様を引きずってるところがあるが C#は思い切っていろいろ細かいところを綺麗にしてあるよ ポインタの構文でさえもまともになってる
withの代わりに別の変数に入れて使えばおk
>>622 まあ結局引きずったままなのもあるがな
switchのbreak必須とか
switchのbreak必須は、CやJavaのフォールスルーは バグの源だということで取り入れられたC#独自の仕様だぞ
どうせ必須なら書かなくていいような仕様にすればいいんだけど、 それだと慣れ親しんだCのそれと微妙に違って混乱のおそれがある。 たしかに引きずった感はあるな。
627 :
デフォルトの名無しさん :2011/08/05(金) 00:41:19.58
>>621 構文の仕様?
{}でくくるから手抜きってこと?
BEGIN〜END XXXならOKって言ってる?
そんなことは多分知らん人は居ないと思うんだが、それならbreakを強制するのではなく、 別のキーワードを用意するとかするべきだったな。
なんかフラットよりも低くなってる
VBの話題出すと荒れるのはいつものこと
631 :
デフォルトの名無しさん :2011/08/05(金) 00:46:52.14
breakのスルーはわーに具にしてほしいな。
case (1) { } case (2) default { } のように構造的にしたら 意図的にフォールスルーしたいときに不便じゃね case 1: case 2: 共通; break; みたいなのは case (1, 2) とすればいいとしても gotoの方はどうしようもない そんなものは可読性悪くなるから要らんというならそれでもよかったと思うけどね
nullはナルでもヌルでもどっちでも良いと思うけど、 warningのをワーニングって言うのは確実に変。
スターワーズ
switchはもうしょうがないから代わりにパターンマッチ入れてくれ。
C#で機械式より高精度なメトロノームを作るにはどうすればいいですか?
C# 15.0くらいになったら実現する
>>636 コンパイラを設計して、ネーチャーサイエンスに則ったものを吐けばいいと思うよ。
キャレットを自前で描写する方法はわかったが、点滅させる方法がわからない くぐってもわからないのでやり方を教えてほしい
点滅とは、白紙に描画すること、しないことを繰り返す処理である。っていう話じゃなくて?
F#のパターンマッチが入ればなぁ
C#の利点は、unsafeがあることじゃないか? どっちもMarshalがあるけどさ
Marshalは使いやすいとはいえないな・・・
このスレ見てると毎度思うんだが、 お前らがすごいのかだめなのかわからなくなるよ ところで、その技術でなに作った(作ってる)
みんな黙っちゃったね
おまえらとかみんなとか気持ち悪い
このスレで返事書いてる人間は一人だけだと思っているんじゃね?
C#でC++のdllを読み込むまで成功したのですが、 戻り値がcharのポインタで返ってきます。これを バイト配列にしたいのですが方法があるのでしょうか?
コピーならMarshal.Copyとかでできる
3画面のプログラムなんだがハンドル数200以上ってどう思う?
晩御飯は唐揚げにしたまえ
______ ___________ V _____ /::::::::::::::::::::::::::\ _ /::::::::::::::::::::::::::::::::::::::\ /  ̄  ̄ \ |:::::::::::::::::|_|_|_|_| /、 ヽ はぁ?黙ってろデブw |;;;;;;;;;;ノ \,, ,,/ ヽ |・ |―-、 | |::( 6 ー─◎─◎ ) q -´ 二 ヽ | |ノ (∵∴ ( o o)∴) ノ_ ー | | /| < ∵ 3 ∵> \. ̄` | / ::::::\ ヽ ノ\ O===== | :::::::::::::\_____ノ:::::::::::\ / |
マンガ脳の恐怖、まで読んだ。
汚いAA貼ったとき一番傷つくのは自分
______ ___________ V _____ /::::::::::::::::::::::::::\ _ /::::::::::::::::::::::::::::::::::::::\ /  ̄  ̄ \ |:::::::::::::::::|_|_|_|_| /、 ヽ はぁ?黙ってろデブw |;;;;;;;;;;ノ \,, ,,/ ヽ |・ |―-、 | |::( 6 ー─◎─◎ ) q -´ 二 ヽ | |ノ (∵∴ ( o o)∴) ノ_ ー | | /| < ∵ 3 ∵> \. ̄` | / ::::::\ ヽ ノ\ O===== | :::::::::::::\_____ノ:::::::::::\ / |
マンガ脳の恐怖、まで読んだ。
汚いAA貼ったとき一番傷つくのは自分
ループするのも鬱陶しいのでマジレス。 傷つくような自意識を持ってればAAなんか最初から貼らない。
貴様のちっぽけな自意識などNaN値の中に溶けてしまうがいい
NaN値が濁るだろ
NaNチェック!
Mindows Media Playerって自前のCDDBを持っているようだけど 自作プログラムからアクセスする方法って有りませんかね?
>>663 CD2WAVってソフトを使うとわかるんだが、フリーの登録サーバがあるようだよ。それではダメなの?
レスさんくす freedbには情報が少ないんだよね。特にクラシックは皆無に近い。 Gracenoteは自分一人で分にはいいんだけどフリーソフトにしようとすると制約が多くて面倒くさいし。 WMP純正で使えれば良いなあと思って・・・
検討済みだったか。それは失礼した。 WMPはよくわからないので識者募集。
WMPはAllmusicのデータを元にしてるとかだったか AllmusicのデータはRoviが管理してると思う Roviはおそらく無償でサービスを提供していない
WMP経由で取得したりできないか、という話ではないの?
コンポーネントには、作者情報をプレイリストから引く方法は載ってるが、CDDBに取りに行く方法は載ってない気がする。 WMP7SDKの話だから、あとのバージョンにはあるかもだけど。
そういうソフトが他にないのは不可能だからなんでしょうね、残念。
C#初心者ですが、ILSpy.exe という.Net逆コンパイラが出したソースには、 [CompilerGenerated] というキーワードがありました。これは、C# の正式なステートメント でしょうか?
もしかすると、classの中で、[xxxx] というような書き方が元々あるので しょうか?
すみません、「C# 角括弧」で検索してみたところ、「属性」ということらしい ですね。
初心者さんはふらっとスレに行きましょう ここは自称中級者以上の方のためのスレです
class [xxxx]がVBのコードに見えた
初心者さんですか?
Obj-C#ですね
ちと質問ですが、WM_MESSAGEを受け取って その中のLPARAMのポインターを変えずに 中身を入れ替えるにはどうすればいいでしょうか? Marshal.StringToHGrobalAns(文字列)は新しい ポインタになるので使用できません。 よろしくおねがいいたします。
unsafeでポインタを使う
Marshal.Write***とかMarshal.StructureToPtrとかMarshal.Copyとか
682 :
679 :2011/08/09(火) 16:48:45.39
できますた^−^ Marchal.Copyで出来たのですが、Char[]を指定したのですがうまくできず なぜか先頭1文字しか送れませんでしたがバイト配列で送ればできました^−^ ありがとうございます。
とある型に対してカスタム属性かTypeConverterを実行時に追加できませんか?
TypeDescriptor.AddAttributesとか
StringBuilderでappendするのがめんどくさい "+"をオーバーロードしてappend()と同じことをやりたいのですが、 いい方法ないですか?
StringBuilderのラッパークラス作って演算子オーバーロードできるけど +=を単体でオーバーライドできないので微妙 +をオーバーライドして新しいオブジェクト作ってしまったら意味無いし 左オペランドのオブジェクトを変更して返したりするのは一般的な.NETの常識に反する っていうかそこまでAppend多用するか? String.FormatとかAppendFormatとか使ってる?
あまりにも多かったらテンプレートエンジン使えって感じだな
689 :
デフォルトの名無しさん :2011/08/16(火) 22:51:18.86
+で書いといて、あとで).Append(に置換するとか
数が決まってるのは+で連結していいんだぞ "a"+b+"c"+dみたいなのもAppendで書いてないか?
コンパイラが内部的に Append に変換してくれるの?
string.Concat()に自動変換
どんだけ大量に連結しようと、コンパイル時に数が決まってる場合は+の方が速い
非同期なスレッドプログラミングでデバッグする場合のコツを纏められたサイトか書籍知りませんか? 今何処で固まってるのか行方不明だし、フォームは固まってるしで悶々としてるうちに盆休みがオワタ。
>>695 何処で固まってるのかわかるログを出せ。
以上
>>695 UIスレッド以外のスレッドでフォーム要素に触ると止まるよ
そのへんは大丈夫?
698 :
デフォルトの名無しさん :2011/08/17(水) 01:57:03.03
byte配列を構造体にコピーしようとしているのですが、 Marshal.PtrToStructureはポインタのアドレスをマネージドの構造体に 関連付けさせるだけなのでしょうか? たとえば UData = (UserData)Marshal.PtrToStructure(ptr, typeof(UserData)); このようにした際に ptrをMarshal.FreeHGlobalした場合UDataの内容は保証されない状態になってしまうのでしょうか?
>>695 つTracePoint(VisualStudioの機能)
>>698 なわけない
構造体なんだから実体を取得できた時点で必ずマネージメモリ上にある
DynamicInvokeってなんのためにあるんですか
型の分からんデリケートを実行する
>>695 本というほどの本はないかなあ。
そもそもスレッドを直で触るのが難易度高いので、
Taskクラスを使うようにするといいかもね(そしてMSDNのTaskの解説を参考にする)
VS2010のデバッガも、そのへんわりとデバッグしやすく強化されてるし。
>>695 Debug.WriteLineとかあるじゃないか それでどこでとまってるのか書き出せばわかるでしょうに
>>700 ありがとうございます。
もう一回基本勉強してきます。
>>698 の動作は
・マネージヒープを確保する
・ポインタが指す内容をそこへコピーする
・ボックス化(ここでまたマネージヒープが割り当てられ、コピーされる)
・ボックス化を解除してまた別の場所へコピー
であってる?
C脳の人が見たら発狂するような非効率な処理だな
ボックス化が抑制されるのはもちろんだけど、 マーシャリングも無くなるからね
つーことは、unsafeが可能なのはブリッタブルな変数のみ、でおk?
固定配列はひたすらフィールド並べるかfixed使えばblittableにできるよ あとは文字列だけどunsafeならポインタで受けて Encodingクラスにポインタそのまま渡して変換できる
EncodingよりむしろStringコンストラクタじゃね?
712 :
デフォルトの名無しさん :2011/08/19(金) 22:39:42.39
質問させてください。 RichTextBoxを使用してターミナル(のような物)を作ろうとしています。 1行単位でコマンドを書き、Enterでハードウェアに送信するという感じです。 RichTextBoxではキーボードの↑を押すとキャレットが上の行に移動しますが、 これを移動できないようにして、Unixのターミナルのように前に実行したコマンドを 順に表示させるという操作にしたいのですが、どのように書けばよいでしょうか? 環境はframework3.5です。
表示用(ReadOnly)と入力用のTextBoxを分ければいいんじゃないの?
つうかComboBox使えよ
ど忘れ・・ 文字列配列のリストって List<String[]> って書き方であっていますか? VisualStudio2003だと怒られる?
ジェネリックは2005(.Net2.0)から
サンクスです
DB関連で使われるDataAdapterってどんなメリットがあるのですか? 正直、メモリを圧迫するだけというイメージしかないのですが
常に接続を維持できる環境ばかりとも限らないだろ
Aというフォルダ内にBというファイルがあって、 C#からそのAフォルダを開き、 なおかつBファイルを選択された状態にすることって可能でしょうか? フォルダを選択するだけなら、 System.Diagnostics.Process.Start("A"); で可能なのは分かるんですが、 そこからが分かりません。 VS2010を使ってます。
諦める 地獄が見たいならCOMでエクスプローラのアドオン書く
>>723 うおおおおお
感謝感激です
ありがとうございました。
725 :
718 :2011/08/22(月) 22:39:14.17
>>719 例えばそれはどのような環境ですか?
>>720 最近はDataReaderだけ使う形がメジャーということであっていますか
>>725 例えば同時接続数が設定されている場合や、更新する頻度の高いテーブルなど
そういった場合はDataSetに突っ込んだりする
Mangerパターンを実装する場合、IProductを継承したクラスだけを突っ込めるようにして一つで済ますことが多いように思うんだが、どうもそれだとめんどくさい ジェネリッククラスを使って、型ごとに管理クラスを作っちゃだめ?
mangerって何を食べる気だよ
優秀なプログラマーって2ch見てないんじゃないかと思う
うん、超優秀な人しか見ないよね
Mongerに見えた 商人クラス???
733 :
デフォルトの名無しさん :2011/08/25(木) 18:14:54.60
テレポートできるやつだっけ? 芋ほりロボットの仲間
そりゃ21エモンだろ
質問です。 フローティングツールバーの実装ってどうやってます?
時代遅れだしそんな大袈裟なUI普通は必要ない 必要ならコンポーネント買えばいい
フリーでダウンロードできるだろ。買う必要なし。
フローティングツールバーなんて久しく見てないな…
エクセルとかVSでわざわざ切り離したりしないよな あれを使いやすいと思って実装しちゃうやつの気が知れない
740 :
735 :2011/08/25(木) 22:18:15.27
ありがとうございました
役にたたねーな糞どもがって正直に言っていいんだぜ
742 :
デフォルトの名無しさん :2011/08/25(木) 22:49:22.89
すでに出来上がってるコンポーネントの細やかさはないけど とりあえずの実装なら簡単でしょ ツールバーといえどVC#の場合はwinformなどの配下に配置してあるだけだし 基本的な動作はFormをつまんで動かすロジックと つままれたときにDockを解除して端で離されたりすれば近い端にDockを設定すればいいだけだよね
質問には答えてもらえず無駄に罵られたことが役に立つ日がきっと来る
744 :
743 :2011/08/25(木) 22:54:09.26
ああスマン、世の中捨てたもんじゃないな
800×600が普通にあった時代ならツールバーの大きささえ貴重だったからな 広い画面だと決まった位置にツールバーがないと使い辛いってデメリットだけになる
746 :
742 :2011/08/25(木) 23:20:06.03
747 :
735 :2011/08/25(木) 23:49:27.52
ありゃ・・・いつの間にやら 皆さん有り難うございます! 是非是非参考にさせて頂きます
フローティングツールバーだけ実装してもなあ、って感じ そんな大袈裟なUIのアプリならドッキングウィンドウとかドキュメント切り替えタブとか 大抵どうせ他にもいろいろ必要なんだし さすがにそんなの全部やってられない
ドッキングぐらいは標準で欲しいよね VSのは動きが気に入らないけど
750 :
デフォルトの名無しさん :2011/08/26(金) 12:36:54.53
てs
key&ivならうまくいくけどpass phrase&saltならダメってこと?
そう。追記で、OpenSSL側がPKCS#5v2で鍵を導出するときのイテレーションを1に決めうちしてた。 Rfc2898DeriveBytesのデフォルトはこれが1000だから、そりゃ同じキーになる訳がない。 だけど、まだ足りないな。keyとIVはperlか何かで別に生成したほうがいい気がしてきた。
EVP_BytesToKey C# でC#の実装が出てくるよ
ありがとう。でも鍵導出はRfc2898DeriveBytesがやってくれるから、わざわざ実装する必要ないのでは? OpenSSL以外のツールでどうなるか調べて、手間がかかるなら自前の復号ツールを書いたほうが良さそうだ。
OpenSSLはMD5でしょ? Rfc2898DeriveBytesはHMAC SHA1固定よ PasswordDeriveBytesならMD5使えるけどOpenSSLのとは違うっぽいし
嗚呼!本当にありがとう。調べなおしたら、そのC#の実装はPKCS#5v2だった。 EVP_BytesToKeyはPKCS#5v1.5の実装だから、そりゃどうやっても一致するわけないわな。 どこかで、誤読してEVP_BytesToKeyでもPKCS#5v2を使うようになったと勘違いしていたよ。 実装が古過ぎて危険そうだからOpenSSLでデコードするのは止めることにする。他のツールを探すよ。 なければライブラリにはPKCS5_PBKDF2_HMAC_SHA1って実装があるから、それ使って自分で用意するか。
ここは晒しスレでは御座いません
わんくまだもの
そういうのは画像も同梱してもらえると助かる。
763 :
761 :2011/09/04(日) 00:37:39.08
>>762 即席ですがたったいま簡単なSSを貼りました。
C#のGDIのプログラムで困っています getDCで取得したデスクトップにマウスを追跡して 円を描画するプログラムを作りたいんですが 描画した円だけを消去する方法がわかりません clear()だと一色で塗りつぶされてしまうので希望と違います
765 :
742 :2011/09/07(水) 23:59:52.71
766 :
デフォルトの名無しさん :2011/09/08(木) 00:00:32.73
何で742が付いたのかはなぞw
>>764 文字通りその通りにはできんでしょ。
描画する前の状態をBitBltで保存しておいて、必用な時にそれを戻せばいいんでないの?
Invalidate()ってクライアント領域限定だっけ?
769 :
デフォルトの名無しさん :2011/09/08(木) 00:44:48.68
>>764 やりたいことがいまいちわからんが画面キャプチャしてその上で円を書いたりしたいってこと?
>>764 GDIを捨ててWPFにする。そして円のShapeのプロパティーを更新する
>>764 ですが
いまやってることはキネクトを使用したマウスの作成です
ただ、距離を見てクリックを判断しているため
クリックされたかどうかがわかりにくいのです
だからマウス周りに円を表示させてその円の色を変えて
クリックかどうかを判断したいのです
そして、フォームに描画する方法だと、ほかのアプリケーションを選択すると
描画されないという問題があります
772 :
デフォルトの名無しさん :2011/09/08(木) 10:37:29.60
>>771 どのOSをターゲットにしてるかしらんけどOSの標準の機能で
そういうのなかったっけ?
>>771 デスクトップに直接描画じゃ、
Vista以降のOSでDWMが有効だとまともに動かないぞ。
WPFで最前面のレイヤードウィンドウに円を描いた方がまだマシ。
>>772 メーカー独自ドライバの機能じゃね?
タブレットドライバに似たような機能が付いているのを見たことがある。
775 :
764 :2011/09/08(木) 10:51:48.06
>>765 フォーム内のマウスストーカーとは少し違います
>>767 描画する前の状態を保存し全体を書き換えるよりは、
ひとつ前の円を消去したい
>>769 それに一番近いです。そしてひとつ前の円を消去できるように
したい、クリックしたときは円の色を変えたい
>>770 それだとフォーム内しか追跡されず希望とは少し違います
776 :
デフォルトの名無しさん :2011/09/08(木) 11:00:16.24
>>775 大丈夫じゃね?
WinFormにしたって完全な透明の部分はクリックしてもイベントも透過するし
色情報が少しでもある窓にヒットする
円を表示してる窓はマウスカーソルに追従するからマウスのクリックポイントになるところは
円の常に透明な部分を表示
中塗るとかいわれちゃうとこまっちゃうけどw
>>776 円の移動が間に合わなくて、クリックが横取りされるかもしれない。
WM_NCHITTESTの処理をちゃんとやっとこうぜ。
>>775 昔似たような事やったわ
昇格中プロセスがアクティブだと操作効かなくなってマウス使わないといけないんだよな〜
そこで創作意欲失せたw
タイマに関する質問です マイコンとシリアル通信を行い、特定の文字(アルファベット一文字)を受信したらタイマをON/OFF するプログラムを作成しているのですが、どうやってもタイマが動作しません 自分で調べた限りだと受信ハンドラ内からタイマを起動するためにはInvoke() をつかってやれば 良いらしいのですが、それでもタイマは動いてくれません どうにかして受信ハンドラ内からタイマを動作させる方法はないでしょうか? 確認したところマイコン側からの文字の受信はできておりこちらは問題ないようでした どうかよろしくおねがいします
781 :
デフォルトの名無しさん :2011/09/08(木) 20:06:15.81
コンソールアプリケーションでしたとか、Application.Runしてないなんてオチ?
文章の感じからして780が思い込みが激しいタイプっていうオチに一票 特定の文字とやらの受信に成功している....本当に確認したのか? タイマーがイネーブルされない....本当に確認したのか?
>>779 キャプチャは簡単だがその先は一般にどうしろと言えるようなことではない
画像処理の専門書読んで
一般人には難しいということですか・・・。 C#の画像処理の専門書読んでみますね・・・。
786 :
779 :2011/09/08(木) 20:46:54.43
ちなみに、マクロソフトUWSCの「CHKIMG」関数を実現したかったのですが。
ファイルの方の画像の一番上のスキャンラインを読み込んで キャプチャ画像のピクセルデータと前から順に比較して、 もしすべて一致したらその場所で画像全体と比較すればいいと思う
788 :
デフォルトの名無しさん :2011/09/08(木) 20:52:21.95
>>785 難しくはないよ
キャプチャとって前の物と比較すればいいんだし
問題はすげーパワー食うってことかな
789 :
779 :2011/09/08(木) 20:54:54.19
>>787 そうやるんですね! ありがとうございます!
ところで具体的にどういう関数を使えばいいのでしょうか・・・?
初心者なものですみません。
Bitmap.LockBits 間違ってもGetPixelやSetPixelでやらないように
791 :
779 :2011/09/08(木) 20:56:29.11
>>788 5x5ピクセル程度なら、UWSCではそんなに重くはなかったです。
ただ、画像を大きくし過ぎると重くなったと思います。
792 :
779 :2011/09/08(木) 21:00:54.99
>>790 おおお! 「Bitmap.LockBits 」を使い画像を認識するんですね。
皆さんに感謝です。
まだ分からないことも出てくると思いますので、また質問すると思いますがよろしくお願いします。
>>781 見づらくてすみません private void serialPort1_DataReceivedの中身です
recvData = new byte[1];
serialPort1.Read(recvData, 0, 1);
if (recvData[0] == 0x73)
{this.Invoke((MethodInvoker)delegate(){timer1.Enabled = !timer1.Enabled;});}
else if (recvData[0] == 0x65)
{this.Invoke((MethodInvoker)delegate(){timer1.Enabled = false;});
startTime = new TimeSpan(0, 0, 0, 0, 0);
label1.Text = startTime.ToString();}
795 :
779 :2011/09/09(金) 08:16:38.80
またいくつか質問がありますが、お願いします。 まずC#のファイルについてです。拡張子は「.cs」で、ソースファイルをコンパイルすることで実行するということは分かりました。 今Visual Studioで作っていて、勉強で使う時はプロジェクトのコンソールで作っていたのですが、 自分でプログラムを作るとなるとどれを選択すればいいのでしょうか? 勉強のサンプルはコマンドプロンプトを使っていましたが、 自分のプログラムはコマンドプロンプトを使いません。 それと、C#で使うファイルはひとつでもできるのでしょうか? 例えばWebサイト作成だったらhtmlファイルで本文記述、CSSファイルでレイアウト情報を書くといったようにしますよね。 C#でも最低限どれくらいの種類が必要なのでしょうか? とりあえず自分が試しに作りたいプログラムは、実行させたらまず手動でウィンドウをクリックして、クリックしたウィンドウを 自動で左上に寄せて、キャプチャし続け、あらかじめフォルダに入っている画像が出てきたらシステム音のBeep音を鳴らし続ける、 というものです。 どういう関数が必要なのでしょうか? 質問をまとめますと、 ・Visual Studioでどれを選択すればいいか ・プログラムを作るには、どういう種類のファイルが必要か ・自分のキャプチャするプログラムはどういうコードで実現できるか です。
こんにちは。 VisualStudio2010のC#でアプリを作っています。 気が付いたら、TextBoxやsaveFileDialogなど、文字を入力するあらゆるコントロールで IMEが半角英数固定になっていることに気付きました。 以前は日本語も打てたので、なにか気付かずにやってしまったと思うのですが、見当たりません。 なにか心当たりのある方、おられませんでしょうか?
>>795 1つめはコンソールアプリケーションかな。
マッチングの状況を出力させておけばハッカー気分w
それが不要か、開始ボタンとか必要ならWindowsアプリケーション
2つめは気にする必要がない。必要な操作をすれば必要なファイルが追加される。
3つめはしらん
798 :
779 :2011/09/09(金) 09:28:13.25
>>797 コンソールでも出来るんですね。
WindowsアプリケーションとはWindowsフォームアプリケーションのことでしょうか?
UWSCみたいに開始ボタン使いたいので、これでやってみようと思います。
2つめは意識しなくて大丈夫なのですね。
3番については自分でとりあえずやってみます、まだ全然分かりませんが・・・。
Bitmap.LockBits は使いますね。
できたら見せに来ると思います。ありがとうございました。
オブジェクトをシリアライズするためにSerializable属性をクラスに付けると思うのですが、 あえてSerializable属性を必要とするのはSerializable属性に何かデメリットがあるのでしょうか?
あんまりC#でその点に触れてる情報が無くてなあ(俺がめくらなだけかも) EffectiveJava第2版の第11章「シリアライズ」を読むと参考になる 起こりうる問題はだいたい同じ 例を挙げると ・デシリアライザはコンストラクタを呼ばない ・シリアライズしたデータは改変が可能なので、フィールドをパッキングしたプロパティで値域を制限している場合、不変式を突破される ・シングルトンと相性が悪い
801 :
デフォルトの名無しさん :2011/09/09(金) 13:41:33.01
勉強できるサイト教えて マクロ作りたい
初心者さんはふらっとC#スレに行きましょう ここは自称中級者以上の方が利用するスレです
試しにプログラムを起動するプログラムを作るのに成功しました。 このプログラムをアクティブウィンドウにするプログラムを作るたいです。 「HWND SetActiveWindow(HWND hWnd);」を使用するみたいですが、 エラーが出ます。↓これのどこの部分にどういうふうに入れればいいでしょうか? using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication15 { class Program { static void Main(string[] args) { // 規定のエディタで Bitmap ファイルを開く (関連付け起動) System.Diagnostics.Process.Start(@"C:\○○○\○○○\○○○.exe"); } } }
806 :
デフォルトの名無しさん :2011/09/09(金) 15:48:35.67
教えてくれ。 マルチスレッドのプログラミングだ。 変数がいくつかある。例えばこんな感じ。 int A; int B; ・ ・ int Z; で、スレッド@で定期的にA〜Zの変数の値を更新している。 スレッドAからこれら変数を読みたいのだが、必ずA〜Zまで全部更新された状態で読みたい。 (つまりスレ@が更新処理中に読みに行くのはアウトってこと。) 優先度が高いのはスレ@です。 どうやれば“スマート”と言えるの?
807 :
デフォルトの名無しさん :2011/09/09(金) 16:09:01.10
>>806 俺ならA〜Zを持ってるクラスを作っておいて
@が更新したら、そのクラスをQueueに入れるかな
イベント発生させてAに知らせるかもしれない
A-Zに直接触れるのは更新するメソッドと複製を生成するメソッドだけにして、 読み出すときはA-Zの複製を使うとか
>>805 使おうとしてるのはWindowsAPI、今やってるのは.NET
Processクラスにアクティブウィンドウにするメソッドあったはずだから、
MSDNのメソッド一覧を調べてみたらいいよ
>>809 レスありがとうございます。
MSDNのメソッド一覧見てきますね。
811 :
799 :2011/09/09(金) 16:39:22.78
>>800 なるほど。
つまり、(デ)シリアライズされると正しく動作しないクラスがあるからシリアライズしても
問題ないクラスに対してSerializable属性を付けてシリアライズを「許可」するわけですね。
ということは問題なければ積極的に付けていっていいのかな?
とりあえず納得しました。ありがとうございました。
812 :
デフォルトの名無しさん :2011/09/09(金) 18:06:55.28
>>794 タイマーの起動だけじゃなくタイマーを設置してる
winform?側のコードも含めて全体でくれ
>>812 こうでしょうか?
public partial class Form1 : Form{
TimeSpan startTime = new TimeSpan(0, 0, 0);
TimeSpan addSecond = new TimeSpan(0, 0, 1);
private void timer1_Tick(object sender, EventArgs e)
{ startTime = startTime + addSecond;
label1.Text = startTime.ToString();}
>>812 public Form1(){
InitializeComponent();
serialPort1.PortName = "COM5";
serialPort1.BaudRate = 9600;
serialPort1.Open();
}
private void serialPort1_DataReceived_1(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{}
817 :
764 :2011/09/09(金) 22:19:24.54
>>817 透明なFormをTopMostにしておけば自由に描画できたりしない?
あれ?違う?
819 :
デフォルトの名無しさん :2011/09/09(金) 23:10:18.50
>>818 質問者に質問してどうすんのと思うが、それはともかく
レイヤードウィンドウってピクセルごとに透明度を弄ったりできんでしょ。
透明な(不透明度0の)ウィンドウは、その上に何を何を描こうが透明なんじゃないのか?w
レイヤードウインドウはピクセル単位のアルファ値設定できるぞ、というか設定したデータのアルファ値がそのまま反映される。
>>817 ですが
あれからいろいろやっているけど処理がわからず困っています
まずWindowStyleを"None"にして透明にするとMouseMoveなどの処理を、
ひろわなくなります
Canvasを透明にすると図形もともに透明になります
しかし、半透明だとウィンドウを透過したクリックなどができないので
希望のものになりません。
WPFに詳しい方がいたら教えてください。よろしくお願いします
>>822 グローバルフックか100ms間隔で監視するか
>>822 レスを最初から全部フォローしてないんでずれてるかもしれんが、
ジャギーが許容できるのなら、もうRegionでWindows Formをドーナツ型にしちゃうとか。
それが一番簡単ではある。
826 :
デフォルトの名無しさん :2011/09/10(土) 14:25:41.67
いまさらになるかもしれないがwinformでやり直したほうが楽なんじゃね?
>>815 >>780 です
自己解決出来ました
もう一度コードを見直し、修正したところInvokeの使い方を間違っていたことに気づきました
返信くれた方、いろいろ御迷惑かけてすみませんでした
ありがとうございました
>>822 好きな方を選べ
・人間には判別不能なレベルで透明にする (e.g. Background="#01000000")
・Canvas一杯にRectangleを配置して、全ピクセルを透明化するShaderEffectを適用
>>826 FormsならTransparentとEmptyで挙動が違うんだっけ?
ただ、コントロールが親子関係にないと透過しない糞仕様は何とかして欲しい
829 :
デフォルトの名無しさん :2011/09/10(土) 18:20:59.90
なんでそれをわざわざC#のスレで聞くの?
>>829 字が読めないのか?ESCって書いてあるだろ。キーボードの左上を見てみろよ。
逃避キー
____ // \\ /( ●) (●)\ ねえ、ゆうにいちゃんちょっと聞きたいんだけど /::::::⌒(__人__)⌒::::: \ Windows Server 2008に対して、 | |r┬-| | 外部からSSH(ポート22)で操作することは可能? \ `ー'´ / 外部からはLinuxで操作したいんだけどさ、別にWindowsでも構わないよ。 /` ‐- __ - ‐‐ ´ \ Windowsサーバー側で何かLinuxのような / .l _,,ヽ ___ 〉、 sshdのサービスを立ち上げる方法が知りたくてさ。 | l / ,' 3 `ヽーっ ヒト- _ l ⊃ ⌒_つ おじさん達に聞いてもさっぱりわからないって言われてさ . !__  ̄, ̄ `'ー-┬‐'''''" 「ゆうにいちゃんならパソコンの大先生だから聞いてこい」って。 L  ̄7┘l-─┬┘ ごめんね、こんな初歩的なこと聞いて。 ノ  ̄/ .! ̄ ヽ └‐ '´ ` -┘
>>829 そのページの画面一つぶんぐらい下に#defineの説明があるんだが。
仮になかったとしてもそのぐらい自分で調べられなかったらこの先厳しいと思うぞ
あと、大学のページをこんなところで晒さない方がいい
C言語の大先生なんか掃いて捨てるほど2ch中に溢れてるのになぜC#スレで訊いたwwww
このコピペも速攻でCygwin入れとけって返されるようになったからそろそろ新しいのにリプレースしないと
zsh標準装備にしてくれないかなぁと常々
最強が標準になるとブラウザはOperaで住む所は武蔵小杉になっちゃう
C#にwith構文が採用されるのはいつですか? インスタンスを使いまわす使い方をするとどうしても変数名やらプロパティで名前が長くなる・・・
∞年後です withの代わりに短い名前の変数に代入しておけばいい varを使えば型を気にする必要もないし
1.0の時点で「無くても困らない」って理由で採用されなかったから、よっぽど状況が変わらんと追加は無い
「無くても困らない」のは、後で追加されたほとんどの機能について言えること。 それらは「あった方が便利」だから追加された。 withも無くてもいいけどあった方が便利ではある。 だから追加されないのは、もっと意外と情緒的な理由だと思うよ。
前に話題になってなかった? 複数ステートメントを1行に纏められるし 他の構文と競合して構文解析が難しくなるみたいな
VB出身者は他との協調を無視して安易な糖衣構文を好む傾向があるよな
withステートメントはメソッド内だけで完結する糖衣構文だからラムダやイテレーターブロックとは比べられんでしょ foreachやusingほど設計上の影響もないし var a=XXX; a.Member1(); a.Member2(); a.Member3(); これで十分 不満なら完成後にF2押せ
withが必要なシーンってそもそもあるのかなあ。 オブジェクト初期化子が入ったから、それで欲しいと思うシーンは大分消化出来てるよね。 「インスタンスを使い回す使い方」というのが間違ってる感があるし。
予約語と構文を汚染してまで必要な機能じゃないね
withなんて名前を好き好んで使う奴おらんでしょw 上の方でVB出身者がどうのとか言ってる人がいるけど、そこは否定しないが それを言うならC系言語の世界しか知らない人はその辺病的なんだよな。
VB厨はWithの入れ子をしたがるよね。死ねよ。
with は Pascal の時代からある(もっと前か?)素敵機能で、 だいたいここ何年かで「いらん」って結論出てるだろ。
あまり開発者のセンスを問うような拡張はしないで欲しいw 特にオブジェクト初期化子は使いどころに悩む。
コードが読みにくくなってバグが増えるだけだな var行を消してもコンパイルが通ってしまって、まさかのローカル変数との名前被りとか、 検出困難なバグは勘弁して欲しい
いつまでwithで引っ張るんだよ・・・ これだから自称中級者どもは・・・
そういう自分のセンスの方は疑わないんだ。 組み合わせが爆発するケースを考えれば、コンストラクタ以外の方法が用意されるのは 正しい方向だと思うけど
VB暦の方が長いけど使ったことが無いや
withの入れ子と拡張メソッドが混じったら・・・
>>858 コンパイル速度がC++に近づいていくなww
with with with もう一度 見つめてよ もっと♪ don't Cry!
VBも行末のアンダースコアが省略できるようになったし、 Withを廃止して改行判定の制約を減らした方が幸せになれるんじゃなかろうか
862 :
デフォルトの名無しさん :2011/09/11(日) 21:18:11.27
角度を表記するのに30.0fとあるんですが、これって30度のことですか?
ぃぃぇ。
角度を必要とするメソッドなりプロパティによる。 例えばSystem.Drawing.Graphics.RotateTransformなら一般的な度数法の値だな
865 :
デフォルトの名無しさん :2011/09/11(日) 22:07:50.38
>>863-864 ありがとうございます。
度ということですね。
C#すげーおもしろいです。感動してます。一日目です。
>>865 角度の指定に使う引数を実数で渡してるだけだが。。。
867 :
デフォルトの名無しさん :2011/09/11(日) 23:01:12.11
>>866 ゲームエンジンでキャラクターが動いてるんで感動してます。
Unityでもやってんのかしら
869 :
デフォルトの名無しさん :2011/09/11(日) 23:33:08.40
そうです。
ICOとワンダと巨像のPS3HD版が出ようって時代に ゲームエンジンでキャラが動くことに感動できるオマイが正直羨ましい。 いまどきの子供って目と口先だけは肥えてるからね。 無関心無感動っていうけど、教える側がヘボいんだよな〜 あと、できるコトとやれる範囲のギャップ? はげしいよね
あぁ月曜日か、そろそろ寝ないと起きれないや
>>870 お前ほんとにプログラマーか?
ゲーム機でできるのと自分でできるのとはぜんぜん違うだろ
873 :
デフォルトの名無しさん :2011/09/12(月) 09:57:43.44
自分で動きを設定できるのはプログラミングだけじゃないか。
判ってるふりしたいだけだよ そっとしておいてやれよ
> ICOとワンダと巨像のPS3HD版が出ようって時代 これがどういう時代を表現したかったのかがわからない
未プレイだからICOと言えばGPLの話しか出てこない
877 :
デフォルトの名無しさん :2011/09/13(火) 20:23:39.64
飽食の時代とかそういう「いまどきの若いもんは〜」みたいなアレだろ?
エジプトの壁画に(ry
HPもMPも経験値稼ぎも不要でござい。てゲームは新鮮だったな。
それなんてアドベンチャーゲーム?
確かに、フィールド上にザコキャラ一切ナシのボス戦Onlyは俺好きだな。 ところで、win8用の開発環境ってオマイラ何時くらいから用意するの?
開発環境が発売されてから
SP1が出たら
あれ、VITAの話がない。
MSと提携してSilverlight+XNAっていうんなら面白いけど どうせUnityみたいにMonoベースの独自のやつだろ どうでもいいわ 最近の言語でC系でそこそこ開発者シェアがあってJavaやJSに比べると言語仕様がゲーム向きで 何より訴訟リスクが無いもんな
XElement.Valueで質問 <a> This <b> is <c> a </c> pen </b> . </a> こんなXMLがある時、a.Valueは"This is a pen."になるんだけども これを"This ."として取る方法はない? 要するに子要素を連結しないテキストを取り出したい
今作業中でちょっとうろ覚えなんだが、ItemsだかElementsだかで先頭のXTextを取得すればそこに入ってる
>>888 FirstNodeがXTextの場合にそこに入ってるみたい
どうもありがとう
> 887 a.Value.Replace(a.FirstNode.Value) キャスト必要かも これでは駄目ですか? 他の方法はmsdn眺めないとなんとも
その例ならFirstNode + LastNode。 もう少し複雑な処理ならNodesで列挙して取捨。
C#って将来性あるの?
>>892 ありありだね。
Java使いもVB使いもC#にある程度流れ、コードの品質は
まさに第二のVBの様相を呈しているな。
もう数年したら、保守する奴が怒りまくってるだろうなぁ・・・。
こんにちは。 C#とはちょっとズレるんですけど、アイコン集とかで何かいいのないでしょうか? Officeっぽいのとか言われて困っています。 フリーの素材集はいろいろありますが個人の趣味の範囲の感じなのでなかなか いいのが見つかりません。 もちろん無料でライセンスフリーの望ましいのですが、有料でもいいのでご存じでしたら 教えていただけないでしょうか。統一されたデザインでたくさんあるのが望ましいです。
VS(Express以外)にはMS謹製のアイコン集が付いてる
>>893 10年くらいJavaにするかC++にするか悩んでたけどやっと言語選び完了するわ
897 :
デフォルトの名無しさん :2011/09/16(金) 23:55:30.31
>>895 質問者じゃないけどそれは知らんかった
有料と無料の差って機能以外にもそういうのがあるのか
Expressにも実は一部のアイコンや画像がツールバーやスプラッシュ等のテンプレートの形で 付いてくるんだけど、あのライセンスって曖昧なんだよね
>>895 レスありがとうございます。
VisualStudio2010を持っているので早速探してみました。
見つからないと思ったらzipされているんですね。
このアイコン集はOfficeというよりはWindows寄りな感じです。
自分にはセンスがないですが、これに手を加えていくのもよさそうです。
ListView.TopItem で一番上に表示されているアイテムを取得できますが、 一番下に表示されているアイテムを取得する方法はあるのでしょうか? 具体的には、 if(ListViewが一番下までスクロールされている){ //処理 } ということがやりたいです
902 :
デフォルトの名無しさん :2011/09/17(土) 12:46:10.07
>>901 ListViewって総アイテム数って取得できなかったっけ?
それを使ってインデックス-1としてアクセスすれば最後になりそうな感じ
そういう使い方してないので想像だけど
903 :
デフォルトの名無しさん :2011/09/17(土) 12:50:00.87
>それを使ってインデックス-1としてアクセスすれば それを使って総アイテム数-1をインデックスとしてアクセスすれば
>>902 それだとスクロール状態に関係なく一番最後のアイテムを取得することになると思うのですが、
そのアイテムが表示される位置までスクロールされているか、とか取得できるのでしょうか?
>>904 ああ、ListViewの現在の見えてる範囲での一番下のデータの話か
ライブラリが想定してない変な処理をしようと思ったときは本当にそれが合理的か考えてみるといいよ それでもやりたいならヒットテストでウィンドウの下の項目を探すしかないんじゃね?
まああれかListViewの高さ/アイテムの高さができればTopItemを基準に 調べることはできそうだね
マジで何のために見えてる部分の一番下を選択させたいのかわからない
昔のプログラムを引っ張り出してくると何がやりたかったのか意味不明なことは結構ある
INotifyPropertyChangedを実装する際に かなり大量のコピペコードが発生してしまうのですが、 Cのマクロやスクリプト言語のメソッド追加メソッドのような感じで クラスへのメソッド追加をテンプレート化するほうほうはあるでしょうか。
欄外の指定アイテムをリストの一番上or一番下に表示したいとか
>>911 EnsureVisible()っていう便利メソッドがあってだな
一番下の項目を取る処理の例を挙げただけなのに、俺に言われても…
>>910 そう言うプログラムを書けばいいじゃないか
>>910 VSのテキストテンプレート(いわゆるT4)を使って
partialクラスに自動生成する
>>901 です。
伝わりづらかったようなのでもう少し具体的に書きます。
2chのスレッドを取得して、1レスを1行で表現するListViewに読み込むプログラムを作ってます。
新しいレスが下に追加されると、現状ではそのまま追加されるだけなので
下にスクロールしないと新しいレスが読めません。
そこでオートスクロールを実装しようと考えてます。
ただ、いつも勝手に自動でスクロールされると邪魔になるし、
できれば設定項目を増やしたくなかったので、
「リストが一番下までスクロールされている時に新着が来たら自動スクロール」
という処理がしたかったのです。
そのために、現在のスクロール状態がどうなってるかのアプローチの1つとして、
今一番下に表示されているアイテムを取得できないか質問しました。
もし他の方法でスクロール状態が調べられるならその方法を教えていただけるとありがたいです。
>>916 詳しく調べた訳ではないので適当。
LVM_GETCOUNTPERPAGEを投げれば表示領域あたりの行数が取得できるようだから、
これとTopItemを組み合わせれば最後のアイテムが表示領域にあるか(つまり一番下まで
スクロールしてるかどうか)が判定できるのでは?
>>917 ありがとうございます。
APIは使ったことが無いので、調べてみます。
コピペ君って馬鹿だな、まで読んだ。
>>920 人のあげあしばかりとって最低な奴だな、おまえ
ふーんゴミみたいなコピペは最低じゃないんだ。 これがコピペ脳の恐怖か
ごめん、俺が悪かった
そうだよお前が悪い
いや、悪いのはお前
俺とお前とお前の親が悪い
あ?俺の親悪く言ったら丸すぞ
IDでない板は平和ですね^^;
タンヤオです
メンタンピン
まあじゃあん(←なぜか変換できない)、まで読んだ。
屑面子
ロン! リーチ一発イーシャンテン!
相談です。3連休こそは自習しようと思いつつ、結局nico見てるだけで連休が終わってしまいました どうすればヤル気になりますか?
nicoを見続けるのです そのうちやる気が出てきます 悩むようではまだ見足りないのです
正しい
PCを投げ捨てればいい
>>934 期限決めて軽いペナルティつけるとかしないと駄目なタイプ?
オナ禁とか・・・。
Vista大勝利
いつの話題だよ 大体、.NETが無いC#に何の意味がある
え?
ええ〜?
944 :
デフォルトの名無しさん :2011/09/20(火) 14:07:40.26
>>934 一先ず勉強したい本を一冊と財布だけもって家をでるんだ。
そしたら公園でもいいしカフェでもいいから勉強してみ、
なにをするにも暇をつぶすにも勉強しか選択しがない。
まじお勧め、あとクソガキが沸くマクドは避けたほうがいい。
携帯電話は持ち歩くなよ。
「毎日、韓国ドラマばかり。見れば見るほど寒くなる」台湾行政トップが批判=韓国で大きな話題―台湾
2011年9月14日、台湾行政院の呉敦義(ウー・ドゥンイー)院長は、「毎日、放映されるのは韓国ドラマばかり。
見れば見るほど『寒』くなる」と発言。韓国メディアは日本に続き、台湾にも「嫌韓流」が盛り上がるのではないかと懸念している。
17日、シンガポール華字紙・聯合早報が伝えた。
14日、呉院長は来年に控えたテレビのデジタル化について発言した。その中で「現在のテレビ番組は品質が悪い。
毎日韓流ドラマばかりで見れば見るほど「寒」くなる(韓と寒は似た発音でかけことばとなっている)、
一部の番組は何度も再放送を繰り返して気持ち悪くなるほどだ」と発言した。
韓流ドラマを批判したというよりも、台湾テレビ局の独自番組制作能力の低さを嘆く発言だったが、
韓国メディアは「台湾の韓流批判」として大々的に報道。
嫌韓デモに象徴される日本の「嫌韓流」が台湾にも広がるのではないかとの懸念が韓国に広がっている。
http://headlines.yahoo.co.jp/hl?a=20110918-00000010-rcdc-cn
946 :
デフォルトの名無しさん :2011/09/20(火) 17:34:35.15
国家ブランド委員会が結局はブランドを低下させて終わるという韓国クオリティ
コピペ君って馬鹿だな、まで読んだ。
君って馬鹿だな、まで読んだ。 だな、まで読んだ。 んだ。
君は実にばかだな
もうちょっとC#っぽく
こういうソース見たんだけど、C#ではありなの? private void hoge() { ClassHoge hoge = new ClassHoge(); return hoge; } C的な考えだと、hogeはスタックに存在するからそれを返しても使えなさそう なんだけど。
ごめん関数の方がvoidじゃだめだね。 private ClassHoge hoge() { ClassHoge hoge = new ClassHoge(); return hoge; }
>>954-955 大丈夫。
基本的にクラスの型で作ったものは宣言した瞬間にヒープに取られるので問題ない。
参照切れたらGCに回収されるからdisposeが必要なもの以外は後始末も特にない。
なるほど、勉強になります。
変数 ClassHoge hoge はスタックに作られるけど、 オブジェクト new ClassHoge() はヒープに作られて、 変数は ClassHoge hoge はヒープにあるオブジェクトの 実体を参照してるだけ、ってことでおk?
ClassHoge*の*が省略されてると思えばC++と一緒
わかってないのに無理して物を言わない方が....
参照型も値型もヒープに取られるんじゃないっけ? ポインタだけスタックだとポインタのポインタを返したときに壊れるんじゃ
基本的なことは本読んだっきり現象として観察できないから忘れる一方だな
>>962 値型はスタック。
参照型の中に入れ子になってる値型とかと勘違いしてない?
返り値が参照返しが前提なのが間違ってる
c#に参照返しはない。参照型だろうと値型だろうと常に値返し。
参照型の場合は参照の値(ポインタのようなもの)がコピーされる。つまり
>>960 。
ダメなのはスタックへの参照を返すことであって、
>>955 は仮にスタックに取られるとしても値返しならcでもc#でも問題ないぞ
はぁ?
参照返しとか値返しって新鮮な響きですね
Hoge getHoge() { Hoge hoge; initHoge(&hoge); return hoge; } これはCでも別に問題ないだろ? C#ではHogeが構造体の場合に相当。 ダメなのはこれ Hoge* getHoge() { Hoge hoge; initHoge(&hoge); return &hoge; } これを無理やりC#っぽく書けばこんなイメージ ref Hoge getHoge() { Hoge hoge = new Hoge(); return ref hoge; }
戻り値にref書けるのか?
無知が無理に語らなくていいよ無駄だから
w
彼の言う参照返しが出来る言語って存在するのか?
refとoutって違うのん?
C++
.NETでもC++/CLIはClassHoge^%(C#のref ClassHoge)とか返せるな 普通にある
スタックかヒープかは言語仕様で決まってる? それとも単なる今の実装の話?
>>978 スコープの関係とかでどっちに置いてあるかという
傾向はあるよね
ローカル変数はそれ自体は参照型だろうと値型だろうと全部スタック 参照型をnewしたら実体はヒープ ただしyieldやクロージャ使うとローカル変数がヒープに作られる場合がある それだけ。言語仕様。
次スレよろ
>>976 refって使うなら、呼び出し元が確保したエリアじゃないと意味変わってくるだろ
983 :
980 :2011/09/22(木) 21:02:06.25
ほんなら立てるからテンプレよろしくな
うめ
まだ早い
TCPListnerをつかってチャットアプリ作りたいんですが、 やっぱり同時に接続受け付けるのは難しいんですか? Socketクラスを使って非同期通信をするのが定番みたいだけど、 難しいとかでちょっと手を付けにくい
難しいの基準がどこにあるかわからないから答えようがない。 それをC++でやるとかよりははるかに簡単だけども。
マルチスレッドのことを言っているなら、 クリティカルセクションと、 WindowsのUI要素はUIスレッドからしか使えないことだけ注意すればそれほど難しくない
とりあえず難しいか難しくないかの話をしてる間は雲を掴むようなもんだ
うめ
996 :
デフォルトの名無しさん :2011/09/23(金) 21:01:40.49
// /: : : : : : : : : : : : : : : : \ / l /: : : : : ∧: : : : : : : ∧: : : : : \ / | / : : ―|/- 、\ : : : /_,,.斗: : : : : : :. 《__ |/: : : : : /,x:=ミ、 \/x=ミ、ハ: : : : : : :| ` ー. : : : : : : 〃んィi んィi Y|: : : : ∧| ヽl: : : : : : 从弋:り 弋:り 从: : :/ |:V{\;/:| , ハ|V |: :\|: : | "" ""}:| /´ ̄`\ : |: :|: : | ー〜 ノ: :| ヽ|: : ,: : :≧ .. __ . イ|: : :. }: :∧: : :. {: : /: : :| '、: : \ キ >_;∧: : :. V____|_\: : :\ ノ !⌒ヾ|: : :|_ /::::::(__)::\\: : :ヽ コ |ハ :|: : :|/(__)::::::::::::::(_\: : : | ! | || |: :/::::::::::::::::::::::(__)::::::::/^ヽ: | ノ || |「{/⌒つ⌒ヽ:::::::::::::::::::{ /}:|
産め
うめ
うめ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。