トップページ⇒tech
1001コメント346KB

C♯相談室 Part20

レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん♯NGNG

(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。


過去スレは>>2-5あたり。


関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
0002名無しさん♯NGNG
過去スレ
Part19 http://pc5.2ch.net/test/read.cgi/tech/1100240847/
Part18 http://pc5.2ch.net/test/read.cgi/tech/1096112588/ (現在HTML化待ち)
Part17 http://pc5.2ch.net/test/read.cgi/tech/1091284402/ (現在HTML化待ち)
Part16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/ (現在HTML化待ち)
Part15 http://pc5.2ch.net/test/read.cgi/tech/1083066815/ (現在HTML化待ち)
Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/ (現在HTML化待ち)
Part13 http://pc2.2ch.net/test/read.cgi/tech/1071663456/ (ログ行方不明)
Part12 http://pc5.2ch.net/tech/kako/1066/10660/1066038651.html
Part11 http://pc5.2ch.net/tech/kako/1061/10612/1061262958.html
Part10 http://pc5.2ch.net/tech/kako/1051/10518/1051842450.html
Part9 http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/1032488831.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/1027531796.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/1022257078.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html
Part4 http://pc.2ch.net/tech/kako/1016/10165/1016597767.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html
0003デフォルトの名無しさんNGNG
※シェアウェア厨の相談はお断りです。

有料のソフトを作ろうと思っている香具師はそれなりの努力をしろ。
0004デフォルトの名無しさんNGNG
※死者プ厨の相談はお断りです。
0005デフォルトの名無しさんNGNG
>>1
Z
0006デフォルトの名無しさんNGNG
>>1
乙.NET
0007デフォルトの名無しさんNGNG
.NEET乙
0008デフォルトの名無しさんNGNG
>>3
別にシェアでもフリーでもいいんじゃない?
教えてあげて、その報酬がないのが気に入らないわけでもないんだし。
必要なのはどれだけ独創的な発送をしたかであって、
それを実現する手段なんて、ただでくれてやらぁ
0009デフォルトの名無しさんNGNG
>>8
ずいぶん太っ腹だなあ。まあ俺も、プロジェクト開発に携わっている以上、
ここで質問してしまったら、シェアウェア厨と何ら変わりないから、自分が
プログラマである事を隠して質問してる。
00108NGNG
職業としてる人が、ここで質問するのは
ちょっとなぁって気もするけど、ここの住民様たち
経験豊富だしレスもちょっぱやだし、やさしいからYO!
0011デフォルトの名無しさんNGNG
>>10 == >>8 == 前スレの既知概かい?
0012デフォルトの名無しさんNGNG
http://www.atmarkit.co.jp/fwin2k/win2ktips/246checkvdnfw/checkvdnfw.html
NetFramewark1.1SP1をインストールしました。
mscorrc.dllのファイルバージョンが、1.1.4322.2032であることを
確認しました。
しかし乍、VC#の方ではヘルプ→バジョン情報で
NetFramewark1.0.***となっていて、
新しく追加した機能を利用することができません。
どなたか、解決策をご存知ないですか?
0013デフォルトの名無しさんNGNG
>>8
フリー=世のためになる
シェア=作った人のためになる
全然違う、以上。
0014デフォルトの名無しさんNGNG
>>12
VS.NET2002/VC#.NET2002では.NETの対象バージョンは1.0のみ。
.NET1.1を使いたいなら2003を使う。
0015デフォルトの名無しさんNGNG
>>12
VC# 2003を買う。
001612NGNG
うひゃ、まじですか?
そりゃ、致命的ですね!!
2005のECがよさげなんで、
さっそくアマゾってみようかな。
0017V-V-VNGNG
おねがいします

VS.NET 2003なんですが

http://support.microsoft.com/default.aspx?scid=kb;ja;317109

この問題に直面してます。
ここに書いてる通りにしようと思ったのですが、
一点だけわからないことがあります。

VBの
o = Nothing
に相当するC#のコードってなんでしょうか?
とにかくデストラクタ発動したらうまくいくのでしょうか。
0018デフォルトの名無しさんNGNG
>>17
null
0019デフォルトの名無しさんNGNG
ぬるぽ
0020V-V-VNGNG
ありがとうございます

実は
o = null;
でうまくいかなかったもので・・・
原因は別にありそうですね。
002118NGNG
僕も同じような問題で悩んでいます。
wDocとかwSelectionを利用しているのですが、
ワードをmyApplicationよりも先に終了したときに、
終了した事実をどう取得するか、という問題に取組んでいます。
ご存知でしたら、教えてNE!

ちなみに、GetType()で返り血を浴びてnullかどうか判定するという
意見もあったけど、GetType()がもともとなかったんだYO
0022デフォルトの名無しさんNGNG
Windows.Forms の DateTimePicker で、2004 と押したら、月の位置に
キャレットを自動的に移動する事はできませんか?

標準だと 2004 とタイプして カーソルの右を押して、12 を入力して
カーソルの右を押して…、とわざわざカーソルで年月日の項目へ
移動しないといけません。

これを、4, 2, 2 の入力で自動的に年月日の欄へ移動させたいのですが…。

何か方法があれば教えてください。
0023デフォルトの名無しさんNGNG
IPアドレス入力テキストボックスみたいにしたいのかな?
DateTimePickerのメンマをチェキラ
0024デフォルトの名無しさんNGNG
DataSet DatatableをDatagridのSourceとmemberに設定しているものです。
DataGridに表示されているデータを手軽に印刷する
方法で、PrtSc以外の方法はありませんか?
0025デフォルトの名無しさんNGNG
前すれまだ残ってるのに何でこっちに来てるんじゃ?
仕様?
0026デフォルトの名無しさんNGNG
ADO.Netで便乗質問です。
SQL文でFindとか書くよりも、DataSetの中の1テーブルを、
DataViewに入れて、FindとかSortする方が激しく楽なんですが、
この方法だと、テーブル全部がローカルのメモリに展開されている
ことになるんですよね?

レコードが数万件とかなる場合には、使っちゃ駄目なんですよね。
そのあたりの境って何か具体的な指標があるんでしょうか?
作ってみたら、重くて、駄目だこりゃ、っていう判断しかないんでしょうか?
0027デフォルトの名無しさんNGNG
レコードが数万件ならやめとけ
002822NGNG
>>23
そうです。そういう感じです。

メンマをチェキラってみましたが(笑)
できそうなメンバを見つけられませんでした。

お手数ですが、御存知でしたらもう少しヒントを頂けると
助かります。

よろしくお願いします
002923NGNG
VisualC# 2003買おうかと思ったけど、
高くて高くて・・・。
仕方ないので、SDKでがんばって、GetAdaptorInfoります。
0030デフォルトの名無しさんNGNG
dBASE IV用のADO.NETプロバイダは無いのですかね?
0031デフォルトの名無しさんNGNG
あるよ。
インストールし忘れたんだろ。
0032デフォルトの名無しさんNGNG
AというHashtableに設定されたキーと値をそのまま、
BというHashtableに追加したいんですが
Aの内容をグルグル回して追加していくしかないのでしょうか
0033デフォルトの名無しさんNGNG
クローンを作るんでないなら、そうだろうね。
0034デフォルトの名無しさんNGNG
>>31
申し訳ないですがプロバイダ名を教えてもらっていいですかね
振るインストールしたはずなんだけど、、
0035デフォルトの名無しさんNGNG
>>34
いつの情報か分からないけど
>http://primates.ximian.com/~atsushi/mono-jp/ado-net.html
>プロバイダが欲しいが、まだ無いデータベースもあります。現在、こういったデータベースは ODBC もしくは OLE DB プロバイダを通してサポートされています。
0036デフォルトの名無しさんNGNG
>>35
ole dbじゃまともに動かんのですよ
thx
0037デフォルトの名無しさんNGNG
>>36
ここ読んで見れ
http://homepage1.nifty.com/MADIA/vb/vb_bbs/200303_03030004.html
0038デフォルトの名無しさんNGNG
>>37
ありがとうそこも読んだ事ある
書き方が悪かったですねdBASE専用のプロバイダが無いかなと質問したところでした
0039デフォルトの名無しさんNGNG
以前、CGIへデータをPOSTするコーディングについて
質問した者です。またお世話になります。
CGIへPOSTするデータ
key1=value1&key2=value2&key3=value3・・・
という文字列になるのですが、key2に設定する値がない場合は
key1=value1&key2=&key3=value3・・・
になるのでしょうか
key1=value1&key3=value3・・・
になるのでしょうか。
CGIの仕様に基づいて決まるものなのでしょうか。
0040デフォルトの名無しさんNGNG
>>39
シェアウェア厨氏ね。
0041デフォルトの名無しさんNGNG
>39
C# に関係ない。スレ違い。Webprog板にでも池
0042sageNGNG
VS2003である日突然デバッグ不能になりました。
C#アプリでもASP.NETでも両方です。
Exceptionが発生したり、ブレイクポイントにくると、
デバッグ中のアプリもVS2003も応答無しになり、
アプリ強制終了で、VS2003が復帰(ソースの位置を特定できません)
になってしまいます。
同様の現象 みたことあります?
0043デフォルトの名無しさんNGNG
おもいっきりageちゃった。
なんか、X Button Maker切ったら少し進んだ。
どうもデリゲートあたりらしい。
すまんかった。
0044デフォルトの名無しさんNGNG
デリケートなデリゲート
0045デフォルトの名無しさんNGNG
( ´д)ヒソ(´д`)ヒソ(д` )ヒソ
0046フナ太郎NGNG
>>44
とってもプリティーなプロパティ
0047デフォルトの名無しさんNGNG
スルーしてやるのが大人の配慮ってもんだ。
0048デフォルトの名無しさんNGNG
おまえらもっと自分に素直になれよ
0049デフォルトの名無しさんNGNG
44はまだしも46はdmp
005023NGNG
>>39
ここでPost系の質問しない方がいいよ
前のPart19
で僕がここの方々を怒らせていまったんだ。
なんでウェアウェアをお手伝いしてるのに、報酬がないんだ、と。
まったくもって、貧乏の集いだよな。
0051デフォルトの名無しさんNGNG
今年はクマーがよく出没する一年でした。
0052デフォルトの名無しさんNGNG
>>50
シェアウェア厨は氏ね。
0053デフォルトの名無しさんNGNG
ウェアウェア ワロタ
0054デフォルトの名無しさんNGNG
>有料のソフトを作ろうと思っている香具師はそれなりの努力をしろ。
(( ;゚Д゚)))エ・・・エエー!! 聞いたらダメですか・・・
0055デフォルトの名無しさんNGNG
ここにいるのはみな趣味グラマなのか?
0056デフォルトの名無しさんNGNG
荒らすなボケ。シェアウェアで怒られるようなら、気付かれないように聞け。それくらいの心使いはあってもいいと思う。
0057デフォルトの名無しさんNGNG
そういう問題なのか?
内容がwebprog板だろって事だろ
0058デフォルトの名無しさんNGNG
だからなんでシェアを毛嫌いしてんだボケ。
個人でやってりゃシェアで、会社を興せばプロダクトか?
0059デフォルトの名無しさんNGNG
アンチスパイウェアだったはずが、いつの間にか
アンチシェアウェアに話がすり替わっている。
何故だ。
006023NGNG
スパイウェア作るのがよく批判されるけど、
スパイ機能(とでもいうのでしょうか)でも搭載しなけりゃ
いつ海賊されるかと不安になるのわかる人手を上げて!!。

というか、こういうシェアウェアに関する話題のすれって
どこに行けばあるんですか?マ板にもなかったYO。

>>56
正論。反省します。

>>55
趣味グラマですが、仕事に直結した趣味グラムだけ。
006123NGNG
ところで、39みたいな
POST機能(?)を使うに際して
FW等で警告を受けることはあるのですか?
「不正なアクセスが発生しました。下記のプログラムを終了します」とか。
0062デフォルトの名無しさんNGNG
http://sleipnir.pos.to/software/pbse/images/ss.png

.NETで上のようにOfficeチックな2色のFrom.BackColorにするにはどうしたらいいのでしょう?
0063デフォルトの名無しさんNGNG
>>60
ソフトウェア板にある。しかし、そこも"糞"シェアウェア呼ばわりされているがな。
要するに、情報はタダで得て、自分は金儲けの道具に使うってのを前に出すと
あまりにも虫のよすぎる話なのですぐ嫌われるから、有料のソフトを作ってるっ
て事を隠して質問しろ、って話。
006423NGNG
>>63
サンクスコ
0065デフォルトの名無しさんNGNG
普通有料のソフトつくる奴が質問なんぞしない
そんな奴がつくったソフトなんぞ誰も買わないし買ってもトラブルになるだけ。

訴訟されたときの覚悟はおあり?
0066デフォルトの名無しさんNGNG
ウイルスソフトばっかり作ってんじゃねーぞ。
0067デフォルトの名無しさんNGNG
> 訴訟されたときの覚悟はおあり?
余計なお世話。
0068デフォルトの名無しさんNGNG
誰もあんたのくさいソフトなんか海賊しないってのwwwwwwwwwww
0069デフォルトの名無しさんNGNG
C#で海賊対策なんぞ無理

そういうこともわからないようじゃ

100000000000000000000000000000000000000000000年ったっても

地面にはイツ配った乞食になるしかない

どうせシェアウェアつくろうとかしてるのは無職ニート童貞って相場が決まってる
0070デフォルトの名無しさんNGNG
    人     
   (__)  &⌒)                 l|l
   (__)  \ \              ii |’, |
  (  ・∀) / /      _- ― = ̄   `|
  /    ⌒ /  , -'' ̄  = __―||―lilノ
  ヽ,_ヽ    ヽ/~""  _-―  ̄                 /
     ヽ,,      __,,, -             ∧ ∧―= ̄ `ヽ/,, _
      ヽ    /               (   〈__ > ゛ 、_―
      ヽ   /              .'∴.' <.'∴'(/ , ´ノ
       |   |               ・,‘ /// / /
        |   |                .'∴/ / ,'   ↑
         |   |                /  /|  |   >>23
          |   |               !、_/ /   )
           |   |                   |_/
0071デフォルトの名無しさんNGNG
                O
      _O       ・’
       ノ\/・’ヽ∵. >>23
        │ _ノ ヽ
            〉
0072デフォルトの名無しさんNGNG
結局、誰かのせいで仕事でC#をやっている人間がここで質問しづらくなったってことだな。
0073デフォルトの名無しさんNGNG
有料のソフトつくる奴の質問はお断り
0074デフォルトの名無しさんNGNG
今まで微妙な均衡が保たれてたのにどっかの馬鹿のせいで一気に崩れたな
0075デフォルトの名無しさんNGNG
まあ、崩れた均衡はもう一度取り返せばいいわけで。
シェアウェア作者は別に来てもいいと思うが、>>23には来ないで欲しい。
0076デフォルトの名無しさんNGNG
>>62
ttp://ukamen.hp.infoseek.co.jp/Programming1/GDI/LinearBrush.gif
0077デフォルトの名無しさんNGNG
あの既知概まだいたのか
0078デフォルトの名無しさんNGNG
VB.NETだと、windows scriptのnetworkDriveでネットワークドライブの割り当てができるようなのですがC#でそれをする方法はないでしょうか。
0079デフォルトの名無しさんNGNG
WSHはよー知らんが、VBでその部分作ってC#でよべばよかろ
0080デフォルトの名無しさんNGNG
金なくてC#しかないんです…orz
0081デフォルトの名無しさんNGNG
IDEなんて無くてもその程度のコードくらい書けるさ。

まあ、何が何でもC#でというならこの辺で。
ttp://dobon.net/vb/dotnet/vb2cs/createobject.html
008223NGNG
>>72
仕事であることを隠せ、by 56

>>65
何の根拠もない支離滅裂な発言はやめましょう。

ところで、いかなる問題が発生しても訴訟を起こすことが
できないように利用規約に予め明文化しておけば
いい、ってことはないですかね。
シェアウェアだろうと基本的に放置するので、そこんとこ大事。
008323NGNG
またスレ違ιヽな発言をしてしまった。
ごめん、82はなかったことで。
すみあせん。
0084デフォルトの名無しさんNGNG
>>74
まぁまぁ。
>>75
ごもっとも。
0085デフォルトの名無しさんNGNG
職業プログラマは質問に答えるだけにしましょう
0086デフォルトの名無しさんNGNG
>>85
そうですね。
趣味グラマがシェアウェア作るのに質問したとしても
バンバン惜しみなく教えてあげましょう。
うちらは、趣味グラマの何倍もの給与もらってホクホクですから!!
というか、出し惜しみするような知識なんて私にはありませんが・・・。
0087デフォルトの名無しさんNGNG
>>82
ほう。そんな糞シェアウェアは当然使わない罠。金は取るだけ取って、
後はユーザーからのクレームは一切無視か。そんなばかな。それは
詐欺ウェアですよ。

多分、明文化したとしても、訴えられたらあんた負けると思うよ。
008882NGNG
>>87
ユーザーから不具合報告あったら、
バージョンアップ時についでに修正する予定です。
あ、もちろんバージョンアップ時にしかりお金をいただきますが。
それでユーザーが離れていっても別にかまわないし、
どうすればユーザーが増えるかってことを議論するのは場にふさわしくないので
■■■■糸夏   了■■■■
0089デフォルトの名無しさんNGNG
http://www5.cao.go.jp/2000/c/0512c-keiyakuhou.html
0090デフォルトの名無しさんNGNG
>>87
そのへんどうなのよ。
製造物だとPL法などもあるけど、さいしょからこの商品は壊れやすいものですがとか不十分でそれによる損害をおいませんとか書いてあっても責任生じるのか?
明文化していても自己責任にならんのか?
0091デフォルトの名無しさんNGNG
>>87
>多分、明文化したとしても、訴えられたらあんた負けると思うよ。

利用規約に、損害に対する責務を負わない旨を記載すれば、
相応の訴訟を起こされても、対抗できます。
利用規約に同意の場合にのみ利用するものとすると、
購入前に事前に通達しておけばいいことですから。

よって、不具合起こっても基本的に放置可。
すれ違いですみません。
0092デフォルトの名無しさんNGNG
消費者契約法によってその条項は無効になる
009382NGNG
>>90
消費者契約法第8条1項1号があやしいな。
0094デフォルトの名無しさんNGNG
>>91
あまりにも消費者の利益をないがしろにした利用規約は、不利な物的証拠
になりますよ。

>>88
勝手に終了してんじゃねーよ。ま、中の利用規約を読んで、そのような内容
だったら、あんたが作った物だと思うことにするよ。そして「あー、ダウンロード
して時間を損したな」と思うから。
0095デフォルトの名無しさんNGNG
市販ソフトの規約すら読んだ事無いんだろ
普通どの規約にも損害おきてもシラネーヨなんてことくらいは書いてある
0096デフォルトの名無しさんNGNG
消費者契約法は無制限に保護することを可能とするものじゃないだろ。
前述の条項は十分に適当なものだと思うけど。
0097デフォルトの名無しさんNGNG
>>95
しかし市販ソフトの大半は、マイナーバージョンアップはタダだし、
しかもオンラインバージョンアップで手軽にできるし、ユーザーが
利益を享受できるように考えられている。

M$は悪の巣窟のように言われているけど、実際、どれぐらい多量の
WindowsUpdateで対応している?あの姿勢があるからこそばんばん
売れるんじゃないか?
0098デフォルトの名無しさんNGNG
ものによっては交通、科学技術、医療などの分野で使うことはお勧めしないなんて
文を混ぜてる規約もあるしな
009982=91NGNG
>>94
どのソフトも、それによって生じたいかなる損害も
負わない旨が利用規約にかかれてますが、いかが?
だいたいWindowsXPだって不具合だらけで
よくPC凍るけど、それにともなって
未保存のワード文書が消失したからといって、
Microsoftを相手に訴訟を起こして勝てるとでも
思っているのかね。
つまりは、フリーだろうとシェアだろうとプロだろうと、
それにより生じた損害は自分で負うのだよ。
ではなく事業者が負うソフトがあるならば、
紹介してくれ。
そのソフト使って不具合を発生させて、
そのときたまたま大切な文書を書いていたことにして
訴訟を起こしてがっぽりもうけてみるから。
0100デフォルトの名無しさんNGNG
またあらぬ方向に話をそらそうとする奴が
0101デフォルトの名無しさんNGNG
相手にする奴が悪い
010282=91NGNG
ちなみに私は
「このソフトは完全な動作を保障するものでありません。
したがって、利用前にはすべての記録媒体のバックアップを・・・」
と明文化するつもりです。これなら、いくら未保存のファイルが
あったとしても、ソフトの不具合が発生する直前の状態が正常ならば、
私に責任はありませんから、そしてどのソフトの規約にもそのような
ことがかかれてあります。
0103デフォルトの名無しさんNGNG
世の中には全部免責を謳ったパッケージやシェアウェアが結構あるが、
消費者契約法上無効になり、94の言う様に逆に不利になる恐れがある。

製品の瑕疵などによる損害賠償額は消費者が事業者(個人も含む)に支払った額を限度とする
と言う感じの契約にするのが無難。

ATOKの使用許諾契約書が法律的にCSR的に良く出来たものという評判がある。
0104デフォルトの名無しさんNGNG
>>99
不具合だらけでも使わざるを得ないから使ってるんだろ。
使う必要のない、しかも滅多にバグを直さない糞シェアウェアなんて
誰が金払ってまで使うかよ。

↓次で「別に文句のある香具師は使わなくていいよ」と言ってくれ。それで終結する。
0105デフォルトの名無しさんNGNG
だから、世の中に溢れてる全部免責の契約は無効なんだって
そういうソフトはあらを見つけて訴えると嬉しいことになるかもよ
0106デフォルトの名無しさんNGNG
別にマンコのある香具師は使わなくていいよ
010782=91NGNG
別に文句のある香具師は使わなくていいよ
糞なのは自分がよくわかってる。

で、使わざるを得ないソフトを当然目指している。
というかもうできているが、公開する準備ができていない。
当然高額。サポート掲示板もあり、放置するわけがない。
よりよい製品を目指して、日々精進するのみ。
ちょっと煽りすぎてごめん。
0108デフォルトの名無しさんNGNG
無効にならねーよ
同意した人だけが使えて言ってるんだから使用してる時点で使用許諾の内容認めてるだろうが
0109デフォルトの名無しさんNGNG
そう思うならそうしろ
0110デフォルトの名無しさんNGNG
>>108
消費者契約法の第一条を100回読む事をお勧めする。
0111デフォルトの名無しさんNGNG
消費者契約法
http://www5.cao.go.jp/2000/c/0512c-keiyakuhou.html
011282=91NGNG
82=91 :04/12/17 13:26:58
別に文句のある香具師は使わなくていいよ

だから、すれ浪費するのもうヤメレ
0113デフォルトの名無しさんNGNG
>>112
自分で火を付けておいて何を戯言を言ってるのやら┐(´∀`)┌ヤレヤレ
0114デフォルトの名無しさんNGNG

     |  i"ヽ/"i
     |  ヽ ハ ノ   別に文句のある香具師は使わなくていいよ
     |   ('A`)ノシ
    / ̄ ノ( ヘヘ ̄

0115デフォルトの名無しさんNGNG
>>110
おまえこそ1000回読め
011682NGNG
もうヤメレ。
これ以上、本題から外れたことGackt、削除依頼だすよ
0117デフォルトの名無しさんNGNG
>>115
君のような香具師は、実際に訴訟起こされて見るまで絶対自分だけは
安全だと思いこんでるんだろうな。
011882NGNG
いい加減、もうヤメレ
0119デフォルトの名無しさんNGNG
>>82と、>>108>>115はどうも同一人物のような希ガス。
012082NGNG
>>119
どう思おうが勝ってだが、
僕はこのスレが好きなので、少しでも早く事態が収束することを
願い、また自分が場の雰囲気を乱してしまったことを反省しています。
ただそれだけで、それ以上でもそれ以下でもありません。

ソフトの利用許諾等に関してはソ板にあるので、
そちらへどうぞ。
0121デフォルトの名無しさんNGNG
     ヘ( `Д)ノ 別に文句のある香具師は使わなくていーよーっ!
   ≡ ( ┐ノ     
  :。;  /
012282NGNG
別に文句のある香具師は僕の糞ソフト使わなくていいよ

だから、浪費はもういいよな、なっ!
0123デフォルトの名無しさんNGNG
てか、前スレ埋まってないから前スレでやれ。
012478NGNG
>>81
THX

ぬお。このサイトに関連記事が書いてあるっぽいです。
http://www.codeproject.com/csharp/mapnetdrive.asp
0125デフォルトの名無しさんNGNG
そういえば、「超図解C#ルールブック」って本、読んだ?全然立ち読みでいいけど。
俺のソースは間違いだらけだったよ・・・orz

まぁ、俺は、一人でプログラムしているだけだから
それほど気にしなくてもいいかもしれないけどな。
0126デフォルトの名無しさんNGNG
超 とかついてる時点でアレな気はするな
amazonで表紙だけでも見てみるか
0127デフォルトの名無しさんNGNG
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpgenref/html/cpconparameternamingguidelines.asp
0128デフォルトの名無しさんNGNG
画像の形式(png→jpg)を変換するには
どうしたらよいでしょうか
0129デフォルトの名無しさんNGNG
Image.FromFile(string)してImage.Save(string, ImageFormat)すればいいんじゃないかな。
0130デフォルトの名無しさんNGNG
ImageFormatに「jpg」が出てこないのですが
0131デフォルトの名無しさんNGNG
確かにjpgは無いな。「jpg」は。
013282NGNG
>>130
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemdrawingimagingimageformatmemberstopic.asp
パブリックプロパチ
Jpeg JPEG (Joint Photographic Experts Group) イメージ形式を取得します。
ImageFormat.Jpeg
0133デフォルトの名無しさんNGNG
マジレスしていいのかわからないけど・・・・
82って無職だよね。

昼から幼稚園なみの能書きをタラタラ。

お母さん泣いてるよ
0134デフォルトの名無しさんNGNG
>>133
多分無職ニートだろ。ここまで世間知らずの厚顔無恥な書き込みは、まともな社会人なら
おいそれと出来るものではない。
0135デフォルトの名無しさんNGNG
〃〃∩  _, ,_
 ⊂⌒( `Д´) <別に文句のある香具師は使わなくていーよーっ!
   `ヽ_つ ⊂ノ
0136デフォルトの名無しさんNGNG
蒸し返すなら前スレでやれ。
013782NGNG
無職だからこそ、出会いソフトで一発金銭を狙っているわけでして、はい。
ニートってなに? API?
0138デフォルトの名無しさんNGNG
http://www.sodateage.net/mainpage/NEET/Top.htm
0139デフォルトの名無しさんNGNG
だめな奴がなにをやってもダメ
おとなしく自殺しろ
0140デフォルトの名無しさんNGNG
>>137
100%売れないから。氏ね。
014182NGNG
東大理2の学生ですが何か。プゲラ
0142デフォルトの名無しさんNGNG
あら〜今度はついに嘘つきですか・・・・可愛そうな人だ。ニート風情が。
014382NGNG
もううそってばれたのか・・・●rz...
014482NGNG
15秒しかたってないのに・・・
0145デフォルトの名無しさんNGNG
this._dtable.RemotingFormat = System.Data.SerializationFormat.Xml;
RemotingFormatがC#2005で認識されません・・・。

SerializationFormatも。
ComponentResourceManagerも。

2002から2005にバージョンアップしたばかりです。
お願いします。エロ異ひと。
0146デフォルトの名無しさんNGNG
>>120
>僕はこのスレが好きなので、少しでも早く事態が収束することを
>願い、また自分が場の雰囲気を乱してしまったことを反省しています。

じゃあ消えてください。さあ、今すぐに。
0147デフォルトの名無しさんNGNG
>>146
IPを抜き取りました。
今から、あなたの家へおやつを持って伺います。
0148デフォルトの名無しさんNGNG
.NET FrameWorkにはSQLサーバーを経由しないで
簡易データベースを作れるクラスはあるのでしょうか?


UNIXのBerkleyDBみたいな奴がほしいんですが
0149デフォルトの名無しさんNGNG
>>147
マジレスすると、ム板の人間にそういう原始人みたいな脅しが通用すると思うか?

1.まずどうやって2chに記録されているホスト/IPを開示してもらったのか?
2.百歩譲って1.が出来たとして、次にそのIPから、どうやって書き込み者の
  住所を特定できたのか?プロバイダが情報を開示するのは、警察や司法の
  要請があった時だけだぞ。

最後に一言。氏ね。
0150デフォルトの名無しさんNGNG
マジレスしてる時点で死んでいいよ(^^
0151デフォルトの名無しさんNGNG
>>150
なぜわざわざ「氏ね」という漢字を使っているのかも知らないのか。
お前、心底馬鹿だと思うよ。
0152デフォルトの名無しさんNGNG
sage厨同士仲良くしろよ。
0153デフォルトの名無しさんNGNG
(・∀・)ニヤニヤ
0154デフォルトの名無しさんNGNG
>>151
嗚呼わたくしにはあなた様の高尚な意図が全く理解出来ませぬ
どうかご解説くださいませ
0155デフォルトの名無しさんNGNG
アッヒャッヒャ!ヽ(゚∀゚)ノ
0156デフォルトの名無しさんNGNG
>>154
そんな事くらい自分で調べろハゲ
0157デフォルトの名無しさんNGNG
おお、マジレスしてしまった自分を悔いているのですか
悔い改めなさい、さすれば救われるでしょう
0158デフォルトの名無しさんNGNG
お前ら最高に面白い
0159147NGNG
>>149
そんなに混じれ酢したいのか?
0160146NGNG
>>159
いつまで待たせんだよ。
0161デフォルトの名無しさんNGNG
>148
なにがしたいのかようわからんが、
System.DataのDataSetを使ってXMLで管理すればいいだけじゃないか?
あのクラス群はデータベースにアクセスするためだけのクラスじゃないのだから。
速度とか効率とかはしらんけど
0162161NGNG
ほかには、適当にクラスを作ってそれをコレクションクラスで管理して、
それをシリアライズすれば、オブジェクトデータベースっぽいものができるっぽ。

まぁ、入出力管理等々は自分でやらないといけないし、
メモリー上に作るから、プログラムが落ちたらデータも飛ぶけどな。
0163デフォルトの名無しさんNGNG
>>161
空気読め
0164デフォルトの名無しさんNGNG
Visual Studio 2005 の発売っていつなんでしょう?
今 Visual Studio 2003 (C#) で開発しているのですが
Visual Studio 2005 が出たら、Visual Studio 2003 で開発したソースは
そのままリビルドして使えるのでしょうか?

御存知の方、教えてください。
0165デフォルトの名無しさんNGNG
>>164
2005年の第三四半期辺りらしい。

基本的にそのままリビルド可能なはず。
ベータを今までいじった範囲で書き直しが必要な部分は特になかったと思う。
ただ、一部Obsoleteになった機能があるから警告が出るけど。(コンパイル・実行はできる)
代表的なのだとXmlValidatinReaderとか。


Orcaはいつ頃になるかね……。
0166デフォルトの名無しさんNGNG
>>148
COMでよければ、ADOX.CatalogでMDBファイル(Accessデータベース)を作れるよ。
0167147NGNG
>>164
確かプログラム板に2005のスレッドあったよ。
2005の体験版が紹介されてるから、
インストールしてみるといいよ。
ちなみに、僕は2002のソースそのまま移行したら、
ComponentManagementなんとかっていうのが
エラーとしてひっかかってた。
だから無条件に移行できるわけではないような気がしたが
詳細はわからない。2005のスレッドで
質問してみるのがよい。
0168デフォルトの名無しさんNGNG
フォームをMDIのコンテナにして、
子フォームがMDIの外にでそうになると出るスクロールバーを
表示させないようにするには、どのようにすればいいのでしょうか?
AutoScroll = falseで解決できないのですね...
0169デフォルトの名無しさんNGNG
"ff"という文字列を
ffというbyte型に変換したいのですが・・・
どうすればいいのですか?
byte.ParseとかConvert.ToByteでできません・・・。
0170169NGNG
自己レスすまんが、解決した。
_pass[i] = byte.Parse(form.str.Substring(i * 2, 2), System.Globalization.NumberStyles.HexNumber);
http://www.32key.com/cs/cs/cs001.htm#cs001
0171デフォルトの名無しさんNGNG
アホな質問で申し訳ないんですが
たまに見かける
>>170さんみたいに変数の前に_をつけてるのってどういう意味なんですか?
_passの_です。
コーディング規約かなんかですか?
0172デフォルトの名無しさんNGNG
Convert.ToByte(string, int)ってマイナーなのかな……。
0173デフォルトの名無しさんNGNG
>>169
だからさーそんぐらい自分で書けよ・・・探す能力も重要だけど、書ける能力もっと大事だと思うぞ。
0174デフォルトの名無しさんNGNG
>>171
誰でもがそうなのかは不明ですけども、
クラスのprivateフィールドとpublicプロパティを同じ名前にするときに
時々アンダーバーで始まる名前を付けることがありますね。

private string _name;
public string Name { ... }

のような具合。
0175デフォルトの名無しさんNGNG
>>173
それはそれで正論だが、例えば>172を知っていれば2進数の時や8進数の時に改めて書く必要はなくなるし、
逆方向の変換も同様の手段が執れるだろうと容易に思いつけるわけで。
0176デフォルトの名無しさんNGNG
PAINT.NET 2.0 が出てたので
ソースコード読んで勉強してみます。
0177デフォルトの名無しさんNGNG
>>171
頭文字に_(あんだば)つけると、
インテリセンス(だっけ?)が表示されたときに
候補の最上部に自作フィルドが集中して表示されるわけでして、はい。
もしくは、自作フィルドが一見してすぐ見分けつく。
0178デフォルトの名無しさんNGNG
// private System.Windows.Forms.DataGrid _g;
// private System.Windows.Forms.DataGridTableStyle _gtablestyle;
// private System.Windows.Forms.DataGridTextBoxColumn _gcolumn1;
// private System.Windows.Forms.DataGridTextBoxColumn _gcolumn2;

private Word.Application _wApp;
private Word._Document _wDoc;
private Word.Selection _wSel;
private object oMissing;
0179171NGNG
他と分けて見やすくする。
他のかぶるのを避けるためなんですね。

ありがとうございました。

個人の素人趣味グラマーには関係ないってことで…
0180デフォルトの名無しさんNGNG
いや違うだろ。
0181デフォルトの名無しさんNGNG
コメントの付け方について相談です。

private int hogehoge; // ほげほげ
とコメントをつけるとインテリセンスなどで表示しないので、本来なら

/// <summary>
/// ほげほげ
/// </summary>
private int hogehoge;

とつけるべきかと思いますが、このようにコメントをつけると行数がかさみ
1画面に表示できる内容が減ってしまいす。同様に
private enum Hogehoge
{
/// <summary>
/// ほげほげ1
/// </summary>
Hoge1,

/// <summary>
/// ほげほげ1
/// </summary>
Hoge2

とコメントをつけるのが本来なのかもしれませんが、
private enum Hogehoge
{
Hoge1, // ほげほげ1
Hoge2 // ほげほげ2

のほが(慣れもあってか)見易いです。みなさんは、コメントはどのようにつけてますか?
0182デフォルトの名無しさんNGNG
コメントは貴方の心の中にそっと留めましょう
0183デフォルトの名無しさんNGNG
間を取って
///<summary>Comment</summary>
enum Hoge {...}

パラメータを含む場合はsummaryも開始タグ・内容・終了タグの三段に分ける。
0184デフォルトの名無しさんNGNG
C#あぷりのなかでマクロとしてスクリプトエンジン動かしたいんですが関連クラスなどご存知ですか?
0185デフォルトの名無しさんNGNG
CodeDom?
0186デフォルトの名無しさんNGNG
ActiveScript使えないの?
0187デフォルトの名無しさんNGNG
>>185
んーやはしそこらへんですよね。マダ調べたりないんですけど、デバッグ環境とか難しそうで・・・まぁそこまで作りこむことないのかな・・・
0188デフォルトの名無しさんNGNG
ActiveScriptはなんかちがうっぽい・・・
0189デフォルトの名無しさんNGNG
http://www.cnblogs.com/vibration/archive/2004/06/14/15504.html
0190デフォルトの名無しさんNGNG
読めん
0191デフォルトの名無しさんNGNG
Stream から Stream へ内容の一部を直接、複写するメソッドはないんでしょうか。
わざわざ byte[] を介在させるのが鬱陶しいのです。
0192デフォルトの名無しさんNGNG
Stream.Clone(int start, int end, System.Stream.FormatStyle);
0193デフォルトの名無しさんNGNG
>>149
痛すぎw
0194デフォルトの名無しさんNGNG
すいません。質問です。
GraphicsオブジェクトからImageオブジェクトを作成することは可能ですか?
可能ならどうすればいいか教えてください。
0195デフォルトの名無しさんNGNG
無理。
0196デフォルトの名無しさんNGNG
>>195
そうですか。
いや、PictureBoxからCreateGraphicsでGraphicsを作成した後、
DrawRectangleで四角形を書いてもすぐ消えてしまうので、
どうしたものかと思ったもので。
0197最凶VB厨房NGNG
>>196
ダブルバッファリング
0198最凶VB厨房NGNG
public class Form1:System.Windows.Forms.Form
{
//generated code...
private Bitmap bmp
public void hoge()
{
Graphics g=Graphics.ImageFrom(bmp);
g.DrawRectangle(new Pen(new SolidBrush(Color.hoge),0,0,3,3);
pictureBox1.Invalidate();
}
public void pictureBox1_Paint(object sender , PaintEventArgs e)
{
if(bmp==null)return;
Graphics g=pictureBox1.CreateGraphics();
g.DrawImage(bmp,0,0,pictureBox1.Height,pictureBox.1Width);
}
適当にコンパイルも通さず書いてみた。
ぬるり大量発生の予感。
0199デフォルトの名無しさんNGNG
まずはGraphicsをDisposeしろ。
話はそれからだ。
0200最凶VB厨房NGNG
確かにwよく忘れる。
SolidBrushも8Fとか二つ目にいるなぁ。。。
指摘されて思い出したが
e.Graphics.DrawImageの方がよかったねぇ。

>199ども
0201デフォルトの名無しさんNGNG
>>198
ありがとうございます!
0202デフォルトの名無しさんNGNG
Graphicsはよく言われるけど、PenとかBrushとかFontとかってあんまりDisposeって言われないよね。
この辺も使い終わったらすぐDisposeすべきもののはずなんだが。
0203最凶VB厨房NGNG
なるほど。。。
hoge()の中身をusing{}で囲むといい感じになるかな?

publicもprivateの方がbetterか。
あとはかっこはちゃんと対にしないとだめだめですなw
0204デフォルトの名無しさんNGNG
Java の LinkedList みたいなクラスってないの?
0205デフォルトの名無しさんNGNG
using(Graphics g = Graphics.ImageFrom(bmp))
{
using(Pen pen = new Pen(new SolidBrush(Color.Black), 0f))
{
using(Font font = new Font(FontFamily.hoge 〜〜〜))
{
// 面倒な上に読みにく杉
// using使う時のスコープの深さは一個ぐらいがいいと思うがどうよ?
}
}
}
0206デフォルトの名無しさんNGNG
>>204
2.0でジェネリック型として追加される。

>>205
個人的には、Graphics以外で使う範囲が大きいのはusingを使わずにDisposeするかな。
異なる型もまとめて宣言できれば楽なんだけどね……。
0207デフォルトの名無しさんNGNG
タスクバーもどきを造ろうと思うんですが

他のウィンドウが上にかさならないようにするには
TopMost = true;をする以外に
どんな処理が必要でしょうか?
0208最凶VB厨房NGNG
異なる型もってIDisposableが無い型でもってこと?

oo○(using一発使ってみようかと思ったら意外に使いにくいなぁ。)
0209デフォルトの名無しさんNGNG
using(
  Graphics g = Graphics.ImageFrom(bmp),
Pen pen = new Pen(new SolidBrush(Color.Black),
Font font = new Font(FontFamily.hoge 〜〜〜)){

   // 面倒な上に読みにく杉
   // using使う時のスコープの深さは一個ぐらいがいいと思うがどうよ?
   処理・・・
   
}
こんなかきかたしてぇ・・・
0210デフォルトの名無しさんNGNG
>>207
それで何か不都合が出てから質問すれば?

>>209
コンマでつなぐのは美しくないので、セミコロンで。
0211最凶VB厨房NGNG
private void hoge
{
auto Graphics g=Graphics.ImageFrom(bmp);
}
↓
自動でDispose呼ばれる

[AllDipose]
private void hoge
{
Graphics g=〜〜;
}
{}内で生成されたIDisposable型インスタンスは全部
Dispose呼んでくれる・・・。
こんなんどうだ?w
0212デフォルトの名無しさんNGNG
DataGridViewに関して
包括的に学習したいのですが、
お勧めきぼうぬ。
0213デフォルトの名無しさんNGNG
>>210
でるんだよカス

他のウィンドウ制御しないといかんだろうが
痴呆は病院にかえれよ
0214デフォルトの名無しさんNGNG
(・∀・)ニヤニヤ
0215デフォルトの名無しさんNGNG
ある関数内で、Exceptionが発生した場合、3回までリトライ処理を行います。
2回目、処理が正常に行えた場合でも、Exceptionに飛びます。
どうすれば回避できますか?
※正常に行えた場合は、そのまま終わりたい。
----------------------------------------
private string syori()
{
---処理---
return "成功"
}
catch( WebException webex )
{
// リトライ処理を行う
RetryCnt++;
if( RetryCnt < 3 )
{
syori();
}
throw (Exception)webex;
}
0216デフォルトの名無しさんNGNG
>>215
コードの流れを見れば明らかだと思うが……。

>  catch( WebException webex )
>  {
>  // リトライ処理を行う
>  RetryCnt++;
>  if( RetryCnt < 3 )
>  {
>  syori();
>  }
>  throw (Exception)webex;
>  }

一度catchして、if節でsyori()を行う。
成功したらreturnで呼び出したsyoriの次から実行する。
syoriの次になんて書いてるか分かるね?

ところでわざわざExceptionにキャストする意味はどこにもないんだが。
0217デフォルトの名無しさんNGNG
ありがとうございます。
Exception内で呼び出した関数の中で、returnが呼び出されていても
そこで終わらずに、Exception内の次のステップが実行されるとは
知りませんでした・・。
0218217NGNG
何度もすいません。
リトライ実行時以外(3回以上失敗)、Exceptionを返したいのですが
下記コードだと「値を返さないパスがあります」と怒られます。
どうコーディングすれば宜しいでしょうか。
------------------------------------------
catch( Exception ex )
{
// リトライ処理を行う
RetryCnt++;
if( RetryCnt < 3 )
{
this.UploadFile( prm_strUrl, prm_strCmd, prm_intNo, prm_strUserId, prm_strUploadFile, prm_strReName );
}
else
{
throw ex;
}
}
0219デフォルトの名無しさんNGNG
だからコードの流れを追えよ。
返値が必要なのに返されてないんだろ?
0220デフォルトの名無しさんNGNG
>>209
using(Graphics g = Graphics.ImageFrom(bmp))
using(Pen pen = new Pen(new SolidBrush(Color.Black))
using(Font font = new Font(FontFamily.hoge 〜〜〜)) {
  // 一応これで見かけ上の深さは一個だが…
  // 処理・・・
}

これでどうよ。もっとも見かけ上の深さが1個になっただけで
内容的には深さ増えてるんだけど。
逆にそのおかげ(?)でDisposeが呼ばれる順番が
内側から(上記だとFont, Pen, Graphics)になることが保証される。
まー、いちいちusing, usingって書かなきゃならんのは確かに面倒だがな…
0221デフォルトの名無しさんNGNG
>>217
this.UploadFileが成功しても3回同じ事しそうだが

一部分だけじゃなく周辺コード全部みせた方が的確なアドバイスもらえるぞ、きっと
0222デフォルトの名無しさんNGNG
>>220
そだね、いいかんじ。最近コードかいてなかったので当たり前のことにきづかなかたーよ。感謝。

>>217
自分ならこうする。
void? syori(){}

bool syoriWithBoolRet(){
 bool ret=true;
 try{
syori();
}
catch(){
ret=false;
}
return ret;
}

? AMethod(){
bool result=false;
long count=0;
while(result==false&&count<3){
result=syoriWithBoolRet();
}
if(count>=3){
  throw Exception();
}
}
0223デフォルトの名無しさんNGNG
>>222
そのコードじゃ呼出元で例外の特定ができないから好ましくない。
boolの代わりにExceptionを返すようにして、成功ならnullを返すとか。
//可読性は落ちてしまうが。
0224デフォルトの名無しさんNGNG
>>217
漏れなら単にこうするぞ。

RetryCnt=3;
while (RetryCnt > 0)
{
 try
 {
  syori();
  return;
 }
 catch (Exception e)
 {
  if (--RetryCnt == 0)
   throw(e);
 }
}
0225217NGNG
皆さん、沢山のアドバイス、ありがとうございます。
泣きそうなくらい嬉しいです。
下記に修正しました。
---------------------------------
private void Syori( string prm_strData )
{
return "成功";
}
catch( Exception ex )
{
// リトライ処理を行う
RetryCnt++;
if( RetryCnt < 3 )
{
return this.Syori( prm_strData );
}
else
{
throw ex;
}
}
0226デフォルトの名無しさんNGNG
Syori()が例外をスローするんと違うの?

>>224のコードが自然だと思うが
0227デフォルトの名無しさんNGNG
Windows.Forms.TextBox にて、フォーカスを取得した時に
SelectAll() すると入力されている文字列が全て選択されてるのですが、
これをクリックの時に行なうにはどうしたらよいのでしょうか?

クリックの時といっても、初回クリック時は全選択で、2回目移行は
クリックした位置にキャレットを移動したいのですが、
1回目のクリック、2回目のクリックである事を自分で実装しないといけないの
でしょうか?

0228デフォルトの名無しさんNGNG
switch文で複数の条件を使いたいときはどのようにすればよいでしょう?

switch(flg) {
case 0:
case 1:
//処理
break;
case 0:
case 2:
//処理
break;
case 3:
// 処理
break;
}

みたいに 0 の時は 1 でも 2 でも処理したい、という感じです。
どうかよろしくお願いします。
0229デフォルトの名無しさんNGNG
goto
0230212○rz...(放置プレイ)NGNG
>>224
どうでもいいことですよ。
どうでもいいことですけど、
あえて指摘させて頂きます。

while (RetryCnt > 0)
if (--RetryCnt == 0)

これって、重複してません?

>>228
private bool _case2Func(object something)
{
____//the same process shown in the range of case 2
____something = something + (string)anything;
}
を追加し、

switch(flag){
____case 0:
_________case0Func();
_________case1Func();
_________case2Func();
________break;
____case 1:
________(以下同様)これどうよう?
}

0231212○rz...(放置プレイ)NGNG
とまぁ、アンダーバーでコードを見やすくしてみたんですけど、
どうですか?
usingの投稿を見て、思いつきました。
0232212○rz...(放置プレイ)NGNG
と、調子に乗ってみるものの、
224さん、それどうやったの?

ちょっと逝ってきます ○rz.. =3
0233デフォルトの名無しさんNGNG
&nbsp;
0234212○rz...(放置プレイ)NGNG
  テストしてみました。
  スペース2
    同4

↑あ、ほんとだ!! うまくイッタ!! (と、予めうまくいってみるテスト)
0235デフォルトの名無しさんNGNG
>>230
例外をスローする、しないの判断は君ならどうする
0236デフォルトの名無しさんNGNG
Windows Forms です。

KeyDown と KeyPress の使いわけは何か意味があるのでしょうか?

KeyDown は全てのキーのイベントが発生するので、あえて KeyPress を
使う意図がわかりません。

このあたりの使いわけに関してアドバイスを頂けるとうれしいです。
よろしくお願いします。
0237デフォルトの名無しさんNGNG
どのキーが押されたかを知りたいならKeyUp/Down
どの文字が入力されたかを知りたいならKeyPress
各イベントを表示する簡単なプログラムを作れば実感できるよ。
0238デフォルトの名無しさんNGNG
DataGrid(ASP.NET)で編集モードでの入力値を取得するのに

 ((TextBox)(e.Item.Cells[1].Controls[0])).Text

のようにしてるのですが、なぜか入力した値ではなく編集前の
値が取得されてしまいます。
ちょっと訳が判りません。教えていただけると有難いです。
0239デフォルトの名無しさんNGNG
画像のサイズチェックを、↓のように書くと
同じファイルを見ているのに、微妙に値が変わっています。
もっと正確なサイズを取得出来る方法ってありますか?

fileinfo = new FileInfo( filepath );
size = fileinfo.Length;
0240239NGNG
自分で書いてて、意味が分らなかったので、訂正します。
↑のようにコーディングして、2回同じファイルのサイズを取得してみたら
サイズが1回目と2回目で異なっています。
なぜでしょうか。
0241デフォルトの名無しさんNGNG
再現しない。
0242デフォルトの名無しさんNGNG
コントロールのイベントで、他の DLL に存在する関数を呼ぶ事は
できますか?

例えば、

public void KeyPress_Common(object sender, KeyPressEventArgs e)
{
// 処理を記述
}

と書いてあるクラスを用意して、

別のフォームのコントロールの KeyPress イベントで、
KeyPress_Common を呼びたいのですが…。
0243デフォルトの名無しさんNGNG
一体オブジェクト指向というものを(ry

そのメソッドがstaticなら呼べる。
他のDLLとか自アセンブリ内とかは参照設定してる限り関係ない。
0244デフォルトの名無しさんNGNG
DataGridView
http://msdn2.microsoft.com/library/8bbkky19.aspx
これって、めっちゃ便利じゃないですか?
codeprojectとかにも、DataGridで再現してるのあるけど、
一発な予感・・・
0245212NGNG
http://msdn2.microsoft.com/library/d9z93601.aspx
事故レスすまそ。
ここみて、勉強します。
is subject to change...仕方ない。
0246デフォルトの名無しさんNGNG
DataGridViewなんかまだましな方さ。
RaftingContainer周りなんか英語ですらまともに情報がない。
0247デフォルトの名無しさんNGNG
画像のリサイズ(圧縮)は、どうすればよいのでしょうか
0248デフォルトの名無しさんNGNG
リサイズと圧縮はまた意味が変わってくるがね。

Bitmapの全てのメンバをチェックしてみたらどう?
特に一番最初のとか。
0249デフォルトの名無しさんNGNG
クライアント端末で入力したキー値を
サーバ端末のアプリに送ろうとしています。

で、以下の様に実現しようとしています。

1:
クライアント端末でキャッチしたKeyDownイベントの
KeyEventArgs.KeyCodeプロパティ値(Form.Keys型)を
サーバに転送する。

2:
サーバに転送されたキー値をSendKeys.Send(string keys)で
のアプリに流す。

3:
キーが入力されてから、それをサーバに流す過程の何処かで、
[Form.Keys]→[SendKeys.Sendのパラメータ文字列]の変換を行う。

3番の変換部分で面倒なコンバータを書かねばならず
ちょっといやな感じなのですが、
何か別の効率的な方法ありませんか?
0250デフォルトの名無しさんNGNG
Win32APIのkeybd_event/SendInputを使うとか。
0251前スレ989NGNG
移行してたことに気づかず、前スレに投稿してしまいました。

アプリケーション上のListViewからドラッグしたListViewItemを
デスクトップやエクスプローラで表示されているフォルダにドロップした際に、
ドロップ先フォルダのパスを取得する方法を知りたいのです。

よろしくお願いします。
0252デフォルトの名無しさんNGNG
HttpWebRequestつかっているんですが、
指定したURLが404だったり500だったりした場合、
StatusCode調べれば済むんですが、
鯖落ちなどでタイムアウトになった場合、何処で調べられますか?
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
して res.って入力してインテリセンスの候補探してみたけど見当たらないです
0253デフォルトの名無しさんNGNG
WebException.Statusではないかね。
0254デフォルトの名無しさんNGNG
ごくごく簡単なことなのですが、RichTextBoxで
文字列に下線つけるのは簡単ですが、これを波線(VCの怒られたときの
エラー表示)に近いものを表示する方法はないですよね?
なければ下線であきらめます。
0255デフォルトの名無しさんNGNG
ないね
0256デフォルトの名無しさんNGNG
Rtfプロパティは{get; set;}なので直接Rtfをいじるという手はある。
Rtfの書式とかはしらん。
0257デフォルトの名無しさんNGNG
ネットワーク上にあるファイルのサイズを知るにはどうしたらよいのでしょうか?
VC++を使っていたときはInternetSetFilePointerのFILE_ENDを見ればよかったのですが・・・

C#での方法をご存知なら教えてくださいませ
0258デフォルトの名無しさんNGNG
ガ━━ΣΣ(゚Д゚;)━━ン
新スレが出来てたのか!!

ここってC++マネージ拡張も質問していいのかなぁ?

System::UInt32 uint32 = 100;
System::Object* obj = uint32;

これをやると
'unsigned int' から 'System::Object __gc *' に変換できません。
って出てうまくいきません。なんか方法があるのでしょうか?

C#でいう感じを書きたい
uint a = 100;
object obj = a;
0259257NGNG
自己解決できますた。スレ汚しスマソ
WebResponse.ContentLength を使うのね
0260デフォルトの名無しさんNGNG
>>258
スレ違いだが __box(uint32);
0261デフォルトの名無しさんNGNG
>>260
有難うございます。
すごい助かりました(・∀・ )
0262デフォルトの名無しさんNGNG
DateTime な 2つの変数の経過分数を求めるにはどのように
したらよいのでしょう?方法を教えてください。よろしくお願いします。
0263デフォルトの名無しさんNGNG
まずDateTime同士を引き算して、その型を調べてみろ。
0264デフォルトの名無しさんNGNG

static char *myname = {"NAMAE"};

void main(void)
{
char *copyto, *copyfrom; /**/
copyfrom=myname;
copyto=(char*)0x00210000;
while(*copyfrom)
{
*copyto=*copyfrom;
copyto++;
copyfrom++;
}
}

一文ずつの動作説明の宿題なんです。助けて!

0265デフォルトの名無しさんNGNG

static char *myname = {"NAMAE"};
void main(void)
{
char *copyto, *copyfrom; /**/
copyfrom=myname;
copyto=(char*)0x00210000;
while(*copyfrom)
{
*copyto=*copyfrom;
copyto++;
copyfrom++;
}
}
一文ずつの動作説明の宿題なんです。助けて!
0266デフォルトの名無しさんNGNG
>>265
いやだ
0267デフォルトの名無しさんNGNG
static char *myname = {"NAMAE"}; //
void main(void) // main の定義
{ // main 開始
char *copyto, *copyfrom; // copyto, copyfrom を char 型のポインタ変数として宣言
copyfrom=myname; // copyfrom に myname を代入
copyto=(char*)0x00210000; // copyto に 0x00210000 を char* 型として代入
while(*copyfrom) // *copyfrom が真の間繰り返し
{ // while 開始
*copyto=*copyfrom; // *copyfrom を *copyto へ代入
copyto++; // copyto インクリメント
copyfrom++; // copyfrom インクリメント
} // while 終了
} // main 終了

2重投稿きーつけてなー

それから、C/C++ 系の質問は、次回からは

さゆがC/C++の宿題を片付けるの 36代目
http://pc5.2ch.net/test/read.cgi/tech/1102753497/l50

で聞くように
0268デフォルトの名無しさんNGNG
あれ。ここってC/C++のスレだっけ。
と思った一瞬。
0269212○rz...(放置プレイ)NGNG
あれ。なんでC#の宿題でないんだっけ。
と思った一瞬。
0270デフォルトの名無しさんNGNG
クリスマスプレゼントください。
Aつうクラスのスタートボタンを押すとBつうクラスで、とあるフォルダの中のファイルの
作成を監視します。
BつうクラスからAに出来たよーって通知したいんだけどデリゲートとイベントを使って
通知すればいいくらいの理解しかなく・・・。
スケルトンください。
0271デフォルトの名無しさんNGNG
C#でMSSQL Serverのデータベースをバックアップする方法ってありますか?
0272デフォルトの名無しさんNGNG
>>270
class B {
    public event EventHandler Completed;
}

んで B から通知を受けたい奴は

b1.Completed += new EventHandler(b1_Completed);

でメソッド登録しる
B が通知を配布したい場合には

Completed(this, null);

を実行しる

っていうかまずぐぐれ
0273デフォルトの名無しさんNGNG
>>272
サンタさんありがとう。
ぐぐります・・・。
0274クリスマスプレゼントに彼女くださいNGNG
>>270
>BつうクラスからAに出来たよーって通知したいんだけどデリゲートとイベントを使って

デリゲートとイベント使えばいいと思うのだが、何か問題があるの?
スレッド使ってるなら他にもいろいろと気をつかうことあるよ。
0275デフォルトの名無しさんNGNG
>>274
使えばいいくらいの認識しかない奴は、そんなところにまで気を回せるわけがないと思われ
0276デフォルトの名無しさんNGNG
イベントでビギンインボーク見たいのはできんのか?
0277デフォルトの名無しさんNGNG
>>276
以下のような感じでかけるんじゃない?

event ClickDelegate Click;
override OnClick()
{ // fire Click event
 foreach( Delegate d in Click.GetInvocationList()) {
  Control c = d.Target as Control;
  if (c != null && c.InvokeRequired)
   c.Invoke(d);
  else
   d();
 }
}
非同期で良ければ、BeginInvoke/EndInvokeの方がデッドロックの心配が少なくて好きだけど。
0278デフォルトの名無しさんNGNG
>>270
>>272の人に付け足させてもらうと、
FileSystemWatcherの何らかのイベントハンドラで
Completed(this,null)を呼び出せばいいんじゃないかと。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemiofilesystemwatcherclasstopic.asp
0279デフォルトの名無しさんNGNG
DataGridView で、ColumnをSortしたら、
CellのContentのNumberが以下のようにSetされてると
うまくいかないよ

1,2,3,4,5,6,7,8,9,10
↓
1,10,2,3,4,5,6,7,8,9

一応、ColumnのDefaultCellStyleでCellのContentを
全般から数値に変更してあるだけど・・・
0280デフォルトの名無しさんNGNG
DataGridViewってC#2.0だったっけ?
よくわからんけど string としてソートされているのか。
ListViewでもやるように自分でソートを定義すればいいんじゃないの
0281デフォルトの名無しさんNGNG
>>280
そこんとこ、もう少し詳しくお願いします(・人・)
0282デフォルトの名無しさんNGNG
VS2003でTabPageの派生クラス作って、デザイナの表示をすると
出来損ないのデザイナみたいなものが表示されるけど、なにこれ?

で、デザイナ上でコントロール配置したら、生成されるコードも中途半端なんだけど。
InitializeComponent()は呼ばれないし、Controls.Add()もしないし、
自分で書けってこと?
0283281NGNG
http://66.102.7.104/search?q=cache:qxlpo-75o0gJ:dobon.net/vb/dotnet/control/lvitemsort.html+ListView%E3%80%80Sort+%E6%95%B0%E5%AD%97&hl=ja&lr=lang_ja
一寸の兆しが

サンクスコ
0284281NGNG
http://msdn2.microsoft.com/library/wstxtkxs.aspx
これでつか
0285デフォルトの名無しさんNGNG
>>282
どうしてもWindowsフォームデザイナを使いたければユーザーコントロールを作って

public class UserControl1 : UserControl
{
    // 略
}
public class MyTabPage1 : TabPage
{
    public UserControl1 userControl1;

    public MyTabPage1()
    {
        userControl1 = new UserControl1();
        userControl1.Dock = DockStyle.Fill;
        this.Controls.Add(userControl1);
    }
}
0286282NGNG
>>285
サンクス。TabPageの代わりに普通にユーザーコントロール作って
できたコントロールをTabPageに貼り付けるんですね。

それにしても、あの出来損ないのフォームデザイナはなんなんだ。
0287281NGNG
DataGridViewで単に数字順に並べたいだけなのに
IComparerインタフェースを使わなきゃならないんですか・・・
0288281NGNG
http://blogs.users.gr.jp/naka/archive/2004/12/12/6577.aspx
はぁ、ちょっとかわったわけね・・・
0289デフォルトの名無しさんNGNG
有識者の方々、ちょいと御知恵おかしくださいまし

WinXP純正のペイントで直線を選択してドラッグした際の線の処理ってどうやって実現してるんでしょう?

線を引いた画像にDrawImageを使って元画像を貼り付けることによって線を消してたんですが
ペイントのそれと比較するとCPU使用率が比べ物にならんくらい重いんです
BitBlt使っても結果変わらんみたいなんでなんか小技が有るんでしょうか...
0290デフォルトの名無しさんNGNG
>>289さん
ControlPaint.
で反転矩形とか反転直線が引けますよ。

で、質問なのですが、asp.netで
DataSet.Tables[0]に日付でソートされていないランダムなデータがあるんですが
これをソートしてXMLに書き出す(Dataset.WriteXML())するにはどうしたらいいんでしょうか?

DataViewを使えば何とかなりそうな気がするんですが使い方がわかりません…
0291289NGNG
>>290
返答ありがとうございます

すみません、289では書いてませんでしたが変転させずに実現したいんです。
んでDrawImageとか使ったんですが重いなっと...

もうちっと調べてみます

0292デフォルトの名無しさんNGNG
>>290
データベースから引っ張ってくる時にソートする。



DataTable.Clone、DataTable.Select(string, string)、DataTable.ImportRow
辺りかなぁ。
0293デフォルトの名無しさんNGNG
>>278
サンタさんありがとう。
0294288NGNG
DataView dv = getData();
DataTable dt = new DataTable();
dt = dv.Table.Clone();
this.dataSet2.Tables.Add(dt);
dataSet2.WriteXML()
でいけました。
ソートはgetDataでやってます。
ありがとうございました。
0295288NGNG
ぐはっ 別のファイル見てた…
>>294
のコードだとdtに何にも入って無かったです…
0296デフォルトの名無しさんNGNG
ただ今UDPで非同期通信を行っております(受信)。
開始と終了がボタンイベントで行うようにしております。

開始時に、Socket.BeginReceiveFromメソッドをスレッドでまわして使用して、
コールバックにIAsyncResultとしてソケットを渡してます。
しかし、終了時にThread.AbortとSocket.Closeを行うと、
コールバックに入ってしまい、Socket.EndReceiveFromメソッドで、
ソケットが破棄されているためアクセスできないと怒られます。

終了時の処理はどのように行えばよろしいのでしょうか?
ご教授お願いします。
0297デフォルトの名無しさんNGNG
メソッド呼び出しでオブジェクト引数のときにNULL渡す方法がわからんです・・・
0298デフォルトの名無しさんNGNG
おまいの質問がわからん。
0299デフォルトの名無しさんNGNG
null渡すと変換で金と文句言われます。・・・
0300デフォルトの名無しさんNGNG
P/Invoke(DllImport)の話と見たが、関数定義ぐらい書け。
0301最凶VB厨房NGNG
>>296
よくわからんが、
Socket.Shutdownは?
>コールバックにIAsyncResultとしてソケットを渡してます。
IAsyncResult.AsyncStateにソケット入れてるということか?
Socket.EndReceiveFromする時に例外処理すればいいんでないかい?
まっよくわからん
0302デフォルトの名無しさんNGNG
hogehoge = fuga();
sum1 += hogehoge;
sum2 += hogehoge;

これを
sum1 += sum2 += fuga();

のようにかけないんでしょうか?
0303デフォルトの名無しさんNGNG
>>296
Closeした後はエラーになって構わないと思う。catchしておけばOK。
ただし、Thread.Abort なんてものを呼び出すコードは殆どの場合設計ミスなので、そっちを気にするべき。
そもそもBeginReceiveFrom使うならスレッドはいらない。
0304デフォルトの名無しさんNGNG
>>302
a += b += c; は、a = a + (b = b + c); と等価ですので、
意味が違ってしまいます。
0305デフォルトの名無しさんNGNG
それだとsum1の値がおかしくなっちゃうな。
sum1 = sum1 + (sum2 + hogehoge);
fuga()に作用がなく同じ値を返すことが保証されない限りhogehogeは使ったほうが自然。
不自然でよければこんなかんじか。-sum2を前に持ってくるのがポイント
sum1 += -sum2 + (sum2 += fuga());
0306デフォルトの名無しさんNGNG
へー
0307デフォルトの名無しさんNGNG
>>305
C# って加算演算子の左右の評価順序(結合順序じゃなくて)が定義されてたっけ?
0308デフォルトの名無しさんNGNG
優先順位が同じなら左から。
a +  b + c == (a + b) + c
0309デフォルトの名無しさんNGNG
>>307
MSDNの言語仕様の項(7.2, 7.2.1)には次の記述がありますね。
>代入演算子を除くすべての二項演算子の結合規則は左から右です。
.NETですから処理系依存になりそうなことをすれば、執拗に警告やエラーを
出してくれますから、コンパイルが通って普通に動けば大丈夫だと思います。
ときどきやりすぎでないかいと思うくらいです。
0310デフォルトの名無しさんNGNG
>>309
わざわざ結合規則じゃなくて、と書いたのに・・・書いたのに・・・のに・・・
0311デフォルトの名無しさんNGNG
>>310
もう一箇所引用を忘れてた。7.2の方に例が出てますよ。
>式における演算子の評価順序は、演算子の "優先順位" と "結合規則" によって決まります
0312デフォルトの名無しさんNGNG
もちろん評価も左から。
-sum2の値をまずスタックに積んで、それからその後の計算にとりかかるんだから。
0313デフォルトの名無しさんNGNG
>>311
なるほど。7.2.1に詳しく出てますね。日本語版見てあまりの怪しさに英語版でも確認。
このあたりの言語仕様は(コンパイラ屋にとっては面白くないものの)使う側にとっては
C/C++より解りやすくなってますね。
0314デフォルトの名無しさんNGNG
質問です。
ButtonのButton1を左右に関わらずクリックするとMenuItemのMenuItem1を表示したいんですが、どうすればいいんですか?
検索したんですが、よくわかりませんでした。
0315デフォルトの名無しさんNGNG
MouseDown/Upイベントで良さそうだが、
さてMenuItemのMenuItem1を表示ってどういう挙動なのやら。
0316デフォルトの名無しさんNGNG
>>315
表示するのはどうすればいいんですか?
ContextMenuとか必要ですか?
0317デフォルトの名無しさんNGNG
贅沢は、いわん。
贅沢はいわんから、ちょっと助けてくれよ。

DataGridView.Sort()で利用される
IComparer.Compareに関してなんだけど、

2.0から、IComparer<T>なるものが出てきたでしょ?
これ、どうやって使うのよ!!
http://msdn2.microsoft.com/library/twxabsb7.aspx

サンタさん・・・僕のサンタさんは、どこにいるの・・・。上海?
0318デフォルトの名無しさんNGNG
リンク先がSystem.Collections.IComparerというのは何かのシャレか?
何が分からないのかつかめない以上、普通に実装しろよと。

というかDataGridView.Sortに使うのはSystem.Collections.IComparerであってSystem.Collections.Generic.IComparer<T>じゃないじゃん。
この二つは別物だぞ。
0319317NGNG
ち、違うのか・・・?
0320317NGNG
http://66.102.7.104/search?q=cache:RGF75rfYPL4J:blogs.users.gr.jp/naka/articles/6442.aspx+%22IComparer%3CT%3E%22&hl=ja&lr=lang_ja
第6回 IComparer<T>とDictionary(IComparer<T>)

こ、これは、どうなんだ?
0321317NGNG
さ・・さんた・・・・じゃくて・・サンプル、栗。

あ、いや、そうじゃんくて、
もしできたらでいいので、C# DataGridViewのSOrtで
数字を基準に並べ替える方法を教えてください
或いは、その方法が記載されたURLを・・・。
数字を基準に、とは、SOrtの結果が
1,10,2,3,4,5とならないようにすることです、サンタさん。
0322317NGNG
                    シーン
         =≡= ∧_∧
          /   (・∀・ ) <静かにしてます
        〆   ┌  |    | .∈≡∋
         ||  γ ⌒ヽヽコノ   ||
         || .|   |:::|∪〓  .||
        ./|\人 _.ノノ _||_. /|\
0323317NGNG
         =≡=
          /
        〆          . .∈≡∋
         ||  γ ⌒ヽヽコノ   ||
         || .|   |:::| ..〓  .||
        ./|\人 _.ノノ _||_. /|\

          ∧_∧
         ( ・∀・)
         ( ∪ ∪
         と__)__)  旦
0324デフォルトの名無しさんNGNG
死ねばいいと思うよ
0325デフォルトの名無しさんNGNG
調べてみようかと思う気も失せるな。
0326デフォルトの名無しさんNGNG
テキストエディタに表示している文字を選択した状態で
自作ツールに戻って、ボタンをクリックしたら

1.[Alt]+[Tab]で一つ前のアプリ(テキストエディタ)に戻る。
2.[Ctrl]+[C]で前もって選択してある文字列をコピー。
3.[Alt]+[Tab]で自作ツールに戻る。

と言う動作をしたいのですが、そもそもそんな事って出来るのでしょうか?
ヘルプを見てもKey関係の説明はgetばかりだし、(setで出来るのかな?)
キーの動作と言えばマクロかなと思って、秀丸で試してみましたけどダメでした。
0327デフォルトの名無しさんNGNG
SendKeysクラスで可能だが。

アナクロだなー。
0328デフォルトの名無しさんNGNG
すいません。基本の基本だと思いますが、ArrayList に保存したオブジェクトを直接いじることってできますか?
例えば、

someObj.Param = true;

ArrayList test = new ArrayList();
test.Add( someObj );

test[ 0 ].Param = false;

ということがやりたいのですが、どうしたらいいでしょう?
0329デフォルトの名無しさんNGNG
>>328
someObj は何のタイプなんだ?
0330デフォルトの名無しさんNGNG
>>329
早速のお返事ありがとうございます。
これは自分で作ったオブジェクトです。
0331デフォルトの名無しさんNGNG
ArrayListにはobject型として格納されるので、
引っ張り出してきた時はobject型として扱われる。
でも実際には作った時の型のインスタンスなんだから、キャストしてしまえばいいのさ。

ちなみにsomeObjが構造体(のインスタンス)の場合、この操作は無効になるんだが、
それが何故かは宿題だ。
0332デフォルトの名無しさんNGNG
>>331
では、

someObj.Param = true;

ArrayList test = new ArrayList();
test.Add( someObj );

SomeObj tmp = (SomeObj)test[ 0 ];
tmp.Param = false;

という感じですね。
JavaScript などでは直接、
test[ 0 ].Param = false;
という風にして配列に格納したままオブジェクトの値を変更することが出来ます。

C# では、
SomeObj tmp = new SomeObj();
tmp.Param = false;
test[ 0 ] = tmp;
という風に一度引っ張り出して再び格納をする必要があるのですね?

構造体の宿題ですが、
オブジェクト => 参照型
構造体 => 値型
この辺りに答えがありそうですね。
0333デフォルトの名無しさんNGNG
>>332
キャストしろキャスト
0334デフォルトの名無しさんNGNG
>>>333
ありがとうございます。
SomeObj tmp = (SomeObj)test[ 0 ];
tmp.Param = false;
という風に引っ張り出すときに (SomeObj) としてキャストをしているつもりですが
この場所でキャストをするのではないのですか?
0335デフォルトの名無しさんNGNG
わざわざ tmp でワンクッション置かんでも
0336デフォルトの名無しさんNGNG
>>332
>  という風に一度引っ張り出して再び格納をする必要があるのですね?

それがclassのインスタンスなら格納し直す必要はない。
インスタンス、つまり実体は一つなんだよ。
やりとりしてるのはインスタンスそのものではなくてその参照なんだ。

本棚に本が並んであって(オブジェクトの実体たち)、
本のリストにそのタイトルが並んでいる(配列とかArrayListとそれに格納されているもの)。
利用者はそのタイトルを指して「GetPage(3)=この本の3ページ目を教えてくれ」とか言うわけだ。
本のリストに直接本がしまわれてる訳じゃない。


>  オブジェクト => 参照型

構造体のインスタンスもオブジェクト。
構造体に対するのはクラス。


>  SomeObj tmp = (SomeObj)test[ 0 ];  
>  tmp.Param = false;  
>  という風に引っ張り出すときに (SomeObj) としてキャストをしているつもりですが
>  この場所でキャストをするのではないのですか?

>332の前半コードと後半コードが変な事になってるな。
後半コードはこの場合あんまり関係なくないか(ArrayListと何の関係もなくなってる)。
0337デフォルトの名無しさんNGNG
>>334
(SomeObj)test[ 0 ].Param = false;
0338デフォルトの名無しさんNGNG
>>337
((SomeObj)test[ 0 ]).Param = false;
0339337NGNG
あうち
0340デフォルトの名無しさんNGNG
>>336 名前:デフォルトの名無しさん [sage] 投稿日:04/12/25 00:15:32

>> 本棚に本が並んであって(オブジェクトの実体たち)、
>> 本のリストにそのタイトルが並んでいる(配列とかArrayListとそれに格納されているもの)。
>> 利用者はそのタイトルを指して「GetPage(3)=この本の3ページ目を教えてくれ」とか言うわけだ。
>> 本のリストに直接本がしまわれてる訳じゃない。

今実際に確認できました!
引っ張り出したオブジェクトの値を変えたら、格納されている値も変わりました。
分かりやすい説明感謝です。

>> >332の前半コードと後半コードが変な事になってるな。
>> 後半コードはこの場合あんまり関係なくないか(ArrayListと何の関係もなくなってる)。
orz
0341317NGNG
放置しないで・・・○rz....

さっきは、まじですまなかった○rz...

頼むから、教えてくれ・・・もう何時間もさまよってます・・・・
0342デフォルトの名無しさんNGNG
死ねばいいと思うよ
0343デフォルトの名無しさんNGNG
調べてみようかと思う気も失せるな。
0344デフォルトの名無しさんNGNG
>>326です。
>>327さんの書き込みをヒントに

System.Windows.Forms.SendKeys.Send("%({TAB})");
System.Windows.Forms.SendKeys.Send("^C");
System.Windows.Forms.SendKeys.Send("%({TAB})");
string mes = (string)Clipboard.GetDataObject().GetData(DataFormats.Text);
MessageBox.Show(mes);

とやってみたのですが、上手くいきません。
クールスイッチが見える時もあるので、Alt+TABは上手くいっているようなのですが、
クリップボードにコピーしてくれません。
何か間違っているのでしょうか?
0345デフォルトの名無しさんNGNG
327を書いてから警告し忘れてた事を思い出した。
やっぱり引っかかったか。

ALT+TABを押してから実際にフォアグラウンドのアプリに切り替わるまで、何十ミリ秒か誤差があるわけ。
SendKeysは「キーボードの入力をシミュレートする」機能だから、
間に時間を挟まないと、切り替わりきる前に次のを実行しちゃうんだ。
だからALT+TABを入力したらそのあとThread.Sleepするなどしてちょっと待つ必要がある。
逆にコピーした後元のアプリに切り替えるのに入力待ちは必要ない。
SendKeysは複数入力も受け付けてくれるので、"^C%{TAB}"なんて書き方もできるぞ。
0346デフォルトの名無しさんNGNG
TreeViewとRichTextBox用意したForm作ったときに変な描画バグがあって困ってます。
TreeView描画し終わった後に、RichTextBoxを再描画(WinProc)で行うと、
なぜか、TreeViewが暴発し300回ぐらい再描画発生し、すべての項目が真っ白
に表示されてしまいます。なぜですか?
0347デフォルトの名無しさんNGNG
それだけ書かれても検証のしようもないし。
変なコード書いてるからだろ、としか。
0348326NGNG
>>326です。>>345さんレスありがとうございます。
>>344のコードの最初のAlt+TABの後に、
System.Threading.Thread.Sleep(1000);
を入れてみたのですが、実行してもコピーしなかったり、
たまにコピーしても何故か一つ前に実行した時に選択した文字列が表示されたり、
よく分からない動作をします。
で、SendKeysをググっていて、SetForegroundWindow()なるものを見つけて、
処理を分ける為とりあえずNotepad限定でやってみようと、見よう見まねで以下のようにやりました。

[DllImport("User32.dll")]
static extern int SetForegroundWindow (IntPtr hWnd);

private void button2_Click(object sender, System.EventArgs e)
{
 Process[] pp = Process.GetProcessesByName("Notepad");
 IntPtr i = pp[0].MainWindowHandle;
 SetForegroundWindow(i);

 System.Threading.Thread.Sleep(500);
 System.Windows.Forms.SendKeys.Send("^C");
 string mes = (string)Clipboard.GetDataObject().GetData(DataFormats.Text);
 MessageBox.Show(this,mes);
}

続く
0349326NGNG
続き

これでは動作は一緒だったので、Ctrl+CをSendからSendWaitに変えてみました。
System.Windows.Forms.SendKeys.SendWait("^C");
すると望み通りの結果が!!

早速、元のコード(>>344)のSend("^c")をSendWait("^c")に変えてみたのですが、
全くコピーしてくれなくなりました。

ふう・・・。何かいい方法はないでしょうか?
Notepadの代わりにAlt+TABと同じように、一つ前にアクティブだったアプリを
取得出来ればどうにかなるかと思うのですが、そんなこと出来るのでしょうか?
0350デフォルトの名無しさんNGNG
全くの素人です。
Windows上で実際の動きを確認しながら覚えられるような
参考書を探しているのですがなにかオススメはありませんか?
0351デフォルトの名無しさんNGNG
>>348
方針を変えて、クリップボード監視という形にしてみるのも一案だ。
Win32APIに深めに浸かる必要があるのが難点だが。

やる気があるなら、必要な関数などを挙げておこう。
IntPtr SetClipboardViewer(IntPtr hWnd);
bool ChangeClipboardChain(IntPTr hWnd, IntPtr hNewNext);
bool PostMessage(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam);
WM_DRAWCLIPBOARD = 0x308
WM_CHANGECBCHIAN = 0x30D
0352デフォルトの名無しさんNGNG
>>350
まったくの素人だとナニが最初の理解のきっかけになるかわからんからなぁ。
お金に余裕があるなら本屋で適当な入門書を3冊くらい買ってきて枕元に
おいとくと、はたとひらめくことがある。
0353デフォルトの名無しさんNGNG
全くの素人はまずコマンドプロンプトで動きを確認しながら覚えるべきだよな。
0354デフォルトの名無しさんNGNG
だな
0355デフォルトの名無しさんNGNG
TreeViewでラベル編集されたら更新するイベントが原因だとわかりましたが、
これ以外の正しいラベルの更新処理わかりますか?
下記の書き方だと、編集した後View上のどこか別要素のラベル1つが編集
された場所と同じ値になってしまいます。つまるところどうやって書けばいいの
ですか?
private void treeView1_AfterLabelEdit(object sender, System.Windows.Forms.NodeLabelEditEventArgs e) {
 if(e.Label == null){
  e.CancelEdit = true;
}else{
e.Node.Text = e.Label;
   this.treeNode = treeNode;
   this.treeView1.Nodes.Clear();
   this.treeView1.Nodes.Add(treeNode);
}
}
0356デフォルトの名無しさんNGNG
リストの任意の位置で挿入、削除をひんぱんに行う場合、
CollectionsのArrayListだとC++のvectorやdequeのように
両端以外での挿入、削除が行われた場合、配列が再構成されるのでしょうか?
それともlistのようにリンクを繋ぎ変えるだけなのでしょうか?
0357デフォルトの名無しさんNGNG
ArrayListは内部では配列で管理してるよ。
0358326NGNG
>>326です。>>351さんレス有り難うございます。
せっかく.NET Frameworkを勉強しているのにWin32APIなんて・・・
と思って悪あがきをしていて、GetNextWindow()なるものを見つけました。(^^;
またもや見よう見まねで>>348を元に実装してみたのですが、しかし・・・。

[DllImport("User32.dll")]
public static extern IntPtr GetNextWindow(IntPtr hWnd, UInt32 wCmd);
[DllImport("User32.dll")]
public static extern bool IsWindowVisible(IntPtr hWnd);

private void button1_Click(object sender, System.EventArgs e)
{
IntPtr hd = this.Handle;
do{
 hd = GetNextWindow(hd, GW_HWNDNEXT);
}while(hd != IntPtr.Zero && !IsWindowVisible(hd));
SetForegroundWindow(hd);

System.Threading.Thread.Sleep(500);
System.Windows.Forms.SendKeys.SendWait("^C");
mes = (string)Clipboard.GetDataObject().GetData(DataFormats.Text);
MessageBox.Show(this,mes);
}

とやってみたのですが、
「名前'GW_HWNDNEXT'はクラスまたは名前空間'TestProgram.Form1'に存在しません。」
とでます。Webやヘルプをみても間違っていないと思うのですが・・・。
試しにGW_HWNDNEXTの所に整数を直接入れるとエラーは出ないので、
何かしら初期値があるのかといろいろ調べてみたのですが、
どこにもそのような記述はなく、何が原因かさっぱりです。

どこが悪いのでしょうか?(改行規制対策で見にくいかもですm(_"_)m)
0359デフォルトの名無しさんNGNG
>>358

GetNextWindow() はWin32 APIだと思うのだが違うのか?

> 「名前'GW_HWNDNEXT'はクラスまたは名前空間'TestProgram.Form1'に存在しません。」
> とでます。Webやヘルプをみても間違っていないと思うのですが・・・。
間違っている。
MSDNはC/C++を対象にかかれていおりこれらの言語には
windows.h(またはそれが include するファイル)に GW_HWNDNEXT が定義されている。
C#から利用する場合はこれらの定義を調べて該当する値を直接入れなくてはいけない。
0360デフォルトの名無しさんNGNG
>>326
gu
ろーばるほっときーでふっくしちゃだめなの?
0361デフォルトの名無しさんNGNG
グローバル
0362326NGNG
何回もすいません。>>326です。
最初に訂正です。>>358ですと、GetNextWindow()じゃなくて、GetWindow()ですね。

>>359さん。
> GetNextWindow() はWin32 APIだと思うのだが違うのか?
結局Win32APIかい!と文末の顔文字で察してください。

>C#から利用する場合はこれらの定義を調べて該当する値を直接入れなくてはいけない。
これをヒントにWebで調べて「2」と言う数字でやってみたところ、
見事!上手くいきました!!
356で書いた「整数を直接入れる」と言う時に「2」は試したんですけど、
希望通りに動かなかったんですよね・・・今となっては謎ですが。

>グリーバルホットキーでフック
これまたなにやら難しそうですね。とりあえず今回は解決したので、
次に問題にぶち当たった時のために、覚えておきます。

てことで、一応解決しました。レスをくれた方々、有り難うございました。
0363デフォルトの名無しさんNGNG
試しに2005入れてみたのですが、
DataGridViewの使いかたがよくわかりません。

Compare?というか<T>とか、そこらへん
がバージョンアップしたみたいで・・・

過去レス読みましたが、317さん誤爆してるし・・・和良。

おながいします。
0364デフォルトの名無しさんNGNG
>>363
Generics でぐぐれ。
0365356NGNG
ありがとうございます
0366363NGNG
http://www.google.com/search?num=50&hl=ja&q=%22Generics%22+%2B+%22Sort%22&lr=lang_ja

一体どれ・・・(⊃。⊂)
0367デフォルトの名無しさんNGNG
317==363にしか見えないが。

DataGridView.SortとIComparer<T>は関係ないと言っている。
0368363NGNG
か、関係ないんすか?
0369363NGNG
犯人「サンプルがほしいなら、マルペケ銀行に300万振り込め」
363「あいあいさー!!」
0370デフォルトの名無しさんNGNG
通りがかりのものですが、
>>363さん、
僕もそれ以前はまったことありますよ。
結局わからずじまいでしたが・・・
0371デフォルトの名無しさんNGNG
俺も俺も。
0372デフォルトの名無しさんNGNG
>>363
そんなに難しくないと思うけど・・・
0373デフォルトの名無しさんNGNG
>>363よいつもここで馬鹿な質問する
俺ですら解ることだぞ?勉強不足じゃないか?
0374デフォルトの名無しさんNGNG
C++本のテンプレートの章じっくり読んでからだな。
0375デフォルトの名無しさんNGNG
質問です。
WebClientでプロキシは使えないんでしょうか?
0376デフォルトの名無しさんNGNG
>>375
GlobalProxySelection
0377デフォルトの名無しさんNGNG
ありがとう!
0378デフォルトの名無しさんNGNG
WebClient myWebClient = new WebClient();
myWebClient.Headers.Add("Range: bytes=1000-");

でも

myWebClient.Headers.Add("Range"," bytes=1000-");

でも
クラッシュするよ
たすけてちょんまげ
0379デフォルトの名無しさんNGNG
素直にWebRequest/HttpWebRequestつかっとけ。
0380デフォルトの名無しさんNGNG
ドキュメント読んだら、
#define ABC 300
みたいな使い方はC#では出来ないようなのですが、
各クラスから頻繁にABCを参照したい場合、C#ではどのように解決するのが
最もスマートなやり方はないでしょうか。
いくつかやり方を考えてみたのですが。
1.各クラス内にprivate const intで持つ。 → 各クラスごとに持つということで、ABCの中身が変わったとき非効率的。
2.共通クラスを作って、その中で持つ。 → 参照時に毎回、CommonClass.ABCとしなければならないので面倒。
0381デフォルトの名無しさんNGNG
どうもすいません自己解決しました。
ttp://www.gotdotnet.com/team/ja/team/csharp/learn/faq/default.aspx
>class MyConstants
> {
> public const int A = 1;
> }
>その後、A マクロを使用する場所で、MyConstants.A を使用します。
0382デフォルトの名無しさんNGNG
各種定数を集めたクラスみたいなあり得ない構成は無しだぞ。
0383デフォルトの名無しさんNGNG
へぇ。俺の場合、クラス作って、中にstaticで「定数」書いて、
(定数というか、変更されたら困るんで、getだけのプロパティにする)、
使うたびに、CommonClass.VERSIONみたいにやってるけど?
どうやったらいいのか教えろよ。

CommonClass
{
 public static string VERSION { get { return "5.20"; } }
}

みたいにやっている。
0384デフォルトの名無しさんNGNG
ListViewとListBoxはどのような使い分けになってるのでしょうか?
また、foreach(ListViewItem li foreach ListViewItems)
のような方法は、ListBoxを使ってやる場合どのようにするのが良いのでしょうか?
お願いします。
0385384NGNG
すいません↑
foreach(ListViewItem li in ListView1.Items)
の間違いでした。また、
ListView1.Items[2].Textの様な、要素へのアクセス法は
ListBoxではListBox1.Items[2].ToString()の様にやるしかないのでしょうか?
0386デフォルトの名無しさんNGNG
>>383
382は
class Teisuu {
   public static readonly string Version;
   public static readonly BindingFlags AllAccess;
   public const double PI;
}
みたいななんでもかんでも定数を入れてしまうような非オブジェクト指向的クラスを指してる。
定数もそれに相応しいクラスに入れましょうってこと。

>>385
foreach (object obj in listBox1.Items) {...}
でいいんじゃないか。
アイテムに入れるものの型が決まってるなら
foreach (int num in listBox1.Items) {...}
とかでもいいけど。

>  ListView1.Items[2].Textの様な、要素へのアクセス法は
>  ListBoxではListBox1.Items[2].ToString()の様にやるしかないのでしょうか?

ListViewと違ってなんでも入れられるのがListBoxな以上、当然。
stringを入れるのならキャストだけで良いけど。
0387デフォルトの名無しさんNGNG
>>386
>みたいななんでもかんでも定数を入れてしまうような非オブジェクト指向的クラスを指してる。
>定数もそれに相応しいクラスに入れましょうってこと。
趣旨が分かりました。了解です。
0388385NGNG
>>386
なるほどです。
ListBoxは型制限なくがつがつ使う様ですね!
どうもありがとうございます。
0389デフォルトの名無しさんNGNG
ある拡張子を独自アプリに自動的に関連付けさせるにはどうしたらいいのですか?
0390389NGNG
エクスプローラの「フォルダオプション」-「ファイルの種類」で関連付けをしていますが
これをC#で操作したいのです。
0391デフォルトの名無しさんNGNG
インストーラ使うか、自分でレジストリを操作するか。
0392デフォルトの名無しさんNGNG
C#でPixiaやPictBearレベルのペイントソフトを作ろうとしています。
参考になるサイトや本を知っている方がいましたら教えてください。
よろしくお願いします。
0393デフォルトの名無しさんNGNG
Paint.NETとか言ってみる
0394デフォルトの名無しさんNGNG
stringを扱う時にヌルポチェックしないで、それに時間を費やすのがもったいないからから
予め空文字いれてくれとか言ってる人間を最高にバカにできるいい言葉ないですか?
0395デフォルトの名無しさんNGNG
.NETじゃヌルリだよバーカ
0396394NGNG
>>395

orz
0397デフォルトの名無しさんNGNG
Windows Forms の テキストボックスで ReadOnly = true とした
コントロールの背景色は必ず SystemColors.Control となる、というのは
間違いないでしょうか?

今、テキストボックスから派生したコントロールを作っているのですが
ReadOnly のコントロールの背景色が何になるのかわからなくて。。。

よろしくお願いします。
0398373NGNG
やべ、久しぶりにDataGridViewの並べ替えカスタマイズやってみたら
うまくいかねー(T_T)

どっかサンプルなかったでしたっけ?
0399397NGNG
というか ReadOnly = True に設定するとグレー(SystemColors.Control?)
になるんですが、コントロールの BackColor を適当な色に変更すると
ReadOnly = True にしても、グレーにかわりません。

ReadOnly = True の時、グレーになる条件というのはどういったもの
になるんでしょうか?

一度 BackColor = System.Drawing.Color.Red のように変更すると
BackColor = System.Drawing.SystemColors.Window にしても、
その後の ReadOnly = True でもグレーにかわらず困っています。。。

よろしくお願いします。
0400デフォルトの名無しさんNGNG
>>399
そのためのResetBackColor()。
0401397NGNG
>>400
ありがとうございます。でも System.Windows.Forms.TextBox から
ResetBackColor() はどうやって呼べばいいのでしょうか?

なんとも情けなくて申しわけないのですが、アドバイスお願いします。
0402デフォルトの名無しさんNGNG
へ? 普通にpublicなインスタンスメソッドだけど?
AppendTextを使うノリで使うだけだが?
0403363NGNG
The great thing about generics is
ジェネリックスのいいところは、
now you can have your cake and eat it to,
どちらの長所をも兼ね備えているところです。
because you can define a List<T> [pronounced: List of T].
Tのリストを新たに定義できるので。
When you use a List, you can actually say what the List is a List of,
リストを利用の際、そのリストがどんな内容なのかを実際に定義でき、
and have the compiler strongly type check it for you.
コンパイラが人手に代わって監視してくれる。
So that's the immediate benefit.
そんな機能が簡単に手に入るのだ。
0404363NGNG
http://66.102.7.104/search?q=cache:ChLlsVKUht4J:www.code-magazine.com/articleprint.aspx%3Fquickid%3D0409051%26printmode%3Dtrue+DataGridView+generics&hl=ja
さぱーりわかんねーYO
0405デフォルトの名無しさんNGNG
>>403

テンプレートで検索しろ。
Objectに無理にデータを放り込んだりしなくてよくなる。
てのを応用してかなりおもしろいことができる。

0406363NGNG
http://66.102.7.104/search?q=cache:11xqMNK4ogUJ:www.microsoft.com/japan/msdn/vstudio/2005/express/vwd/readme/+%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88+DataGridView&hl=ja
(T_T)
0407397NGNG
>>402
すみません。できました。インテリセンスにあらわれなかったので、
メソッドを呼べないと思い込んでしまいました(^^;;
0408デフォルトの名無しさんNGNG
WM_PAINTとか定数ってWindows.hに定義してあるっていうけど、
7Kbのそのファイル100万回見ましたけどどこにも定義ないのですが
これからもWM_PAINTとは違うものも使う必要になってくるのでどこで
定義したるかご存知のかたよろしくお願いします。
0409デフォルトの名無しさんNGNG
MSDN/ヘルプの該当項目に定義ヘッダが書かれてる。
0410デフォルトの名無しさんNGNG
>>408
Windows.hからさらにincludeしてるのを100万回見れば出てるよ。
findとかgrep系のコマンドくらい覚えろよな。startメニューの検索でもいいぞ。
0411デフォルトの名無しさんNGNG
Form1にタブコントロール。Form2に"タブの追加"というボタンを用意して、
Form2のボタンが押されるたびにForm1のタブコントロールにタブが追加されるように
するのをモードレス状態で実現するにはどうしたらいいでしょうか?
0412デフォルトの名無しさんNGNG
class Form2 : Form{

    //中略

    public event EventHandler AddButtonClick;
    private void button1_Click(object sender, System.EventArgs e)
    {
        if(AddButtonClick!=null) AddButtonClick(this, EventArgs.Empty);
    }
}

public class Form1 : Form{

    //中略

    private void Form2を表示(){
        Form2 f = new Form2();
        f.AddButtonClick += new EventHandler(form2_AddButtonClick);
        f.Show();
    }

    private void form2_AddButtonClick(object sender, EventArgs e){
        this.tabControl1.TabPages.Add(new TabPage("たb"));
    }
}
0413デフォルトの名無しさんNGNG
webrequestなどで、webから画像を
ダウンロードする前に画像の(縦横の)サイズを知ることは出来ませんか?
0414デフォルトの名無しさんNGNG
ひょっとしてそれはギャグで言っているのか?
0415デフォルトの名無しさんNGNG
>>413
internetexplorerなどで、webから画像を
ダウンロードする前に画像の(縦横の)サイズを知ることは出来ますか?
0416413NGNG
あれ?
無理すぎもいーとこでしたか。。
internetexplorerで読み込んで、即停止を押し、画像が表示される前に
右クリックでプロパチやると画像が非表示状態でも、
縦横サイズはわかるので、全部読み込む前に
わからないかな?と思ったんですが。。ブヒブヒ
0417411NGNG
>>412さん
ソースまで書いていただき、ありがとうございました。
_| ̄|○ ペコ
0418デフォルトの名無しさんNGNG
>>416
そりゃ単にHTMLが指定してる画像サイズを表示してるだけじゃないのかね。
0419デフォルトの名無しさんNGNG
>>416
C#とは何の関係もないのでスレ違いだが、
gif画像ファイルの最初の部分(ヘッダ)に、縦横の情報があるだろうから、
それを見たらいい。全部ダウンロードしなくてもヘッダだけダウンロードした
時点でわかるだろ。
0420デフォルトの名無しさんNGNG
あれ。gifとは言ってないのか。jpgなりpngなり、ヘッダ構造は自分でググってください
0421デフォルトの名無しさんNGNG
指定年月の月末日付を取得するにはどうしたらよいでしょう?

2004/12 の月末日付は 2004/12/31, 2005/02 の月末日付は 2005/02/28 のように
末日を取得したいのですが方法がわかりません。

よろしくお願い致します。
0422デフォルトの名無しさんNGNG
>>421
X年Y月の月末を求める場合、
X年Y+1月1日から、−1日すればOK。
年をまたぐ場合注意。
0423デフォルトの名無しさんNGNG
>>421
DateTime.DaysInMonthメソッド
0424421NGNG
>>423 のやり方でできました。どうもありがとうございました。
0425デフォルトの名無しさんNGNG
このスレにはプロがいるな
0426363NGNG
<<417
i envy you...○rz...
0427363NGNG
>>373
いくら僕のことを馬鹿にしてもいいから
頼むからヒント・・・・下さい・・・。
5行で十分ですので、お願いします。
今、得た情報
1.Generics
2.IComparer<T>はどうやら関係ないらしい
3.テンプレート? >405

必死に検索かけてますが、もうお手上げです。
目の下くまが出来てます。画面見すぎて頭がづきづきします。
僕は馬鹿です。でもがんばります! ちょこっとのヒントをお願いします。

質問
DataGridViewでColumnをSortするときに、
数字列が、1,10,11,2,3,4,5となってしまうのを正しく並べ替えたい。
好ましくは、新たにRows.Add(new object[]{a,b,..})で追加した
行を追加と同時にSortされた列の適切な行番号に挿入させたい。
ただし、前記挿入は、別個メソッドを新設し、それを呼び出すことで
実現してもよいし、好ましくはそのような行挿入時の特殊な操作を
明示的にしなくても前記目的を達成できる簡潔な方法・・・キボンヌ marurz...
0428デフォルトの名無しさんNGNG
グレープシティのコンポーネントでも買えば?悩まないですむよw
0429デフォルトの名無しさんNGNG
>>427
馬鹿にしてるんじゃない、うざがってるんだ。
質問するからじゃない、態度が厨だから。

・IComarerを実装したクラスを定義する。
・Compereメソッドの比較に使われるのはDataGridViewRowインスタンスなので、
 これのCellsから対応するセルの値を取得し、比較する。
・CellEndEditイベントでSortを呼ぶ。引数は上で定義したクラスをその場でnewするなり。

ジェネリクスやらIComerer<T>やらは一切関係ない。

IComperer.Compereの実装が分からないと言うのなら出直せ。
0430デフォルトの名無しさんNGNG
Tablet PC Platform SDKの InkCollector についてです。
Form1にPictureBox1とPictureBox2を用意してインクを下のように宣言して、PictureBox1に実装しています。
InkCollector myInk = new InkCollector(pictureBox1);
実現したいことは、Form1にボタンを用意して、これを押すとPictureBox1には入力不可になり、PictureBox2が入力可能
になるようにすることです。ここで躓いているのが、ボタンを押すと、myInkのハンドルをPictureBox1からPictureBox2に変換する
という方法です。ハンドル先を変える手段を知っている方がいましたら、教えてください。
よろしくお願いします。
0431デフォルトの名無しさんNGNG
>>427
    public Form1()
    {
      InitializeComponent();
      dataGridView1.SortCompare +=
        new DataGridViewSortCompareEventHandler(dataGridView1_SortCompare);
    }

    void dataGridView1_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
    {
      if (e.CellValue1 == null || e.CellValue2 == null)
        return;

      int i, j;
      string str1, str2;
      str1 = e.CellValue1.ToString();
      str2 = e.CellValue2.ToString();

      if (int.TryParse(str1, out i)
        && int.TryParse(str2, out j))
      {
        e.SortResult = i - j;
      }
      else
      {
        e.SortResult = String.CompareOrdinal(str1, str2);
      }
    }
0432416NGNG
>>418-420
なるほどです。
どうもありがとうございました!
ググッてみます!
0433デフォルトの名無しさんNGNG
ListViewのViewプロパティをListにした場合
項目が多くなると、横スクロールバーが現れるのですが、
これを縦方向スクロールに変えるにはどうすればよいでしょう?
0434デフォルトの名無しさんNGNG
>>433
無理ぽ。
そういえばView.Listなので縦スクロールってのは見ないよなぁ。
0435433NGNG
がぃ〜ん
どうもありがとうございます。
ListBoxにしますです。
0436デフォルトの名無しさんNGNG
ListBoxだと結局ListView(View.Details)のヘッダ一つと変わらなくなる気がする。
0437433NGNG
detailにした場合上側に項目名の帯?
が出来て邪魔くさいと思ったのです。
帯が消せるならバッチグーですが。
0438427NGNG
神様って、やっぱりいるんだなって、

ふと、思ったよ。 �d
0439427NGNG
万事、うまくいっちゃったよ。
まじ、ありがとね、グスン。
0440427NGNG
>>431さんのプルサンでうまくいきますた。
int.TryParseですね。なるほど。
で、objectをstringにしてからintにするのですね。しヴい。

>>429さん
>・IComarerを実装したクラスを定義する。
431さんの手法とどのような点が異なるのですか?
またそれに伴なうメリットとデメリットはどのような点でしょうか。

>・Compereメソッドの比較に使われるのはDataGridViewRowインスタンスなので、
> これのCellsから対応するセルの値を取得し、比較する。
SortComparerの引数がDataGridViewRowを実態とする[ e ]であって、
e.CellValue1が「対応するセルの値」となるわけですか?

>・CellEndEditイベントでSortを呼ぶ。引数は上で定義したクラスをその場でnewするなり。
CellEndEditは、new object[]{a,b,..}をRows.Addしたときに発生するイベントですね。
そのなかに、mydatagridview.Sort();と書いておけばいいのですね。

>ジェネリクスやらIComerer<T>やらは一切関係ない。
○rz...

>IComperer.Compereの実装が分からないと言うのなら出直せ。
mydatagridviewのパブリックメソッドにSortComparerというのがプロパティウィンドウに
あったのでダブルクリックして該メソッドを追加しただけですが、
以上の工程が、「実装」にあたる、と考えても間違っていませんか?

以上、誤解等ございましたら、ご指摘いただきますよう、お願い致します。
0441デフォルトの名無しさんNGNG
http://msdn2.microsoft.com/library/f2hz30sa.aspx
0442デフォルトの名無しさんNGNG
C#でthread勉強していて疑問に思ったのですが、
どうもプログラムXで、thread起動させ(これをAとする)、フォームを終了すると、
タスクマネージャで見てもXは起動したままなんですね。
多分スレッドAの性でなにかなっているんだと予想しましたが、
フォームの×を押した時にちゃんと終了させるにはどうしたらよいのですか?
0443デフォルトの名無しさんNGNG
Thread.IsBackground
0444デフォルトの名無しさんNGNG
>>442
UIスレッドの終了を検知してAを終了するか
AのThread.IsBackgroundをtrue
0445デフォルトの名無しさんNGNG
あるクラスがあって、そこに外部から Hoge.Command += "delete";
みたいにコマンドを追加していって
あるクラスはそのコマンドを読み取って実行…という感じにしたいです。
STDINからだったらConsole.ReadLineつかえばいいんだけど、
これをSTDINからじゃなくてあるクラスから行ないたいです
0446デフォルトの名無しさんNGNG
そうか、がんばれ。
0447デフォルトの名無しさんNGNG
「標準入力からじゃなくてコンソールから」とか、
「標準入力からじゃなくてファイルから」なら分かるが、
標準入力からじゃなくてあるクラスから、ってのがよく分からんのでもっと詳しく。
0448535NGNG
皆さんは、ListViewクラス等で呼ばれているWin32APIがどれか
などをMSDNを掘って調べているのですか?
0449デフォルトの名無しさんNGNG
Splitter にて、画面を上下に分割する Windows.Form を作成しました。

Splitter より上はデザイン時に表示されているサイズを最大としてそれ以上に
広がらないようにしたかった為 Splitter.MinExtra を調整すればいいのかな
思い、Form の SizeChangeed にて、

this.Splitter1.MinExtra =
this.ClientSize.Height -
this.statusBar1.Height -
this.panelUpSide.Height -
((this.Splitter1.Size.Height +1) * 2);

という計算式を入れたのですが、どうもうまいくいきません。

splitter より上の部分が常に同じ位置までしか広がらないようにしたいのです
がどのようにすべきでしょうか?
教えて頂けたら幸いです。よろしくお願いします。
0450449NGNG
>>449 は解決しました。スレ汚しスマソ。
0451デフォルトの名無しさんNGNG
>>450
どう解決したか書かないヤツはホントのスレ汚し。
0452デフォルトの名無しさんNGNG
csファイルをダブルクリックして
その状態でコンパイルすることは出来ないですか?
プロジェクトとかではなくテスト用にcsファイル単体に記述してチェックしたいのですが
0453デフォルトの名無しさんNGNG
>>452
Windows のフォルダオプション
0454デフォルトの名無しさんNGNG
TextBoxにファイルを表示するとき
一行ずつAppendTextするしかないのでしょうか?

0455デフォルトの名無しさんNGNG
Textに代入すればいい。
0456デフォルトの名無しさんNGNG
そもそもAppendTextが一行ずつに限定というわけでもないな。
改行が自動的に追加されるみたいな機能があるわけでも無し。
0457452NGNG
あ、拡張子の関連付けではなく(それはVSインスト時にされてました)
csファイルをダブルクリックで開くと
上のツールバーのDEGUGとかがないため
コンパイル出来ないので困っていました。
スレ違いぽいのでVC#スレに行ってきます!
0458デフォルトの名無しさんNGNG
Control の Focus() と Select()
ってなにがちがうの?
0459デフォルトの名無しさんNGNG
string hoge = "こんにちは";
とソースに書いた場合、標準で「こんにちは」はUTF8のエンコードになっていると思いますが、
string hogeにshift jisの「こんにちは」を代入するにはどうしたらいいですか?
0460デフォルトの名無しさんNGNG
System.StringはUnicode(UTF-16)で保持されてる。
ソース上の文字コードとは何の関係もない。
実行環境がバイト配列を見てこれのエンコーディングが何か一々判断しなきゃいけないなんて馬鹿馬鹿しい事はない。
0461デフォルトの名無しさんNGNG
ドキュメント読んだら分かると思うがstring型はユニコードを格納するものなので
他のコードは入らない。何をやりたいかをもっと詳しく書けば答えられると思うが。
0462デフォルトの名無しさんNGNG
とあるライブラリを使っているんだけど、hogeLib.Send(string message);となっていたのだけど、
Sendする対象がsjisで受付しているのでmessageのエンコードをsjisにしたかったのですが、
無理ですか…。

ためしに\x82\xa4と「う」をsjisの文字コード直接かいたら上手くいったけど、
二バイト目が[\x5c]だったりしたら使えないだろうし、
自動変換するのも大変だろうし…と思ったのです。

とあるライブラリを使うのを諦めるしかないんですかね?
0463デフォルトの名無しさんNGNG
DllImport属性かStructLayout属性あたりにCharSet=CharSet.Ansi
0464デフォルトの名無しさんNGNG
DllImportとかってunmanagedを呼ぶ時ですよね
このライブラリはC#のマネージ関数だから何処に書いていいのか分からないです…
0465デフォルトの名無しさんNGNG
C#初心者です。
WMIクエリの実行結果を、DataGrid上に表示するプログラムをテスト兼練習で作成しているのですが、
ManagementObjectCollectionを上手にDataGridへセットする方法がよくわかりません。

どなたか教えてはいただけないでしょうか?
よろしくお願いします。
0466デフォルトの名無しさんNGNG
そのマネージ関数とやらをどうコーディングしてるのかすごく気になるのだが。


Encoding.Unicode.GetString(Encoding.GetEncoding("shift_jis").GetBytes(str));

一応こういうコードでShift_jisのバイト列をUTF-16で解釈した文字列を取得できる。
1バイト文字を奇数個含んだ文字列の場合、最後の1バイトは切り捨てられるが。

受け取る側もこの逆操作をする必要があるわけで、あり得ないよなぁ。
0467デフォルトの名無しさんNGNG
>>465
どんなのを想定してるのか分からないから、取りあえず。

自前でDataTableに突っ込んでいく。
0468デフォルトの名無しさんNGNG
>>462
引数にstring型を指定しながらShiftJISで受け取るマネージ関数のライブラリって、いったいどんなライブラリだそれ。
イカれてるとしか思えない。
0469デフォルトの名無しさんNGNG
Reg.CreateSubKey( @"System\Hogehoge" ).SetValue( "Size", 444 );
とすると普通に REG_DWORD でレジストリに格納されるけど、
Reg.CreateSubKey( @"System\Hogehoge" ).SetValue( "Size", 0xE0011431 );
や
Reg.CreateSubKey( @"System\Hogehoge" ).SetValue( "Size", 3758167089 );
とすると REG_SZ で 3758167089 という文字列で格納されてしまいます。

どうしてでしょうか?
0470デフォルトの名無しさんNGNG
>>468
外国製だからそんなの想定していなくて
でもぶちこみたいの
0471デフォルトの名無しさんNGNG
.NETは強制的にUnicodeなんだから外国製とか関係ないし。
0472465NGNG
>>467
>自前でDataTableに突っ込んでいく。
昨日、foreachで回してDataTableに代入していく、という手法も試したのですが、とてつもなく遅い、重いので使い物になりませんでした。

ManegementObjectSearcher mos = new ManegementObjectSearcher();
mos.Query.QueryString="SELECT * FROM CIM_DIRECOTORY";
(中略)
DataTable dt = new DataTable();
foreach(ManagementObject mo in mos.Get()) {
DataRow dr = dt.NewRow();
foreach(PropertyData pd in mo.Properties) {
dr[pd.Name] = pd.Value;
}
dt.Rows.Add(dr);
}
grdResult.DataSource = dt;

実際のソースとは若干違いますが、流れはこんな感じです

CIM_DIRECTORYを条件なしですべて読み込もうとするのが無茶なのは判っています。
ただ2000行くらいまでは読み込みたいので、それに耐えうる手法がほしいのです。(現状では200行もつらい)

なにかしらスマートな手段があると思うのですが、私はまだC#の基本的な手法もあまり知らないので、何かしらサンプル等いただけると助かります。
よろしくお願いします。
0473デフォルトの名無しさんNGNG
>>464
そのライブラリが糞でFA
0474デフォルトの名無しさんNGNG
>>472
それが多分最適解で、しかしそもそもWMIはそういう用途に向かない。
0475465NGNG
>>474
あらら。
ファイルにTSV出力して、エクセルで見る方がいいのかな。

>しかしそもそもWMIはそういう用途に向かない。
そういう用途=ディレクトリやファイルの走査、に向かない?
それはどのような理由からなのでしょうか?
遅いとか、かな?
(ちょっとスレ違いだけど、ご意見いただきたいです)
0476デフォルトの名無しさんNGNG
>>469
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfmicrosoftwin32registrykeyclasssetvaluetopic.asp

>値を展開された値として格納する場合、値を取得して適切に解釈するには、 ExpandEnvironmentVariables を使用します。

0477デフォルトの名無しさんNGNG
>>475
WMIは、色々なデータを統一的に扱うためのインターフェイス。
統一的に扱えるから利便性に優れているけれど、その高い汎用性の代わりに機敏性が失われたりする。
C言語(散らばった関数)とC#(扱いやすい代わりに自由にならないメモリなどのトレードオフ)との比較みたいなものか。


> ファイルにTSV出力して、エクセルで見る方がいいのかな。

再帰でDirectoryInfoをArrayListに詰めていって、
そいつをDataSourceにするとか。
0478465NGNG
>>477
ありがとうございます
とりあえず、もう少しいろいろやってみます。
0479デフォルトの名無しさんNGNG
Windows.FormsのDatetimePicker で、
Formプロパティを Custom, CustomFormatプロパティを yyyy/MM、
ShowUpDown を False と設定すると、
2004/12 の表示で、上下のスピンボタンが表示されます。
ここまでは期待通りの動作なのですが、月にキャレットを移動して(12の部分)
スピンボタンの上下をクリック、もしくは、カーソルの上下で値を増減
させると、

System.ArgumentOutOfRangeException が発生してしまいます。

これを回避する方法を御存知の方がいらっしゃいましたら
教えて頂けないでしょうか?

よろくお願いします。
0480デフォルトの名無しさんNGNG
>>479
こりゃまたひどいバグだねー……。2.0ベータでも直ってないし。
現在の日付部分を書き換えずに新しい年月日で設定しようとするから(2004, 11, 31)とかになって例外が飛ぶと。
/ddまで表示してたら対処される辺り、何というか。

初期設定でValueを現在の年月の1日に設定。
ValueChangedで選択年月の1日に書き換え。

と言うのでどうだろう。
0481479NGNG
>>480
ありがとうございます。
日付の部分を 1 に強制的にかきかえる事で対応できました。
というかバグか…。MS のサイトにバグデータベースとかないでしょうか?
0482デフォルトの名無しさんNGNG
読み込むDLLがファイル出入力つかうのを制限/つかうのかチェックってできますか?
ゲームのAI部分をDLL化すれば面白いかなと思ったけど
ファイル出入力とかを制限できないと危険なので。
0483デフォルトの名無しさんNGNG
>>482
AppDomainとか役立ちそうですが。
0484デフォルトの名無しさんNGNG
ある配列から探したい配列をサーチできるメソッドはBaseクラスライブラリにないでしょうか

Array.IndexOfだと配列から1変数しか探索できないので
0485デフォルトの名無しさんNGNG
>>482
興味深いのでAppDomainによる制限を書いてみた。

//プラグイン用の抽象クラス。AppDomainを使う場合MarshalByRefObjectから継承する必要がある。
namespace Plugins {
   public abstract class Plugin : MarshalByRefObject {
      public abstract void FileRead(string filename);
   }
}

//プラグイン。PluginInstance.dll
namespace Plugins {
   public class PluginInstance : Plugin {
      public override void FileRead(string filename) {
         System.Console.WriteLine(new System.IO.StreamReader(filename).ReadLine());
      }
   }
}
0486デフォルトの名無しさんNGNG
//プラグインのロードと実行

System.AppDomain domain = System.AppDomain.CreateDomain("Plugins");
System.Security.Policy.PolicyLevel polLevel = System.Security.Policy.PolicyLevel.CreateAppDomainLevel();
//原則無許可としてパーミッションセットを作成
System.Security.PermissionSet permSet = new System.Security.PermissionSet(System.Security.Permissions.PermissionState.None);
//実行を許可
permSet.AddPermission(new System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityPermissionFlag.Execution));
//ファイルアクセスを許可する場合はコメントをはずす
//permSet.AddPermission(new System.Security.Permissions.FileIOPermission(System.Security.Permissions.PermissionState.Unrestricted));
polLevel.RootCodeGroup.PolicyStatement = new System.Security.Policy.PolicyStatement(permSet);
domain.SetAppDomainPolicy(polLevel);

Plugins.Plugin p = domain.CreateInstanceFromAndUnwrap("PluginInstance.dll", "Plugins.PluginInstance") as Plugins.Plugin;
try {
   p.FileRead("test.txt");
}
catch (System.Security.SecurityException ex) {
   System.Console.WriteLine("SecurityException : {0}", ex.Message);
}
//ドメインごとアセンブリをアンロード
AppDomain.Unload(domain);


ただ、作成したプラグインのインスタンスは別のアプリケーションドメインに作られるから、
呼ぶたびにドメイン間通信が行われてパフォーマンスがかなり落ちる。
メンバを頻繁に呼ぶのはやめて、大きな仕事をまとめてやらせるべきだろう。
0487デフォルトの名無しさんNGNG
>>482みたいな制限をテラリウムが導入してたな。
0488デフォルトの名無しさんNGNG
ほー、勉強になるな。
0489デフォルトの名無しさんNGNG
高度な話の中で低レベルな質問なんだが、
Bitmapクラスの中身をリセット(newした状態に)したい場合はどうればよい?
毎回newしてたらリソース喰いまくるかGC発動しまくりだと思うんだ。
背景色で塗りつぶすと透過しないしさ。
0490デフォルトの名無しさんNGNG
>>489
いまいち何をしたいのか分からないのだが。
元絵をCloneして取っておくとか?
元絵の再取得が難しい(ネットから取得したとか)ならともかく、そうでないならnewを気にする必要もないと思うけど。

それよりも使い終わったBitmapをDisposeするのが重要。
Image/Bitmapの場合DisposeすればGCと関係なくメモリを解放するようだし。
0491デフォルトの名無しさんNGNG
コンパイルされた日付を実行ファイルが表示するにはどうしたらいいでしょうか?
0492デフォルトの名無しさんNGNG
……ファイルの更新日時?
0493デフォルトの名無しさんNGNG
>>489
>背景色で塗りつぶすと透過しないしさ。
?透過させたいんなら透過色(Color.Transparentとか)で塗りつぶせよ。
0494デフォルトの名無しさんNGNG
>>492
そうだよカス

GCCにはあるんだよ素人はだまってママのおっぱい吸ってな
0495デフォルトの名無しさんNGNG
>>491=494?
キれてる意味はわかりませんけど。

using System;
using System.IO;
using System.Reflection;

class Test
{
  public static void Main()
  {
    Assembly asm = Assembly.GetAssembly(typeof(Test));
    FileInfo info = new FileInfo(asm.Location);
    Console.WriteLine(info.LastAccessTime);
  }
}

こんな感じのことをやりたいのだろうか。
GCCではどんな感じになる/させているのか言っておくと
誰かがきちんと答えてくれる予感。
0496デフォルトの名無しさんNGNG
失礼極まりないな
0497デフォルトの名無しさんNGNG
親パネルの端っこに子パネルを貼り付けて、
子パネル上にマウスが入った場合も
親パネルのMouseEnter、MouseLeaveイベント処理をさせたいのですが、
この場合どうすれば良いのでしょうか?
単純に、子パネルに出入りした場合、親パネルのMouseEnter,Leaveメソッドを呼ぶと
子パネル上から親パネル上にマウスが移動した場合
親パネルから子パネル上にマウスが移動した場合
無駄な処理が増えてしまいます。
(子パネル(Label)は文字のみ表示させて、
文字の表示以外は、子パネルを完全に無視して考えたいのです。)
よろしくお願いします。
0498デフォルトの名無しさんNGNG
「そのパネル上にマウスがあるかどうか」のフラグ変数を作れば?
0499デフォルトの名無しさんNGNG
>>497
そういうことを透過的にやるフレーム作りなよ。
キー処理とかマウスとかフォーカスとかアクティブとか
作れば後が楽
0500>>491=494NGNG
>>495
それですぅうううううううううううううう!
ありがとう。大好き
0501497NGNG
>>498-499
やっぱり単純に再現できるプロパティやらはないのですね。
初心者ッ子なもので、いろいろwebを探してみたいと思います。
どうもありがとうです。
0502デフォルトの名無しさんNGNG
>>494
「GCCにはある」という発言がカスぐあい露呈している。
素直に__TIME__,__DATE__マクロがないのか聞けや。
0503デフォルトの名無しさんNGNG
あるフォームから、別のフォームをモーダルで表示し、そのフォーム上で
ダブルクリックをするとフォームを閉じ呼び出し元に制御を戻します。

その時ダブルクリックされた位置の、呼出し元フォームのコントロールで
MouseUp イベントが発生してしまいます。

この MouseUp イベントを発生させないようにする方法があれば
アドバイス頂けないでしょうか?
0504デフォルトの名無しさんNGNG
一つのフォームにテキストボックスがいっぱいありまして、どれかにフォーカスがあります。
これを強制的にフォーカスを外したいのですが、一つ一つのテキストボックスの .Focused を
見ていくしかないでしょうか?
0505デフォルトの名無しさんNGNG
>>504
単純ですが解決しました。
自分のフォームにフォーカスをあてました。
0506デフォルトの名無しさんNGNG
>>503
それは多分、元フォームからダイアログを開けるためのマウスクリックの分のMouseUpだと思う。
//メニューからダイアログを開けたら発生しないはず。

元フォーム側のダイアログを開ける処理をMouseUpで書くか、あとはフラグ立てるか。
0507489NGNG
ColorやBrushesにTransparentがあるとは知らなんだ。
だが透過色で塗り潰しても描画内容はリセットされなかったよ(´・ω・`)

fieldSurface.Dispose();
fieldSurface = new Bitmap(640, 480);
Graphics g = Graphics.FromImage(fieldSurface);

newとDisposeを使えばこれで意図した動作はしてくれるんだ。
ただ再描画する度にnewするのが気持ち悪くてしょうがない。
Disposeってどこまで信用できるのだろうか?
0508デフォルトの名無しさんNGNG
あるディレクトリがシステムディレクトリ
(RecyclerやSystem Volume Informationフォルダなど)
かどうかを調べるにはどうすれば良いんでしょう?
System.Environment.SpecialFoloderで特殊フォルダーは調べられますが、
ひとつひとつこれと同じかどうかをチェックしなければいけないのですか?
0509デフォルトの名無しさんNGNG
ショートカットファイルの読込を行えるWSHをC#で読むにはどの様にしたらいいのですか?
.lnkを読み込んで実体ファイルパスを知りたいのです。
0510デフォルトの名無しさんNGNG
>>507
ん?

using(Graphics g = Graphics.FromImage(fieldSurface)) {
 g.Clear(Color.Transparent);
}

で駄目ってこと?
0511デフォルトの名無しさんNGNG
現在,ネットワーク越しにファイルを転送するソフトを作っております.
で質問なのですがー
Explorer とかでファイルをコピーする時に,
プログレスバーの上に紙が左から右へ移動する絵が出ますが,
あーいうの(ていうか,可能ならアレそのもの)を簡単に実装する方法はありますか?
何か参照設定して貼るだけーとかだと楽でいいなーと思ったのですが,
自分でビットマップをいちいち描画しなきゃならないでしょうか……

自分でも色々検索したりしたのですが,いかんせん,
アレが何という名称なのかわからないので
どこにもたどり着けませんでしたw
0512デフォルトの名無しさんNGNG
>>511
ProgressBarかな?
0513デフォルトの名無しさんNGNG
>>511
SysAnimate32 (アニメーション コントロール) でAVIを再生している
0514511NGNG
>>513
そうだったのかー!
疑問が氷解しました.どうもありがとう!
0515489NGNG
>>510
Clearメソッドあったのか。FillRectangleしてたよ。orz
0516デフォルトの名無しさんNGNG
Fontを指定した場合の文字列の幅を取得したいのですが、
e.Graphics.MeasureString
(e:PaintEventArgs)
だと、PaintEventArgsが必要となってしまい、
OnPaint関数内とかでしか実行できず
Formを描画する前に文字列の幅を取得することが出来ません。
何かお手軽に文字列の幅を取得するような方法はないですか?
0517デフォルトの名無しさんNGNG
SizeF size = g.MeasureString(str, font);
0518デフォルトの名無しさんNGNG
Graphics.FromHwnd
0519デフォルトの名無しさんNGNG
MemoryStream ms = new MemoryStream();
DataFormats.Format df = DataFormats.GetFormat("hoge");
ms = (MemoryStream)Clipboard.GetDataObject().GetData(df.Name);
String str = System.Text.Encoding.GetEncoding("Shift_JIS").GetString(ms.ToArray());
という形でテキストベースのデータをstrに読み込んでいるのですが、逆にこのメソッドで自分でセットしたデータを読み込ますには
どうしたらいいですか?

DataFormats.Format myFormat = DataFormats.GetFormat("hoge");
byte [] b = System.Text.Encoding.GetEncoding(932).GetBytes("ほげてすと");
IDataObject myCopyData = new DataObject(myFormat.Name,b);
Clipboard.SetDataObject(myCopyData,true);

としても何も読み込まれません。
0520デフォルトの名無しさんNGNG
GetFormat("hoge")のhogeって何?
DataFormats.Textじゃ駄目なの?
0521デフォルトの名無しさんNGNG
hogeでいいよ


  ; .
 `
0522519NGNG
フォーマット名はなんでもいいんですが、生Textではなく
>>619に示した読み込み方で読めないと困るのでその方法を探しているのですが。
0523516NGNG
>>517-518
どうもありがとうございます!
無事出来ました。
が!
Formのコンストラクタ内で使用したのですが、
Graphics g = this.CreateGraphics();
(Graphics g = Graphics.FromHwnd(this.Handle)も同様)
この一行があるとFormのLoadメソッドが呼ばれなくなってしまいます。
これは何故なのでしょう??
0524デフォルトの名無しさんNGNG
MemoryStreamにデータを書き込んで、
dataObject.SetData(typeof(MemoryStream), memoryStream);
とか。
0525519NGNG
>>524さん
いけました。 ありがとうございました。
0526デフォルトの名無しさんNGNG
VisualC# 2005
で、DLLは作れますか?



  ; .
 `

0527デフォルトの名無しさんNGNG
>>526
2003 の時点で DLL 作れた気が。
0528デフォルトの名無しさんNGNG
リソース管理の極論として、
クラス(IDisposable実装)は全てDispose()もしくはusingしる、でいいんか?
0529デフォルトの名無しさんNGNG
Graphicsオブジェクトに描画を行う時、原点は(0, 0)なわけだが、この原点を変更する方法はある?
0530最凶VB厨房NGNG
http://www.microsoft.com/japan/msdn/library/?url=/japan/msdn/library/ja/cpguide/html/_gdiplus_Types_of_Coordinate_Systems_about.asp?frame=true
0531デフォルトの名無しさんNGNG
フォーム作成時に
一瞬アクティブになってから、元のフォームにフォーカスを戻す以外で、
アクティブにしない方法ってありますか?
0532デフォルトの名無しさんNGNG
フォームのフェードイン、フェードアウトがあると聞いてるのですが、
コントロールのフェードイン、フェードアウトはあるのでしょうか?
あるとしたらその方法を教えてください。よろしくお願いします。
0533デフォルトの名無しさんNGNG
GraphicPathってのと
普通にg.DrawLineとかで描くのとって何が違うんですか?
0534デフォルトの名無しさんNGNG
FillPathメソッドを使えるというのは大きな利点だな。
あと操作が増えればGraphicsPathで描画する方が効率がよくなる。
0535デフォルトの名無しさんNGNG
>>533
線の端っこの繋ぎ方が変わる
0536533NGNG
>>534さん
GraphicsPathの方が効率良いんですか。 なるほど。

>>535さん
詳細キボンヌ
0537デフォルトの名無しさんNGNG
インテリセンスみたいに textbox のところに
listbox を表示するみたいな感じのオートコンプリートってどうやって実装するんですか?

ttp://santamartadotnet.hp.infoseek.co.jp/documents/dotnettips/tips044.html
ttp://www.codeproject.com/vb/net/autocomplete_combobox.asp

とかは見つかったんですが、 listbox を使う方法が載ってなくて・・・

コマンドランチャーを作ってるだけなんで、どうしても無理なら ComboBox を使うことも考えてます。
0538C ◆.6Hqkk7dyk NGNG
すいません。質問です。お願いします。

C#.netのtextboxで右寄せカンマ区切り数値入力ってどうやって実現するのですか?
ネットを散々、探したし本も大量に買ってきたが何処にも出ていない。
初心者でも出来るC#みたいな本には3桁までの整数しか扱わないサギみたいな
サンプルばかりで何の役にも立たない。(カンマ入力にならないから)
禁断の○○○の技みたいな本にも書いていない。

一言、「C#で実現できるのですか?」

本当に悩んでいます。よろしくお願いします。
0539デフォルトの名無しさんNGNG
さてそれはSystem.Windows.Forms.TextBoxの話なのか、System.Web.UI.WebControls.TextBoxの話なのか。
それは本当にTextBoxでなければいけないのかどうなのか。
0540デフォルトの名無しさんNGNG
>>537
http://www.codeproject.com/csharp/DIY-Intellisense.asp

>>538
Console.WriteLine("value={0,15:#,##0}", 1234567890);

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconcustomnumericformatstrings.asp
0541デフォルトの名無しさんNGNG
>>538
文字が1文字でも変化するたびに発生するイベント無かったっけ?
それを拾ってカンマを手動で埋め込むとか。
0542デフォルトの名無しさんNGNG
StringFormatでいいだべさ
0543デフォルトの名無しさんNGNG
Debug.Assertが失敗したときにでるダイアログの表示を
プログラム実行中に一時的にすべて止めたいのだけれど、
なにかいい方法はないですか?
TraceSwitchクラスは違った。。。
0544543NGNG
DefaultTraceListenerを継承したらいけました。すんません。m(__)m
0545デフォルトの名無しさんNGNG
.net のクラス関係をUMLず使って説明してるようなリファレンスに近いものって海外書籍でも(・∀・)イイ!!からありませんかね?
まいかいMSDN引いてるような感じなんだけど、全体いまいち把握してないので・・・
0546rNGNG
Makefileについて質問です。
自分で調べて思考錯誤しましたが、これ以上前に進めそうにないので
書き込みします。
2つのソースファイルのグループを、異なるオプションでコンパイル
するためのmakefileを作りたいのですが、現状は、make clean の後の
makeは問題ないが、touch等で更新しても、makeしてくれません。

以下、自分のmakefileです。

CC = sh4-linux-gcc
LD = sh4-linux-gcc
DESTNAME = このファイルを最終的に作りたい
OBJS = なんとか.oたくさん
OPTOBJS = なんとか.oたくさん これと上のグループのオプションを変えたい
.SUFFIXES: .c .o

all: ${DESTNAME}
$(DESTNAME):$(OBJS) $(OPTOBJS)
$(LD) -o $@ $(OBJS) $(OPTOBJS)

CFLAGS = -O3 -Wall -DCPU=V830 -DSYSTEM=GHS -DCPU0 -DSIMULATE -c
OPTCFLAGS = -Wall -DCPU=V830 -DSYSTEM=GHS -DCPU0 -DSIMULATE -c

$(OPTOBJS):
$(CC) -o $@ $(OPTCFLAGS) $*.c
$(OBJS):
$(CC) -o $@ $(CFLAGS) $*.c
clean:
rm -f $(DESTNAME) $(OBJS) $(OPTOBJS)

以上です。
よろしくお願いします。
0547デフォルトの名無しさんNGNG
ややスレ違いだな。他を当たれ
0548rNGNG
板間違えたようです....
場所変えたほうがいいですか?
0549rNGNG
わかりました。
0550デフォルトの名無しさんNGNG
C#で
ArrayList array = new ArrayList();
String[] a;
String str = "0,1,2,3,4,5,6,7,8,9";
のときに
array.Add(str.Split(','));とやっても上手くデータが入ってくれません。
a = str.Split(',');の場合は上手くいくんですが、ご教授いただけないでしょうか?

よろしくお願いします。
0551デフォルトの名無しさんNGNG
ArrayList.Addの引数を調べてみよう。
ついでにAddの一つ下に書かれてるだろうメソッドも調べてみよう。
0552デフォルトの名無しさんNGNG
>>538
NumericUpDownコントロールなら
ThousandsSeparatorプロパティーがあった気がする。
Trueにすると1000ごとにカンマ自動挿入
0553デフォルトの名無しさんNGNG
あるクラスのコンストラクタ内で
文字列の幅を求めたいのですが、
コントロールを継承していないクラスの場合
CreateGraphicsが使えず、Graphicsオブジェクトが取得できません。
こういう場合はどのように文字列の幅を取得するのでしょうか?
0554デフォルトの名無しさんNGNG
コンストラクタの引数でコントロールを受け取る。
0555デフォルトの名無しさんNGNG
やはり、文字列の幅求めるだけでも
よそのコントロールを使ってGraphics取得するしかないのですね。
どうもありがとうございます。
0556デフォルトの名無しさんNGNG
そもそも、その「文字列」が何を指しているのかわからんのだけどね。
0557デフォルトの名無しさんNGNG
DataGridViewにRowDeletingがないので、
RowのDelete『前』の当該RowのValueが取得できません。

myDataGridView.Rows[e.RowIndex].Cells[0].Value.ToString()
は、消された行に繰り上がった行の内容が・・・〇rz...
0558デフォルトの名無しさんNGNG
http://www.amazon.com/exec/obidos/tg/detail/-/0782141765/103-5068626-6615800?v=glance
この本、趣味で個人的に翻訳(索引だけはまだ)してみたんだが、公開しちゃまずいよね?
0559デフォルトの名無しさんNGNG
>>555
Font使ってどうにかなると思う
0560デフォルトの名無しさんNGNG
>558
だめ
0561555NGNG
>559
マジですか!?
どんな感じでやるんでしょう??
0562デフォルトの名無しさんNGNG
>>559
ふぉんとですか!?
どんな感じでやるんでしょう??
0563デフォルトの名無しさんNGNG
MSDN調べるとか、自分で出来ることぐらいやったらどうかと
0564デフォルトの名無しさんNGNG
>>558
出版社に掛け合ってみたらどうだ?「もう出来上がっている」って言えば
強いかも。
0565デフォルトの名無しさんNGNG
>>563
わからないから聞いてんだけど。
0566デフォルトの名無しさんNGNG
>>558
乙……っていうか凄いな
出たら見てみたいっスよ
0567デフォルトの名無しさんNGNG
その手があったか。翻訳ってどれぐらい印税入ってくるのか、あまり期待はできないだろうが・・・。
これ訳して欲しいっていうニーズがあったらやってみたいねえ。
0568デフォルトの名無しさんNGNG
>>567
もう訳せてあるみたいだし、とりあえずこの手の出版社 (日本のでも) に掛け合ってみたらどうか
話が通れば出版社側が全部手配してくれるような気も

俺は出たら欲しいかも
0569デフォルトの名無しさんNGNG
>>568
C# Network Programmingの話じゃなくて、一般的に「この本を訳してほしい」って
ニーズがあればやってみる、という意味じゃないか?
0570デフォルトの名無しさんNGNG
>>567
6%とかそのくらい。
これが多いと見るか少ないかと見るかはケース・バイ・ケースでしょうね。
特に原書に誤りが多い時など(以下愚痴続く
0571550NGNG
>>551
レス遅くなりました。
アドバイス通り調べたところ無事解決できました。
本当にありがとうございます!!!



#あんたサイコーだぜっ!
0572デフォルトの名無しさんNGNG
RichTextBoxって色分け機能がありますよね。
あれを、普通のTextBoxコントロールで実現するにはどうしたらいいんでしょうか?
0573デフォルトの名無しさんNGNG
>>572
無理っぽい
0574デフォルトの名無しさんNGNG
色分け機能が欲しいなら、自分で描画するしか無いんじゃないの?
RichTextBoxでもrtfコードをいじればそこそこ高速に出来ると思うけど。
0575572NGNG
やっぱ無理ですか(´・ω・`)
RichTextBox使います。

あと、.NET Frameworkでは、文字コードは全てUTF16ということなんですが、
textBox1.Text = "はげ"; ←で、画面に表示される文字は、文字コードを変更して表示できるんでしょうか?
0576572NGNG
×文字コードは全てUTF16
○文字列値は全てUTF16

です。
内部文字コードっていうのがよく分からないんです。
0577デフォルトの名無しさんNGNG
>>575
>  textBox1.Text = "はげ"; ←で、画面に表示される文字は、文字コードを変更して表示できるんでしょうか?

わけわからん。
どんなコードだろうが文字は文字だろ。
0578デフォルトの名無しさんNGNG
>>575
文字コードを変更して表示されます。(意味わからんがフィーリング)

ソースが SJIS で記述されていても、コンパイル時点で内部的には UTF16 になります。
ただし、画面上などに出力される時点で、別のコードに変換されてるかもしれません。
0579デフォルトの名無しさんNGNG
コンパイル後の中間コードをバイナリエディタで覗いたら、そういう
文字列はユニコードに変換されて格納されているよ。
そういう問題じゃないのかな?どのみちstringに格納されている
文字列を描画してくれるのはWindowsなので、テキストエディタを
作るなどで文字コードに気を配る必要がある場合以外は問題なし。
0580デフォルトの名無しさんNGNG
内部コードがUNICODEになったのってVB4か5のころからだったような・・
DOS窓は今でもShift-JISだから、ファイルI/Oはutf-8デフォルトだけど
Console.Out,Error,InはエンコードがShift-JIS(Default)になってますね。
0581デフォルトの名無しさんNGNG
こういう文字と文字コードと後正規表現とかのフレームワーク上でのクラス関係がのってる本と買ってないかね。
ほかのクラスとかについてもある程度一覧で載ってるのがあれば生産性あがるんだけどな・・・
MSDNとかで調べるのも玉二時間かかるときあるし
0582デフォルトの名無しさんNGNG
キンタマキンタマ〜
0583デフォルトの名無しさんNGNG
チンコチンコ〜
0584デフォルトの名無しさんNGNG
ArrayListを使って多次元配列を実現したいのですがうまくいきません。
int i, j;
ArrayList arr = new ArrayList();
arr.AddRange(new ArrayList());

for(i = 0 ; i < 10 ; i++)
{
for(j = 0; j <10 ;j++)
{
arr[0][1] = i*j;
}
}
代入するところでエラーが出ているのですが、宣言部分がおかしいのでしょうか?
どなたかご教授頂けないでしょうか。

お願いします。
0585デフォルトの名無しさんNGNG
>>584
さてどこから突っ込もう。

>  arr.AddRange(new ArrayList());

例えばint[]をAddRangeするとしよう。
int[0]、int[1]、int[2]と言う風に順番にAddされていくよな。
int[]の代わりにArrayListをAddRangeしたらどうなる?

>  arr[0][1] = i*j;

これは
list = arr[0];
list[1] = i * j;
の2つに分解できるわけで、まずArrayListのインデクサは何型を返すとヘルプに書かれてる?
0586デフォルトの名無しさんNGNG
>>585
能書きはいいからさっさと正解書けやボケ。
0587584NGNG
>>585
586は自分じゃありません、今調べているところですorz..
0588デフォルトの名無しさんNGNG
色々調べましたが何もわかりませんでした。
やっぱり無理なのですね。
0589デフォルトの名無しさんNGNG
boxingって int -> string とか object -> int とかのこと?
0590デフォルトの名無しさんNGNG
どっとも違うな。
ttp://wisdom.sakura.ne.jp/programming/cs/cs32.html
0591デフォルトの名無しさんNGNG
どっと……  orz
0592584NGNG
>>585
うーむ、解らないです。
ArrayListのインデクサ何を返すかマニュアルから見つけることが出来ないです。
ttp://bbs.wince.ne.jp/ch10/mqbbs.cgi?&FILE=bbs.log.132&MODE=MSG&NUM=6801
によると、object型…

現在これに変えてみましたがよくわからないです。
int i, j;
ArrayList arr = new ArrayList(new ArrayList());
ArrayList arr2 = new ArrayList();

//arr.AddRange(new ArrayList());

for(i = 0 ; i < 10 ; i++)
{
for(j = 0; j <10 ;j++)
{
arr2 = arr[i];
arr2[j] = i * j;
}
}
0593584NGNG
>>585
おい、そろそろ答え書かんかい。もったいつけよって、本当はわからないんだろ?( ´,_ゝ`)プッ
0594デフォルトの名無しさんNGNG
じゃあジャグ配列から考えてみる。
int[][] arrays = new int[3][];
このarraysにint[]を格納していくわけだが、さてどう格納する?

//後段の問題はまず配列の配列を作れてから。
0595デフォルトの名無しさんNGNG
>590
何となくわかった気がする

>584
ArrayList.AddRange メソッド [C#]
ICollection の要素を ArrayList の末尾に追加します。

ってMSDNに書いてた。
0596584NGNG
>>594
それは持ってる本に書いてあります。
arrays[0] = new int [5];
arrays[1] = new int [4];
arrays[2] = new int [6];
と言う形みたいです。
0597デフォルトの名無しさんNGNG
>>596
さて、int[][]はint[]をそれぞれ要素に持つ配列だ。
ArrayListは>592の通りobjectをそれぞれ要素に持つ(擬似的な)配列。

ところでC#では全てのクラス・構造体はobjectから派生している。
つまり全てのオブジェクトはobject型である、と極論できる。
これを利用してArrayListはなんでも入る配列になってるわけだ。

int[]も結局はオブジェクトで、つまり上記の通りobject型でもある。
もちろんArrayListもオブジェクトでobject型でもある。

さて、ArrayListにobject型を追加するにはどう書こう?
0598595NGNG
>597
入れるとき
ArrayList arr = new ArrayList();
ArrayList arr2 = new ArrayList();
arr.Add(new ArrayList());
arr2 = arr[0];
arr2[0] = "The fox is white";
arr2[1] = "The dog is lazy";

出すとき
ArrayList arr3 = arr[0];
string fox = arr3[0].ToString();
string dog = arr3[1].ToString();

じゃないか?
0599595NGNG
すまんがエラー出たので変更

ArrayList arr = new ArrayList();
ArrayList arr2 = new ArrayList();
arr.Add(new ArrayList());
arr2 = (ArrayList)arr[0];
arr2.Add("The fox is white");
arr2.Add("The dog is lazy");

ArrayList arr3 = (ArrayList)arr[0];
string fox = arr3[0].ToString();
string dog = arr3[1].ToString();
0600584NGNG
>>597
こんな感じですが
int i, j;
ArrayList arr = new ArrayList();
ArrayList arr2 = new ArrayList();

arr.Add(new ArrayList());

for(i = 1 ; i < 10 ; i++)
{
for(j = 1; j <10 ;j++)
{
arr2 = (ArrayList)arr[i];
arr2.Add(i*j);
}
}
インデックス範囲をこえていますってエラーが出る。
ってやってたら>>598さんと同じ感じなんですが、合っているのでしょうか。
0601デフォルトの名無しさんNGNG
>>598-600
さて、それなりに正しいけれど理解の方はどうなのかな。

>  ArrayList arr = new ArrayList();
>  ArrayList arr2 = new ArrayList();
>  arr.Add(new ArrayList());
>  arr2 = (ArrayList)arr[0];
>  arr2.Add("The fox is white");
>  arr2.Add("The dog is lazy");

arr2に新しいArrayListを作成。
arrに新しいArrayListを作成して追加。
arr2にarrのインデクス0のオブジェクトをArrayList型として取り出し。

……はじめにarr2に入れたArrayListはどこへ?

>  string fox = arr3[0].ToString();

……まあこれも有りかなぁ。普通はキャストするけれど。

>  for(i = 1 ; i < 10 ; i++)
>  {
>  for(j = 1; j <10 ;j++)
>  {
>  arr2 = (ArrayList)arr[i];
>  arr2.Add(i*j);
>  }
>  }

arrへのAddは一回しかやってないよ?
つまりarrに入ってるArrayListは一つしかないんだけど?
0602595NGNG
いまさらだが、Box化が知りたかっただけなので見守るだけにする。
と1レス消費。
0603デフォルトの名無しさんNGNG
 
0604デフォルトの名無しさんNGNG
ぬるぽ
0605デフォルトの名無しさんNGNG
Box化なら入門書嫁
0606デフォルトの名無しさんNGNG
ぼくのおちんちんはBoxingしたままです
いたいのでUnboxingできません
0607デフォルトの名無しさんNGNG
いつも誰にも相手にされないからもったいぶるんだろうな。
童貞?
0608デフォルトの名無しさんNGNG
ウボォーギンです
0609584NGNG
int i, j;
ArrayList arr = new ArrayList();
ArrayList arr2 = new ArrayList();
ArrayList arr3 = new ArrayList();

for(i = 0 ; i < 10 ; i++)
{
for(j = 0; j < 10 ;j++)
{
arr.Add(new ArrayList());
//object型だからキャスト
arr2 = (ArrayList)arr[i];
//格納
arr2.Add(i*j);
richTextBox1.AppendText(arr2[j] + "\n");
}
}

//取り出すとき配列参照
for(i = 0 ; i < 10 ; i ++)
{
arr3 = (ArrayList)arr[i];
richTextBox1.AppendText(arr3[4] + "\n");
}

どうでしょうか?
一応動作しているようですが、直したほうがいい点あったら教えていただきたいです。
0610デフォルトの名無しさんNGNG
・変数arr2、arr3に最初に代入したArrayListのインスタンスが無駄
・変数のスコープはもっと狭い方がいいかも
・AppendTextのところで「Object + String」をやってる
0611デフォルトの名無しさんNGNG
>610
いい加減教えてやれ。かわいそうになってきたorz
0612611NGNG
ArrayList arr = new ArrayList();

for(inti = 0 ; i < 10 ; i++)
{
for(int j = 0; j < 10 ;j++)
{
arr.Add(new ArrayList());
ArrayList arr2 = (ArrayList)arr[i];
arr2.Add(i*j);
richTextBox1.AppendText(arr2[j].ToString() + "\n");
}
}

//取り出すとき配列参照
for(int i = 0 ; i < 10 ; i ++)
{
ArrayList arr3 = (ArrayList)arr[i];
richTextBox1.AppendText(arr3[4] + "\n");
}

と、こう思った。
0613デフォルトの名無しさんNGNG
ArrayList arr;

arr = new ArrayList();
for(int i=0; i<10; i++){
    arr.Add(new ArrayList());
}

for(int i=0; i<10; i++){
    for(int j=0; j<10; j++){
        ((ArrayList)arr[i]).Add(i*j);
    }
}

for(int i=0; i<arr.Count; i++){
    for(int j=0; j<a.Count; j++){
        int n = (int)((ArrayList)arr[i])[j]
        Console.WriteLine("[{0}][{1}] : {2}", i,j,n);
    }
}
0614デフォルトの名無しさんNGNG
int[,] i32 = new int[10,10]

for (int i = 0; i < 10; i++){
 for (int j = 0; j < 10; j++){
  i32[i,j] = i*j;
 }
}
0615デフォルトの名無しさんNGNG
Control.Invalidate()を呼び出すとそのコントロールのPaintイベントが発生するわけだが、
複数のスレッドが同時にInvalidate()した場合でも、Paintイベントはスレッドセーフになる?
0616デフォルトの名無しさんNGNG
メッセージキューにPAINTメッセージが順に入るだけなので
同時実行はされないような気がするが。
0617おぼーん&rlo;んーぼおNGNG
おぼーん
0618デフォルトの名無しさんNGNG
>>615
Controlのメソッドの呼び出しは、
そのControlを生成したスレッドからしか行えなくなる予感。
0619デフォルトの名無しさんNGNG
Invalidateとかも呼び出しできないようにするのかな・・・
('A`)マンドクセ
0620デフォルトの名無しさんNGNG
2.0からは例外が上がるってどっかのサイトに書いてあったよ
BeginInvoke覚えるか、スレッドはワーカーと割り切るかだねえ
0621デフォルトの名無しさんNGNG
匿名メソッドが使えるようになってInvokeの手間も随分省けるようになるさ。
0622デフォルトの名無しさんNGNG
Invoke よりデッドロックの方がややこしい、一番つらい所は匿名メソッドでも解決しないので辛い、
Form関係は設計失敗だよ、あれは正直なところ作り直して欲しい。
0623デフォルトの名無しさんNGNG
デッドロックってどのこといってるんだ?
そこで起こるのは一般のマルチスレッドで起こりうるものじゃないのか?
0624デフォルトの名無しさんNGNG
ところで>>584はどこ行ったんだ?
個人的には>>614がシンプルで良いと思うけどどうなの?
0625デフォルトの名無しさんNGNG
ただの固定長多次元配列ならそれでいいが、わざわざArrayListを使うんだから可変長を求めてるんだろう。
0626デフォルトの名無しさんNGNG
PictureBox1 += new EventHandler(form2_Click_Button1);

のようにイベントを追加したあとに、追加したイベントを削除したい時には
どうしたらいいのすか?
0627デフォルトの名無しさんNGNG
PictureBox1  -= new EventHandler(form2_Click_Button1);

//なんかコードが変だけど。
0628デフォルトの名無しさんNGNG
Object obj=new EventHandler(form2_Click_Button1);
PictureBox1 +=obj;
PictureBox1 -=obj;
こんな感じ。
0629デフォルトの名無しさんNGNG
「次回は表示しない」のチェックボックスがついたようなメッセージボックスを
時々見ますが、
C#ではそのようなクラスはないですか?
0630デフォルトの名無しさんNGNG
.NETではそんなクラスは無いな。
0631デフォルトの名無しさんNGNG
そんぐらいつくろうよ・・・
0632629NGNG
あればそれに越したことはないと思ってた次第です。
ありがとうございました。
0633626NGNG
>>627
>>628

さっそく試してみます。
ありがとうございました。
0634584NGNG
レス遅くなりました。。
>>624
i,jのfor分は配列に代入する例だったので特に使わない予定です。
わざわざすいません。

>>625
可変の配列を使いたかったです。

たとえるならゲームでPOPする敵って感じです。
敵の数=arr,敵のプロパティ=arr2みたいな風に使おうと思っています。
0635デフォルトの名無しさんNGNG
ttp://jp.thespoke.net/MessageBoard/MessageBoard_ViewThread.aspx?postid=486

あの似顔絵ウィザードも含めて、HomeStyle+ って
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.NET Framework で書かれてるんですね。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
逆アセンブルしてみたら気づきました・・・・。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ああいうのを作品に組み込むのも面白いかも(笑)

MSの製品を逆汗するような奴をMSはMVPに選んでいるんです。MSは逆汗を認めていると
0636デフォルトの名無しさんNGNG
>>634
>  敵の数=arr,敵のプロパティ=arr2みたいな風に使おうと思っています。

そのりくつは おかしい

敵=Enemy抽象クラスから派生したクラス
出現した敵集団=配列

arr2はDQでいう1グループみたいなもんか。
0637584NGNG
>>636
おかしいかなぁ?
FFXIみたいに、フィールド上に何体敵がいるかわからない様な状況考えているのですが。
データをArrayに格納してそれをクラスにする予定です。
Arrayで管理するのがおかしいのでしょうか?…
0638デフォルトの名無しさんNGNG
C#でツールを作って、自分ではXPで動作確認したのですが、
MEのユーザーから、リストボックスの表示がおかしいと
報告がきました。

.netのアプリって、meや98ではうまく動かないのでしょうか?
それとも、自分の作り方が悪い?
0639デフォルトの名無しさんNGNG
既にWindows2000が出ていた時期に
98SEやMeを載せて売ってたPCメーカーの罪は重いよな〜
少し価格を上乗せするだけではるかにいいOSが載せられたのに
0640デフォルトの名無しさんNGNG
>>639
2kの時点では仕方なかった。
コンシューマ用のドライバが全然出そろってなかったんだから。
//鶏が先か卵が先かになっちゃうけど。
色々なドライバが2k対応になったのは実質XPが出てからだよ。
MSの戦略ミスも大きいね。

>>638
どうおかしいのか分からない事には何とも言い難い。
0641デフォルトの名無しさんNGNG
>>639
無理無理。
あの状況で2000一本に絞るにはUIの洗練が足りなかった。
Meの存在がそれを物語ってる。
0642638NGNG
ども。
xpとmeの違いではなくて、ただのバグでした。
リストボックスに項目がひとつだけの時に表示されないという現象でした。
発生条件が特定できたので、自分で対応できそうです。
0643デフォルトの名無しさんNGNG
>>640
当時の自作板じゃ、2000な香具師も結構いた気がする。
漏れもこんな感じだったし。
Dynabook(98SE)、BIBLO(ME)、DeskPower(ME)、自作(Win2000(組んだのは2001年))

性能/価格は自作最強だと思った。これ以降、デスクトップは全部自作w
0644デフォルトの名無しさんNGNG
>643
そろそろスレ違いだと気付け。
0645デフォルトの名無しさんNGNG
>>643
趣味でPCやってりゃRC2が出ていこうは当然2000だろ。
サポートを強いられるメーカーPCに入れるOSとしては価格を含めて
問題ありすぎだったというだけ。

関係ないが組立PCを自作って呼ぶのはいまだに違和感がある。
0646デフォルトの名無しさんNGNG
自選PCかな、実質
ケースを選べるのが一番のメリットだったりする
0647デフォルトの名無しさんNGNG
近頃は、相性とか調べる元気がないので専らショップブランド。
0648デフォルトの名無しさんNGNG
自作の方が安上がりっていう時代もとっくに過ぎたしな。
ショップブランド最高!

でスレ違いなので聞きたいんですが、ちょっとしたプログラム作るときでも
namespaceはちゃんと定義してますか?
使い捨てみたいな奴はついつい面倒で、

--- hoge.cs ---
using xxx
using xxx

class Hoge {
...
}
て感じでゴリゴリ書いてしまうんですが。
0649デフォルトの名無しさんNGNG
最近は相性なんて考える必要もまず無いから自由度だよ自由度。
E-ATXケースで中の取り回しも楽々のHDD5台キャプチャボード2枚さ。

>>648
趣味グラマだけれど。
汎用クラスの場合、自分用の固定名.機能orジャンル(Microsoft.CSharpみたいに)をつける。
アプリの場合、自分用の固定名.アプリ名をつける。
3段以上になる事はまず無いな。
0650デフォルトの名無しさんNGNG
foo(string s)でsがカンマ区切りの4つのデータ以外の形式で渡されたときに
投げる例外ってArgumentExceptionでいいの?
それともMyClassExceptionを定義してそれ投げた方がいいの?
この二つの投げ方の使い分けの基準みたいなのがあったら教えてください。
0651デフォルトの名無しさんNGNG
便乗質問。
あるメソッドを実行する時に、持ってるプロパティが不整合だった場合に投げる例外ってどんなのがいいでしょ?
0652デフォルトの名無しさんNGNG
プロパティの状態が異常だから
InvalidOperationException ではなかろうか。
0653デフォルトの名無しさんNGNG
>>650
ArgumentExceptionで妥当だと思われます。
自前の例外クラスを作るとcatchして例外処理するときに便利だったりしますね。
0654デフォルトの名無しさんNGNG
表現が難しいのですが、ボタンがコンボボックスみたいなのになっている
コントロールというのはどのように実装するのでしょうか?
(Visual Studio の ファイルを開くダイアログの開くのボタンがそのように
なっています)

そのままコントロールが存在すればありがたいのですが、
なければ自分で作ろうかとも考えていまして…。

よろしくお願いします。
0655デフォルトの名無しさんNGNG
>>652
ありがとう。
確かにすごく妥当な解説になってますね。

>オブジェクトの現在の状態に対して無効なメソッド呼び出しが行われた場合にスローされる例外。
0656デフォルトの名無しさんNGNG
グローバルホットキーを設定して、
特定の組み合わせに反応してマウスの各種動作
(左右クリック/ダブルクリック、中クリック/ホイールスクロール)
をさせたいのですが、
(ex: Ctrl+[ を受け取ったときにアクティブなウインドウでホイールスクロール動作をさせたい)
どう調べていいか見当が付かないので
hogehogeでぐぐれ!といったヒントをいただけないでしょうか?
0657デフォルトの名無しさんNGNG
RegisterHotkey
SendInput/mouse_event

Win32APIの海に沈め、と。
0658デフォルトの名無しさんNGNG
ReflectorみたいなのでSystem.Windows.Formsを使用していないもの紹介希望。
Monoでの動作確認があると最高。
0659デフォルトの名無しさんNGNG
C#というんではないんだが、ThreadPriority.Lowestにしてワーカースレッド作ったのにGUIが固まるというのは何なんでしょう
メモリ足りずにページファイルでスレッド全体固まってるのか?
0660デフォルトの名無しさんNGNG
>>659
ファイルI/O(ページファイルへのアクセスを含む)はスレッドの優先順位関係ないですからね。
あとワーカ側でCOM呼び出しを行っている(ライブラリ経由も含む)なら、ワーカ側にもApplication
作ってあげて定期的に DoEvent するべし。
0661デフォルトの名無しさんNGNG
>>659
2000だが2003やXPだと多少スレッド管理まともになるのかね?ページファイルからむとエクスプローラーもかたまるような。
COMのはなしはSTAがらみのときかね?あまりもうCOM触らないので興味本位ですが。
0662デフォルトの名無しさんNGNG
コントロールのデザイン時の属性つにいてもし知っている方がいたら教えてください。
オブジェクト型プロパティーを準備して
[Browsable(false)]
を使ってデザイン時に表示しないようにしています、
これを適当なフォームに放り込むと初期時(InitializeComponent)で null を入れて初期化しようとします。
null を入れられるとちょっと困った事態になるし、初期状態では設定すべきオブジェクトが完成していないので
この段階でデフォルト値として設定するわけにもいかずで、ちょっとこまっています。
プロパティーに一切触らないようにできないでしょうか?

>>659
ワーカースレッドはマジ死ねます、できる限り使わない設計がよかろかと思う、
プログラムの構造としては直感的でなくてかなり嫌だけれど、DoEventを使った再入式がベスト。
理解可能なバグは大量発生するハメになるけれど、理解不能の謎バグはこれなら少なくとも出てこないです。
上にも書いてありますが、ライブラリーの構造がいとも簡単にデッドロックを引き起こすような構造をしている。
.NetFrameworkのワーカースレッドは鬼門です。
0663デフォルトの名無しさんNGNG
>>662
>.NetFrameworkのワーカースレッドは鬼門です。

それは言いすぎじゃないかなぁ。
サーバ側なんかワーカスレッド(スレッドプール)のカタマリになるわけだけど、別段謎バグとかの問題はないし。
メッセージキューに触りにくいので簡単なスレッド間通知がし難いのは感じるけど。
ユーザ定義メッセージのPostとそれのハンドリングはデフォルトで付けといて欲しかった。
(BeginInvokeはそれなりに面倒だし)
0664デフォルトの名無しさんNGNG
>>663
てゆうか、もう疲れたって感じなんで……
アレを使うと何のための作業をしているのか分らなくなってしまう。
0665デフォルトの名無しさんNGNG
>>664
それは設計が悪かったのでは・・・

というのは置いといて、.Net の各種 BeginHogeHoge の非同期処理メソッドって実は壊れた設計ですよね。
async_result = f.BeginXXX(); とかするわけだけど、非同期コールバックが呼ばれる前にこの代入が完了している、
という保証は無いわけで、内部で安心して EndXXX(async_result) できない。

殆ど全ての場合大丈夫だろうし、サンプルでもこの問題は無いことになってるけど、実際にはlock等で代入の完了を
待ち合わせる必要があるはず。out パラメータにして、値がセットされてからコールバックが呼ばれることを保証して
くれればよかったのに・・・
0666デフォルトの名無しさんNGNG
>>665
アプリが小さい内は設計による動作保障は簡単なんですがね、大きくなったらもうお手上げです、
何処で何を起こされているのか全く分らない。
もっとも厳しいのはデバックしても原因不明となってしまい、
ほとんど丸ごと廃棄処分にせざるを得ないといった事態です
で、実際そうなって、こんなもの使わないほうが初期は多少面倒でも最終的には利があると思ってしまいました。
0667デフォルトの名無しさんNGNG
>>662
ShouldSerializePropertyでfalse返す。こんな感じ。

private bool ShouldSerializeMyProperty() { return false; }

private int myProperty;
[Browsable(false)]
public int MyProperty {
 get { return this.myProperty; }
 set { this.myProperty = value; }
}

静的に値が決められない場合はShouldSerialize使えってMSDNにもかいてあると思う。
0668デフォルトの名無しさんNGNG
>>665
> async_result = f.BeginXXX(); とかするわけだけど、非同期コールバックが呼ばれる前にこの代入が完了している、
> という保証は無いわけで、内部で安心して EndXXX(async_result) できない。

具体的に説明をお願いできます?
0669デフォルトの名無しさんNGNG
>>665 の勘違いだろう。
代入は呼び出し元のスレッドで行われるので、
EndXXX() に移った時点で完了していないわけがない。
0670デフォルトの名無しさんNGNG
>>667
サンクス
しかし読んでみたけれど、この説明からこのメソッドの機能が全く理解できません(ToT)
ああ辛い
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemcomponentmodelpropertydescriptorclassshouldserializevaluetopic.asp
0671デフォルトの名無しさんNGNG
>>669の言ってることもよう分からん。
0672デフォルトの名無しさんNGNG
>>665
あんた非同期コールバック内で呼び出し元で代入した変数使うのか?
なんのための引数なんだ…
0673デフォルトの名無しさんNGNG
>>670
何が解らないのかわからない。

bool ShouldSerialize[プロパティの名前]()

ってメソッド作って、現在の状態で永続化(つまりコード上での代入処理だ)
が必要な場合にはtrueを返す。いらない場合にはfalseを返す。
デザイナはその結果をもって、代入処理が必要かどうかを判断するってだけだろ。
0674デフォルトの名無しさんNGNG
>>663-672
イベントとか使ってGUIスレッドでの動作保障させるとかってできるんですかね。
ワーカースレッドイベント発行->非同期でかまわないからGUIスレッド側でイベント処理デリゲート起動されるような。
まだGUIスレッド関係精査してないので基本事項なのかもしれませんが・・・
0675デフォルトの名無しさんNGNG
MicrosoftのDigitalPhotoImageって画像ビューワー兼エディタありますが、あの写真の高速表示はなに使ってるんでしょう?
DirectDrawとかでしょうか?それにしてもたくさんのファイルの読み込みも速かったのですがその割にはメモリ使ってないように見えました。
0676デフォルトの名無しさんNGNG
>>665
EndInvokeは完了まで待機するから使えないってことかな。終わったかどうかポーリングしたいなら
IAsyncResult.IsCompletedを使えばよい。ワーカースレッドならThreadPoolを使ったほうが楽では
ないだろうか。戻り通知はイベントで処理。
public class FormXXXXX : System.Windows.Forms.Form {
 // いろいろ省略
 private void button1_Click(object sender, System.EventArgs e) {
   button1.Enabled = false;
   ThreadPool.QueueUserWorkItem(new WaitCallback(Worker1), "儲かりまっか");
 }
 public void Worker1(object arg) { // ここではGUIにアクセスは禁止
   string s = (string) arg;
   // なにやら重い処理
   RetEventArgs retArgs = new RetEventArgs();
   retArgs.status = "ぼちぼちでんな";
   // スレッドにマーシャリング(投げっぱなし)
   this.BeginInvoke(new RetEventHandler(Owari), new object [] { this, retArgs });
 }
 private void Owari(object sender, RetEventArgs e)
 {
 TextBox1.Text = e.status;
   button1.Enabled = true;
 }
 private class RetEventArgs : EventArgs { public string status; }
 private delegate void RetEventHandler(object sender, RetEventArgs e);
}
0677最凶VB厨房NGNG
>>665の言いたいことはそういうことだったのか?!?!
>>665の再降臨キボンヌ
0678デフォルトの名無しさんNGNG
>>673
すみません、その説明を見たらますます混乱したのですが、
bool ShouldSerialize[プロパティの名前]()
の
[プロパティの名前]
の部分はどういう意味ですか?
0679デフォルトの名無しさんNGNG
C#でゲームを作ったんですけどexeファイルでは自分のローカルでしかあつかえませんよね。
誰でも出来るようにJavaScriptみたいにhtml上で動かせるようにすることって出来ないのでしょうか?
0680デフォルトの名無しさんNGNG
HTML 上で exe が動かせるようになったらブラクラ作り放題ですな
0681デフォルトの名無しさんNGNG
>>680
動かせるよ、今でもセキュリティー付きで。
0682デフォルトの名無しさんNGNG
>>679
やりたい事に相当するかどうか分らないけれど、参考までに。
http://www.atmarkit.co.jp/fdotnet/special/ntdeploy/ntdeploy_01.html
0683デフォルトの名無しさんNGNG
>>678
そのまま[プロパティの名前]。
例えば Name プロパティなら ShouldSerializeName だし、
MyProperty1 プロパティなら ShouldSerializeMyProperty1 という具合でしょう。
0684デフォルトの名無しさんNGNG
>>682
ありがとうございます。

例えば「テトリス」でぐぐると、FlashやJavaScriptで作られ、サイト上に埋め込まれたものがたくさんヒットしますが、
このようなことは出来ないのでしょうか?
0685デフォルトの名無しさんNGNG
>>684
現状ではできないのでは無いかと思う(詳しい人よろしく)
実はこれ、ノータッチデプイメントですら、実際やってみるとあまりよろしい物ではなくて……
現状では使えるクラスが殆どないんですよ、これを使うと、DirectXが使えないというのが特に致命的、
まだ取りあえず動かしてみましたって感じです、今すぐならFlash/JavaScriptがよろしいかと。
ロングフォルンにちょっと期待しているのですが、さてさてどうなる事やら。
0686デフォルトの名無しさんNGNG
ASP.NETでもクライアント側の処理はJavaScriptだしな。
ノータッチデプロイメントのDirectXはManagedならそのうちOKになるかな?
0687デフォルトの名無しさんNGNG
>>679
しかしJavaScriptにしたって、結局ローカルにダウンロードして動いてるだけだしな。
サーバーサイドの技術と勘違いしてるのか?
0688デフォルトの名無しさんNGNG
>>687
要するにブラウザのプラグイン的に動作するもの、と言う要件ではないかな。
ノータッチデプロイメントはいかにもexeを実行してますって雰囲気だし。
0689デフォルトの名無しさんNGNG
>>686
多分いけるようになるんじゃないかな、DirectXがGDIの下に入るという事は、
GDIが実行可能になるためにもDirectXは実行可能でないとならないと思うので。
もっともフルスクリーン等の画面のっとり系は、なりすまし実行防止でブロックされると思うけど。
0690デフォルトの名無しさんNGNG
>>684
http://www.sellsbrothers.com/wahoo/
0691デフォルトの名無しさんNGNG
ぷるるん♥
0692デフォルトの名無しさんNGNG
C♯初心者(プログラミング自体もPerlしか・・・)です、質問宜しくお願い致します。

ファイルをコピーする速度を測りたくて、タイマーで100m秒ごとに変数を増加させながら、
ファイルのコピーを行って、ファイルのコピーが終わった時点でタイマーを止めて、
かかった時間を割り出したいと思っています。

ボタンをクリック → timer1.Enable = true;
→ スレッド(tjeread1)を開始
ってところまではできたんですが、肝心のタイマーを止められないのです。

public static void thread1()
{
string copy1 = Application.StartupPath.ToString() + "\\" + "test1.bin";   //コピー元
string copy2 = Application.StartupPath.ToString() + "\\" + "test2.bin";   //コピー先
File.Copy(copy1, copy2, true);                             //コピーする
timer1.Enable = false;                                  //タイマーを止める
}

上のような動きをさせたいのですが、thread1の中からtimer1.Enableをfalseにはできないものなのでしょうか??
諸先輩方、宜しくお願い致します。
0693デフォルトの名無しさんNGNG
System.Windows.Forms.Timerはマルチスレッドでは使わないのが無難。
System.Timers.TimerかSystem.Threading.Timerをつかうべし。

ところでさ、コピー時間を計るだけならわざわざそんなことしなくても
開始直前の時間と終了直後の時間を比較すればいいと思うのだけど。
System.DateTime.Nowを使えば現在の時間が取得できるよ。
0694デフォルトの名無しさんNGNG
確かにノータッチデプロイメントはインターネットゾーンではできることは少ないですね。
イントラゾーンだとわりと使える。アプレットの代替というよりイントラ向きの機能と思います。
個人的にはディスクトップを含むDocuments and Settings以下はイントラゾーン扱いにして
欲しいと思ってるくらいですけどね。
0695692NGNG
>>693
System.Timers.Timer も
System.Threading.Timer も全然知りませんでした(涙
手元に偶然あったのが古本屋で買ってきたVB6.0用の本だったので・・・
早速ぐぐってみますね

>開始直前の時間と終了直後の時間を比較すればいいと思うのだけど。
。・゚・(ノ∀`)・゚・。
「かかった時間」という先入観で全く思いつきませんでした(苦笑
まったく何というか、自分にはプログラミングの才能のカケラもないみたいです。

それにしても素早いレス本当に有り難う御座います。
もう一つ質問なのですが、
Thread1の中ではtimer1.Enabelと同様に、TextBox1.Textとかから情報を受け取ることができないのでしょうか?
例えば>>692のソース内の
string copy1 = Application.StartupPath.ToString() + "\\" + "test1.bin";    という箇所を
string copy1 = TextBox1.Text.ToString();
みたいにして、任意のファイルをコピーしたいのですが、timer1.Enabelと同様、エラーが出てしまいます。

(スレの流れを完全に無視した質問失礼します・・・
0696デフォルトの名無しさんNGNG
>>695
>  Thread1の中ではtimer1.Enabelと同様に、TextBox1.Textとかから情報を受け取ることができないのでしょうか?

とりあえず読むだけなら深く考える事もなく可能だよ。

>  例えば>>692のソース内の
>  string copy1 = Application.StartupPath.ToString() + "\\" + "test1.bin";    という箇所を  
>  string copy1 = TextBox1.Text.ToString();
>  みたいにして、任意のファイルをコピーしたいのですが、timer1.Enabelと同様、エラーが出てしまいます。

この質問にはstaticと言うものを理解する必要がある。
端的に言ってthread1メソッドからstaticキーワードをはずせば可能になるだろうけど。
もっと基礎を勉強すべきだね。
0697デフォルトの名無しさんNGNG
>>692
System.Windows.Forms.Timerで起動されるイベントはメッセージポンプをもつユーザーインターフェイス
スレッドで動作します。Win32のWM_TIMERを使ってると考えればわかりやすいでしょう。
このためFormや他のGUI関係のコントロールと同じく他のスレッドから操作に制限があるものと思われます。
System.Windows.Forms.Timerは呼び出し元と同じスレッドで動作しますから、呼び出し元のGUIコント
ロールに安全にアクセスできます。その代わり呼び出し元が実行中ならばイベントは保留されます。
またイベント実行中は呼び出し元は保留状態になります。このため時間のかかる処理にはこのTimerは
向きませんし間隔も正確ではありません。
>>676 でスレッドにマーシャリングとありますがこれは原理的にはイベントをメッセージループに乗せて
発行していると推測できます。
0698692NGNG
>>696
static・・・
慣れないモノですっかり忘れておりました。
一応、ファイルのコピー速度を測るプログラムは皆様のおかげで作ることができたのですが、
外付けHDDに書き込むスピードは13MB/sと普通なのですが、
読み込みのスピードが180MB/sとかとんでもないスピードで表示されてしまうのです。
バグがないかとソースを見つけること小一時間、
ネット中を探し回ること小一時間、

どこにもありません。・゚・(ノ∀`)・゚・。

もしかして自分のHDDは「試作品の次世代HDDがミスで製品に混入してしまった」とかで
読み込みがUSB2.0で200MB/sくらいでるのでは??っと思い、(USB2.0自体80MB/sなのにw)
試しに外付けHDDから手動でコピー速度を測るソフトで作られたファイルを
デスクトップにドラック&ドロップしてみると・・・
コピーにかかった時間→体感0.2秒 (゚∀。)
まさか本当に!?

・・・(頭を冷やして冷静に・・・
アレです、もしかしてHDDキャッシュが有効になってたりして・・・
キタ━━━━(゚∀゚)━━━━!!
無効化→再挑戦→             「  11.6MB/s   」
なんかヤケに現実的な結果がでてきました、間違いなさそうです。

そこで本題なのですが、VC♯上からディスクのキャッシュを無効化&有効化などは行えるのでしょうか?
毎度毎度申し訳ありませんが宜しくお願い致します。

※それにしても毎秒200MBくらいのスピードがでるHDDは何年後の話だろうw

0699デフォルトの名無しさんNGNG
ウゼー
0700デフォルトの名無しさんNGNG
Environment.TickCount使っとけば良いと思うぞ、精度の要求にもよるが。
真面目に作るならTickCountのオーバーフロー時の対策もいるかな。
0701デフォルトの名無しさんNGNG
>>698
そこまで早さが出るようになる前に、HDD自体がなくなっていると思う、
なんか10年後には2*2cmのチップに「現在のハードディスクの数万倍の容量」が入る
とかいうの聞いたことあるしw
そうなるとあれだな、速度もメモリー並にあがってるか?
0702デフォルトの名無しさんNGNG
何度も実行してキャッシュされてるだけなんじゃないの?
0703684NGNG
とりあえずexeファイルだけのものなら、普通にアップロードすれば直接実行することが出来ました。
しかし、例えばttp://santamartadotnet.hp.infoseek.co.jp/releases/samples/tetris.htmlのように
グラフィックファイルが別に分かれているものだと実行できません。
このように複数のファイルに分かれたゲームを起動する方法、
あるいはグラフィックファイルをexeの中にまとめてしまって1つにする方法はないものでしょうか?
0704デフォルトの名無しさんNGNG
埋め込まれたリソース
0705デフォルトの名無しさんNGNG
>>684
簡易インストーラのようなものつければいいんじゃないの?
0706デフォルトの名無しさんNGNG
ノータッチデプロイメントの話であるという流れぐらいは読もうよ。
0707デフォルトの名無しさんNGNG
>>703
パスをサーバーのものにしてないというオチじゃねえの?
0708デフォルトの名無しさんNGNG
>>707
1行目からしてそれはないだろう。
0709デフォルトの名無しさんNGNG
フォームのデータバインドの効率的な行い方についてです。

フォームに、テキストボックスやチェックボックスが 40 程あり、今データバインドで別のクラスのプロパティに
バインドしています。これ自体は問題なく使用できてます。
で、お聞きしたいのは、バインドするときにフォームとプロパティを一つ一つ処理していくのは、コードが長く
なってしまい、かっこもわるいです。
そこでみなさんはどうしていますか?何か効率的なやり方はありますか?
0710デフォルトの名無しさんNGNG
ノータッチデプロイメントの話題が出てるので便乗質問なのです。
インターネットゾーンから起動したとき .NET Security Information
のバルーンが出るのですがイントラゾーンからはでない。コードに制限を
受けてるのはどちらも同じだと思うのですが、どのへんで差が出てるのでしょう?
また、このバルーンを出さなくする方法はありますか?
0711デフォルトの名無しさんNGNG
>>710
コードアクセスセキュリティ
管理ツールの.NETなんちゃらでセキュリティポリシーを変更する。
1つのアプリだけでよければウィザードのアセンブリの信頼で許可を緩くしてあげる。
0712デフォルトの名無しさんNGNG
>>710
LocalIntranetだとUIのWindowまわりに関しては制限はないようなので、
ポップアップが出ないんだろう。
UIPermissionWindow.AllWindowsとかになってるはず。

実際ポップアップの条件は調べてみないとわからないけど。
0713710NGNG
>>711, >>712
おっしゃるとおりUIPermissionをいじるとバルーンが出なくなりました。
ただ不特定多数に管理ツールを操作させるわけにも行かないのでバルーンの
件はほっとく事にします。
調べてる途中で妙なことに気づいたのですが、xxxx.exe.configファイルが
ないとバルーンが英語表記になるようです。
中身はこれだけなんですけどね・・
<?xml version="1.0" encoding="utf-8"?>
<configuration>
</configuration>
0714デフォルトの名無しさんNGNG
何もしないウィザードで作っただけの16,384kしかないReleaseビルドしたアプリが実行時に58メガも食ってるのは既出ですか?
0715デフォルトの名無しさんNGNG
一度最小化すれば極端に減るのも既出だな。
0716デフォルトの名無しさんNGNG
おおちいさくなった。>>715さんくす。
よくわからん挙動だ。
JITするのに何で最初からメモリ食ってるのか。
0717デフォルトの名無しさんNGNG
ちょっとプログラム自体から少し外れる話だけどいいでしょうか。
今、Bitmapクラスなどのリファレンスを探しているんですが、
おすすめなものが何かありますでしょうか。
0718最凶VB厨房NGNG
http://www.microsoft.com/japan/msdn/library/?url=/japan/msdn/library/ja/cpref/html/frlrfSystemDrawing.asp?frame=true
http://www.microsoft.com/japan/msdn/library/?url=/japan/msdn/library/ja/cpguide/html/cpcondrawingeditingimages.asp?frame=true
0719710NGNG
ノータッチデプロイメントのexeをチルド付のurlに配置するとIE6.0(NT2000, XP SP2)
から起動しません。エラーも出ずに無反応です。これは一般的な現象なのでしょうか。
 ttp://hogehoge/~xxxx/ntd.exe
ちなみに ttp://hogehoge/%7exxxx/ntd.exeだとieexecがエラーを出します。
Firefoxからだと素直にダウンロードできます。
何かご存知のかたいらっしゃいましたら情報ください。.NETは1.1です。
0720デフォルトの名無しさんNGNG
>>718
やっぱりMSDNしかないんですか。
情報どうも。
0721デフォルトの名無しさんNGNG
>>719
~はgoogleの検索ワードに使えないんで調べにくい事甚だしいが、
ttp://www.janis.or.jp/users/segabito/dotNetManual.html
によると仕様のようだな。
//.NET2.0ベータでも変わらずだな……。
0722710NGNG
>>721
情報ありがとう。仕様という名の放置バグみたいですね、悲しい。
面白いことに ieexec ttp://hogehoge/~xxxx/ntd.exe とコマンドラインから
いれると起動しました。IE側の問題みたいです。
0723デフォルトの名無しさんNGNG
ティルダはURIに使える文字だったっけ?
0724デフォルトの名無しさんNGNG
()辺りならまだしも~が使えなくなったら大混乱だと思うよ?
0725デフォルトの名無しさんNGNG
ウィンドウの透明化とアルファぶれんでぃんぐには関係があるのでしょうか?
FormのOpacity で透明化を行い、描画の重ねあわせにアルファブレンドがかかわってると思うのですが、ウィンドウの透明化にアルファブレンドはかかわることはないのでしょうか?
やりたいことはグラデーションのかかった形でのウィンドウの一部透明化です。
0726デフォルトの名無しさんNGNG
>>723-724
should not のようです
ttp://www.cs.tut.fi/~jkorpela/tilde.html
0727デフォルトの名無しさんNGNG
>>725
初めの部分のいいたことがよく分からんが、UpdateLayeredWindow()で出来るかもしれない。
0728デフォルトの名無しさんNGNG
>>726
改訂版とはいえ元記事が1997年のだからなぁ。
ざっと読んだけど説得力を感じなかった。
RFC2396ではっきりとURIで扱える記号として定義されてるわけだし、~も十分市民権を得たと思うし。

//しかもノータッチデプロイメントならIE5以上だか要求されるわけで古いRFCのしがらみとも関係ないしねー。
0729デフォルトの名無しさんNGNG
>>727
レスサンクスです。
UpdateLayerdWindow見てみます。
んーと、アルファぶれんでぃんぐで透明値の指定あるけれどそれがウィンドウの透明化に関係できないかということだったんです。
それできれば要らない背景アルファ値透明にしてほかの部分は普通に描画できないかと。
0730デフォルトの名無しさんNGNG
言ってること同じじゃん。
0731デフォルトの名無しさんNGNG
>>730
同じじゃねー世馬鹿。それが同じだと思うならおまいの日本語能力はざるだな
0732725NGNG
解決しますた
http://216.239.57.104/search?q=cache:SR8xM1V3VBgJ:www.codeproject.com/cs/media/perpxalpha_sharp.asp?df=100&forumid=3270&exp=0&select=190580%20C# UpdateLayeredWindow
0733デフォルトの名無しさんNGNG
画像を実行ファイルに埋め込みたいのですが、とりあえず試しに
ttp://santamartadotnet.hp.infoseek.co.jp/releases/samples/tetris.html
↑
ここにあるやつで、
ファイル→既存項目の追加→Brock.bmp
リソースファイルのプロパティの 「ビルドアクション」を「埋め込まれたリソース」にしてビルドしてみたのですが、
「Brock.bmpが見つかりません」というダイアログが出てきました。どこが悪いのでしょうか?
0734デフォルトの名無しさんNGNG
Brock
0735733NGNG
誤brock
正block
0736デフォルトの名無しさんNGNG
なあなあ、なんで「#」なん?
C「+++」じゃあかんの?
0737デフォルトの名無しさんNGNG
>>733
ttp://dobon.net/vb/dotnet/programing/bitmapresource.html
0738デフォルトの名無しさんNGNG
>>736
+が4つ分です。
0739デフォルトの名無しさんNGNG
>>737
そこを参考に、

//現在のコードを実行しているAssemblyを取得
System.Reflection.Assembly myAssembly =
System.Reflection.Assembly.GetExecutingAssembly();
//指定されたマニフェストリソースを読み込む
Bitmap myBitmap =
new Bitmap(myAssembly.GetManifestResourceStream("Tetris.Block.bmp"));
//PictureBox1に表示

を「// ブロック用ビットマップ」のあとに挿入してみたのですが、結果は同じでした。
どこに入れればよいのでしょうか?
0740デフォルトの名無しさんNGNG
using ステートメントを使っていて思った事なのだけれど、なんで複数個指定できないんだろう?
いっそこんな感じの文法だったらネストも深くならなくて便利なんだけれど・・・
void func()
{
using MyClass a = new MyClass ;
using MyClass b = new MyClass ;

スコープから抜けるときに Dispose
}
何か理由があるんですかね?
宣言と同時にDisposeを保障するので、自前Dispose指示と違って忘れ物が無くてよいのですが・・・
ついでにこんなのがあるともっと便利。
void func()
{
using MyClass a = new MyClass finally { a.MyDispose() ; }
using MyClass b = new MyClass finally { dokokanoObject.kowasitaYO() ; }

スコープから抜けるときに finally 以下実行
}

とまあ、それはさておき現状でまとめて複数個のオブジェクトを Dispose する便利な方法があったら誰か教えてください。
0741740NGNG
いかん、C++やってたら勢いでコンストラクタにカッコを忘れている
0742デフォルトの名無しさんNGNG
using (Graphics g = Graphics.FromImage(m_bmp))
using(Brush bra=new SolidBrush(Color.Red))
{

}
こんな感じで
0743740NGNG
>>742
どうもです、
 using(宣言) 文
だったんだ、初めて気付いた。
 using( ... ) a = b ;
といった書き方もできるとは。
十分用は足しますがインデントをしない if 文の連続みたいでちょっと気持ち悪いですね。
0744デフォルトの名無しさんNGNG
using (Graphics g = Graphics.FromImage(m_bmp),
     Brush bra=new SolidBrush(Color.Red))
{

}

こう書けなかったっけ?
0745デフォルトの名無しさんNGNG
>>744
それができるのは2つの変数の型が同じときだけ。
using(A a = new A(), b = new A())
はできるけど、
using(A a = new A(), B b = new B())
は無理。
0746739NGNG
自分の力で考えて解決しますた。あなた達は用済みです。
0747デフォルトの名無しさんNGNG
( ´,_ゝ`)プッ
0748デフォルトの名無しさん05/01/17 00:35:19
仕方ないので
using (Graphics g = Graphics.FromImage(m_bmp))
using (Brush bra=new SolidBrush(Color.Red))
{
}
こう書く。
0749デフォルトの名無しさん05/01/17 01:37:15
Linkリスト等のTree形式のコレクションクラスってC#にあるのですか?
C#全然まだ解ってないのですが、n分木などを試しに実装してC#の感覚を
つかんでみたいのですが。C++のようにSTLがあればそれを利用します。
0750デフォルトの名無しさん05/01/17 01:46:02
LinkedListは.NET2.0でジェネリック型として追加される。
0751デフォルトの名無しさん05/01/17 01:55:14
実装調べてないけど ArrayList って中は list じゃないのかなー。
0752デフォルトの名無しさん05/01/17 02:07:20
>751の意味は微妙に分からないが、ArrayListは配列で実装されてる。
0753デフォルトの名無しさん05/01/17 04:18:15
ArrayListとかListとか実態と名前があってない気がするのは自分だけですか?
0754デフォルトの名無しさん05/01/17 07:07:19
C#プログラミングで一般保護例外が発生する状況ってどういう場合がある?
0755デフォルトの名無しさん05/01/17 07:51:50
>>754
1. unsafeコード内でメモリ破壊した
2. 行儀の悪いライブラリを呼んだ
3. .NET Frameworkのバグ
0756デフォルトの名無しさん05/01/17 15:08:43
DrawStringで書いた文字の終わりの座標はどうやったらわかるでしょうか?
0757デフォルトの名無しさん05/01/17 21:25:02
SMTPメールサーバを取得するのに「nslookup -type=mx」
というのを見つけて、とりあえずと実装してみたのですが、
一瞬ウィンドウが開いただけで終わってしまいます。
SMTPサーバを取得する何か良い方法はないでしょうか?

toTextBoxに送り先のメアドが入っているもとします。

private string MailExchanger()
{
 int start = toTextBox.Text.LastIndexOf("@") +1;
 int end = toTextBox.Text.Length;
 string s = toTextBox.Text.Substring(start, end-start);
 return s;
}
private void button1_Click(object sender, System.EventArgs e)
{
 System.Diagnostics.Process.Start("nslookup", @"-type=MX " + MailExchanger());
}
0758デフォルトの名無しさん05/01/17 21:38:05
RadioButtonをGroupBox等に格納して使うとき、
どのRadioButtonがチェックされたRadioButtonがどのRadioButtonか判断するようなメソッドはどこかに実装されてないでしょうか?
パッと見、取りあえず見つからなかったので自前のコンテナを作って機能させたのですが……
0759デフォルトの名無しさん05/01/17 22:09:00
>>757
スパム送信機作者乙。
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "nslookup.exe";
p.StartInfo.Arguments = "-type=MX hoge.com";
p.Start();
p.WaitForExit();
string output = p.StandardOutput.ReadToEnd();
あと適当に処理して mail exchanger を得れ。
0760デフォルトの名無しさん05/01/17 23:48:12
>>757さん
レスありがとうございます。
お陰様で、まだ途中だけど何とか実装出来そうです。
ちなみにスパム送信機ではありません。(笑)
0761デフォルトの名無しさん05/01/18 00:27:16
んむ?スパーム送信機がなんだって?
0762デフォルトの名無しさん05/01/18 02:32:49
XmlTextReaderでタグ内の空白も有効にするオプションはないでしょうか?
どんなに<a xmlns="a">なんてやっても<a xmlns="a">にしかならないっす
助けてほしいっす。
0763デフォルトの名無しさん05/01/18 03:25:18
ん? 俺のスパームがそんなに欲しいか。そうか。
0764デフォルトの名無しさん05/01/18 07:35:22
プラグイン形式のアプリ作りたいんですが
動的DLLロードみたいなことってできますか?
0765デフォルトの名無しさん05/01/18 08:34:08
Assembly.LoadFrom
0766デフォルトの名無しさん05/01/18 12:21:10
DllImportのことでちょっと聞きたい。

[DllImport("Imm32.dll")]
なんて書いたときに、"Imm32.dll"が見つからない場合もあり得ると思うんだが、
プログラムとしてはそういうときはどういう感じで書けばいい?

それとも、"Imm32.dll"が見つからないってことはまずない?

エロい人おしえて!

0767デフォルトの名無しさん05/01/18 14:22:00
>>766
DLL名を適当な名前に変えて試してみれ
0768デフォルトの名無しさん05/01/18 14:43:52
>>758
一発解決なのはないので、Controlsをforeachで回して取得、かな。as演算子小活躍。

>>762
xml的に<a xmlns="a">と<a     xmlns="a">は等価なのでそんなオプション実装するわけ無い。

>>764
765が手軽な手法。
>>485-486にAppDomainを使った手法が出てる。
どう呼ぶにしろ、485みたいなのがプラグインの基本。

>>766
Imm32.dllが見つからないとIME全滅すると思うんだけど。
そんなのはサポート対象外にすればいいんでない?
0769デフォルトの名無しさん05/01/18 15:10:02
>>768
Control は Tag っていうプロパティ持ってるから、それにあらかじめ何らかの識別情報を入れておく。

// CheckBox 作成側
for(int i=0; i<N; ++i){
RadioButton rb = new RadioButton();
// 中略
rb.Tag = i;
this.group.Add(rb);
}

// イベントハンドラ内
void OnClick(object sender, EventArgs e){
RadioButton rb = e as rb;
switch((int)rb.Tag) // 後略
}
0770デフォルトの名無しさん05/01/18 18:08:59
Controlの派生とEventHandlerに関する質問です。

class SubControl:Control{
  protected override void OnMouseUp(MouseEventArgs e){
    ………(1)………
  }
}

class MainForm:Form{
  MainForm(){
    SubControl subcontrol=new SubControl();
    subcontrol.MouseUp+=new MouseEventHandler(OnSubControlMouseUp);
  }
  void OnSubControlMouseUp(object o, MouseEventArgs e){
    ………(2)………
  }
}
上記のようにSubControlのMouseUpに対して(1)(2)を共に実行させたいのですが、
(1)のみが実行されます。
解決方法を教えて下さい。
0771デフォルトの名無しさん05/01/18 18:16:54
>>770
base.OnMouseUp() を呼ぶか(この場合 OnMouseDown も同様にすることが必須)、
自分で if (this.MouseUp != null) (this.MouseUp)(hoge) とかしてハンドラを呼び出す。

Visual Studio .Net だと、override タイプした辺りからインテリセンス任せに選んでいけば
そこらへんの説明まで付いたコードが挿入されます。
077277005/01/18 18:35:15
自己解決しました。

class SubControl:Control{
  protected override void OnMouseUp(MouseEventArgs e){
    ………(1)………
  }
}

上記のようなオーバーライドをやめて下記のように変更しました。

class SubControl:Control{
  SubControl(){
    this.MouseUp+=new MouseEventHandler(OnSubMouseUp);
  }
  void OnSubMouseUp(object o, MouseEventArgs e){
    ………(1)………
  }
}

コーディングに今ひとつ美しさを欠くのですが、
問題ないので、これで行きます。

>>771
即レスに感謝しております。
0773デフォルトの名無しさん05/01/18 19:09:14
あるファイルの中で、1回しか使わないメソッドがあったとして。
そのメソッド(の属するクラス)の属する名前空間はガンガンusingしますか?
それとも、その1回だけ使う場所で、名前空間を明示しますか?
流儀的にどちらがいいのか分かりません。1回でなく2回3回になった場合もまた困ります。
0774デフォルトの名無しさん05/01/18 19:15:21
それこそ個人なりグループなりの流儀・コーディング規約の問題だと思うけど。
私は積極的にusingする派。
0775デフォルトの名無しさん05/01/18 20:20:50
オブジェクトに対するアクセスをフックしたいのですが、どないしたら(・∀・)イイ!!でしょう?
public class Ptr<T>{
T m_t;
public Ptr(){ }
public Ptr(T t){ m_t = t; }
public T r() { return m_t; }
static public implicit operator T(Ptr<T> from){ return from.m_t; }
}
こんな感じにしたのですが、当然
Ptr<string> pts=new Ptr<string>(s);
int ind=pts.r().IndexOf('e'); か
int ind=((string)pts).IndexOf('e'); にしないとアクセスできません。

int ind=pts.IndexOf('e'); としたいのですが。知恵を貸してください・・・
0776デフォルトの名無しさん05/01/18 20:35:16
Valueプロパティでインスタンスを返すのがNullable<T>もお薦する手法だ。
077777505/01/18 21:01:08
>>776
了解です。
けんど、透過的につかう方法なかとでしょうか。C++のときはoperator->があったので通常のポインターと同じように使えたので。
077876605/01/18 21:06:18
>>767
>>768
まぁ、サポート対象外にすれば楽なんだがな。

DllImportするときに、該当のdllが見つからなかったときの対処って
どうすればいいのかなって思ったのだよ。
0779デフォルトの名無しさん05/01/18 21:12:46
C++で作成したEXEからC#のCOMコンポーネント化したオブジェクトを呼び出すようなプログラムをつくらなければならないんですが、C#でCOMを作成する方法が全くわかりません。
C#でCOMを作ることはできるのでしょうか?
0780デフォルトの名無しさん05/01/18 21:21:56
>>778
WinAPI(システム)のDLLならどうしようもないな。
対応するOSに換えていただくか、OSが対応してるはずなら再インストールしてもらうしかない。

ん〜、実際そこらのアプリを見てもDLLが足りなかったら警告メッセージだけ出して終了させてるし。

>>779
できるよ。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconExposingNETFrameworkComponentsToCOM.asp
基本的には、普通に書いたのをregasm.exeでCOMに登録して、アセンブリをGACか呼び出す側の実行ファイルと同じ位置に置くだけ。
0781デフォルトの名無しさん05/01/18 21:29:13
>>780
ありがとうございます。
MSDNのそこらへんのページも見たんですが、イマイチ理解できなくて・・・。
もっとじっくり読んであとは自力でなんとかしようと思います。
0782デフォルトの名無しさん05/01/18 21:43:08
ん、分からない事があったらまたドゾー。
078376605/01/18 22:17:28
>>780

それって、アプリが自分で起動時にDLLの存在をチェックしてるわけだよね。

DLLの検索順序調べたら↓のサイトがあった。

http://support.microsoft.com/default.aspx?scid=kb;ja;815065
1. 現在のプロセスに対応する実行可能プログラムが格納されているディレクトリ
2. 現在のディレクトリ
3. Windows システム ディレクトリ (Windows システム ディレクトリのパスは GetSystemDirectory 関数を使用して取得できます)
4. Windows ディレクトリ (Windows ディレクトリのパスは GetWindowsDirectory 関数で取得できます)
5. PATH 環境変数に設定されているディレクトリ

System.IO.File.Exists()で、↑のディレクトリを一つ一つ調べるしかないのかな。
0784デフォルトの名無しさん05/01/18 22:36:18
>>783
JITコンパイラで使ってるときは、当該メソッドを呼び出したところで例外が発生するみたいです。
のでcatchすればいいかと。
ngex.exe とかでコンパイルしようとするとどうなるのかは良くわかない。
0785デフォルトの名無しさん05/01/18 23:02:57
メッセージループがあるならApplication.ThreadExceptionで拾えるから、統一的に扱うなら。
例外が投げられるのは当然そのメソッドを初回呼び出した時。

メッセージループが無くてもAppDomain.CurrentDomain.UnhandledExceptionで拾えるんだけど……。
これって結局フレームワークが発生した例外を再スローするようだからちょっと違うかな。
078676605/01/18 23:15:06
なるほど。
皆さんどうもありがとん。
0787デフォルトの名無しさん05/01/18 23:32:18
>>783
LoadLibrary()呼び出してDllが読み込まれるか確かめるだけでよくないか?
Dllの検索順序もOSとかサービスパックによって変わるし。
0788デフォルトの名無しさん05/01/19 01:22:20
Visual C# 2005に関して質問させていただきます。

現在、DataGridViewを備えたソフトウェアを個人的に作成しています。
しかしながら、以下のような問題に突き当たり、皆様の助言を請いたく、
どうぞ宜しく。

[問題点]
private void myDataGridView_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
     myDataGridView.Rows[e.RowIndex].Cells[0].Value = str[0];
     myDataGridView.Rows[e.RowIndex].Cells[1].Value = str[1];
}
上記のように、二度押しされた行のセル内容をstrに変更したいのですが、
変更後のセル内の表示が正常にいきません。

具体的に症状を紹介します。
・セル内容は変更される。
・上記プログラム処理を行った後、変更のあったセルをSelectedにしたり
ほかのセルをSelectedにすると、「表示」が変更される。
・「表示」が変更されない、とは、2パターンある。
・一方は、見た目で全く内容の変化がない状態。
・他方は、変更前の文字と変更後の文字が重なって2重に見える。
・ただし、これらの2パターンの状態も、数度のSelected,Unselectedを
 繰り返せば、正しく表示されるようになるようだ。

・Columnには、AutoSortされるようにあらかじめ設定されている。

以上です。
セル内容変更後、直ちに「表示の変更」が正常に行われる修正案を
教えていただけないでしょうか。

心より、エロい方、宜しくお長いします。
0789デフォルトの名無しさん05/01/19 01:28:23
個人的にIRCのbotをC#で製作しています。
IRCの接続にはsf.netのthresher-1.2というライブラリを使っています。
IRCのメッセージを送るメソッドの引数はstringとなっていますが、
日本のWide系の鯖では文字コードにShift_JISを使っているようで、
stringだと普通うにこーどが使われるので文字化けしてしまいます。
この問題を解決するには、文字をエンコードすればよいと思いますが、
オーバーロードとかされてなくて引数はstringのみなので どうしたらよいかわかりません
ライブラリをなんとか書き換えるしかないのですか?
0790デフォルトの名無しさん05/01/19 01:54:35
クリップボードにファイルのコピーってC#で出来ますか?

エクスプローラー上でのコピーと同じ処理を行いたいんですが、
ぐぐって見ても、テキストやらイメージデータしか見つかりませんでした。

知ってる人がいたら教えてタモーレ
079179005/01/19 02:08:42
出来ました。
某BBSよりこぴぺ

sting[] filenames = new string[1];
filenames[0] = "c:\test.txt";
Clipboard.SetDataObject(new DataObject(DataFormats.FileDrop, filename), true);
0792デフォルトの名無しさん05/01/19 02:36:00
>>788
クイズか何かですか?
答える側が推測しないとならない部分が多い気がしますが。
とりあえずフォームにDataGridを貼り付けて2列追加した後、
DataGridのCellMouseDoubleClickイベントハンドラにて

private void myDataGridView_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
  string[] str = {"v1", "v2"};
  myDataGridView.Rows[e.RowIndex].Cells[0].Value = str[0];
  myDataGridView.Rows[e.RowIndex].Cells[1].Value = str[1];
}

などとして1行1列をダブルクリックしてみると、
確かに1行1列は"v1"が表示されて欲しいのにCell真っ白。
1行2列は"v2"と入っているのですが。
更に1行目にデータを入れたのに、新規入力用の行が2列目に無いことも
気になるところ。
なので

if (e.RowIndex == dataGridView1.Rows.Count - 1)
  dataGridView1.Rows.Add();

などと書き足してやるとなんとなくいい雰囲気。
文字が二重に見えるという現象は再現出来なかったのですけども、
果たしてどういった状況下でしょう?
0793デフォルトの名無しさん05/01/19 04:48:24
>>789
Encoding絡みのパラメータがあるっしょ。それいじってみたら?
0794デフォルトの名無しさん05/01/19 08:29:26
>>789
Shift_JISじゃなくてISO-2022-JP(いわゆるJIS)では
079576605/01/19 12:08:11
>>787
まさしくそんな感じのを探していました。
どもありがとう。
0796デフォルトの名無しさん05/01/19 16:40:59
object objDate = @"2004/01/01";
DateTime date1 = Convert.ToDateTime(objDate);
DateTime date2 = (DateTime)objDate;

date2で、キャスト不正エラーが出ますが
どうしてでしょうか
0797デフォルトの名無しさん05/01/19 16:49:16
stringからDateTimeにキャストできないから。
・DateTimeはstringから継承されてるわけではない
・stringにもDateTimeにも明示的/暗黙的な相互の型変換が定義されていない
079879605/01/19 16:56:18
ご丁寧にありがとうございます。
objDateはobject型ですが、"2004/01/01"を格納した地点で
string型に変換されてしまうってことでしょうか。
初心者ですいません。
0799デフォルトの名無しさん05/01/19 17:03:02
んーとね、
objDateはobject型として宣言されてるね。
つまり何でも入る器だ。

そこに"2004/01/01"という、string型のモノを入れた。

さてこれを器から取り出したとき、
それは「何でも入る器に入ってた」からって、どんなモノにでもなるってわけはないだろう?
何でも入る器に入ってるだけでstring型はstring型なんだから。
080079605/01/19 17:22:15
そうだったのか・・。
とても分かりやすい説明、有り難うございました。
0801デフォルトの名無しさん05/01/19 18:22:49
<a><b>ccc</b></a><a><b>ddd</b></a><a><b>eee</b></a>

こんなテキストがあったとして、ccc、ddd、eee を取り出す正規表現
を教えてください。まずは、<b>ccc</b>、<b>ddd</b>、<b>eee</b>
でも OK です。

<a>ccc</a><a>ddd</a><a>eee</a>

なら、"<a>(?<value>[^<])</a>" でいけるんですが、^ の後に複数文字
が指定できず、"<a>(?<value>[^<a])</a>"だとダメダメでした。

0802デフォルトの名無しさん05/01/19 18:30:45
"<b>(?<value>.*?)</b>" で何か問題が?
0803デフォルトの名無しさん05/01/19 18:34:30
http://www.kumei.ne.jp/c_lang/sdk/sdk_09.htm

のとおりにプログラムを作るったときのソースを教えてください。
0804デフォルトの名無しさん05/01/19 18:44:43
取りあえずCはスレ違いだな。
文章の意味もよくわからんが。
0805デフォルトの名無しさん05/01/19 18:52:15
>>802
す、すげー! ばっちりです。ありがとうございました。
0806デフォルトの名無しさん05/01/19 18:57:21
頭の固いお方ですこと
0807デフォルトの名無しさん05/01/19 19:00:31
>>803
System.Threading.Timer でも System.Windows.Forms.Timer でも
好きな物を使えばよろしいのでは。
0808デフォルトの名無しさん05/01/19 19:02:47
すみません、スレ違いでした。
これから気をつけます
0809デフォルトの名無しさん05/01/19 21:08:48
C#でWordみたいなワープロソフトを作っているサイト、又は本などを
誰か知りませんか?ご存知の方がいましたら教えてください。
0810デフォルトの名無しさん05/01/19 21:35:40
>>809
俺が、前作ってたよ
ワードは、C#で操れるよ。
#region Variable
private Word.Application _wApp;
private Word._Document _wDoc;
private Word.Selection _wSel;
private object oMissing;
private Object oTrue = true;
private Object oFalse = false;
// Open the Dropped document.
try
{
object __temp_filename = (string)fileinfo.FullName.Clone();
_wDoc = _wApp.Documents.Open(ref __temp_filename, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing);
_wSel = _wApp.Selection;
}
catch
{
MessageBox.Show("DragDrop_CantOpenWordFile_Error");
WordRelease();
fileinfo = null;
return;
}
とっかかりに、ほれ。
0811デフォルトの名無しさん05/01/19 21:36:23
あ、操作するんじゃなくて、作るのね・・・丸rz...
0812デフォルトの名無しさん05/01/19 22:06:48
ボタンをマウスでクリックした時のイベントつかまえて処理をしています。
この時マウスを連打するとクリック回数分連続でイベントが走ってしまいます。
最初の一回のイベントのみ実施してその後のイベントをキャンセルしたいのですが、
いい方法ありませんか?
マウスポインタを砂時計にしてもだめでした。
それなりに重たい処理を行うので連打を許したくないのです。
0813デフォルトの名無しさん05/01/19 22:08:31
>>812
処理中ははbutton.Enable=falseとすればいいじゃない。
0814デフォルトの名無しさん05/01/19 22:14:46
サーバー上にexeをおいて
ノータッチデプロイメントが使用されない方法ってありますか?
そのままダウンロードもしくは警告は出るが実行できるなにか。
081578805/01/19 22:15:18
http://imgb.rentalcgi.com/view/theh/1106140430.gif

写真うpしました。
お願いします。偉い方。
0816デフォルトの名無しさん05/01/19 22:16:21
ちょっとしたアプリを作っています。
Form1がメインフォームで、textBox1があります。
Class1に処理があって、Form1のbutton1をクリックするとnew Class1().Start();と呼び出されます。
このとき、Class1からメッセージstringをForm1(呼び出し元)のtextBoxに表示したいのですが、
Class1から呼び出し元にstringを渡すにはどうすれば良いのでしょうか?
デリゲートとかいうのを使うんですか?
081778805/01/19 22:20:19
class Class1{
____public Start(){
________messgebox.show("Class1のメソド");
________Form1.input("任意の文字");
____}
}

class Form1{
____public input(string str){
________this.textBox1.Text = str;
____}
}
0818デフォルトの名無しさん05/01/19 22:22:00
>>816
設計上支障がなければ Class1 に textBox1 への参照を持たせてやればいいのでは。
081978805/01/19 22:22:02
pubic void Start()

public void input(

丸rz..
0820デフォルトの名無しさん05/01/19 22:22:20
>>815
グラフィックカードが原因でそういうような画面になったことはある
082178805/01/19 22:24:13
>>820
最初は、フォームをロードしたときにコラムをアセンディングでソートしてるのが
プロブレムかと考えていたんですけど・・・ソーでもないみたい。
082278805/01/19 22:27:06
原因の一つとして、フォームをロード時に列をSort(Column[0],List....Ascending);
とかしてるのがあげられると推測していたのですが、ロード時の前記処理を
//しても変化なしでした。
くどい文章かいてごめん。
0823デフォルトの名無しさん05/01/19 22:28:55
DataGridViewのInvalidateでも呼んでやれば?
082478805/01/19 22:37:35
>>823
RefreshとかInvalidateやたーよ 〇rz...
やったのにまったく改善されはらへんて。
0825デフォルトの名無しさん05/01/19 22:45:52
>>824
ダブルクリック以外のイベントでは正しく変更される?
082678805/01/19 22:52:46
今、プログラム変更注。
082778805/01/19 22:53:23
2005重すぎるよ。
それともPen600じゃだめって?(>_<)
082878805/01/19 22:54:45
前から思ってるんですけど、
起動直後に
'System.NullReferenceException' の初回例外が Saisoku2.exe で発生しました。
っていわれるんですよ。
これ、なんなんですか?起動には支障ないみたいですが・・・
082978805/01/19 22:57:56
前から思ってたんですけど、
どうしてMicrosoft VisualC# 2005 Express Edition Beta
のアプリケーションでいくらフォームを変更しても
(しかも前回のフォームは跡形もないくらい)
いざ、デバッグすると、すでに消えているはずの
前のフォームが出てくるわけ!!
あぁ〜いらいらする。
いったい、どこに眠ってるんだ、この消したはずの
テスト用DataGridView!! あうあうあー
083078805/01/19 22:59:43
もう怒ったからこのスレ荒らしてやるー
0831デフォルトの名無しさん05/01/19 23:00:18
>>828
そういう例外が発生しているってこと。catchされているので落ちない。
どこで発生しているか見たいときには、VS .net のメニューの「デバッグ⇒例外処理」だかなんだかで
当該の例外を「常に停止」にしてデバッグ実行すると、例外の発生時点で停止してくれる。
083278805/01/19 23:05:37
>>831
まじサンクスです。さっそくやってみます。
>>830
おれじゃない。
083378805/01/19 23:09:44
831さん
オプション→デバッグ→全般ですか?
0834デフォルトの名無しさん05/01/20 00:00:53
ファイルに関連したアイコンが取得したいんですが、
ExtractAssociatedIconとSHGetFileInfoを使用しても、なぜか小さいアイコンしか
取得出来ません。
大きいアイコンの取得に関して何か特別な呼び出し方でもあるんでしょうか?

IntPtr hImageLarge = SHGetFileInfo(filename,0,ref shfi,
   (uint)Marshal.SizeOf(shfi),
   ICON_SHGFI_ICON | ICON_SHGFI_LARGEICON )

  iList.Images.Add(Icon.FromHandle(shfi.hIcon));//イメージ追加
0835デフォルトの名無しさん05/01/20 00:14:18
DataGridViewで、
DefaultCellStyleのSelectedBackColorを空欄、すなわち指定なし
すなわち選択時もバックカラーは選択前のバックカラーから変化しないように
できないでしょうか。
083678805/01/20 00:23:00
原因がわかりました。
private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0) { return; }
_dgv.Rows[e.RowIndex].Cells[0].Value = (int)(new Random().NextDouble() * 100);
_dgv.Rows[e.RowIndex].Cells[1].Value = "ここ変えた";
this._dgv.Sort(_dgv.Columns[0], ListSortDirection.Ascending);
for (int i = 0; i < _dgv.Rows.Count; i++)
{
this._dgv.Rows[i].Selected = true;
}
}
これをブレークポイントを利用して順に動作させると
あることに気づきます。それは、このダブルクリックメソッド内では
なんら_dvgを変更しない、ということです。
つまり、この中でいかにRows[i].Selected=trueとかしても
まったく意味ないのです。ループまわしたところで、
何も変化ありません!!

なぜですか!!むきょー
083783405/01/20 00:32:43
事故解決

ICON.fileBig.ImageSize = new Size(32,32)


Orz.....
0838デフォルトの名無しさん05/01/20 00:37:19
317==363==788
083978805/01/20 00:39:19
>>838
True
0840デフォルトの名無しさん05/01/20 00:50:53
>>836
ん?
_dgv.Rows[e.RowIndex].Cells[0].Value とかが変更されているでしょうに。
DataGridViewそのものをダイレクトに変更する必要ってあるのかな。
084178805/01/20 01:02:40
>>840
メソッドを抜ければ、セルの内容の変更が適用されますが、
セルを抜けるまでは表示上は適用されていないみたいです。

private void _dgv_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0) { return; }
_dgv.Rows[e.RowIndex].Cells[0].Value = (int)(new Random().NextDouble() * 100);
_dgv.Rows[e.RowIndex].Cells[1].Value = "ここ変えた";
CurrencyManager cm =
(CurrencyManager)this.BindingContext[_dgv.DataSource, _dgv.DataMember];
cm.Refresh();
}

こんなこともしてみましたが、無駄でした。
とにかく、Loadメソッドで作動させた
this._dgv.Sort(_dgv.Columns[0], ListSortDirection.Ascending);
が、セル内容変更後、すみやかに適用されません。
「すみやか」でない、とは、表現するのが難しいですが、
前の私の投稿時に紹介した画像をご覧ください。
084278805/01/20 01:27:01
気合で解決しました。

private void _dgv_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0) { return; }


int num = (int)(new Random().NextDouble() * 100);
((DataRowView)_dgv.BindingContext[_dgv.DataSource, _dgv.DataMember].Current).Row[0] = num;
((DataRowView)_dgv.BindingContext[_dgv.DataSource, _dgv.DataMember].Current).Row[1] = "ここ変えた";

// _dgv.Rows[e.RowIndex].Cells[0].Value = (int)(new Random().NextDouble() * 100);
// _dgv.Rows[e.RowIndex].Cells[1].Value = "ここ変えた";
// CurrencyManager cm =
// (CurrencyManager)this.BindingContext[_dgv.DataSource, _dgv.DataMember];
// cm.Refresh();
}

お騒がせしました〇r4z...
084378805/01/20 01:32:06
なんか、2005になっても、あまり2003とかと
変わらないんですね。
もっと簡単にいくと思ってました。期待しすぎました。
というか、僕が理解してなさすぎかもしれへんけど。
0844デフォルトの名無しさん05/01/20 01:37:27
そんなややこしいことしなくても _dgv.Rows[e.RowIndex].Cells[0].Value で
普通にデータ更新されてるけどねうちは…。
084579605/01/20 09:44:46
ファイルを一行ずつ読み込んで、DBを一件ずつ更新する処理をするプログラムを書いています。
特定のデータであった場合、従来行う処理とは別の処理を行ってから、従来の処理を行います。
ちなみに、特定のデータであるかどうかの判定は、従来の処理を行わないと分りません。
どのようなコーディングすれば、綺麗?なのか教えて下さい。
今は、下記のような感じで書いてます。

while ((line = stream.ReadLine()) != null)
{
bool ret = 従来処理();

// 特定データの場合
if (ret == false)
{
特別処理()
従来処理()
}
}
0846デフォルトの名無しさん05/01/20 09:48:57
従来処理による副作用は?
従来処理を複数回やっても大丈夫なの?
従来処理をやらずに判定することは本当に不可能なの?
0847デフォルトの名無しさん05/01/20 10:08:44
>>846
従来処理は1件のデータにつき一回だけ発行します。
特定のデータはどうかの判定は、従来処理の戻り値で
判断する以外、方法がありません。
0848デフォルトの名無しさん05/01/20 11:26:02
>>847
それ以外に無理でしょう
あとはDBのトリガーなどでDB上で処理するとかあるかもしれませんが
0849デフォルトの名無しさん05/01/20 15:58:25
RSSを取得したいんですが、例えば以下のようにローカルのファイルから読み込んでタイトルを取得しようとしても
ぬるりが出てうまくいきません。
どうすれば出来るか教えてください。
ちなみにローカルに保存してるファイルは、
http://blog.livedoor.com/xml/recent_articles_cat1.rdfここからダウンロードしたものです。
よろしくお願いします。

string strRssTitle;

XmlDocument xml = new XmlDocument();

System.IO.StreamReader str = new System.IO.StreamReader(@"E:\recent_articles_cat1.rdf");
System.Xml.XmlReader reader = new System.Xml.XmlTextReader(str);
xml.Load(reader);

XmlNode root = xml.DocumentElement;

strRssTitle = root.SelectSingleNode("/rdf/channel/title/text()").Value ; //ここでぬるり発生
0850デフォルトの名無しさん05/01/20 18:52:56
dotGNUのスレがないのでここでききます。
System.Windows.Formsで日本語を表示する方法を解説きぼんぬです。
0851デフォルトの名無しさん05/01/20 18:56:02
StripStatusBar? 2005の強化されたステータスバーありますよね。
そこにProgressBarを追加したのですが、
ForeColorの変更が適用されません。
BackGroundColorは変更できました。
教えて、ェ□ヰ人。
0852デフォルトの名無しさん05/01/20 19:43:17
コンポーネント(windows)を作っているのですが
デザイン時だけプロパティを追加できないでしょうか?

追加したいプロパティはデザイナ側に実装して
そのデザイナのプロパティの値によってコンポーネント側の
プロパティを設定したいのですが

コンポーネント側には追加したくないので

どなたかお願いします

0853デフォルトの名無しさん05/01/20 20:22:52
>>849
ttp://www.luckypines.com/GDNJS_SIDEB/3.htm
ttp://www.atmarkit.co.jp/fdotnet/easyxml/easyxml05/easyxml05_03.html
名前空間付きのは処理がめんどくさい……。
XmlNamespaceManagerのDefaultNamespaceは無視されてる……のか?
XMLでは接頭辞無しの要素名にもコード側で適当に決めた接頭辞でNamespaceURIをAddNamespaceし、XPath式で使う必要がある……のか?

>>851
普通に適用できたけどなぁ。
WEB上にもそんなバグの報告はないようだし。
StatusStripにのせたToolStripProgressBarの話だよね?
//どうでもいいがもうちょっと名前空間を工夫するとか無かったのかねToolStripやらWebBrowserやら > MS

>>852
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconImplementingExtenderProvider.asp
こういうことかな?
0854デフォルトの名無しさん05/01/20 20:27:10
すいません、c#が死滅の一途をたどっているといううわさは本当なのでしょうか?
0855デフォルトの名無しさん05/01/20 20:30:00
・ω・`) 藻舞だけちゃう
0856デフォルトの名無しさん05/01/20 20:32:59
言語仕様としては Java よりは優れていると思うよ
でもその点以外ではもうだめぽ
0857デフォルトの名無しさん05/01/20 20:36:02
     彡∩)) _, ,_  _, ,_
  ((⊂((⌒⌒((Д´≡`Д)) そんなこといっちゃやだやだぁぁぁ ――――― !!!
      `ヽ_つ ⊂ノ
0858デフォルトの名無しさん05/01/20 21:17:02
>>853

IExtenderProviderではなくComponent継承です

単純にVSのデザイナ上に
デザインモード時だけプロパティを追加したいのです。
0859デフォルトの名無しさん05/01/20 21:18:19
http://rfc-jp.nic.ad.jp/cgi-bin/direct.cgi?keyword=2616&language=eng&x=24&y=4
128頁に書いてある。仕様関係はまずRFC読む。
0860デフォルトの名無しさん05/01/20 21:19:39
誤爆です、すまんこ。
0861デフォルトの名無しさん05/01/20 21:22:42
ntpサービスを利用するためのサンプルコード、
どなたかご存知ないですか?
0862デフォルトの名無しさん05/01/20 21:26:53
>>858
DesignOnlyAttributeだ!
実際にどうなるのかは知らない。
0863デフォルトの名無しさん05/01/21 00:53:03
ちょいと教えてくださいまし

OpenFileDialogで開くコモンダイアログをカスタマイズして
チェックボックスとか付けたいんですがC#で実装する
方法がわからないのです
ヒントとかないですかね?

0864デフォルトの名無しさん05/01/21 01:31:24
>>863
派生
0865デフォルトの名無しさん05/01/21 02:19:04
>>852
案:
・PropertyDescriptorを継承するクラスを作り、「見せ側」プロパティと「実体」プロパティのプロクシとする。
・「見せ側」の方を基底コンストラクタの引数として渡し、GetValue/SetValueなどの操作は「実体」プロパティを対象にする。
・PreFilterPropertyメソッドのオーバーライドで、引数のIDictionaryに上記のクラスのインスタンスを適当なキーで追加する。
0866デフォルトの名無しさん05/01/21 02:59:36
RichTextBox.AppendTextでたまにアプリがフリーズするんだが、何が原因として考えられるだろうか。
0867デフォルトの名無しさん05/01/21 14:54:05
メモリ不足とか?
経験無いから何とも言えないけど。
WEB上にも少なくとも日本語の範囲ではRichTextBoxにせよRich Editにせよそれらしい情報がないし。
0868デフォルトの名無しさん05/01/21 16:18:14
テキストが長すぎるとか?
0869デフォルトの名無しさん05/01/21 17:40:31
フォームに、画像を読込むたび新しいPictureBoxを生成し
複数の画像をフォーム内に読込めれるようにしたいのですが、

OpenFileDialog openFileDialog = new OpenFileDialog();

if(openFileDialog.ShowDialog() == DialogResult.OK)
{
  PictureBox picturebox1 = new PictureBox();
  Bitmap bmap = new Bitmap(openFileDialog.FileName);

  picturebox1.Image = bmap;
}

では画像が表示されませんでした。足りない部分、間違っている部分を
教えてください。よろしくお願いします。
0870デフォルトの名無しさん05/01/21 17:45:18
作成したPictureBoxの、フォームのControlsへの追加を忘れてる。

サムネイルか?
0871デフォルトの名無しさん05/01/21 21:02:08
>>866
コントロールのスレッドでちゃんとアクセスしてる?
別のスレッドからアクセスしている場合は同期とらないとダメだよ。
Form.Invoke()とかで。
0872デフォルトの名無しさん05/01/22 00:35:40
初歩的な質問で誠に申し訳ない、本当に申し訳ない、兎に角申し訳ない・・・

プログラムを起動したら自分自身を
C:\ProgramFiles\●●\abc.exe
とかにコピーする方法ってないでしょうか?
当然というかなんというか自分自身をコピーしようとするとエラーがでるので・・・
宜しくお願い致します。
0873デフォルトの名無しさん05/01/22 00:40:17
コピーならできるはずだが?
0874デフォルトの名無しさん05/01/22 01:08:29
>>872
using System;
using System.IO;
using System.Reflection;

namespace Test
{
  class Class1
  {
    [STAThread]
    static void Main(string[] args)
    {
      string aname = Assembly.GetExecutingAssembly().Location;
      File.Copy(aname, @"D:\copy.exe", true);
    }
  }
}
普通にコピーできますが。
0875デフォルトの名無しさん05/01/22 02:12:13
>>874
\記号をエスケープしなくていいのか?
0876デフォルトの名無しさん05/01/22 02:13:16
@ありましたね、これは早とちりを失礼しました。
087786905/01/22 10:51:50
>>870
なるほど。フォームに追加の記述を足してみました。

OpenFileDialog openFileDialog = new OpenFileDialog();

if(openFileDialog.ShowDialog() == DialogResult.OK)
{
PictureBox picturebox = new PictureBox();
bmap = new Bitmap(openFileDialog.FileName);
picturebox.Image = bmap;

this.Controls.Add(new Button());

}

サムネイルという言葉をよく知らないので何とも言えないのですが、
実現したいことは、ページに何枚も画像を読込むことが出来る。
と、いった風なことです。例えばワードの図の挿入みたいに。
現在の記述では1回目は画像を読込んでくれるのですが、2回目以降
のから画像を読込みません。PixtureBoxの生成の仕方が悪いのでしょうか?
0878デフォルトの名無しさん05/01/22 11:10:37
>>877
生成の仕方が悪いです。
OpenFileDialogのNamesプロパティをforeachでぐるぐる回すとかしてあげないと
希望の動作にはならないんじゃないかなあ。
ってそのあたり省略してたものと思ってましたが…。
そうじゃなくて2回目のダイアログで選択した画像が表示されないということ?
PictureBoxのLocationが全部同じで同じところに配置されてるとかいうオチ?
087986905/01/22 11:36:55
>>878
ご指摘通り、2回目のダイアログで選択した画像が表示されない
という点で悩んでます。PictureBoxが同じ位置に配置される点は
今は問題視していません。具体的な実現方法が分からないので、
良い手段があれば教えて下さい。_| ̄|○ペコッ
0880デフォルトの名無しさん05/01/22 11:44:05
>>879
> bmap = new Bitmap(openFileDialog.FileName);

同じbmap使い回したら駄目でしょう。
088186905/01/22 11:52:00
Σ(゚Д゚;)そうなんですか。では事ある度に新しいBitmapを生成
しなきゃいけないんですね。そうなると、
Bitmap ○○○ = new Bitmap(openFileDialogFlieName);
の○の部分をどうすればいいのでしょう?
お手数かけてホントにすみません。
0882デフォルトの名無しさん05/01/22 11:54:11
>>880
> 同じbmap使い回したら駄目でしょう。
まあそれはそうだけど本質ではないな。
//PictureBox.Imageとして元絵の参照は残るわけだから、問題ないと言えば無い。

Controls.AddしたものはZオーダー(コントロールの手前・奥)が一番後ろになる。
つまり先に置いたのに邪魔されて見えないだけ。
手前に持ってくるのがBringToFrontメソッド。

ところで、PictureBoxコントロールのサイズは、別にImageプロパティを設定したところで
勝手にImageプロパティのイメージサイズに変わるわけではないってのは分かってる?
0883デフォルトの名無しさん05/01/22 12:09:54
>>882
あーすみませんその通り。問題ないといえばなかったです。
picturebox.SizeMode = PictureBoxSizeMode.StretchImage
とかやると原因究明の手がかりになるかもしれないしならないかもしれない。
0884デフォルトの名無しさん05/01/22 12:14:28
picturebox.SizeMode = PictureBoxSizeMode.AutoSize
だったorz
088586905/01/22 12:15:10
それも初耳でした…PictureBoxのサイズが自動的にイメージと同じ
サイズになると思ってました。基礎知識の方で問題点が多いですね…。
勉強になります。
0886デフォルトの名無しさん05/01/22 13:32:35
ntpシステムにC#でアクセスする方法を教えていただけないでしょうか。
0887デフォルトの名無しさん05/01/22 14:01:48
>>886
http://www.codeproject.com/csharp/ntpclient.asp
byte[48]をRFC2030に従って整形してUDPで送受信するというのが大まかな流れみたい。
0888デフォルトの名無しさん05/01/22 18:00:26
http://altba.com/bakera/hatomaru.aspx/ebi/topic/912

こういうのもみつけた。
088988605/01/22 19:57:00
>>887
390831
0890デフォルトの名無しさん05/01/22 22:12:32
class Hogeで
public string this[int index] { get〜set〜} を定義すれば、
Hoge hoge = new Hoge();
hoge[5] のようなアクセスができますよね。

これをhoge.Fuga[5]のようにしたくて
public string Fuga[int index] のようにしてみたけどダメでした

こういうことをするためにはどうしたらいい?
0891デフォルトの名無しさん05/01/22 22:16:48
C#では名前付きインデクサは無理。
0892デフォルトの名無しさん05/01/22 22:59:39
>>890
class HogeProxy
{
 Hoge hoge;
 public string this[int i]
/* 中略 */
}

class Hoge
{
 public HogeProxy Fuga
/* 中略 */
}

Hoge hoge = new Hoge();
hoge.Fuga[i];
0893デフォルトの名無しさん05/01/22 23:21:17
class Cmyclass{
___private int data;
___static Cmyclass[] myclasses;
___static Cmyclass(){
______myclasses = new Cmyclass[10];
______foreach(Cmyclass myclass in myclasses){
_________myclass = new Cmyclass();
______}
___}
___public Cmyclass(){
______data = 0;
___}
___public void display(){
______Console.WriteLine(data.ToString());
___}
}

class _formMain(){
___for(int i=0;i<Cmyclass.myclasses.Count;i++)
______Cmyclass.myclasses[i].display();
}
0894デフォルトの名無しさん05/01/22 23:31:36
ところでアンダースコアでインデントというのはコピペもできんわ読みづらいわで最悪だと思うんだがどうか。
0895デフォルトの名無しさん05/01/22 23:37:36
素直に「&nbsp;」をコピペすれば良いのに
089689305/01/22 23:39:20
>>894
Cntl+H で削除して栗。

>>895
それを最初に言えよ、ヴァカ(>_<)
0897デフォルトの名無しさん05/01/22 23:55:12
VSで混合モードのパネルがどんどん増えていく上に消せないんですが・・・
これは一体なんですか。
089889305/01/23 00:03:43
>>897
合混モードパネルなら、どんどん増やしたいんだがな。
0899デフォルトの名無しさん05/01/23 00:05:33
プログラムが自分自身を削除することってできる??
090089305/01/23 00:12:22
>>899
this.Close();
0901デフォルトの名無しさん05/01/23 00:13:33
動作中に自分自身の実行ファイル名をリネームすることはできるが
上書きしたり削除は無理、だと思う。
0902デフォルトの名無しさん05/01/23 00:13:34
>>899
アンインストーラみたいなことやるなら
セットアッププロジェクトにやらせればいいんじゃないかな。
それともウィルスとかみたいに居なくなるのを希望しているんだろうか…。
0903デフォルトの名無しさん05/01/23 00:39:54
C#で作ったアプリメモリ異常に食ってる(ウィザードアプリでも)んですが。
小さくして目盛り減るけれど、これは何?残ったのが実質のコードだということ?
0904デフォルトの名無しさん05/01/23 01:24:34
現在のPCのSYSTEMTIMEと、
ある特定のSYSTEMTIMEとを比較し、
その差を表示することはできるのでしょうか。
できるとしたら、どのようにすればよろしいのでしょうか。
0905デフォルトの名無しさん05/01/23 01:26:28
>>891のようなデザインパターンって何て言うんだっけ?
0906デフォルトの名無しさん05/01/23 02:01:58
DateTime
0907デフォルトの名無しさん05/01/23 02:30:19
>>903
キャッシュじゃない?
0908デフォルトの名無しさん05/01/23 06:41:39
よく右クリックすると選択肢のウィンドウが
出るじゃないですか?
アレって一般的にはどのコントロール使ってるんで
しょうか?それとも別な方法がありますか?
0909デフォルトの名無しさん05/01/23 09:43:56
ContextMenuのことか?
0910デフォルトの名無しさん05/01/23 14:03:43
ラベル1にマウスが乗るとカーソル非表示。ラベル1から離れるとカーソル表示としたいのですが、
'Cursor'はあいないな参照です。とエラーが出ます。何が原因か分かる人いますか?よろしくお願いします。

private void Label1_MouseEnter(object sender, System.EventArgs e)
{
   Cursor.Hide ();
}

private void Label1_MouseLeave(object sender, System.EventArgs e)
{
   Cursor.Show ();
}

現在こんな感じです。
0911デフォルトの名無しさん05/01/23 14:22:14
>>910
隠すのではなく、見えないカーソルに変更しる
0912デフォルトの名無しさん05/01/23 14:23:04
無料で使えるIDEを教えてください
0913デフォルトの名無しさん05/01/23 14:25:55
【.NET】C♯Builder Personal update 2【フリー】
http://pc5.2ch.net/test/read.cgi/tech/1058786955/
091491005/01/23 14:29:59
>>911
記述がおかしいという意味でしょうか?
0915デフォルトの名無しさん05/01/23 14:43:01
>>910
Cursorが何かとバッティングしてるだろうから
System.Windows.Forms.Cursor.Hide (); にすればいいような。
0916デフォルトの名無しさん05/01/23 15:33:17
string hoge = "ほげほげ\r\nふがふが\r\nまげまげ";
ってのを"\r\n"で区切ってstring[] にしたいんだけど、
string.replaceだとcharかchar[]しか区切り文字に指定できなくて、
new char{'\r','\n'}で区切ると当然、
"ほげほげ" "" "ふがふが" ...
のようになってしまうわけ。

文字列で区切るにはどうしたらいいの?
0917デフォルトの名無しさん05/01/23 15:50:34
>>916
RegexのSplitとか。
0918デフォルトの名無しさん05/01/23 16:31:32
�dクス!そんなところにかくれてたんですか・・・・
0919デフォルトの名無しさん05/01/23 16:38:14
念のために
http://pc5.2ch.net/test/read.cgi/tech/1045307942/574
0920デフォルトの名無しさん05/01/23 18:11:23
3つの事象は等しく発生するという仮定で、3つの場合分けを行う場合、
if else文を使うのと、switch文を使うのとでどっちが速いですかね?

誰か分かりませんか?
0921デフォルトの名無しさん05/01/23 18:13:24
コンパイルしてReflector for .NETで調べてみたらわかりそうな気がする
0922デフォルトの名無しさん05/01/23 18:13:54
switch を使ってもコンパイルしたら if else になっちゃうよ
0923デフォルトの名無しさん05/01/23 18:14:42
ILDASMのほうがいいんじゃないかな。
0924デフォルトの名無しさん05/01/23 18:20:28
opcodeにはswitchもあるよ。

ただそんな事を考える意味があるとは思えないけど。
0925デフォルトの名無しさん05/01/23 18:24:33
そこまでスピードにシビアな開発を.NETでやることの妥当性をまず考えるべきだ。
0926デフォルトの名無しさん05/01/23 18:26:45
Javaのsuper()はC#ではどのように書くのでしょうか。
0927デフォルトの名無しさん05/01/23 18:36:41
public Hoge() : base() {...}

基底クラスのコンストラクタだよね?
//指定しない場合は基底クラスのデフォルトコンストラクタが自動的に呼ばれるから上記コードは意味がないが。
0928デフォルトの名無しさん05/01/23 18:51:18
>>927 thx!
0929デフォルトの名無しさん05/01/23 18:54:29
NTPData = TimeSocket.Receive(ref EPhost);

私のPC環境では、NTPサーバーから時刻情報を得ようとしても、
この行でとまってしまいます。
なぜでしょうか。

887 :デフォルトの名無しさん :05/01/22 14:01:48
>>886
http://www.codeproject.com/csharp/ntpclient.asp
byte[48]をRFC2030に従って整形してUDPで送受信するというのが大まかな流れみたい。

なお、XPsp2インスト済み
ノートンインターネットセキュリチなし

お願いいたします。
0930デフォルトの名無しさん05/01/23 19:07:17
プロセスの起動と終了を感知することってできますか?
ご指導お願いしますm(_ _)m
093192905/01/23 20:16:54
>>930
できます。以前、そのようなプログラムを作成しました。
プロセスが実行中(数値計算でした)も、フォームが凍らないタイプです。
家に帰ったら、サンプルを貼ります。がんばってください。
0932デフォルトの名無しさん05/01/23 20:36:33
>>929
リクエストが返ってこないからだろう。
他のホストで試してみたらどうなる?
093393005/01/23 20:47:13
>>931お願いします。
頑張ります。
0934デフォルトの名無しさん05/01/23 21:02:59
プロセスとスレッドを混同している予感
0935デフォルトの名無しさん05/01/23 21:04:30
軽量プロセスだからいいんじゃね?
0936デフォルトの名無しさん05/01/23 22:13:37
C#でWordを操作するソフトを趣味で開発しています。
このサイトを参考にしています。
http://www.ne.jp/asahi/office/okada/macro/
しかしながら、
With .Parent
End With
というのがよくわかりません。
確かに、FindクラスにParentというものがありますが、
Parent.Deleteのような使い方ができません。
やりたいことは、このサイトと同じことなのですが・・・・。
ちなみに、wdReplaceALLとかwdReplaceOneとかで同じことが
できるか試してみましたが、うまくいきませんでした。;
wdReplaceOneを設定すると、Find.Executeの返り値が検索終了後falseに
ならないからうまくいきませんでした。
093793605/01/23 22:19:02
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsintro7/html/vxproparentproperty.asp
参考URL
0938デフォルトの名無しさん05/01/23 22:25:42
WithはVBのキーワード。詳しくはヘルプ。

で、Parentが返すのはobject型なわけで、objectにDeleteとかがないのは分かるよね?
object a = "hoge";
a.IndexOf("o");
とかできないのと同じ。
適切な型にキャストしてやりましょう。
//ブレークポイントで何型か調べるとか。
0939デフォルトの名無しさん05/01/23 22:34:50
やっぱり混同してる予感
094093105/01/23 22:58:55
>>930
お待たせしました。
参考になれば幸いです。
private void ProcessRun(string filename)//プロセス制御
{
process=Process.Start(filename);
process.EnableRaisingEvents=true;
process.Exited+=new EventHandler(Process_Exited);
//プロセス終了時を取得状態にする
MainText.Text=String.Format(" {0} / {1}",listcount,filelist.Items.Count);
}

private void Process_Exited(object sender, EventArgs e)
{
if(listcount>=filelist.Items.Count)//実行していないプロセスがないなら
{
MainText.Text="Process Done";//処理終了
return;
}
else
{
ProcessRun(filelist.Items[listcount++].ToString());
//次のプロセス開始
}
}
0941931==93605/01/23 23:04:33
>>938
レス39です。
当方、withがVBだ、等はばっちりです。
質問時には、すでにキャストも試みました。
object型がDeleteないのとかもばっちり把握しています。
object型は使用時、キャストを利用するのが一般的だと、存じています。
デバッグでどの型にParentをキャストしてあげれば、
Deleteメソッドを使えるのかがわかりません。
表現がおかしいですね。
Deleteメソッドを搭載したどのクラスにキャストすればよいのか
わかりません・・。調べられるものなのですか?
調べるコツとか教えていただけると助かります。
Goto End;
0942931==93605/01/23 23:07:22
>>940
念のため追記。
int listcount;
private void PlayButton_Click(object sender, System.EventArgs e)
{//プロセス開始
listcount=0;
if(filelist.Items.Count==0)
{
MainText.Text="No Process";
return;
}
ProcessRun(filelist.Items[listcount++].ToString());
}
0943デフォルトの名無しさん05/01/23 23:14:22
基本的なことを教えてください。
クラスのフィールドとして定義され、かつ同時にnewされた
フィールドは、実際にはいつnewされるのでしょうか。
コンストラクタでしょうか?

public class Test
{
 private ArrayList al = new ArrayList();
}
0944デフォルトの名無しさん05/01/23 23:15:54
>>941
一旦.Parentをobjectにでも突っ込んで、その次の行でブレークしてみる。
自動変数の項目にそのオブジェクトが何型かも書かれてる。

>>940
>930が求めてるのは自分で起動するわけではないプロセスについての監視じゃないのか?
そうならWMI、ManagementEventWatcherと言うキーワードを出しておこう。
0945931==93605/01/23 23:21:20
>>944
>>parent
タンクスコ!

>>944
>>930
そうであれば、ほかの方、ヨロシコ!
0946931==93605/01/23 23:23:30
>>943
僕は、コンストラクタでnewしてるよ。
いつされるか、わからないから、とりあえず一般的な手法として。
0947デフォルトの名無しさん05/01/23 23:24:39
>>943
コンストラクタメソッドの実行前。
0948931==93605/01/23 23:25:02
public class Test
{
 private CmyClass mc = new CmyClass();
}

public class CmyClass{
public CmyClass(){
Messagebox...
}
}
とかすれば、わかる希ガスるん。
0949名無しさん♯05/01/23 23:25:36
次スレ立てときますた。( ゚д゚)ノ
http://pc5.2ch.net/test/read.cgi/tech/1106490240/l50
0950デフォルトの名無しさん05/01/23 23:28:34
乙と言えば乙だが、このスレは950よりも前に次スレ立てる縛りでもあるのか?
0951デフォルトの名無しさん05/01/23 23:30:52
>>949
乙。
教えて君で申し訳ない。
最小化でタスクトレイ?(時計の脇のノートンとかがあるところ)に入れたいんだが
どうしたらいいんだろう。
095293005/01/23 23:34:29
みなさんいろいろありがとうございます。
説明不足ですいません(汗)
プロセスの監視をしたいので>>944さんのを参考にさせていただきます。
0953931==93605/01/23 23:38:09
>>951
ShowinTaskbar = false;
で、
ツールからNotifyIconをD&D。
アイコン作って、・・・。
宇宙仮面に載ってるよ。
0954デフォルトの名無しさん05/01/23 23:40:32
>>953
ありがとう、とりあえず宇宙仮面に逝ってくる
0955名無しさん♯05/01/23 23:42:05
>>950
まあ本当は950過ぎてからなんでしょうけど、つーか縛りはないですよ。

>>951
漏れはWindowsFormsは忘れ去ってるので、他を当たってくだされ。
0956デフォルトの名無しさん05/01/24 00:05:56
24時間前は900あたり。スレ消費が早いな。
095790805/01/24 00:35:11
>>909トンX!!
0958デフォルトの名無しさん05/01/24 01:01:40
RTFの仕様詳しく説明してるとこ教えてください。
C#が生成せるRTFはワードパッドが生成するRTFと全然違って困ってます。
0959デフォルトの名無しさん05/01/24 01:11:24
>>958
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnrtfspec/html/rtfspec.asp
これかな。
日本語訳はMSDN Japanにはないみたい。よく調べてないですが。
0960デフォルトの名無しさん05/01/24 01:33:51
誰かPowerToolsのTrue WebGridとか使ってる香具師いる?
0961デフォルトの名無しさん05/01/24 01:42:13
使い勝手はどう? とか、ちょっと上手く動かないんだけど。とかなら分かるが、
使ってるかどうかのアンケートに意味があるのか?
0962デフォルトの名無しさん05/01/24 13:23:22
ArrayListで作ったコレクションって、どんなオブジェクトもAdd()出来てしまいますよね。
前もって指定された形式以外のオブジェクトが入らないようにできるコレクションクラスって
何かあるんでしょうか?

それとも、MSDNにインタフェースについての記述があるように、
どんな時も自作コレクションクラスを作って、自分でその辺の管理をするべきなんでしょうか?
0963デフォルトの名無しさん05/01/24 13:29:01
.NET1.1までならフレームワークに用意されてるのはstringに対するStringCollectionくらいかね。
.NET2.0でジェネリクスが追加される事で汎用的な型指定コレクション・List<T>クラスが使えるようになる。
096496205/01/24 13:35:43
有難うございます。やっぱり2.0出てくるまで簡単には出来ないんですよねぇ。
いいです。今回は、何も気付かない振りして、実装しちゃいます。
まぁ、2.0も今年中には出ますよね。
どうも有り難うございました。
0965デフォルトの名無しさん05/01/24 14:02:00
>>962
自前のコレクションクラスを作って、
Addするときに期待しないものが来たら例外を投げるようにするとか。
096696205/01/24 14:05:18
>>965
まさしく、そんな予感がしていたんですが、面倒そうだったので・・・
そうなんですよね、正しくはそうあるべきだと思います。
でも〜。・゚・(つД`)・゚・
0967デフォルトの名無しさん05/01/24 14:05:30
>>962
CollectionBaseクラスを継承しる
0968デフォルトの名無しさん05/01/24 16:02:17
>>966
どっかに専用コレクションクラスを生成するツールがあったぞ
0969デフォルトの名無しさん05/01/25 11:47:39
PictureBoxをマウスのドラッグで縮小、拡大させたいのですが、
参考になるHPとか本を誰か知っていませんか?
読み込んだ画像の上でクリックすると、画像の四隅にポイントが出て、
そのポイントをドラッグすることで画像が縮小、拡大する。みたいな。
情報があれば、よろしくお願いします。
0970デフォルトの名無しさん05/01/25 12:13:45
>>969
ウィンドウそのものを縮小拡大ではなくて、PictureBoxコントロールを縮小拡大ですか?
そうであればControlとかPictureBoxを継承して自前で作るしかないような気がします。
MouseMoveあたりでマウスの位置を検出して端に近ければ四隅にポイント表示。
四隅に近くてクリックされている間はコントロールをマウスの位置に合わせてリサイズ。
もっと簡単な方法もあるかもしれませんが一応。
0971デフォルトの名無しさん05/01/25 16:51:57
>>969
そういうコンテナを作ってドッキングさせるとか
0972デフォルトの名無しさん05/01/25 21:24:58
MainMenu のアイテムがクリックされた場合の処理は、
アイテム毎にイベントハンドラを増やさないといけないのでしょうか?

例えば、次のような事をやりたいのですが、なにかいい方法は
ありませんか?

メニュー1_________メニュー2_______メニュー3
__アイテム1-1______アイテム2-1______アイテム3-1
__アイテム1-2______アイテム2-2______アイテム3-2
__アイテム1-3______アイテム2-3______アイテム3-3

のようなメニュー構成になっている時に、
アイテム1-x がクリックされた場合の処理は、メニュー1 の Click で
拾ってメニュー1の中で処理させたいのですが…。

今は、アイテム1-1, アイテム1-2, アイテム1-3 など全ての項目の
Click イベントに1つずつちまちまと処理を追加していっています。

何かいい方法はないでしょうか?
0973デフォルトの名無しさん05/01/25 21:30:00
イベントハンドラ共有して、senderを見て発生元調べてswitchで分岐したら。
0974デフォルトの名無しさん05/01/25 22:23:42
そういうの登録する仕組み作っとけ
0975デフォルトの名無しさん05/01/25 23:25:08
ArrayListを配列にして使用できるんでしょうか。こんな感じで。

ArrayList[] testList = new ArrayList[10];
testList[0].Add( "abc" );

コンパイルは出来ても2行目でエラーになります。
出来れば楽なんですが・・・。
0976デフォルトの名無しさん05/01/25 23:29:22
配列もただのオブジェクトなわけで、newしても入れ物を作るだけ。
入れ物の中身は自分で作って下さい。
0977デフォルトの名無しさん05/01/25 23:30:12
ArrayList[] testList = new ArrayList[10];
testList[0] = new ArrayList();
testList[0].Add( "abc" );
097897505/01/25 23:37:56
>>976
>>977
即レス感謝です。もういちどnewしておく必要があるわけですね。納得です。
0979デフォルトの名無しさん05/01/26 11:53:42
ほかの人のソース見ていてinternalが多用されているのですが、
本を読んでもprivateとinternalの違いがよく分からないのです。
教えてください。
0980デフォルトの名無しさん05/01/26 12:04:44
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/csref/html/vclrfdeclaredaccessibilitypg.asp
0981デフォルトの名無しさん05/01/26 12:49:31
>>979
internalを意識しなければいけないのはDLLを作る時ぐらいでしょ。
単体で動くものを作っている時は無視していいよ。
0982デフォルトの名無しさん05/01/26 13:42:23
>>979
private : 同一クラス内ならアクセス可
internal : 同一dll/exe内ならアクセス可
0983デフォルトの名無しさん05/01/26 13:52:27
private と internal を比較するよりもむしろ public と internal を比較
したほうが理解しやすいと思われ。
0984デフォルトの名無しさん05/01/26 15:22:59
>>981-983
ありがとうございます やっと分かりました
0985デフォルトの名無しさん05/01/26 16:14:26
C#では共有フォルダを作る関数ないですか?
VC++でNetShareAddってのがあったのですが
これ同等のないですかね?
0986デフォルトの名無しさん05/01/26 16:29:36
ないようだね。
0987yamada05/01/26 16:32:24
こちらに書き込むべき内容かどうか分らないのですが
教えて頂きたく、書込致しました。 CGIへデータをPOSTして、結果を取得する部分で困っております。
以下�@のように、リクエストした結果のレスポンスを取得しております。
しかし時々、HTTPステータスコードがokであるにも関わらず、データ部が空で取得されております。
レスポンスのヘッダー部を調べましたら、�Aのようなデータが返ってきておりました。
HTTPステータスコードがcontinueである後に、続いてokと記載されている部分が
異様に感じられます。 ※アプリケーションでは、このレスポンスをStatusCode=okと判断している。
なぜこのような現象が起きているのか
ご存じの方がおられましたら教えて下さい。
また、回避方法があれば、教えて頂きたく思います。
宜しくお願い致します。
�@----------------------------------------------------------------
WebRequest req = HttpWebRequest.Create("http://test.cgi");
(中略)
HttpWebResponse res;
HttpStatusCode st;
do
{
res = (HttpWebResponse)req.GetResponse();
st = res.StatusCode;
}while(st == HttpStatusCode.Continue);
Stream sr = res.GetResponseStream();
�A-----------------------------------------------------------------
HTTP/1.1 100 Continue....HTTP/1.1 200 OK..
Date: Wed, 26 Jan 2005 04:10:48 GM
T..Server: Apache..Transfer
-Encoding: chunked..Content
-Type: text/html・・・・(中略)
0988デフォルトの名無しさん05/01/26 16:35:17
マルチポストお一人様ご案内。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=18454&forum=7&0
0989デフォルトの名無しさん05/01/26 16:38:24
山田さんいらっしゃい
0990デフォルトの名無しさん05/01/26 16:38:28
>>986
ないのか・・・(´・ω・`)
レスども
0991yamada05/01/26 16:45:46
僕の説明、訳わかんないから
レスが付かないのでしょうか・・。

>>988
なぜか恥ずかしい止めて・・・。
0992デフォルトの名無しさん05/01/26 17:20:45
>>987
100 Continue は別に問題ないでしょう。
.Net 側ライブラリもApacheも適切に処理してるはずです。
どうしても抑制したいなら System.Net.ServicePointManager.Expect100Continue = false; とでもしておけばいいけど。

レスポンスボディが得られないのはまず間違いなく単にcgiがバグってるせいでしょう。
0993yamada05/01/26 17:44:41
>>992
ご回答ありがとうございます。
100 Continueは、問題ないのですが、アプリ側でレスポンスのStatusCodeを見ると
200 ok と判断されているのです。
なぜだろう、と思い、調べましたら、>>987�Aのような
100 の後に200が記載された訳のわからないヘッダーを持つデータが返ってきています。
これは、普通あり得ないヘッダーではないのでしょうか?
何が原因になっているのかが知りたいのですが・・。
0994デフォルトの名無しさん05/01/26 17:48:09
>993
HTTPの仕様を調べれ
0995デフォルトの名無しさん05/01/26 18:14:05
>>993
サーバが 200 ok と返してきているから、ステータスコードが200になってるわけです。
100 Continue 200 ok を「わけわからないヘッダー」と感じるのは、
あなたがHTTPの仕様を知らないからです(そもそも、これヘッダじゃないです)。
HTTPでの100 Continueレスポンスの意味については、
ここで説明するものでもないと思うのでRFCでも読んでください。

なんかキツイ表現になってしまいましたが、要するにそんな変なトコみてないで
response bodyが期待したデータじゃないなら、素直にtest.cgiを直すのがよかろう
というようなことを言いたいわけです。
0996デフォルトの名無しさん05/01/26 19:19:40
ume
0997デフォルトの名無しさん05/01/26 19:20:33
梅
0998デフォルトの名無しさん05/01/26 19:21:42
生め
0999デフォルトの名無しさん05/01/26 19:22:51
999
1000デフォルトの名無しさん05/01/26 19:25:12
ヽ(・∀・)ノ●ウンコー
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。