1 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:41:44 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part44 pc12.2ch.net/test/read.cgi/tech/1251439041/
255 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:39:20 ] まあ少なくとも歴史的にはそうなんだけど、 そのあたりは水掛け論にしかならんから議論しても無駄だね。
256 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:40:58 ] 水掛け論って。 メジャーな言語をいくつか思い浮かべればわかる話。
257 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:44:44 ] ALGOLの影響下にある言語はフリーフォーマットだろうし、lisp系ももちろん一行一文じゃないし、 関数型だってそうだし、一行一文って、COBOLとかFORTRANとその影響下のBASICくらいじゃね?
258 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:47:22 ] アセンブラやdosのbatだってそうだよ。 だから水掛け論にしかならんて。
259 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:58:46 ] ・一行一文 アセンブラ、バッチファイルやシェルスクリプト、COBOL,FORTRAN,BASIC ・フリーフォーマット 近代的な言語のほとんど ↑みたいな感じかね 「C系統以外ほとんどは」って、水掛け論になるレベルじゃないわな。 屁理屈でねばって「ほら水掛け論だ」って、自分にも一分くらいは理があるような 口ぶりはできるかもしれんけど。
260 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 21:02:44 ] お前らスレタイ
261 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 21:53:27 ] List<class>の値をDataGridViewに表示させてるんですけど classのプロパティの値をコードから変更したら すぐにDataGridViewにも変更された値を表示させたいんですが、 今のところ dataGridView1.Refresh(); で表示させてるんですが 一般的にはどうやるんですか? もっとスマートなやり方があると思うんですが List<Test> testList = new List<Test>(); class Test { public string s1 { get; set; } public string s2 { get; set; } } private void Form1_Load(object sender, EventArgs e) { testList.Add(new Test { s1 = "a", s2 = "b" }); testList.Add(new Test { s1 = "c", s2 = "d" }); testList.Add(new Test { s1 = "e", s2 = "f" }); dataGridView1.DataSource = testList; } private void button1_Click(object sender, EventArgs e) { testList[0].s1 = textBox1.Text; dataGridView1.Refresh(); }
262 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 22:03:18 ] INotifyPropertyChanged BindingList or ObservableCollection
263 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 22:19:30 ] >>262 おぉそんなものがあったのか! ありがとうございます。調べてみます
264 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 23:47:18 ] >>252 例外フィルタがないぜ!!
265 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 00:04:31 ] >>262 261じゃないがthx public partial class Form1 : Form { class Test : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public void NotifyPropertyChanged(string info) { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(info)); } private string s1_; public string s1 { get { return this.s1_; } set { if (value != this.s1_) { this.s1_ = value; NotifyPropertyChanged("s1"); } } } public string s2 { get; set; } }
266 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 00:05:13 ] List<Test> testList_ = new List<Test>(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { testList_[0].s1 = "ababa"; } private void Form1_Load(object sender, EventArgs e) { testList_.Add(new Test { s1 = "a", s2 = "b" }); testList_.Add(new Test { s1 = "c", s2 = "d" }); var customersBindingSource = new BindingSource(); customersBindingSource.DataSource = testList_; dataGridView1.DataSource = customersBindingSource; } }
267 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 00:25:20 ] windows movile ソフトウェアを作ってみてためしにcabファイルにしてみたんですが、 インストールに失敗します。 作成環境はVS2005です。 cabで失敗するunicodeは修正しました。 実機にcabを入れてタップすると「インストールに失敗しました」とだけ出ます。 こういう場合どうやって原因を確かめたらいんでしょうか?
268 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 00:43:47 ] すぺるみす
269 名前:267 mailto:sage [2009/09/29(火) 13:57:50 ] 解決しました ほんとにスペルミスでした ミスしたのはcabプロジェクト名 本家プロジェクトに上書きしてしまいました orz
270 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 14:06:38 ] >>268 はエスパーなのか、本当に良くあるミスなのか
271 名前:267 mailto:sage [2009/09/29(火) 14:13:12 ] 本家プログラムと同じcabファイル名にしようと思うと起こりうることかも知れません でも相当うっかりしてないとやらないと思います orz
272 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 15:09:51 ] movileのことかと思ったわ
273 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 17:30:16 ] invokeなんとか、とか、なんとかinvoke とか たんなる invoke とかいろいろあるんですけど 全部delegateってことですか?
274 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 18:22:08 ] invoke自体はただの英単語 何を指すかはメソッド次第
275 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 20:27:13 ] 各コントロール、フォームなどのフォントサイズを一括して変更する方法はないでしょうか?
276 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 20:42:53 ] >>275 君は質問の仕方から勉強する必要がありそう
277 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 20:53:44 ] >>275 方法1.フォントサイズを変更するコントロールすべてを一括選択した後にプロパティウィンドウでフォントサイズを変更する。 方法2.フォントなどはアンビエントプロパティなので、特に設定されていない場合(デフォルトの値)は親のコントロール(フォーム)の設定が反映されるようになっているので 親コントロール(フォーム)のフォントサイズを変更すれば子コントロールにも反映される
278 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 20:59:59 ] >>277 「フォントサイズ」なんて概念はそもそも存在しない。 その回答はない。
279 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:02:16 ] ↑君のレスは無用
280 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:13:18 ] >>279 馬鹿はすぐこれだ。 ならフォントサイズってどういう意味だよ。
281 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:15:21 ] >>280 フォントのサイズ
282 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:20:44 ] >>280 msdn.microsoft.com/ja-jp/library/164w6x6z.aspx これ以外になにが?
283 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:33:16 ] 他人をバカ呼ばわり → 逃亡
284 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:34:13 ] (・∀・)クスクス
285 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:41:53 ] >>282 お馬鹿だな。 それで、その「フォントサイズ」を>>277 の方法でコントロールに適用できるのかよ。
286 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:45:29 ] 「それじゃできない」とかいらないよ。 「こうやったらできる」って言えばいいだけ。 俺としては、方法2 で十分だと思う。
287 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:48:48 ] >>286 それは「フォント」を設定しているのであって 「フォントサイズ」(そんな概念は存在しないが)を設定しているのではないだろう。 端的に言えば、コントロールごとに書体が違う場合はどうするのか。
288 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:51:49 ] >>287 とりあえずお前はスレタイ読んで風呂でも入って落ち着けよ、な? あと、初心者スレに向いてないよ
289 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:54:26 ] >>288 俺の方から煽った覚えは無いけどね。 初心者だろうがなんだろうが、正しくないことは正しくないといってるだけだ。 このように、馬鹿ってのは決まって偉そうに人に講釈をする規範を 自分には適用しないダブスタ野郎だ。
290 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:54:32 ] >>273 一般的にはメンバやデリゲートを呼び出すことをinvokeという 純粋に言語としてのC#に話を限ると,メソッドやデリゲートを表す式の後(引数)を付けた式のことをinvocation expressionと呼ぶ
291 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:55:33 ] フォントサイズの概念から議論しようか
292 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:10:37 ] >>289 さっさと失せろゴミ
293 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:11:31 ] >>289 認知症か なるほど
294 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:15:02 ] eventの存在意義がわからない delegateで十分な気が
295 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:18:35 ] イベントはデリゲートのためのプロパティみたいなもの。 Javaなどではよくイベントの代わりにObserverパターンというのが使われるんだけど, それに出てくるaddListenerやremoveListenerを一つにまとめたのがイベント。 その点ではgetValue/setValueを一つにまとめたプロパティと似てる。 Observerについてはググれ
296 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:19:00 ] eventって、複数登録できるんだよな?
297 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:20:17 ] イベントは複数登録できる デリゲートは1個だけ
298 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:22:53 ] マルチキャストといって,デリゲートも呼び出し対象を複数登録できる 本来,イベントがあればaddとremoveの実装次第でどうとでもなるからマルチキャストはいらないんだが 設計当時はイベント以外のデリゲートの使用が想定されてなかったと思われる
299 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:45:35 ] >>298 さすがに最後の行はない。そういうデタラメを言っては行かん。 例えばRegex.Replaceを見よ。
300 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:53:20 ] 最後の行は言いすぎだけど今みたいにデリゲートをガンガン使うような状況は絶対に想定されてなかった 最適化しづらいだろうし戻り値の扱いとか無理があるし邪魔なだけ
301 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:56:28 ] delagteもなんで DelegateクラスとMulticastDelegateがあるんだよう はじめからDelegateクラスをマルチキャスト可能にしとけよ
302 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:09:52 ] private List<EventHandler> _ClickA; public event ClickA { add { _ClickA.Add(value); } remove { _ClickA.Remove(value); } } private EventHandler _ClickB; public event ClickB { add { _ClickB = Delegate.Combine(_ClickB, value); } remove { 略 ClickAのようにするのがイベントの概念としては本来の形。 でも通常,addやremoveを省略して普通にイベントを宣言するとコンパイラはClickBのようなコードを生成する。 つまり「どうせデリゲートなんてほとんどイベントにしか使わないでしょ?」ってことでコンテナをくっつけてる。
303 名前:267 mailto:sage [2009/09/29(火) 23:23:16 ] えーとデータから作成した画像がピクチャボックスに貼ってあって それが(10,10)動いたときもとの画像をずらして 上10ピクセルと左10ピクセルだけ描画したいんですが for文を2重にして for(x=0;x<=10;x++) { for(y=0;y<=10;y++) { } } ってやると当然10×10ピクセルしか描画しません 上記のように描画したいとき また移動量(x,y)が逆に動いてマイナスのときにも対応できる 簡単なアルゴリズムはありませんでしょうか? ちなみにCGのように描画が必要なのでマスクは使えません ヒントかリンクだけでもけっこうです よろしくお願いします
304 名前:275 mailto:sage [2009/09/29(火) 23:24:07 ] 片付いたので見にきたら少し賑やかになってるw 概念はわかるけどemSizeのemはなに?
305 名前:デフォルトの名無しさん [2009/09/29(火) 23:25:25 ] どうでもいいが0〜10の、11回処理してないかい?それ
306 名前:267 mailto:sage [2009/09/29(火) 23:26:49 ] あうw
307 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:29:32 ] 何がしたいのかサッパリ
308 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:40:12 ] x < 10 または y < 10 の領域を描画したいんだろ
309 名前:267 mailto:sage [2009/09/29(火) 23:45:12 ] >>308 あ!そうか!そういうことです! なんかヒントになりました! ありがとうございました!
310 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:46:00 ] あらかじめ敵のXY座標を設定しておいて それらをプログラム全体から利用したいんだけど どこでどのように定義するのが適切なんでしょうか? 名前空間の内側、classの外側で定義すれば全体から利用できると思ったんだけど 下のを書き込むとフィールドやメソッドは定義できないとエラーがでます Point TekiPos = new Point(10, 5);
311 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:47:57 ] Teki.Posとは絶対に書きたくないの?
312 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:48:02 ] >>310 public staticにしてクラス内にもて。 困ったときはpublic staticだ。
313 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:56:09 ] まあゲームなんか難しく考えずpublic static(いわゆるグローバル変数)でもいいよ ゲームは気を使って設計してもどうせ大なり小なり大域コンテキストクラスが出てくる
314 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:56:09 ] >>311 あ、なるほど、Tekiクラスをプログラム全体で利用できるようにして そのメンバPosに対してどこかでデータいれるってことかな >>312 インスタンスを複数必要ないというか、あるとややこしくなるので staticのほうがわかりやすそうですね 即レスありがとうございます
315 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:59:48 ] >>314 ゲームって作ったこと無いんだけど Enemyクラスかなんか作っといて、必要になったらnew Enemy()で 初期化してやった方がスマートなんじゃないの?
316 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:04:29 ] 敵が一体だからグローバル変数にするならまだいいけど, 敵が複数いて,ほかのクラスから特定の敵の座標を取得するためにいったんグローバル変数に入れたりするのは最悪のパターン
317 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:23:04 ] どんなゲームだろうねえ
318 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:25:45 ] 敵がいて初心者が作るものったらSTG以外に無いだろ
319 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:40:24 ] >>313 ありがとうございます。 最初からメモリや動作速度とか考えても仕方が無いですね できるだけ自分にわかりやすく書こうと思います >>315 敵と味方では振る舞いが違うからそういう風にしたほうがいいかもですね >>316 そういう感じで設計仕様と思ってたんですが、なぜだめなんでしょうか? 将棋でいうところの盤をstaticで定義してどこからで参照できるようにして 部隊の動き(どの座標に前進後退するかなど)もstaticで定義しようと思っていたんですが >>317 >>318 シューティングは線形代数や三角関数などの数学的知識がいるので無学のわたしには無理です ターン制の戦略ゲーム的なものを作ろうと思ってます
320 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:02:15 ] class Matrix{} //フィールド全体とマス目を定義 class Enemy{} //敵のキャラクターを定義 この二つを作っておいてMatrixにEnemyのインスタンスを突っ込むとか 位置はEnemy、移動先はMatrixで定義しておいたほうが安全だと思う グローバル変数をたくさん作ったり使い回し足りするのはトラブルの元
321 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:09:03 ] 逆だな 位置はMatrix、移動先はEnemy
322 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:10:55 ] グローバル変数が使いたい時はstaticって何で入門書に書くんだろ 最初が肝心なんだぞ 書くなよ
323 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:14:50 ] なるほど、グローバル変数を大量に作ってしまうのはそもそも設計に問題ありって感じですか クラスの中にも自作クラスを入れられて、さらにそのクラスにも自作クラスを・・・ これがオブジェクト指向? この感覚に慣れないとだめですね >>321 マス目にenemyを放り込む感じですよね そのほうがわかりやすそうですね ありがとうございます
324 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:25:04 ] 動きゃいいんだよ 未完成で放置するのが一番良くない
325 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:32:11 ] そんなことはないよ 静的変数使い回しなんてしてたら論理的なミスしたときに わけわかめになりやすい 最初からオブジェクト指向のお作法を意識するのは上達の近道だよと 遠回りした俺が言ってみる久々のてすつ
326 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:35:24 ] 多言語から移った人間を意識してるんだろうけど要らない説明ではある気がする
327 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 02:44:03 ] DataTable内に「name」という列を設けてその中に色々な名前を定義しています。 SEQ NAME 連番 名前 1 たろう 2 タロウ 3 TAROU DataTable.Select("NAME LIKE '%たろう%'"); として検索した時に本来は 1 たろう のDataRowのみ抽出したいのですが 2 タロウ まで抽出されてしまいます。厳密に検索をするにはどうすればよいでしょうか? ※また、大文字・小文字も区別して検索するにはどうすれば良いでしょうか?
328 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 06:09:00 ] >>327 CaseSensitiveプロパティをtrueにしてからSelectしる
329 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 07:50:56 ] >>302 どういう理屈だよ
330 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 08:54:11 ] >>328 サンクス
331 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 10:50:45 ] CSとKS,WSは別じゃないの? プロパティ一覧見た限りだと、ロケールをインバリアントにすれば良さそう
332 名前:デフォルトの名無しさん [2009/09/30(水) 12:43:45 ] vs2008でWindowsフォームアプリケーションを作成しました。 インストーラーを発行して、配布しようとしましたが、.netフレームワーク3.5のダウンロードに30分近く要します。 コンポーネントはクライアントプロファイルのみにしています。 皆さんはどのような手段でインストール方法を取られていますか?
333 名前:デフォルトの名無しさん [2009/09/30(水) 15:57:29 ] ttp://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=ja の.NET Framework 3.5 Service Pack 1 (フルパッケージ) をDLしてインストーラに組み込んじゃいかんの?(いかんか) #再頒布可能パッケージ があればいいんだけどね・・・・ #Microsoft .NET Framework 3.0 再頒布可能パッケージ まではあるのか・・・
334 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 16:05:09 ] クライアント専用Frameworkサブセットってとこチェックしても30分もかかるもんなの? やったことないけど
335 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 16:25:46 ] Client Profile v3.5がインストールされる条件が変で、 バージョンを問わずフルセットの.NET Frameworkがインストールされていないこと。 条件が合わない場合は差分をダウンロードしてフルセットでのインストールとなる。 プレインストールのXPやVista以降の場合、基本的に.NETが導入済みなので、 よほど特殊な環境でなければClient Profileは導入されない。
336 名前:デフォルトの名無しさん [2009/09/30(水) 20:44:06 ] >>335 XPにも標準で.netがついているの? 何かのネットで見たら、付いていないと書いていたんだ。 記事はまちがいだったのかな。
337 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 20:48:56 ] 「プリインストールの」だろ 相当前に使ってたノートPCにもデフォで1.1が入ってたぜ
338 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 20:50:09 ] XP はないよ。 2003 が 1.1、Vista が 3.0 だね。
339 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 20:51:48 ] でも、今時.net入ってない環境ってどうよ
340 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:04:00 ] .netが出だした当初って誰も入れたがらなかったけど .NETを使ったフリーソフトも出だして当たり前になってきたね
341 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:04:56 ] 2.0は入ってるものと考えていいと思うけど3.5はまだきつい
342 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:07:40 ] まぁでも、2.0 が入ってれば、勝手に 3.5 が Windows Update で入るんだけどな。
343 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:07:59 ] 1.0が入ってないとダメっつーインストーラーは勘弁して欲しいw
344 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:32:02 ] 1.x が必要なアプリは使いたくない
345 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:44:28 ] 2.0とか3.5の入ってる環境なら1.x必須なのも動くんじゃないの?
346 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:47:32 ] たいていは 2.0 で動くと思うけど、サポート対象にはしたくない。
347 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:48:34 ] 最近コンポーネントエラーって起きたことないな
348 名前:デフォルトの名無しさん [2009/09/30(水) 22:18:05 ] 長くなるけど質問お願い 暗号化を作っていて、ボタンのイベントに処理を書くのではなくて クラスに処理入れて、それをボタン押したときに呼び出すようにするには どうしたらいいのでしょうか お力おかしください public partial class Form1 : Form { //バイト配列で変数を宣言 public byte[] DesKey; public byte[] DesIV;e, public byte[] cryptData; public Form1() { InitializeComponent(); RC2CryptoServiceProvider TDES = new RC2CryptoServiceProvider(); //TripleDESCryptoServiceProvider TDES = new TripleDESCryptoServiceProvider(); DesKey = TDES.Key; DesIV = TDES.IV; } //暗号化ボタンを押したときの処理 private void button1_Click(object sender, System.EventArgs e) { // source 配列から cryptData 配列へ変換 // 文字列を byte 配列に変換します byte[] source = Encoding.Unicode.GetBytes(genbun.Text);
349 名前:デフォルトの名無しさん [2009/09/30(水) 22:18:58 ] 上に続きですよろしくおねがいします // Triple DES のサービス プロバイダを生成します TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider(); // 入出力用のストリームを生成します MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(DesKey, DesIV), CryptoStreamMode.Write); // ストリームに暗号化するデータを書き込みます cs.Write(source, 0, source.Length); cs.Close(); // 暗号化されたデータを byte 配列で取得します cryptData = ms.ToArray(); ms.Close(); // byte 配列を文字列に変換して表示します angougo.Text = Encoding.Unicode.GetString(cryptData); }
350 名前:デフォルトの名無しさん [2009/09/30(水) 22:19:53 ] >>334 クライアント専用サブセットってどこで設定するの?
351 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:22:59 ] 暗号化とかまったく関係ないな。
352 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:23:59 ] >>350 プロジェクトのプロパティ
353 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:26:42 ] >>348 どう、ってインスタンスメソッドにするならボタンクリックでクラスを初期化して メソッド呼び出せばいいのでは? staticメンバ一個作っておいてそこにインスタンスぶち込んでstaticぽく呼んでもいいけど
354 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:26:49 ] >>349 public partial … → public class Encryption public Form1() → public Encryption() private void button1_Click(… → public byte[] Encrypt(string sourceText) byte[] source = … → byte[] source = Encoding.Unicode.GetBytes(sourceText); angougo.Text = Encoding.Unicode.GetString(cryptData); → return Encoding.Unicode.GetString(cryptData);
355 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:27:35 ] >>354 訂正 private void button1_Click(… → public string Encrypt(string sourceText)