- 1 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 18:23:31 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part45 (実質46) pc12.2ch.net/test/read.cgi/tech/1255658236/
- 792 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 12:20:24 ]
- >>785
えっ、少ないって一昔前だろ
- 793 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 12:23:27 ]
- むしろJavaとC#しかない
- 794 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 12:46:23 ]
- JavaとC#とPHPとRubyかね
PerlとPythonは減ってきたイメージが。
- 795 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 12:51:12 ]
- C#は派手な機能は標準ライブラリや、Win環境ならMSのライブラリが沢山あるので
作りたい物の実現までの道のりが短く、敷居がずいぶんと低い。 言語構造自体もJavaから引き継いで型厳密なため単純なので理解しやすく、 そのため大昔のBASICよろしく初心者が大勢いるイメージ >>788 新しい世代が新しい道具で時間を飛び越えてきたとして、イラッとする奴なんているのかww 道具が旧式でも最新でも、プログラミングで重要なのはロジックを展開させる為のノウハウの方なので、 その人の歴が何年であっても、役に立つ人もいるし立たない人もいる あと重要なのは「自分にとっての新しい知識」である為、例えどれだけ道具が最新だとしても、 自分が不勉強であれば何の役に立たない。
- 796 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 12:57:25 ]
- ツボ抑えればどの言語でもビジネスレベルのアプリなんて簡単に組めるだろ
しょせん目的を達成する手段 でもWinアプリならC#の使い勝手の良さは抜群だと思う
- 797 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 12:59:30 ]
- 人力車と自動車の利便性は同率じゃない
- 798 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 13:42:23 ]
- test
- 799 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 13:44:21 ]
- 苦労すりゃするほどいいものが出来るなんてのは幻想だよな
- 800 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 13:45:15 ]
- 自己満足は得られますよ
- 801 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 13:49:43 ]
- そもそもどの言語が優れているとか考えずに
とにかく多数派の言語を使う奴が大半で C#のよさが分かる奴なんかほとんどいないんだお 笑うお
- 802 名前:デフォルトの名無しさん [2009/11/17(火) 13:51:50 ]
- 苦労すりゃ良い物が出来るのは幻想で間違いない
ただ他人から見て苦労に見えたとしても、本人が知りたくて能動的にがつがつ掘り下げて 深部まで把握していく気持ちがあるなら、確実に地力にはなってくる その辺りでかなり大きな差は出てくるぜ 例なんて枚挙に暇が無いくらい
- 803 名前:デフォルトの名無しさん [2009/11/17(火) 13:55:08 ]
- >>801 深入りが面倒とか興味がない、あるいはそもそも別言語に柱を置いてる人が遠巻きにみてる
って場合で、かつ何らかの理由で使い始めた人はそうなるかもなww
- 804 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 14:02:13 ]
- 徐々に市民権は得てるんだからどうでもいいと思うけど
- 805 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 14:02:31 ]
- dynamic便利すぎwwwwwなにこれwwwwwww
- 806 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 16:35:53 ]
- プログラミング全くの初心者なのですが、どうか教えてください。
ある文字を入力した時にその文字にあらかじめ設定しておいた別の文字を出力するにはどうすればいいのでしょうか? 例えば1と入力した場合には50、5と入力した場合には7Aと出力し1 5と入力した場合に50 7Aと出力させる感じです。 面倒かと思いますがご教授お願いいたします。
- 807 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 16:54:31 ]
- private const string _illigalStrig = "?";
private Dictionary<string, string> _list; private void SetConstData() { _list = new Dictionary<string, string>(); _list.Add("1", "50"); _list.Add("5", "7A"); } private void Text1_Change(object sender, EventArgs e) { label1.Text = GetNewString(Text1.Text); } private string GetNewString(string text) { if (string.IsNullOrEmpty(text)) return null; List<string> resList = new List<string>(); for (int i = 0; i < text.Length; i++) { string temp = text.Substring(i, 1); if (_list.ContainsKey(temp)) resList.Add(_list[temp]); else resList.Add(_illigalStrig); } return string.Join(" ", resList.ToArray()); } 適当に試してもいないけどこんな感じ? 予定外の文字とかの処理はどうするか知らんが・・・・
- 808 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 16:58:16 ]
- switch(nyuuryoku){
case "1": syuturyoku="50"; break; case "5": syuturyoku="7A"; break; いこうがんばって書く
- 809 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 17:29:52 ]
- >>802
枚挙に暇が無いっていいうなら 幾つか実例挙げてくれよ
- 810 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 18:18:25 ]
- dynamic使えば見た目は普通のオブジェクト正体はディクショナリとか
変態的なことヤリ放題だな
- 811 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 18:21:44 ]
- 使いすぎるとわけわからなくなるだろ・・・
- 812 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 18:26:59 ]
- 実際、演算やメンバ選択などオブジェクトに対するほとんどの操作を
自由に定義できるんだぞw
- 813 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 18:29:25 ]
- >>812
その代わりに.NET CLRのもっとも強力な点である静的型付けの最適化が無効になるから程々にな。
- 814 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 18:33:38 ]
- dynamicはDLRのキャッシュ使うから意外に遅くないよ
せいぜいボックス化+デリゲート呼び出しのコストが入るだけ
- 815 名前:デフォルトの名無しさん [2009/11/17(火) 18:47:51 ]
- >>809 そのくらい想像してくれよ。簡単な誰でも知ってる経験してる話だよ
ポトペタやパーツの組み合わせ以外にアルゴリズムやロジックや、元々の仕組みを掘り下げた時、 目的だけでなく副次的にや必然から知るようなノウハウってあるだろ 例えば効率のいい分岐、ノード的な表現、ビット演算使った手法など色々 知ってる人には慣れて当たり前に感じる内容でも、知らない人は知らなくて その点で表現手段が変わってきたり手狭になったり実現できなかったりする。 掘り下げるのも広げるのも自分の技術広げるって意味で同じだから、 興味沸いたら色々試したり調べたりするといいぜって話さ 人はそれを努力と見るかもしれないが、そんな事はどうでもよくて
- 816 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 19:00:02 ]
- ぜんぜん具体的じゃねー
- 817 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 19:02:35 ]
- >>810
だんだん言語仕様が太ってきた気がする
- 818 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 19:02:51 ]
- 関数とメソッドってどう違うんですか
- 819 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 19:06:35 ]
- オブジェクトに紐付いてるかどうかぐらいの違いじゃないの?
- 820 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 19:22:56 ]
- >>818
OSで言えばディレクトリとフォルダの違いのようなもの。さほど気にすることはない。 ただ、はっきり言ってしまえばC#に関数はない。 あるのはdelegateと通常のメソッドと静的メソッドだけだ。 他にイベントハンドラやらラムダやらもあるが、その辺は自分で勉強してくれ。
- 821 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 19:33:43 ]
- え?関数ってreturnでなんか戻ってくるメソッドのことじゃないの?
- 822 名前:デフォルトの名無しさん [2009/11/17(火) 19:42:36 ]
- >>816 なにもかも全部他人に書かせる気か
口移ししないとエサ食えないみたいな事言うなよ
- 823 名前:デフォルトの名無しさん [2009/11/17(火) 19:49:24 ]
- 関数は単純に関数だよ
メソッドはひとかたまりの処理を模したオブジェクトって概念に対して、例えとして 「ふるまい」として名付けられた物 コード部分にだけ逐次的に注目すると変わらないように見えるけど、意味付けが違う、みたいな 例えばC/C++の世界では関数とメソッド(メンバ関数なんて言い方もするが)は、完全に別物 文脈的に話が混線しないならどっちも関数と呼ぶ場合もあるけど、 クラスに紐付いてないただの関数はメソッドとは呼ばない そんな感じ
- 824 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 19:58:13 ]
- >>815
まあ技術の変わり目にはどんな分野でもこういうアナクロ指向な人っているんだよ。 もちろん、アナクロな彼の言うことにも一理はあるけどね。 そりゃ、洗濯機があるのにあえてたらいで洗濯することで身につく技能だってあるよw こういう人の欠陥は、視野が狭いから引いた視点から全体を俯瞰して 物事のプライオティを考えることが出来ない点だな。
- 825 名前:デフォルトの名無しさん [2009/11/17(火) 20:04:42 ]
- >>824 ??誰に向けて言ってんだ?
視野を広げる手段の一つを話してる文脈が理解できないとしたら ちょっと想像力も読解力も足りなくねww なんでアナクロ扱いなんだよ。思考停止はよくないぞ
- 826 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:05:12 ]
- なんだ、しったかかよ
- 827 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:06:50 ]
- >>821
数学でいう関数だとそうだよな。
- 828 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:11:38 ]
- 釣ったほうも釣られたほうもスレ違いだ
- 829 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:12:18 ]
- 単純に
int func(int x,int y){ return x+y; } これが関数で void func(int x,int y){ printf("%d",x+y); } これがメソッドだという風に覚えてたわ。
- 830 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:22:22 ]
- イベントのやり方わからん。
.netに最初からついてるフォームとかボタンとかのイベントはわかるんだが・・・ 自分でクラスつくるときにどんなイベントを入れればいいのかわからん。 ただのメソッドやデリゲートをクラスに組み込むのと イベントを組み込むのは機能面でどういう違いがあるんですかい? メソッドとデリゲートだけじゃ不可能なことでもイベント使ったらできることって例えばどんなの?
- 831 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:35:58 ]
- > ただのメソッドやデリゲートをクラスに組み込むのと
> イベントを組み込むのは機能面でどういう違いがあるんですかい? メソッドは方向が違う。クラスの利用者がクラスに処理を依頼する形。 デリゲートやイベントはクラスがクラスの利用者に処理を尋ねるようなもの。 で、本質的にはデリゲートは処理の委譲のためのもの、イベントは通知のためのもの。 実際的にはイベントはデリゲートをラップするプロパティみたいなもの。 add/removeの操作限定なので他の利用者がいきなりnull入れたりすることを気にしなくて済む。 > 自分でクラスつくるときにどんなイベントを入れればいいのかわからん。 状態の変化とかをクラスの利用者に通知したいとき。 > メソッドとデリゲートだけじゃ不可能なことでもイベント使ったらできることって例えばどんなの? デザイナで扱える。 コールバックに優先順位を付けるとかもやろうと思えばできる。
- 832 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:41:04 ]
- >>830
まず、質問はどれかにまとめてくれw C#のイベントはデザインパターンで言えばObserverパターンにあたり、情報の発信元と受け取り先を分離するために使う。 つまり、発信元ではどこに送るのか、受け取り先ではどこから受け取るのかを考える必要がなくなる。 またイベントハンドラの結びつけさえやればどんなオブジェクト同士でも信号のやり取りができる。 だからこそSystem.Formsではすべてのコントロールのイベントを親のFormで受け取ることができるわけだ。 『メソッドとデリゲートだけじゃ不可能』というが、基本的にチューリング完全なら何でもできるので、 できるかどうかではなく、簡単かどうかで考えるといいよ。 ちなみに大抵は初期化時に静的なイベントパイプラインを構築するだけだと思うが、 これを実行中に動的に切り替えるようにすればさらに強力。Stateパターンなんていらねー。
- 833 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:43:47 ]
- デリゲートって何ですか?
- 834 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:45:36 ]
- イベントは一応
他クラスから実行出来無いって保証が付くんだよな
- 835 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:52:59 ]
- >>833
WikipediaやMSDNくらいは読んでから質問してるんだよな?
- 836 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 20:58:31 ]
- サーバへFTP接続する実行ファイルを不特定多数へ公開した場合
ID,パスの流出可能性を出来るだけ抑えるにはどうすればいいと思いますか?
- 837 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 21:03:08 ]
- >>834
リフレクションの前には儚い保証ではあるけどな
- 838 名前:デフォルトの名無しさん [2009/11/17(火) 21:32:17 ]
- >>836 それはまさかIDパスワードを埋め込むつもりって話か
なにをやりたいのか知らないが、俺なら間にCGIでも挟む 直でFTPでなくて80番経由
- 839 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:02:02 ]
- CGI、PHP挟められるならそうするんですが
鯖に環境が入っていないのでそうすることも出来ないです やっぱり、どう暗号化してもパス埋め込むのは駄目ですかねぇ。。
- 840 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:16:39 ]
- あきらめろよ。
- 841 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:18:33 ]
- 大丈夫って保証は取れないねえ。
それに暗号化してもパケット見たらばれるし。 自PCにならパケットスニファなんて好きなだけ入れられるもんな。
- 842 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:19:04 ]
- そもそもFTPじゃユーザ名パスワードが平文だぜ。
- 843 名前:デフォルトの名無しさん [2009/11/17(火) 22:24:16 ]
- 質問です。.NET3.5 C#3.0
サイズの大きい画像を256四方で分割したいのです。 実際分割してみると、エクスプローラ上では256*256と表示されるのですが、 Fireworksで読み込ませると、256*256, 255*255, 256*256といった具合に、 元の画像のSizeによって256*256にならず、 切り取った画像を256四方に並べると隙間ができてしまいます。 ペイントに貼り付けるとx=0, y=0のラインが真っ黒になります(255*255)。 元画像のImageオブジェクトの HorizontalResolution,VerticalResolutionは96.01199 なのですが、 コピー先 bmp = new Bitmap(256,256); のHorizontalResolution,Vert(ry は96.0と異なるのでこの辺で誤差が出てる? Graphics.FromHwnd にてモニタのdpiを取得すると96.0と表示されます。 でもReadOnlyプロパティなのでbmpのResolutionを96.01199にできない。 矩形画像を正しく切り取り、保存する方法を教えてください。
- 844 名前:843 [2009/11/17(火) 22:25:52 ]
- //ソース
int pixel = 256; Bitmap bmp = null; Graphics g = null; Rectangle rect; System.IO.FileInfo fInfo = new System.IO.FileInfo(filePath); Image origin = Image.FromFile(fInfo.FullName); int wBlocks = (int)Math.Ceiling((double)origin.Width / (double)pixel); int hBlocks = (int)Math.Ceiling((double)origin.Height / (double)pixel); Console.WriteLine(filePath); for (int h = 0; h < hBlocks; h++) { for (int w = 0; w < wBlocks; w++) { bmp = new Bitmap(pixel, pixel); g = Graphics.FromImage(bmp); rect = new Rectangle((w * pixel), (h * pixel), pixel, pixel); g.DrawImage(origin, 0, 0, rect, GraphicsUnit.Pixel); string destName = fInfo.Directory + "\\" + fInfo.Name.Replace(fInfo.Extension, string.Empty) + "_" + h.ToString("000") + "_" + w.ToString("000") + ".png"; bmp.Save(destName, System.Drawing.Imaging.ImageFormat.Png); g.Dispose(); bmp.Dispose(); } } origin.Dispose();
- 845 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:26:55 ]
- 抑えるのではなく、逆にIDとパスワードは流出してもOKにすれば問題ない。
- 846 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:30:52 ]
- LockBitsで直接コピーするのが確実じゃね
- 847 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:38:57 ]
- >>845
繋ぐ先のFTPサーバのアカウント操作権があるならそれもありだよね。 ダウンロードのみならanonymous FTPにしちゃうってのもありだ。
- 848 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:43:11 ]
- ユーザーID を本名にして、パスワードをクレジットカード番号とかにしておけばいいな。
- 849 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:45:27 ]
- >>845,847
あー、なるほど。 でもアップロードも必要なので、anonymousは出来ないですね サーバ側のFTP制御設定弄ってみます。
- 850 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:45:55 ]
- >>844
どうやったかなぁ。とりあえず座標系とかオフセットモードが 関係してた希ガス。PixelOffsetMode.None してみると駄目? 補間モードとかもいじらなあかんかもしれん。
- 851 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:45:55 ]
- そもそも自分でFTPアカウントを発行できない環境でそんな利用の仕方が許されるとは思えない
- 852 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:46:59 ]
- >>843
Fireworks以外のドローソフトだとどうなるの?
- 853 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:56:04 ]
- >>844
ツッコミどころは色々あるが、さしあたりはバグというほどのものはなさそうだな。 FireworksがDPIを真正直に解釈して誤動作起こしてるのかもしれんね。 まずはbmp形式で保存して、バイナリエディタで眺めてみたら?
- 854 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:56:54 ]
- 暗号化ってさ、
そんなに効果あるものなの? 実際使うのなら、起動時に複合化して、 ずっと変数に持たしておいてもいいの?
- 855 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:58:36 ]
- >>854
何を? パスワードとか大事なモノを扱うときは、SecureString とか使う方がいいね。
- 856 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:59:10 ]
- FTPの話は前のスレでも出たな
プロトコルの用途がちげぇって結論になった気がする
- 857 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:06:23 ]
- DrawImageの描画先をint,intじゃなくてRectangleで指定する
- 858 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:07:55 ]
- >>856
だな。まずはその腐った要求仕様を窓から投げ捨てろといいたい。 で、代わりのプロトコルを考えるとするならどうするか、なんだが。 ユーザーのPCから特定のバイナリデータを手元のサーバーに送りつけるというのでいいんだな? ――とはいうものの、考えてみると、案外これというやりやすい方法が見当たらないので困ったもんだ。 さしあたり思いつくのがHTTPのPOSTで送るかメールで送るか、あとRDBにクエリで送りつけるかだが。 IISが運用できるならC#で解決できるからHTTPで決まりだろう。 メールの場合、LinuxやMacならともかく、Windowsは送信できる環境が保証されてないので メールを正しく送信できることが保証できない。 企業アプリみたいにこちらで動作環境を自由に決められるなら何とでもなるんだけどね。
- 859 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:09:24 ]
- >>854
パスワードを暗号化して埋めこんだんだとしても IL解読して複合化の手順読みとられたらそれで終りだし メモリに持ったり通信したりするときに取られちゃ意味ないし
- 860 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:10:09 ]
- >>856
それは、プログラムからFTPは利用しないほうがいいってことですよね? といっても、CGIやPHPが使えればそちらを使うのですが、 使えないので、ファイルの書き換えを行うには直接FTPするしか無いと思いまして・・・ 取りあえずアカウント制御で、ディレクトリ制限を掛けてみました。 これでしばらく挙動見たいと思います
- 861 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:11:50 ]
- どっかのCGI設置可能なレンタルサーバでも借りてゲートウェイでもするしかないな
- 862 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:13:12 ]
- プログラムっていうかクライアントから直には止めた方いいかもね
- 863 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:13:37 ]
- >>860
そのユーザIDとパスワードはFTPアカウント専用なん? そこが分離されててchrootとかされてるならまだなんぼかマシなんだろうけど。
- 864 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:16:30 ]
- telnetで接続可能なパスワードとかだったら笑えるな
- 865 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:21:01 ]
- >>858
IISも無理です、基本サーバ動作のモノは全てアウトでして。 RDBは思いつきませんでした、が・・・見た感じ無理そうです・・・ >>861 レンタルサーバはちょっと厳しいです >>863 chrootされてますです
- 866 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:24:51 ]
- ftp内でのコマンドの制限とかquotaとか適切に設定されてるなら
とりあえず大丈夫なのかもしれないね
- 867 名前:デフォルトの名無しさん [2009/11/17(火) 23:26:06 ]
- そもそもなんでこんな危なっかしい事しなきゃいかんのだ?
- 868 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:31:02 ]
- 自分で試してみましたが、取りあえずchroot周りはうまく制御されてるみたいです
もっと良い方法があれば教えてください。 これでしばらく試してみます。ありがとうございました。
- 869 名前:749 mailto:sage [2009/11/18(水) 00:44:38 ]
- >>750 >>763
遅くなりましたが、ありがとうございます! こちらにある通りApp.configを修正して実行してみましたが、やはり上手くいきませんでした(固まっちゃって再起動) ttp://hightechrider.blogspot.com/2009/10/mixed-mode-assembly-errors-after.html あまり理解できていませんが、最近のランタイムでは使えなくなった可能性が高いということでしょうか。 とりあえず今回は他の方法で実現するという方向性に逃げました。
- 870 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:56:52 ]
- つーか、環境ぐらい書けば? .NET Framework 4.0 なんて入れてんの?
- 871 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:01:42 ]
- そりゃ入れてるから「4.0 ランタイムでは読み込めません」なんてメッセージが出るんだろう
- 872 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:02:13 ]
- Windows SDKってどこからダウンロードできますか?
ググって飛んだら 申し訳ございません。ご指定のページが見つかりませんでした。 といわれました
- 873 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:04:26 ]
- ベータのランタイムなんて入れてんのが悪いんだろ?
- 874 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:32:13 ]
- ttp://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&DisplayLang=en
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=71deb800-c591-4f97-a900-bea146e4fae1&DisplayLang=en 最新はコレ ISOとWebインストール ttp://www.microsoft.com/downloads/details.aspx?FamilyID=7bbe5eda-5062-4ebb-83c7-d3c5ff92a373&DisplayLang=ja こっちは日本語版MSDNライブラリの最新
- 875 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:34:42 ]
- C#では、C,C++における『CLOCKS_PER_SEC』のようなものってありませんか?
- 876 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:03:51 ]
- switch(foo){
case BAR: /*....*/ break; case BAZ: /*....*/ break; default: // バグってなければ絶対こないところ } ↑のプログラムで default:にいっちゃった時に例外投げたいんだけど、 引数エラーのときの ArgumentException みたいに投げるべき 例外ってある?
- 877 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:07:55 ]
- ArgumentExceptionとか
- 878 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:10:44 ]
- >>875
のようなものっていわれても それでなにしたいのさ
- 879 名前:843 [2009/11/18(水) 02:24:33 ]
- >>846
一回のプロセスで一度に大量の画像を分割するので LockBitsは結構しんどかったりします。 unsafeでポインタ使えば?とか言われそうですが^^; >>852 ペイントの例をすでに書いています。 ほかのソフトはためしてません。 >>853 色々ある突っ込みどころ 教えてください。 rectだけ宣言時にnull代入してないぞ、とか そういうのは無しでおねがいします。 bmpで保存すると、 fireworksで表示するとペイントのときのように x=0,y=0のラインが黒になります。 >>857 描画先をRectangle(0,0,pixel,pixel)にしたら 正常に動作しました。 ありがとうございました。
- 880 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:29:46 ]
- >>876
InvalidFooException
- 881 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:35:28 ]
- >878
すみません。定数が用意されているならそれを使おうかと思いまして
- 882 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:51:33 ]
- >>876
メソッド利用者にパラメータが間違っていることを通知したい場合 → InvalidEnumArgumentException コーディングミスによってありえないフローになっているのを検出したい場合 → Debug.Fail(), Trace.Fail()
- 883 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 03:31:43 ]
- >>879
>857の言うように、GraphicsUnit指定による呼び出し方によって発生する内部の変換処理を避けるわけか。 まあそりゃあそうだわな。そこが今回の不具合の直接の原因なわけだし。 >色々ある突っ込みどころ 教えてください。 じゃあ手短に。 ・wBlocks、整数演算で十分。pixel-1を足してpixelで割ればいい。 ・Disposeするオブジェクトはなるべくusing構文で初期化する。明示的な後始末はなるべく書かないのがベター。 ・切り出しファイルの名前と形式は外から変えられるように書く。というかこんなところで書くものじゃない。あとstring.Format() ・オブジェクト、=nullの初期化なんてイラネ。何そのC++もどき。むしろ必要なところでvar構文で初期化して使う。 こんなとこかな。
- 884 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 04:07:59 ]
- 大規模なプログラムになるとプロパティ使うんだろうけども
個人で使う小規模なプログラムってメンバ変数をpublicにしおいても問題ないよね?
- 885 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 04:12:18 ]
- 自動実装プロパティにしとけば?
- 886 名前:843 mailto:sage [2009/11/18(水) 04:45:56 ]
- >>883
いろいろある突っ込みどころ ありがとうございます。 ・wBlocksの件 アルゴリズムの問題ですね。 たしかに整数演算で簡潔するのでその方がスマートです。 勉強になりました。 ・usingについて 例外が発生するとdisposeされないのでusingを書くべきですが 動作検証用サンプルでしたので急ピッチですのであしからず。 ・切り出しファイルの名前を外から指定について 同じく、動作検証用サンプルですので大目にみてください。 StringFormatもargs指定ミスはコンパイル時に発見されないので +でつないでます。 ・必要なところでvar指定 2重forで300回近くループするのでfor内部で変数宣言は好ましくないのでは? ループ内部で使いまわせる変数は外出しすべきだと僕は思います。 また、null代入は無駄なのは分かってますが 「初期化してますよ」ってメッセージをこめたソースを書くのは悪くないと僕は思います。 ちなみにBitmapを毎回new(必然的にGraphicsもnew) してるのは画像サイズが256の倍数でないときに 右端と下端の矩形を描画すると、前回の描画が残ってしまうための回避策です。 Graphics.Clearで思った動作するかも。テストしてないのでなんともいえませんが。 varは メソッドの戻り値の型をそのまま受けるとき linq+foreach使うときなど、ジェネリックの型名なんだっけってなるとき 使用するのはいいと思うのですが、 C#使ってるんだからその場で初期化する変数は型はしっかり書いたほうが いいと自分は思ってます。賛否はあると思いますが。 (型付DataSetのテーブルアダプタみたいに型名が長いと初期化が冗長になるので そういうときは見易さを考慮して左辺はvarで受けたりします。) コーディング規則が決められているときはもちろんそれに従います。
- 887 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 05:25:45 ]
- C#ってマイクロソフトが作ったの?
- 888 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 05:37:22 ]
- >>886
俺はおまえさんの主張に大体同意だな そもそも宗教的なことまで突っ込みを入れるのは回答者の分を超えてると思うよ
- 889 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 06:11:25 ]
- >>886
俺もおまえさん寄りの意見だが、 突っ込んでくださいと言っておきながら、 それは違う、あれは違うと条件を付けて反論するのはどうかと思う。 自信があるなら最初から聞くな。 聞いた以上は真摯に受け止めるか、 変なやつに聞いちゃったとスルーなさい。
- 890 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 07:30:40 ]
- プライドだけは一丁前
- 891 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 07:39:05 ]
- >>889
それはおかしい 教えを請うたからといって間違った回答や、 自分の方針と反する内容を無条件で聞く必要はない かといってスルーするのは礼を失している 886の対応は真摯な態度だと思うぞ
- 892 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 07:40:20 ]
- >>886
>2重forで300回近くループするのでfor内部で変数宣言は好ましくないのでは? >ループ内部で使いまわせる変数は外出しすべきだと僕は思います。 少なくとも今回のケースでは、変数宣言を外に書いても速度的にメリット無いよ。 変数宣言を一回通るたびに実行コストがかかるとか杓子定規に考えてない?
|

|