[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 02/20 17:30 / Filesize : 202 KB / Number-of Response : 866
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

C♯, C#相談室 Part34



1 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 20:45:59 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C♯, C#相談室 Part34
pc8.2ch.net/test/read.cgi/tech/1157549657/

過去スレは>>2-5あたり。
※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。

560 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:01:01 ]
>>557は本当に一日で習得できた?
プログラムを動かすだけならコピペでも出来るし、
それに一通り使えるようになった後ではいままでやってきたことがひどく簡単なことだったと思うもんだよ。

561 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:09:47 ]
何らかの言語触ってりゃ
コボラー
絶対無理w
まあ、かけるだけならアホプログラムでも書けるといえなくもないから、
1日でとか短時間を自慢げに言うのって馬鹿にしか見えんよね。


562 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:13:54 ]
このスレらしいくだらない話だなw

563 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:18:49 ]
>>560
C++やらJavaやらやってたんで、楽勝だったよ。

564 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:20:54 ]
文法理解しただけで「習得」したと思っちゃう人いるよね。

565 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:34:09 ]
何らかの言語と
C++やjavaじゃぜんぜん条件が違うわけだが。
まあそんなことはどうでもいい。
できるって言うレベルが人によって違いすぎて何の意味もないわな。


566 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:42:55 ]
blog.livedoor.jp/dankogai/archives/50841173.html
> 私自信、新しいプログラミング言語を3日でマスターできなかったら負けだと思っている。
> もちろん「マスター」にもピンからきりまであるが、ここでいう「マスター」は、もちろんライ
> ブラリーやクラスを端から端まで覚えるということではなく、その言語の特徴をつかんで、
> 一目見てその言語で書かれた事がわかるようなコードを読み書きできることを指す。

567 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:47:36 ]
C#なんて、2.0あたりまでは、メジャーな言語の寄せ集めみたいな文法で、
入門書をパラパラと読んで「ああ、こういう言語ね」と思えないようなヤツは不勉強すぎ。


568 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:48:53 ]
言語自体の割合は小さくなってフレームワークなんかの割合がでかいって
偉い人も言ってたのにね。



569 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 10:52:31 ]
1.1まででの壁はデリゲートぐらいか
2.0は匿名メソッド(のスコープ)

言語としてはこじんまり

570 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 11:09:48 ]
あ、こういう言語ね
書ける
ここでいうマスター

はいはいなんの意味もないね。
ほんとに言語固有の部分は少ないしね。
まあそれでも仕様のボリュームはそれなりにあるけど、
ごく基本的な部分だけでもプログラムは書けるしな。

571 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 11:13:31 ]
そんなんだから、ライブラリでも設計実装させたら
とんでもないことになったりする。


572 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 11:22:58 ]
深く考えずに、細かいところを検証せずに
やたらマニアックなことする奴も氏ね、
コードは複雑で冗長でそのくせ穴だらけでたいして役にも立たない、
ああもうトラウマだぜ。


573 名前:デフォルトの名無しさん [2007/12/15(土) 11:30:57 ]
みんなすごいんだね。
俺なんて、他人のサンプルコード見ては
「なんだよ、このアトリビュート。どうやって学んだんだよ」
「このプログラムの設計ってまず何からどうやって作ったんだ?」
ってな感じで右往左往して
C言語で作ったプログラムをC#で組んでみようと思っても
上手くいかないし。
よし、JAVA宿題スレにそのプログラムの問題投稿して
解いてもらって、そこからJAVA経由で理解しようと
思ったけど、返ってきた答えが答えになってない
不完全なプログラムだったりして、どーしたもんかと考えたり・・・

基本構文はすぐに解ったけどオブジェクト指向が出来てない
自分に辟易する。

574 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 11:32:45 ]
それは単に自分の頭が悪いだけで、
みんながすごいわけじゃなかろう。

575 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 11:35:21 ]
>>573
あんまりふらふらせずに一つの言語に専念してみたらどうだろうか?
ここで上がってる多言語使える人間も、基本的には一つの言語を十分に学んでから、
その言語を起点して他の言語を学んでる人が多いはず。
複数の言語を同時に習得しようとすると、文法やメトリックを混同してまったく勉強できないことも多い。
俺は、とりあえずjavaが使えれば、基本的なOOP的言語は文法の違いだけですぐに覚えられると思う。


576 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 11:42:36 ]
多言語を習得するというのは、実はそれほどすごいことじゃない。
文法とライブラリを使用する程度なら、その言語の主要概念(OOPとか)をすでに習得していればそれこそ丸一日あれば十分。
だから、Javaさえ覚えられればCやC++、C#は使えるも同然だし(言語固有の習慣や文法を除いて)、
言語を習得したっていうのは、言語の設計概念を理解してるかということに直結すると思う。
だから、一日で十分とかいってる人間も、似たような概念で構成された言語を、
今まで覚えた言語の概念を流用して使えるといってるわけで、
関数型言語をまったく知らない状態から、haskellを一日で自由に使えるわけがない。

577 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 11:53:33 ]
>だから、Javaさえ覚えられればCやC++、C#は使えるも同然だし(言語固有の習慣や文法を除いて)

無茶ゆうなw
ってか、言語固有の習慣や文法を除いて
ってどういうこったよ?それはどう使えるっていうんだ?
C++まともじゃなくてもやったことあるなら
そんな台詞はどうやっても出てこん。


578 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 11:56:40 ]
java屋がC#始めると変なとこだけ潔癖症でかなわん。
C#の文法でjavaを書く癖が直ってくれない。



579 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 12:01:02 ]
あるある、チェック済み例外がうじうじとか言い出すよな。

580 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 12:17:54 ]
>>573
そうだね。
こんだけオブジェクト指向が広まってるのに、たとえば、
「C一筋で10年、それ以外にはまったく興味もなくてすごしてしました。
いまさらC#やJavaなんてできません」
みたいなPGって激しくオワットルね。

581 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 12:23:13 ]
C++勉強してればオブジェクト指向の概念自体はだいたいわかるんじゃないのかな。
時歳に使いこなせるかどうかは別だけど。

582 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 12:28:23 ]
C++よりゃよっぽどオブジェクト指向部分に集中し易いjavaでも
結局思い切り人次第だからな〜


583 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:14:59 ]
>>577
同意。C++の複雑度はJAVAの比ではない。C++を知ってる人間なら
JAVAはえらく簡単に覚えられるが、その逆は真ではない。

584 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:34:40 ]
C++は手動でメモリ管理しなきゃならんし
標準ライブラリも足りないものだらけだし
言語自体にも罠がいっぱいある

585 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:44:33 ]
>>584
メモリ管理なら、今やスマートポインタを使わない
なんて考えられない。boostがよりいっそう充実して
ライブラリが進化することを期待する。現にそうなって
きている。

586 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:47:44 ]
いい加減すれ違い。

587 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 13:50:49 ]
ここを隔離スレと知っての発言か?

588 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 14:10:25 ]
いや、おまいらまずC#が生まれた背景を理解しろよ。一言だとJavaのパクリだがw
「C#はC++をモデルとしてプログラマーを面倒で煩雑な作業から開放するために
 作られたより効率的開発のしやすい言語」でC++プログラマーが開発者なんだよ。
つまり、C#はC++からメモリ開放や宣言の煩雑さを省いたオートマバージョンなんだよ。
つまらないCopyとCloneの違いなんてC++プログラマーは一瞬で理解できる。
それを勘違いしているC#ヲタはC#はすばらしいと思っているが、
C#でC++より優れたものを作れるかといったら答えはYESでもありNOでもある。
「何に優れたものか」によって尺度が違うからな。
C++⊃C#、VB.NET これは間違いない。C++を極めればどんな言語でも理解できるよな。
ただ、C++を極めると簡単に言ってもSTL、ATLからUNIX系、MS系や
地方言語のマクロ、コンパイラ、デバイスのインターフェースからOS制御、途方もないボリュームだ。
OSを記述する言語としてのC++ではなく、業務アプリを作るC++を学ぶなら
表面だけなら言語経験より開発手法や設計思想なんかの方がよっぽど重要なのかもな。

はい長文ゴメンなさ〜い。



589 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 14:27:21 ]
痛い

590 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 14:45:54 ]
C#にはあってC++にはない致命的なもの

一つのクラスを一つのソースファイルに書く機能
リフレクション
object型
クロージャ
式ツリー
自動シリアライズ
そしてもちろんGC

C++にあってC#にない致命的なもの

なし

591 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 14:49:50 ]
テンプレートがないのは重症だろ

592 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 14:53:58 ]
素晴らしい!これぞ隔離スレ

593 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 14:57:30 ]
ファイルのインクルードは?

あれがないおかげで、プロジェクト全体から見えるシンボル(#defineで定義するやつ)
を定義しようと思ったらプロジェクトのプロパティーでチマチマやらんといかん。

面倒だし明示的じゃない。

594 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 15:18:13 ]
C++にあってC#に無い物はわざわざ削った物ばかり

595 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 15:30:26 ]
>>593
何を言ってるのか分からん
#defineをプロジェクトのプロパティでどう代用するんだ

596 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 15:36:50 ]
>>595
ただ君が知らないだけなわりになぜか偉そうな口ぶりなのはどうなのw

まあ落ち着いて
msdn2.microsoft.com/ja-jp/library/0feaad6z(VS.80).aspx
の「Visual Studio 開発環境でこのコンパイラ オプションを設定するには」でも読め。

597 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 15:46:21 ]
C#で#defineはそんな使わんと思うんだが
マクロないんだし

598 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 15:54:10 ]
>>596
この機能のことであればひとかけらも致命的ではないだろ
お前のコードはいろんなシンボルを使った#ifだらけなのかもしらんが
プロパティで設定すればいいだけの話だ



599 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 15:59:18 ]
C# でも #if SYMBOL はやるけどもな。

#define は、
マクロ型関数は使うな、
プロジェクト全体に渡るシンボル定義はコンパイラオプション+プロジェクト設定でやれ
ってこと。
プロパティはあんまり関係ないと思うが。

600 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 16:20:24 ]
>>598
たしかに致命的ではないね。
その点は申し訳ない。

601 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 17:39:33 ]
つ C++/CLI

602 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:19:16 ]
>>590
おまえは本当に痛い。
リソースの乏しい久組み込みではGCが激しく邪魔になる。
一生Winアプリでも作ってろカスが。

603 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:39:26 ]
まるで組込用途でC#使ったことがあるような言いぐさだなw

604 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 18:43:33 ]
まあ組み込み用途ならCだし

605 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 19:03:47 ]
>>603
適当に言いました。
すいませんでした。

606 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:34:29 ]
>>591
っジェネリック

607 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:36:45 ]
C#のジェネリックは実体化しなくても型チェックされるから、
肝心なところで使い物にならない。

608 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:38:05 ]
型のチェックがガチガチなのはむしろ好きだがね
ちょっと間違うとコンパイルも通らない



609 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:44:21 ]
CとかC++は何でもかんでも値型にキャストできるのが気持ち悪い。
なんでchar[]とかがintにキャストできるのかと。
ポインタはパフォーマンスアップに繋がるのはわかるがこれだけは
気持ち悪くてしょうがない。

610 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:48:55 ]
C#の将来は明るいですか?
Windowsのソフトを作る予定がなくてもC#
を覚える必要があるか。JAVAとどっちを
勉強すべきか。

611 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:49:47 ]
基本的にC++はメモリ操作が特徴。
型なんてただのメモリの入れ物としてしか認識してないから。

612 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:52:04 ]
>>611
CはともかくさすがにC++にそれは言い過ぎのように思う

613 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:52:26 ]
>>611
C#の型はどうなの?

614 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 00:53:42 ]
>>611
仮想関数があれば仮想テーブルや型情報、vptrもある。
ただの入れ物とは思えない。

615 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 01:11:04 ]
Windowsのソフトを作る予定がないならC#使ってもしょうがない
作る予定があるソフトに必要な言語をやるといい

616 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 01:28:21 ]
>>615
Linuxに移植されたら?
世界は変わるかも?

617 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 01:33:30 ]
Monoのこと、ときどきでいいから思い出してください

618 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 01:35:46 ]
>>617
しょっちゅう使ってるよ
ペンケースに入ってる



619 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 19:00:20 ]
そういえばC++にはbool型をとる安全なifもないな

620 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:28:37 ]
安全
そのようなものはC++の思想に反するのだよ







うそですすみません。


621 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:38:41 ]
むしろif文にbool型しかとらないJava/C#が異端なんじゃねーの?
俺もbool型オンリーの方が好きだが、スクリプト言語してるとそうじゃない方が多い気がする。

622 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:47:50 ]
型に寛容な言語だとboolだけってわけにもいかないから

623 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:48:27 ]
D言語は

bool b = true;
if(b){} // これはいけるけど、
if(b = true) {} // これはだめだお

624 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:48:36 ]
動的型じゃ意味ないわな

625 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:51:33 ]
>>623
やるならここまできっちりやるべきなんだろうな

626 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 22:05:30 ]
>>623
Dはbool以外の型の値もifに与えられるけど、
代入式を取れないってのは革新的だよね。

627 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 22:12:14 ]
Dはよく知らんが
while ((line = reader.ReadLine()) != null)
こういうのはOKなの?

628 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 22:13:29 ]
>>626

メソッドのリターンコードで条件判定するようなプログラミングが簡単に
表現できない欠陥品だろD言語は



629 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 23:00:27 ]
何を言ってるの君は?


630 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 23:02:10 ]
bool以外の値をifに与えられちゃダメだと思うがね
boolの代入は規制すべきだと思う

631 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 11:12:08 ]
そういった人それぞれのプログラミング思想を具現化したものがそれぞれの言語な訳です

632 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:19:44 ]
だな

633 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 02:04:33 ]
C言語(C++)のDLLを、C#と連携を取ろうと思いました。
char*の受け渡しで、詰まるところがありました。
以下のコードで、環境により、エラーが出たりでなかったりします。
(現在、エラーが出る環境がないため、エラーメッセージ失念……)

--------エラーとなるコード C#側(Form1.cs)---------
[DllImport("Hoge.dll")]
extern static StringBuilder GetHogeMessage();

private void Form1_Load(object sender, EventArgs e)
{
  StringBuilder msg = GetHogeMessage();
  this.label1.Text = msg.ToString();
}

-------エラーとなるコード CのDLL側(Hoge.dll)----------
char msg[255];
extern "C" __declspec(dllexport) char* GetHogeMessage()
{
  sprintf_s(msg, 255, "ホゲホゲプー");
  return msg;
}
--------------------------------------

以下のように、ネットで、よく見かけるコードに変えましたら、
エラーが出なくなりました。

続きます。

634 名前:デフォルトの名無しさん [2007/12/26(水) 02:04:57 ]
--------正しく動くコード C#側(Form1.cs)---------
[DllImport("Hoge.dll")]
extern static void GetHogeMessage( StringBuilder name, int len );

private void Form1_Load(object sender, EventArgs e)
{
StringBuilder msg = new StringBuilder(255);
GetHogeMessage(msg, 255);
this.label1.Text = msg.ToString();
}
-------正しく動くコード CのDLL側(Hoge.dll)----------
extern "C" __declspec(dllexport) void GetCurrentName(char* msg, int length)
{
  sprintf_s(msg, length, "ホゲホゲプー");
}

私のよく知る Delphiでは、string ←→ char*(PChar)間では、
コンパイル時に自動で変換コードを入れているのが、
デバッガで逆アセンブルすると、わかります。

同様に、動作を知ろうと、Reflectorで、
ILに変換したのも読んでみたのですが、コンパイラマジックなどなく、
理解にいたりませんでした。

C#は(というか、MSIL?)、内部動作的には、char* → StringBuilderでは、何をやっているのでしょうか?
私は想像では、StringBuilder.pChar のような非公開のプロパティに、char*を代入して処理しているのでは?と思っています。

そうなると、上記のエラーとなるコードでは、インスタンスを生成していないために、
強引なキャストが起き、StringBuilderとして処理はされるものの、
msg.ToString などで、エラーが起きることがある、と。

この辺の、動作に関するドキュメント等ありませんでしょうか?

635 名前:デフォルトの名無しさん [2007/12/26(水) 02:05:54 ]
コードミスりました orz

--------正しく動くコード C#側(Form1.cs)---------
[DllImport("Hoge.dll")]
extern static void GetHogeMessage(StringBuilder name, int len );

private void Form1_Load(object sender, EventArgs e)
{
  StringBuilder msg = new StringBuilder(255);
  GetHogeMessage(msg, 255);
  this.label1.Text = msg.ToString();
}
-------正しく動くコード CのDLL側(Hoge.dll)----------
extern "C" __declspec(dllexport) void GetHogeMessage(char* msg, int length)
{
  sprintf_s(msg, length, "ホゲホゲプー");
}

636 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 02:10:16 ]
マーシャラがStringBuilderが持ってるバッファのポインタをchar*として渡すだけ。
char*を返す関数なら普通にStringで受ければいい。

637 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 02:12:17 ]
>>634
msdn2.microsoft.com/ja-jp/library/fzhhdwae(VS.80).aspx

638 名前:デフォルトの名無しさん [2007/12/26(水) 03:00:09 ]
>>636-637
サンクス!!
アンマネージドと、マネージドの相互変換をマーシャリングというのですね。

Buffers のサンプル
msdn2.microsoft.com/ja-jp/library/x3txb6xc(VS.80).aspx

>>637の文字列のところに書いてありました。
文字列の変更の可能性がある場合は、StringBuilderを使うのはあってるみたいです。
引数などで渡した場合、StringBuilderのバッファのポインタが渡されるだけなんですね。

アンマネージドで確保されたchar* を返却値としてもらう場合は、
自動的に、解放されるのを防ぐために、IntPtr でアンマネージのままもらって、
Marshal.PtrToStringAuto で、stringに変換すればいいのですね。

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



639 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 11:48:22 ]
.net のVBコードをC#に変換できるツールってないですか?

640 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 12:12:05 ]
ありますよ

641 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 12:21:21 ]
ありがとうです

642 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 18:45:28 ]
ツールでVBコードをC#に変換して
勉強がてらいじってるけどさっぱり分からん

c++でネイティブ書くなんて一生無理だなこれは

643 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 18:53:27 ]
それはない
プログラミングが上達しない才能が無い限りいつかできるようになっちゃうよ

644 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 00:38:35 ]
>>638
char*からなら、PtrToStringAnsiではないのか?

645 名前:デフォルトの名無しさん [2007/12/28(金) 01:18:07 ]
こんばんは。質問があります。
[管理ツール]−[データ ソース (ODBC)]-[ユーザDSN]でデータソースの設定を行う際、
表示される画面(例えばアクセスの場合だとデータベースの選択画面)をプログラム上で
出すにはどうすればいいのでしょうか?
ヒントか参考になるサイトでもいいので教えていただけないでしょうか。
よろしくお願いします。


646 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 02:11:03 ]
GetLastErrorをHRESULTに加工して
それから例外を作る装備はないですか?

647 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 04:48:09 ]
>>644
そうですね。

Buffers のサンプル
msdn2.microsoft.com/ja-jp/library/x3txb6xc(VS.80).aspx

の方でも同じようなやり方で、できるとありました。
どもです。

648 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 11:10:04 ]
throw Marshal.GetExceptionForHR(Marshal.GetLastWin32Error());



649 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 11:18:20 ]
LastWin32ErrorはHRESULTじゃないと言うに
GetHRForLastWin32Error

650 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 21:48:02 ]
>>643
すげぇ才能だなww
逆にそれは見てみたい
>上達しない才能

651 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 22:17:45 ]
論理的思考を拒否する人。
感情や直感が最優先の人。
自分の思いが総て正しいと思う人。(これはちょっと微妙か
実際居ると思うぞ。

652 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 22:19:38 ]
急に何の話してるの?

653 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 08:03:35 ]
>>650
俺いっぱい見てきてるよ・・・

654 名前:デフォルトの名無しさん [2008/01/09(水) 05:55:52 ]
imepita.jp/20071227/588010

655 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:45:17 ]
da.Fill(dt)で取得したデータの内容をColumnNameでダイレクトに取得したいのですが
foreach以外に良い方法があるでしょうか?

656 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:57:24 ]
www.atmarkit.co.jp/fdotnet/basics/adonet04/adonet04_04.html

657 名前:655 mailto:sage [2008/01/14(月) 00:05:49 ]
>>656
理解が足りてませんでした・・

ありがとうございました

658 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 12:01:58 ]
質問です

SizeChangedイベントをハンドルしてInvalidateを呼び出して画面全体を再描画したいんですが
領域全体が無効化→背景色クリアが入ってしまい、その後に全体を書くので偉くちらつきます。
で、この背景色クリアを無効化したいんですが、どのようにしたら良いですか?

背景色クリアに関してはWinAPIで叩いてたころは確か
ブラシを入れないとか、Invalidateの引数でRedrawするかしないかを指定できたと思うんですが…

よろしくお願いします。



659 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 12:13:19 ]
SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.DoubleBuffer,true);
と設定してダブルバッファリングすればいい

660 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 12:18:12 ]
いやダブルバッファするかどうかは別問題でしょ。
>>658についてはResizeRedrawを有効にすればOKだと思うけど。

なんか>>658はあまりよくわかってなさそうだから一応補足すると、
これは要するにいちいちInvalidateしなくてよくなるって意味ね。






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

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

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