- 1 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 20:39:06 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
- 39 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:17:43 ]
- おいおいw
Console.WriteLine(sizeof(bool)); Win32のBOOLはlongのエイリアスだから、対応するマネージ型はInt32かUint32 だと思いますよw
- 40 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:19:38 ]
- void で全く問題ないよ
- 41 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:27:00 ]
- DllImport の場合マーシャラは既定では bool を Win32 の BOOL に変換する。
だから何も問題ない。
- 42 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:29:43 ]
- 今度は引数と返り値の区別がつきませんか。
困った君ですねまったくw
- 43 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:43:01 ]
- 春だよなあ
- 44 名前:33 mailto:sage [2007/03/04(日) 19:43:49 ]
- pictureBox1.ImageをBitmapにしてSelectObjectするといいんでしょうか
- 45 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:49:13 ]
- SelectObject 関数は調べれば分かる
画像を選択するには HBITMAP を渡す必要があるわけだが、これは Image クラスの GetHbitmap メソッドで取得できる 使用後は SelectObject で元々選択されていたのを選択しなおして、取得した HBITMAP の方は DeleteObject
- 46 名前:33 mailto:sage [2007/03/04(日) 20:38:40 ]
- C#では
SelectObjectは現在のコンテキスト内には存在しません エラーが出てしまいます いつでもいいのでどなたか pictureBox1.ImageからForm1へのBitBltでのコピー成功例を示してもらえると嬉しいのですが
- 47 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:41:00 ]
- >>39
それを言うならMarshal.SizeOfの値をみなくちゃいけないんじゃないの? msdn2.microsoft.com/ja-jp/library/t2t3725f(VS.80).aspx には規定で4バイトにマーシャリングしてくれるみたいだけど >>42は何をいってるの? 後学のために教えてちょ。
- 48 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 22:11:40 ]
- >>46
BitBltなんて多用してるけど、今までなにも問題出てないけどなあ。 主に裏画面(Bitmap)と実画面の間の相互の転送だけど。 SelectObjectの話はヨタだから真に受けちゃダメよw
- 49 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:41:13 ]
- 是非とも該当部分のコードを晒してくれ
- 50 名前:33 mailto:sage [2007/03/05(月) 00:32:21 ]
- 実行時にフォーム白地に赤で×が描かれエラーが出るようになってしまった
コンパイラが壊れてしまったのか それともこれは何か特有の現象?
- 51 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 00:51:14 ]
- 描画メモリに不正アクセスしたっぽい挙動だなぁ
- 52 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 01:12:22 ]
- e.Graphics を Dispose したとかそんなんじゃね?
ま、原因は幾らでも
- 53 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 01:19:22 ]
- いやいや、>>50みたいな現象はフォームとかPictureBoxとかに描画するときに
描画メソッドで例外が発生するとそうなる。 例えばデバッグなしでこんなコード実行すると再現できるよ。 protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Point[] pts = { new Point(0, 0) }; e.Graphics.DrawLines(Pens.Black, pts); }
- 54 名前:33 mailto:sage [2007/03/05(月) 02:28:20 ]
- GDIはデリケートですね エラーは戻せたけど
なにかプロパティをいじらないといけないのかな
- 55 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 03:11:40 ]
- そもそもどうしてBitBltでなければならないのかを説明しておくれ。
- 56 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 03:15:54 ]
- e.Graphics.DrawImage() とか、this.BackgroundImage とかではだめなの?
- 57 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 08:12:12 ]
- いや、33じゃなくてもBitBlt使いたい場面は少なくないはず。
だって該当する機能がGDI+にはないからね。 そういう問いかけはナンセンスだよ。 今日仕事終わったら33の言ってる問題が再現するか試してみようかな。
- 58 名前:33 mailto:sage [2007/03/05(月) 10:16:01 ]
- BitBltしか知らなかったもんで
これですか e.Graphics.DrawImage() これはコピー元の座標指定ができないんですかね?
- 59 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 12:20:10 ]
- できる。
Graphics.DrawImage()はやたらとオーバーロードが多いので、MSDNライブラリでよく確認して、適切なものを選んで。 なお、俺はOnPaint()で(というか、.NETコントロール全体を通して)BitBltを使うこと自体が間違ってると思うよ。
- 60 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 12:36:00 ]
- >BitBltを使うこと自体が間違ってる
だからそんなことないって。 例えば描画サーフィスから画像をBitmapに転送することは GDI+では実現できないんだから。
- 61 名前:13 mailto:sage [2007/03/05(月) 12:45:02 ]
- >>14 >>15 >>25 >>26
DLLの設定を ----- [DllImport("fdmpci.dll")] extern static IntPtr fdmpciGetBuffer(); ----- とし, Marshal.Copy(fdmpciGetBuffer(), bufArray, 0, BMP_WIDTH * BMP_HEIGHT * 3 * 2); といった感じで一度bufArray(マネージド)にコピー, bufArrayは2ch分混在してるので,これを1ch分だけ取り出しbmpArrayとした後, Marshal.Copy(bmpArray, 0, bmp_data.Scan0, BMP_WIDTH * BMP_HEIGHT * 3); とすることで解決いたしました.(*3はRGB分) エスパーの皆さん,ありがとうございました.
- 62 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 17:11:45 ]
- >>61
fdmpciGetBuffer()でとったバッファはこっちで解放しなくていい仕様なの?
- 63 名前:33 mailto:sage [2007/03/05(月) 20:45:10 ]
- BitBltを使わないほうが良いというのは.NETの中に全て収めた方が良いということでしょうか
BitBltでは意味不明のところで例の赤×エラーが多発してお手上げ状態になります e.Graphics.DrawImageとBitmapを使ってやってみました(速さはどうなのか分かりませんが) ウインドウが隠れても絵が消えないこと 表画面から裏画面への逆コピーが出来ること 裏画面の座標指定が出来ること 表示画面のセーブが出来ること これらの条件を満たせるようにしました どうでしょうか?
- 64 名前:33 mailto:sage [2007/03/05(月) 20:46:14 ]
- int d1,x1,y1;
Bitmap _bmp = new Bitmap(300, 300); //表面 Bitmap _bmp2 = new Bitmap(@"C:/test.jpg"); //裏面 Rectangle srcRect = new Rectangle(0, 0, 300, 300); GraphicsUnit units = GraphicsUnit.Pixel; protected override void OnPaint(PaintEventArgs e) { if (d1 == 0) init(); x1 = 0; y1 = 0; srcRect.X = 0; srcRect.Y = 0; srcRect.Width = 300; srcRect.Height = 300; //常に表面を表示 e.Graphics.DrawImage(_bmp, x1, y1, srcRect, units); } private void init() { //ここは最初に1度だけやることを書く //試しに裏の横50から100切り取って表へコピー Graphics g = Graphics.FromImage(_bmp); x1 = 0; //表X座標 y1 = 0; //表Y座標 srcRect.X = 50; //裏X座標 srcRect.Y = 0; //裏Y座標 srcRect.Width = 100; //転送X幅 srcRect.Height = 300; //転送Y幅 g.DrawImage(_bmp2, 0, 0, srcRect, units); g.Dispose(); d1 = 1; }
- 65 名前:33 mailto:sage [2007/03/05(月) 20:50:01 ]
- インデント失敗^^
- 66 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:01:06 ]
- どうでしょうか、って言われても
知らんがな、としか答えようがないのでは。。。
- 67 名前:33 mailto:sage [2007/03/05(月) 21:14:28 ]
- 一応画像のやり方のコツはつかみました
教えてくれた方々 どうもありがとう。
- 68 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:48:03 ]
- どうでしょう、っていうか、とりあえずbase.OnPaint()を呼んでないのはよくない。
- 69 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:51:03 ]
- >>64 のコードって、コンストラクタで
Init(); BackgoundImage = _bmp; とやれば、OnPaint()を使う必要ないんじゃね。
- 70 名前:33 mailto:sage [2007/03/05(月) 22:06:23 ]
- そうですか
もっと調べてみます
- 71 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 12:45:55 ]
- http プロトコルで配布されているzipファイルの
日付だけを取得することはできますか? 今は、手動でダウンロードしているんですが、 更新されていたら自動でダウンロードする機能を つけたいもので。
- 72 名前:13 mailto:sage [2007/03/06(火) 14:36:19 ]
- >>62
サンプルソース&仕様書を読む限りでは fdmpciSingleCapture() でキャプチャー後, fdmpciGetBuffer() で得られたアドレスからデータを読み出すだけでokなようです. (キャプチャーボードへの接続開始,終了時はそれぞれInit,Exitという処理がありますが)
- 73 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 14:56:58 ]
- WebClient.DownloadFileAsync 内で WebException が発生しているようなのですが、
try{ WebClient.DownloadFileAsync(...); }catch(WebException){ .... } と書いても catch できません。DownloadFileAsync 内で発生した例外を catch する にはどう書いたらよいのでしょうか?
- 74 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 20:24:34 ]
- >>71
HTTP の仕様、If-Modified-Since を調べなさい
- 75 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 21:10:54 ]
- つうか HEAD でいいじゃん
- 76 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 22:46:59 ]
- 返してくれるかどうかは相手の鯖次第だけどな
- 77 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 22:57:39 ]
- >>73
確認してないが、DownloadFileCompleted のイベント引数に入ってないか?
- 78 名前:73 mailto:sage [2007/03/06(火) 23:13:32 ]
- >>77
ばっちりでした。 ありがとうございました。
- 79 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:20:37 ]
- さっき C# 触ったばかりですが質問ください
int i = 1; string s = (string) i ; と、これでは整数型を文字列型にキャストできないようなのですが、 どうすればできるでしょうか
- 80 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:23:02 ]
- string s = i.ToString();
- 81 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:55:19 ]
- >>80 ありがとうございます できました!
ところで、いま VC# 2005 無償版を触っていますが、 プロシージャ(?)を作った際に、 { } は自動で補完してくれないのものなのでしょうかどうでしょうか
- 82 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:04:58 ]
- そんなん補完されても全く嬉しくないな
- 83 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:05:00 ]
- してくれないものです
- 84 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:32:10 ]
- プロシージャて呼ぶのは何やってる人だろう・・・
- 85 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:42:26 ]
- >>84
元コボラーもしくはDB/SQLべったりな人とかはそういう呼び方しそう。
- 86 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:51:25 ]
- VBじゃないの?
- 87 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:53:56 ]
- VBだったらEnd SubなりEnd Functionが補完されるのに、ってことか。
- 88 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:55:18 ]
- >>86
ん? VBでプロシージャなんて呼称でてきたっけ?
- 89 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:04:16 ]
- パルカルあたりが起源の言葉だと思うけど、Cの文化でもプロシージャっていうでしょ。
WndProcのProcじゃん。
- 90 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:10:28 ]
- >>89
パスカルは知らんけど、Cの用語/文化ではプロシージャってのは聞かんぞ。 そりゃWndProcみたいな一部の関数名としては聞くけど。
- 91 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:15:44 ]
- >>89
あぁパスカルか。思い出した。d
- 92 名前:デフォルトの名無しさん [2007/03/07(水) 01:30:13 ]
- CellValidatingについて教えてください
DataGridViewにて同一行に移動した場合はCellValidatingイベントを 発生させたくないのですが、まったくわかりません。 バカな質問かもしてませんが どなたかおねがいします
- 93 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:40:37 ]
- RowValidating でいいんじゃね?
- 94 名前:デフォルトの名無しさん [2007/03/07(水) 01:53:21 ]
- うわ〜〜
RowValidatingてのがあるんだ 本当にありがとうございます もっと勉強します
- 95 名前:デフォルトの名無しさん [2007/03/07(水) 07:44:17 ]
- XMLDataSourceを使ってGridViewにバインドしたいと考えており
以下の単純なXMLファイルを作成したところ問題なくGridViewにバインドされます。 <ファイル管理> <ファイル ID="A" ファイル名="AAAファイル" /> <ファイル ID="B" ファイル名="BBBファイル" /> <ファイル ID="C" ファイル名="CCCファイル" /> </ファイル管理> このXMLファイルには他の定義も必要になるため、もう1階層要素を追加しました。 <どっとねっと> <ファイル管理> <ファイル ID="A" ファイル名="AAAファイル" /> <ファイル ID="B" ファイル名="BBBファイル" /> <ファイル ID="C" ファイル名="CCCファイル" /> </ファイル管理> <別の階層> <システム ID="AAA" /> <システム ID="BBB" /> <システム ID="CCC" /> </別の階層> 今回必要なのはファイル管理以下の一覧なのでXPath式を /どっとねっと/ファイル管理 としたところ画面には何も表示されなくなりました。 どのようにしてファイル管理以下の一覧を取得するのでしょうか? プログラムでDataGridにバインドする前にXMLデータの加工をしてしまえば できると思うのですが、デザイナ画面で実装イメージが確認したいので そのようにしたくはありません。
- 96 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 07:56:59 ]
- pc11.2ch.net/test/read.cgi/tech/1173061176/22
- 97 名前:デフォルトの名無しさん [2007/03/07(水) 13:04:54 ]
- コンパイルした後の、最適化されたソースを見ることはできますか?
どこかのページで見たような気がするのですが。。
- 98 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 13:10:48 ]
- コンパイルとはCILへのコンパイルのことかJITコンパイルなのか。
前者ならildasmか.NET Reflector、後者ならそのへんのデバッガで
- 99 名前:デフォルトの名無しさん [2007/03/07(水) 15:02:59 ]
- VS2005にてビルドを行った時に、中間言語みたいなものを見ることができなかったかなぁと。
よく、解説サイトなんかで、volatileを使った時の結果を見てみましょう みたいな感じで、volatileをつけたときとつけない時の比較を行ったりしている時に 表示しているコードみたいな。。 VS2005、アセンブリにする直前のソースを表示させる事なんかができないのかなぁと。 無ければ.net reflectorを使ってみます。 ありがとうございます。
- 100 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 15:09:03 ]
- ILならildasmで見れるだろ
- 101 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 15:32:11 ]
- おぅ。なるほど〜
.net reflectorに目がいってますた ありがとうございます。
- 102 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 23:53:55 ]
- DropDownStyle=DropDownList な ComboBox を作りました。
このコンボボックスの状態を ApplicationSetting 保存しようと、 (ApplicationSettings).(PropertyBinding)にTextを設定しましたが、 無視されました。 DropDownList でどの項目が選択状態にあるか保存するには (ApplicationSettings).(PropertyBinding)になにを指定すれば よいのでしょうか?
- 103 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 00:39:28 ]
- >>29
読んでね。
- 104 名前:デフォルトの名無しさん [2007/03/09(金) 18:44:43 ]
- 前スレ埋まったのでage
- 105 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 19:40:36 ]
- ↓同意。
1000 名前:デフォルトの名無しさん[sage] 投稿日:2007/03/09(金) 18:44:10 マ板でやれ
- 106 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 19:59:20 ]
- お客さんはこちらへ…
コーディングトラブルの約70%はif文などでの{}省略 pc11.2ch.net/test/read.cgi/tech/1173416521/
- 107 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 20:03:26 ]
- __________ __ ______ _____ ___ ___ ___
/ / / / | / /__ __/ [][] _| |_| |__ _| |_ /_______ /__/ /_ | ____/ / / | _ | |_ レ'~ ̄| / / /__ _/ / /____ | |___  ̄| | / / / /| | / / / | / __ / \__| | |  ̄ /_ / | |_ / \ / / / | / | / / |_| |__| \/ .\ \/ / / / /|_| / /| | / / \ / \// / / / \ V / We are The Real Programmers \ \ / / / / / \ pc11.2ch.net/prog/ \/ /_/ /_/ ∠_/\_\
- 108 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:22:24 ]
- マ板でやれというのももっともなので最後にしますが
>>前スレ997 おまえさん独善的杉。妄想力が豊かなのは結構だが、脳内ソースで人を非難するのはやめてね。
- 109 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:00:33 ]
- まだ春休みなのか・・・
- 110 名前:デフォルトの名無しさん [2007/03/10(土) 16:42:48 ]
- C#で書かれたPNGもしくはJPEGのプログレッシブ表示に対応したコントロールありませんか?
あったら教えてください。 プログレッシブ表示のアルゴリズムを知りたいのですが。
- 111 名前:デフォルトの名無しさん [2007/03/10(土) 16:48:11 ]
- それならC#である必要ないだろ
- 112 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 17:31:28 ]
- >>111
初心者なんで他の言語よめないんです。
- 113 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 17:36:34 ]
- Javaで書かれたのならあるだろ
ほとんどC#と変わらない
- 114 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 18:28:28 ]
- マ板とかム板とか!
どっちも同じプ板じゃないか!!
- 115 名前:デフォルトの名無しさん [2007/03/10(土) 18:49:32 ]
- >>113
見つけられません
- 116 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 09:49:00 ]
- プロジェクトを新規作成するときに、「ソリューションのディレクトリを作成」にチェックを入れなかった場合、
あとから、「ソリューションのディレクトリを作成」にチェックを入れたのと同じ状態(フォルダ構成とか、 exeファイルの出力先とか)にするにはどうしたらよいでしょうか?
- 117 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 11:12:26 ]
- ディレクトリとソリューションファイルなどを再配置し、プロジェクト出力先を変更するだけじゃないのかな?
- 118 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 13:48:58 ]
- Hoge.slnファイルを削除してそのプロジェクトのフォルダを任意の位置に移動して
ほかのソリューションにHoge.csprojを追加するだけ
- 119 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 15:05:29 ]
- Bitmap bmp = (Bitmap)Clipboard.GateDataObject().GetData(typeof(System.Drawing.Bitmap));
dataGridView[col, row].Value = bmp; ↑こんな感じで、クリップボードから読み込んで、DataGridView 経由で データベースに画像を登録しました。 CellToolTipTextNeeded を使って画像のバイト数と画像のサイズ(横ドットx縦ドット)を表示したいんですが、 画像のバイト数とサイズはどうやって取得すればいいんでしょうか?
- 120 名前:デフォルトの名無しさん [2007/03/11(日) 15:15:45 ]
- >>119
1) bmp.Width * bmp.Height * Image.GetPixelFormatSize(bmp.PixelFormat) / 8 (ビットマップ部分の情報量) ファイルに保存した場合の大きさが欲しければストリームにSaveして長さを見る。 2) Bitmap.Size or (Bitmap.Width, Bitmap.Height)
- 121 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 15:17:29 ]
- 何かデータベースと関係があるのか?
Bitmap 型なら Width/Height と PixelFormat/GetPixelFormatSize 使えばいいだろ。
- 122 名前:119 mailto:sage [2007/03/11(日) 15:44:16 ]
- >>119 で書いた方法でデータベースに保存したのですが、
Bitmap bmp = dataGridView[col, row].Value as Bitmap; としても、bmp が null になってしまいました。 そこで、Bitmap を取り出す方法はあきらめて、サイズの取得 方法を質問したわけですが、結局 Bitmap を取り出さなければ いけないようです。 private void t_FILEDataGridView_CellToolTipTextNeeded(object sender, DataGridViewCellToolTipTextNeededEventArgs e) { if (e.ColumnIndex < 0 || e.RowIndex < 0) { return; } DataGridViewImageCell cell = t_FILEDataGridView[e.ColumnIndex, e.RowIndex] as DataGridViewImageCell; if (cell != null) { Bitmap bmp = t_FILEDataGridView[e.ColumnIndex, e.RowIndex].Value as Bitmap; if (bmp != null) 「
- 123 名前:119 mailto:sage [2007/03/11(日) 15:46:35 ]
- すいません、編集中に誤って書き込んでしまいました。
コードは上記の通りなんですが、 bmp が null になってしまうんですが、なんで null に なってしまうのでしょうか?
- 124 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 16:06:53 ]
- データベースには Bitmap 型なんて存在しないから。
直接画像ファイルのバイトイメージが入ってるんじゃなかったっけ。
- 125 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 16:39:54 ]
- MySQLだとblob型ってバイナリ格納用があるが
PHPでそこに入れる場合、mysql_real_escape_string()を 通さないといけないらしい 俺じゃ答えらんないから そういうこともあるってことで参考までに
- 126 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 17:41:38 ]
- PHPのPDOでない関数は直接文字列としてクエリを送るからescapeする必要がある。BLOBでもTEXTでも。
しかしこの場合は自動でデータバインディングされるような。
- 127 名前:119 mailto:sage [2007/03/11(日) 18:22:20 ]
- データベースの環境書いてなかったですね。
SQL Server 2005 Express Edition で、Bitmap を保存している フィールドは varbinary(MAX) です。 dataGridView[col, row].Value = bmp; で保存して、grid 上は表示されているのに、 bmp = dataGridView[col, row].Value as Bitmap; が null になってしまうのがなぜなんだろう〜って感じです。
- 128 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 18:32:03 ]
- DataGridViewImageCell が頑張ってるからに決まってる
- 129 名前:119 mailto:sage [2007/03/11(日) 18:45:04 ]
- 自己解決したのでご報告を。
byte[] bytes = dataGridView[col, row].Value as byte[]; とした後、 bytes から MemoryStream をつくって、 Bitmap.FromStream() としたら、読めました。 レスをくれた皆様、ありがとうございました。
- 130 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 20:42:45 ]
- >>119
”データベースに画像を保存”でググると簡単にその答えに辿り着くね
- 131 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 20:44:43 ]
- 質問いいですか?
Doucuworksみたいな文書をMDIウインドウ内に表示って出来るんですかね? 2005EE Win2000です
- 132 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 20:45:15 ]
- >>131
Docuworksでした
- 133 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 21:45:38 ]
- OLEサーバとして公開されてればもしかしたら可能。
まあ、(おまえには)無理
- 134 名前:102 mailto:sage [2007/03/11(日) 22:58:11 ]
- どなたか、私にも愛の手を差し伸べてはいただけないでしょうか・・・orz
- 135 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 23:23:04 ]
- じゃあ愛の鞭な。
普通に@itのTIPSとかにあるとおりやるだけじゃん。 っていうか、Textってなんだよw 本屋に平積みされてる超初心者向けの入門書から勉強した方がいいと思うよ。
- 136 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 23:27:40 ]
- >>134
ComboBoxのSelectedIndexを格納する不可視のTextBoxなりなんなりを用意して そっちでPropertyBindしたら? まあ自前でxmlファイルに保存した方が簡単だと思うが
- 137 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 02:10:42 ]
- >>136
TextBox使うって、どっちみちコード書くならそのまま SelectedIndexの読込/保存を書くほうがいいんじゃねーの?
- 138 名前:137 mailto:sage [2007/03/12(月) 02:17:28 ]
- すまん。
>>137 に言ってないで >>102 に言えよ俺。 ココ見てみ www.atmarkit.co.jp/fdotnet/dotnettips/558appsettings/appsettings.html
- 139 名前:デフォルトの名無しさん [2007/03/12(月) 12:12:42 ]
- 現在.NET C#で開発しています。
cs側でSQL文を発行して取得したデータをaspx側で使用したいのですが、連携の仕方がわかりません。 具体的には、 ---------------------------------------------------------------- *コンボボックス1,2,3使用 (1)SQL文実行(cs側) (2)SQL文で取得したデータをjavascript(aspx側)で使用するために値引渡し (3)コンボボックスにバインド(コンボボックス1のみ) (4)コンボボックス1で選択した値により、コンボボックス2の内容をjavascriptで動的に変更 ---------------------------------------------------------------- といったことがやりたいのです。 ちなみにコンボボックスの内容を変更する際にpostbackしたくないので、fristload時にコンボボックス1,2,3に表示する予定のデータを一度に全て取得したいと考えています。 コンボボックスの内容を動的に変更するにはデータが入った変数が必要だと考えているのですが、javascriptで宣言した変数にどうやってcs側からデータを格納すればいいのか、といったことがわかりません。 初歩的な質問で申し訳ないのですが、 ご助言お願いします。
- 140 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 12:18:49 ]
- 配列を返す、読み取り専用のプロパティを定義したとします。
読み取り専用にしても、配列の各要素は自由に書き換えできてしまいますよね。 この場合、配列の各要素の書き換えを禁じる方法はあるのでしょうか?
- 141 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 12:22:53 ]
- コード書いて試せば一番早いことはわかってるんですが質問させてください。すいません。
継承についてですが 1、継承は基本クラスのメンバのコードを、内部的に派生クラスへコピぺする機能である。 2、自動で基本クラスのインスタンスが作られ、それを利用できる機能である。 (new一回につき基本と派生で一個ずつ、インスタンスが二つできる) のどちらなんでしょうか? また、 1、の場合 ・privateメンバは継承されない ・protectedメンバは継承され、privateのように振舞う。 2、の場合 ・privateはprivate。アクセスできるわけないじゃないか。 ・protectedメンバは派生クラスからはアクセスしていいぜ。 ってことであってるんでしょうか?
- 142 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 12:29:49 ]
- >>141
1か2かで言ったら1。new一回につきインスタンスがいくつもできたんじゃたまらん。 で、privateは基本クラスのみから、protectedは基本クラスと派生クラスの両方からアクセスできる。
- 143 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 12:31:02 ]
- >>140
ないんじゃね? そのプロパティで配列のコピーを返すようにすれば 書き換えはできるがもとには反映しなくなるけど
- 144 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 12:33:25 ]
- >>140
配列帰す限りはムリだと思う。 getインデクサでも定義して要素だけ返せば?
- 145 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 12:33:57 ]
- >>140
それか、そのプロパティを読み取り専用のインデクサにしてみることを検討
- 146 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 12:35:51 ]
- >>140
クローンを渡せばいいじゃん。
- 147 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 12:44:31 ]
- >>140
いっそプログラムやめちまえばいいんじゃね?
- 148 名前:デフォルトの名無しさん [2007/03/12(月) 13:08:15 ]
- 2.0ならクライアントポストバックを使う。
- 149 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 13:15:41 ]
- >>142
すばやい返答ありがとうございます。 privateメンバは引き継がれて存在するのに派生クラスでは使えない。 基本クラスでprotectedだったメンバは、なぜか基本クラスから派生クラスのメンバへアクセスできる。 ってことですね
- 150 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 13:33:55 ]
- うんにゃ、基底クラスから派生クラスのメンバにはアクセスできない。
なぜなら、基底クラスは派生クラスのことを何も知らないから。派生クラスは自分の基底クラスをはっきり知ってるけどね。
- 151 名前:デフォルトの名無しさん [2007/03/12(月) 13:46:31 ]
- 描画がちらつくので、既定のダブルバッファというのを試してみたんです。
SetStyle(ControlStyles.DoubleBuffer, true); SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); ↑ このコードを追加するか、またはDoubuleBufferedプロパティをtrueにするとあったので、 両方試したのですが、ArgumentException(使用されたパラメータが有効ではありません) という例外エラーが出て、実行できません。 プログラム中で、Graphics g=this.CreateGraphics();というふうにしてるのがまずいのでしょうか
- 152 名前:デフォルトの名無しさん [2007/03/12(月) 13:52:40 ]
- >>140
IList<T>を返すようにしてReadonlyなリストを返せばいい
- 153 名前:151 mailto:sage [2007/03/12(月) 14:51:33 ]
- 原因は、ペイントハンドラで描画後にg.Dispose()を呼んでいたことでした
- 154 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 17:59:22 ]
- >>150
そういわれれば当たり前ですね、だめだ頭回ってないなー自分 ありがとうございましたー
- 155 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 18:57:13 ]
- >>140
てっとり早くIEnumerable<T>型として返すのもあり
- 156 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 21:47:53 ]
- >>139
逆じゃないの? aspxでSQL引っ張るんじゃないの?
- 157 名前:デフォルトの名無しさん [2007/03/12(月) 23:42:06 ]
- いろんな数値型に対応したいとおもい、引数および戻り値をオブジェクト型にした計算関数を作成するとした場合
(引数a,bおよび戻り値の3つのデータ型は同じデータ型であるという前提です。) object Calc(object a, object b) { if(a is byte) return (byte)a + (byte)b; if(a is int) return (int)a + (int)b; if(a is long) return (long)a + (long)b; (以下数値型のデータ型分続く) ・・・ ・・・ } といった感じで今は数値型(+や−の演算子が使える型)の全データ型分を書いています。 このように全データ型分書かなくても同様のことが行えるいい方法があればご教授願えませんか?
- 158 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:46:10 ]
- 基本的には無理
それよりobject型はまずいだろ 型ごとに個別に処理書いてるんならなんでオーバーロードしない
- 159 名前:デフォルトの名無しさん [2007/03/12(月) 23:48:01 ]
- >>157
汚い技を使わない限り無理。 素直にオーバーロードしとけ
- 160 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:48:37 ]
- 演算子が入ってくるとどうしようもない
あと、面倒なのは分かるが引数の型ごとにオーバーロードにした方が良いな それから、byte 同士の加算の結果がどうなるか把握してる?
- 161 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 23:55:04 ]
- メソッドに属性付けといてVisualStudioのマクロ機能を使って自動生成するとか
- 162 名前:157 [2007/03/13(火) 00:04:46 ]
- 了解です。
演算子が入ると無理なんですね。 皆さんレスありがとうございました。 この関数を呼び出す前のaとbに渡されるものがすでにDLL化された関数が出力するデータでそれがobject型となっているからです。 オーバーロードというのも考えたのですが、そうなると呼び出し側で型判定し、データ型分の関数を用意することになってしまうので 簡潔に書きたかったからこのようにしました。 >>160 byte同士の加算結果はオーバーフロー発生の場合は255を返す処理にしています。 (そのほかの型でもオーバーフローが発生したらMaxValueを返すようにしています。)
- 163 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:11:22 ]
- >>162
try { return (byte)a + (byte)b; } catch (OverflowException ex) { return byte.MaxValue; } みたいなコードだったりしないよな? いや、分かってるなら良いんだけど。 ちなみに、上記の演算は決して例外が発生しない。
- 164 名前:157 [2007/03/13(火) 00:23:33 ]
- はい、例外が発生しませんので、
return ((byte)a + (byte)b > byte.MaxValue ? byte.MaxValue : (byte)a + (byte)b); と書いています。
- 165 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:42:15 ]
- コンパイラオプションで例外出せたような
- 166 名前:デフォルトの名無しさん [2007/03/13(火) 00:47:46 ]
- ユーザに対して数値しか入力をさせたくない場合に
例えばユーザが下記ユーザID入力項目にアルファベットの Aを入力した場合に、KeyCodeが1から9の範囲に無いので 入力を破棄するにはどうすれば良いでしょうか? ユーザID □□□□□ ※入力値チェックをするのではなくそもそも最初から数字以外を入力不可に したいです。 ご存知の方がいらしましたら教えて下さい。
- 167 名前:デフォルトの名無しさん [2007/03/13(火) 00:54:12 ]
- textBox.KeyPress += delegate(object sender, KeyPressEventArgs e)
{ if ((e.KeyChar < '1' || e.KeyChar > '9') && e.KeyChar != (char)Keys.Back) e.Handled = true; }
- 168 名前:166 [2007/03/13(火) 01:13:49 ]
- >>167さん
ありがとうございます!!
- 169 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 01:38:01 ]
- コピペされるとマズい気が。
- 170 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 09:46:34 ]
- textbox numeric でググるくらいのことはしろよ。
- 171 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 10:44:47 ]
- >>166
GetWindowLong/SetWindowLongとES_NUMBERで実現できます。 ちなみにXPで実行するとバルーンチップも出てきます。 >>88 亀ですが VBではSubやFunctionやPropertyの正式な呼び名はプロシージャです。これは Quick BASICの頃からそうです。 ただほとんどの人はサブルーチンとか関数とか呼んでる気がします。
- 172 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 11:14:30 ]
- MaskedTextBox使わんの?
2002/2003?
- 173 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 12:02:43 ]
- ワイルドカードを含んだパス(たとえば"C:\hoge\*.txt"とか)に該当するファイルを列挙する方法はあるんでしょうか。
- 174 名前:デフォルトの名無しさん [2007/03/13(火) 12:19:49 ]
- System.IO.Directory.GetFiles
|

|