[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 03/08 23:54 / Filesize : 48 KB / Number-of Response : 175
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC♯, C#(初心者用) Part14



1 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 20:39:06 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

2 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 20:44:00 ]
ごめんなさい
このスレは放置して下さい

3 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 22:16:01 ]
次スレとして使えばいいんでないの

4 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 22:24:45 ]
>>3
じゃぁ責任もってテンプレ貼らせてもらうよ

5 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 22:26:04 ]
Visual C# Express Edition (無料)ダウンロード
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

.NET Framework SDK (2.0)
msdn2.microsoft.com/ja-jp/library/ms310244.aspx

MSDN Visual C# Express Edition フォーラム
forums.microsoft.com/msdn-ja/ShowForum.aspx?ForumID=187&SiteID=7
Visual Studio ユーザーグループ
vsug.jp/

@IT Insider.NET
www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
www.atmarkit.co.jp/fdotnet/index/bbs/index.html

宇宙仮面の C# プログラミング / C# Programming
ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
wisdom.sakura.ne.jp/programming/cs/index.html
WisdomSoft Microsoft .NET入門
black.sakura.ne.jp/~third/system/msnet/msnet.html
どっとねっとふぁん
dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
dobon.net/vb/dotnet/
.NET のつぼ
park16.wakwak.com/~mimi/dotnet/top.html

6 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 22:27:11 ]
Borland C#Builder2006
www.borland.com/jp/products/csharpbuilder/index.html

Turbo C#
www.turboexplorer.com/csharp

.NET Framework 1.1 製品ドキュメント
www.microsoft.com/japan/msdn/library/ja/netstart/html/sdkstart.asp

---

MSDNライブラリ 2006年6月版
www.microsoft.com/downloads/details.aspx?FamilyID=373930cb-a3d7-4ea5-b421-dd6818dc7c41&DisplayLang=ja

MSDNをローカルで見れる。

7 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 22:27:50 ]
11 名前:デフォルトの名無しさん[sage] 投稿日:2007/01/18(木) 19:19:37
質問するときに
〜したいのですが、上手くいきません。
〜したときにエラーが出ます。

という書き方はイクナイ。
何も書いてないのと同じ☆

〜したいのですが、〜で〜が失敗します。
〜したときに〜エラーが出ます。

隠さずくわしくかきましょう

8 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 01:48:33 ]
System.Net.WebClient を非同期で動かすと、
コールバックは呼び出し元のスレッドで発生するわけなんですが、
これってどうやって実現してるんでしょうか?

相手が、Windows.Forms.Control 限定なら、
(Delegate.Target as Control).Invoke
でいけると思いますが、Forms.Control 以外でも
呼び出し元のスレッドでイベントを発生させる方法が
あれば教えてください。

9 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 07:41:46 ]
> コールバックは呼び出し元のスレッドで発生する
まじで?

10 名前:7 mailto:sage [2007/03/01(木) 08:34:17 ]
>>9
コールバックされたメソッド内で、Control.InvokeRequired=false なので
呼び出し元のスレッドで動いてると思います。



11 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 17:47:03 ]
>>10
msdn2.microsoft.com/ja-jp/library/hkasytyf(VS.80).aspx

このあたりに書いてあるはず

12 名前:8 mailto:sage [2007/03/03(土) 01:26:09 ]
>>11
ありがとうございました

13 名前:デフォルトの名無しさん [2007/03/03(土) 20:46:15 ]
キャプチャーボードからデータを取り込み,Bitmapクラスを用いてBMPデータとしたいのですが,
キャプチャボード上メモリのデータををメインメモリにコピーする方法でつまづいています.

具体的にはカレントフレームのバッファ アドレスを返す関数
byte *fdmpciGetBuffer(void)
があり(これはキャプチャーボードの仕様),
ここからMarshal.Copyを用いてコピーしようとしています・・・が,以下のようなエラーが発生します.

-------エラー
エラー 1 'System.Runtime.InteropServices.Marshal.Copy(int[], int, System.IntPtr, int)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。 C:\files\vcs\LaserPointer\LaserPointer\Form1.cs 200 13 LaserPointer

エラー 2 引数 '1': 'byte*' から 'int[]' に変換できません。 C:\files\vcs\LaserPointer\LaserPointer\Form1.cs 200 26 LaserPointer
-------

-------ソース
unsafe private void CaptureBMP(){
int BMP_WIDTH=640;
int BMP_HEIGHT=480;

Bitmap bmp = new Bitmap(BMP_WIDTH, BMP_HEIGHT, PixelFormat.Format8bppIndexed);
BitmapData bmp_data = bmp.LockBits(new Rectangle(0, 0, BMP_WIDTH - 1, BMP_HEIGHT - 1), ImageLockMode.ReadWrite, PixelFormat.Format8bppIndexed);

Marshal.Copy(fdmpciGetBuffer(), 0, bmp_data.Scan0, BMP_WIDTH * BMP_HEIGHT);

bmp.UnlockBits(bmp_data);
pictureBox1.Image = bmp;
}
-------

C++でいうMemCpyみたいな奴があれば解決するのか?とも思うのですが,
やり方が分かりません.
どなたかご教授下さい.

14 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 20:58:44 ]
unmanagedからmanagedにコピーするならMarshal.Copy(IntPtr source, Byte[] destination, Int32 startIndex, Int32 length)だ

15 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 21:17:26 ]
>>13
Bitmapデータは行末に詰め物があるからStrideから計算して一行ごとにコピーしないとダメだよ

16 名前:デフォルトの名無しさん [2007/03/03(土) 21:39:27 ]
こんばんわ、お世話になります。

socketが相手から切断された場合に検地したいのですが、ReadLineの
返値から判断する事は出来るのでしょうか?。



17 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 21:39:59 ]
できません。

18 名前:デフォルトの名無しさん [2007/03/03(土) 21:49:24 ]
>>17
やはり・・色々と試しているのですがエラーもでませんよね
みなさん、どうやって検出されているのですか?

19 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 21:52:54 ]
Connected

20 名前:デフォルトの名無しさん [2007/03/03(土) 22:03:57 ]
クライアント側で切断してもループしたままでした

TcpClient tcp = server.AcceptTcpClient();
while (tcp.Connected)
{
}



21 名前:13 [2007/03/04(日) 00:33:55 ]
>>15
一度バッファにコピーしてから〜という感じでしょうか?

>>13
Marshal.Copy(fdmpciGetBuffer(), bmp_data.Scan0, 0,BMP_WIDTH * BMP_HEIGHT);
としても
-----
エラー 2 引数 '1': 'byte*' から 'int[]' に変換できません。
エラー 3 引数 '2': 'System.IntPtr' から 'int' に変換できません。
エラー 4 引数 '3': 'int' から 'System.IntPtr' に変換できません。
-----
といった感じです.IntPtrってのがそもそも理解できてないので,手のつけようが・・・.
ttp://msdn2.microsoft.com/ja-jp/library/system.intptr(VS.80).aspx
を読んでも,「何のために」「いつ」使うべきものなのかが分かりません.

22 名前:13 mailto:sage [2007/03/04(日) 00:35:20 ]
-----
Public Declare Sub RtlMemtoArrMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, ByVal Source As Any, ByVal Length As Long)
-----
Private Sub Timer1_Timer()
Dim num As Integer
Dim i As Long, j As Long
Dim ptr As Long
Dim oldBMP1 As Long, DIBS1 As Long
Dim oldBMP2 As Long, DIBS2 As Long

Dim imgbuff As Long
Dim color As Long

num = fdmpciGetFrameNum
Call fdmpciSingleCapture
window_clear

DIBS1 = CreateDIBSection(window1.hDC, bmpinfo, 0, hMem1, 0, 0)
oldBMP1 = SelectObject(window1.hDC, DIBS1)
DIBS2 = CreateDIBSection(window2.hDC, bmpinfo, 0, hMem2, 0, 0)
oldBMP2 = SelectObject(window2.hDC, DIBS2)

23 名前:13 mailto:sage [2007/03/04(日) 00:36:50 ]
imgbuff = fdmpciGetBuffer

Call RtlMemtoArrMemory(buff(0), imgbuff, bmpinfo.bmiHeader.biSizeImage * 2)
ptr = 0
For j = (bmpinfo.bmiHeader.biHeight - 1) To 0 Step -1
For i = 0 To (bmpinfo.bmiHeader.biWidth - 1)
Call RtlMoveMemory(buffTemp1(j * bmpinfo.bmiHeader.biWidth + i), _
buff(ptr + 1), _
1)
Call RtlMoveMemory(buffTemp2(j * bmpinfo.bmiHeader.biWidth + i), _
buff(ptr + 0), _
1)
ptr = ptr + 2
Next i
Next j

'バイト配列を操作したものを再びDIBSectionに送る
Call RtlArrtoMemMemory(hMem1, buffTemp1(0), bmpinfo.bmiHeader.biSizeImage)
Call RtlArrtoMemMemory(hMem2, buffTemp2(0), bmpinfo.bmiHeader.biSizeImage)

window1.Refresh
window2.Refresh

'DIBSection削除
Call SelectObject(window1.hDC, oldBMP1)
Call DeleteObject(DIBS1)
Call SelectObject(window2.hDC, oldBMP2)
Call DeleteObject(DIBS2)
End Sub
-------ここまで

24 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 00:38:17 ]
かなり長くておじゃまかと思いましたが,製品にくっついてたVB6のサンプルソースを転載いたします.
2ch同時に入力可能なキャプチャーボードなので,各所でそのようなサンプルとなっているようです.
(タイマーイベントは33msに一回,つまり30FPSになっている)

これをC#で実装しなおすのが一応の目標なのですが・・・

25 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 01:10:55 ]
読まずにレスするけど、
byte *fdmpciGetBuffer(void)
の戻り値はbyte配列の先頭アドレスなんだろうから
インポートするときにシグネチャを

[DllImport( hoge.dll )]
IntPtr fdmpciGetBuffer();

ってすりゃいいんでないの?

26 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 01:31:52 ]
>>25
要領得ない質問者にまともなレスを返すあんたは偉いな。

27 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 13:28:11 ]
フォームのAllowDropプロパティをtrueにしてもイベントが来ない・・・。
かれこれ半日くらい迷っています・・・。
私にはもうお手上げです・・・(´;ω;`)ブワ

28 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 13:46:32 ]
>>27
その質問では答えるほうもお手上げだw

29 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 13:52:13 ]
前スレ埋まってないから
質問はこちらで。

ふらっとC♯, C#(初心者用) Part13
pc11.2ch.net/test/read.cgi/tech/1170761729/

30 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 13:54:27 ]
>>27
Part13のほうでエスパー回答しといたから。



31 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 14:00:25 ]
>>21
IntPtr アドレス
Int 整数

32 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 15:37:59 ]
>>30
ありがとうございます。
あちらのほうに返事をしておきました。

33 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:19:32 ]
BitBltについて教えてください
pictureBox1に画像を読み込みForm1にコピーして表示するプログラムです
以下1部省略したその部分です

class USER32 {}
class GDI32
{
public const int SRCCOPY = 0xcc0020;
[DllImport("gdi32.dll")]
public static extern bool BitBlt(IntPtr hdcDst, int xDst, int yDst, int width, int height, IntPtr hdcSrc, int xSrc, int ySrc, int rasterOp);
}

protected override void OnPaint(PaintEventArgs e)
{
pictureBox1.Image = Image.FromFile("C:/test.jpg");
Graphics grfx = e.Graphics;
Graphics g = Graphics.FromImage(pictureBox1.Image);
IntPtr dstHDC = grfx.GetHdc();
IntPtr srcHDC = g.GetHdc();

GDI32.BitBlt(dstHDC, 0, 0, 320, 240,srcHDC, 0, 0,GDI32.SRCCOPY);
grfx.ReleaseHdc(dstHDC);
g.ReleaseHdc(srcHDC);
pictureBox1.Visible = false;
}

BitBltがうまくいかず黒地だけのコピーになってしまいます
ためしにForm1からForm1へのBitBltやるとちゃんと機能していました
pictureBox1のアクセスが出来ていないようです(線などは描けます)
何か足りないのでしょうか?


34 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:34:32 ]
pictureBox1 じゃなくて pictureBox1.Image だろ
SelectObject で srcHDC にコピー元のビットマップを選択してやらにゃならん
……つか PictureBox 使う意味あるのか?

35 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:48:53 ]
>>34
アホなんだから黙ってた方がいいと思うよお前さん。
トンチンカンなこと言っちゃってw

純粋にプログラム的に言えば>>33はどこもおかしくないと思うよ。
いや、BitBltの返り値がboolなのはちょっと違うと思うけど。。

36 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:51:48 ]
回答する前に試しもしない奴に言われたくはないが……。

37 名前:33 mailto:sage [2007/03/04(日) 19:02:51 ]
質問用にちょっとソース変えてあります
実際はOnPaintから呼んだ先で作業しているのですが

SelectObjectを具体的にどこにどんな風に入れるといいんでしょうか

boolなのはサンプルプログラムの引用なんですが 問題でしょうか?


38 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:06:25 ]
boolで全く問題ないよ

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で見れるだろ








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<48KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef