ふらっとC♯(Part5)at TECH
ふらっとC♯(Part5) - 暇つぶし2ch577:デフォルトの名無しさん
04/11/11 18:00:01
>>576
>ちなみにClass2にはためしにstring型1個つっこんでます

それちゃんと public になってますか?

578:デフォルトの名無しさん
04/11/11 18:11:58
>>577
できました
ありがとうございました吊ってきます

・・・・オレのバカバカバカ・・・・

579:デフォルトの名無しさん
04/11/11 19:53:05
URLリンク(homepage3.nifty.com)
上のページの、「実行時間の高精度な計測」というのを使ってみたくていろいろやってたのですが、
どうしてもusingと;のところで「無効なトークン・・・」というビルドエラーが出でしまいます。
どうしたらよいでしょうか。
VSのC#使ってます

580:デフォルトの名無しさん
04/11/11 20:01:25
>>579
usingはコードの先頭、他にも色々usingされてるところに書く。

581:デフォルトの名無しさん
04/11/11 20:04:57
>>579
そのページのコード、間違ってるような気がする。using ステートメントのカッコの中は、
 1. 式
 2. 型名 変数名 = 式 [, 変数名 = 式 ] ...
のどちらかという形式で、そのページにあるように変数宣言やら式やらを混ぜてカンマで並べたりはできない。

>>578 のいう using はたぶんまた別の using なので無視。

582:581
04/11/11 20:05:50
首吊ります・・・ orz




583:579
04/11/11 20:07:15
>>780
ごめんなさい、自分の貧弱な脳みそでは理解できないのですが、
こういうことですか?

using System.Runtime.InteropServices ; // for DllImport
・・・
private void button1_Click(object sender, System.EventArgs e)
{       
・・・
}    

584:デフォルトの名無しさん
04/11/11 21:46:32
>>579
うろ覚えだから難だがコピペして実行しようとしたときオレも
using System.Runtime.InteropServices ;でコケた
んで、なぜかintelliSenseで同じ内容指定したら動いた

585:デフォルトの名無しさん
04/11/11 21:54:37
} がありません
って言うコンパイルエラーがなぜか出て
ファイル内のテキストを丸ごと切り取って貼り付けたら
正常にコンパイルできたことがあったなあ

586:579
04/11/12 07:48:29
解決しました。
using.System.Runtime~を一番上の
using~というのがたくさんある所
に置いたら実行出来ました。
ありがとうございました。

587:デフォルトの名無しさん
04/11/12 10:54:21
 C#ちょこっと触って、やっぱVB.netにして、「すげえー便利最高」って
思って、やっぱC#の方がいいかなとおもって、迷ってんだけど。
絶対C#がいいってとこある? 

588:デフォルトの名無しさん
04/11/12 10:58:40
べつに~

589:デフォルトの名無しさん
04/11/12 11:03:34
VB系に慣れてたらVB.NET、C/JAVA系に慣れてたらC#。
私はVBの文法が大ッ嫌いなのでC#。

590:デフォルトの名無しさん
04/11/12 12:06:42
>588
 別にーってお前なー。なんか言うことないんか?

>589
 マイコンはCで、PCはVB6で EXCELとAutocadとVisioと、、、、はVBAなの。
JAVAって20年?も前の言語だろ。
今頃になって真似してマトモニなっても、VBで脳みそ破壊されてるからなー。


591:デフォルトの名無しさん
04/11/12 12:11:47
まず日本語から勉強するべきだな。

592:デフォルトの名無しさん
04/11/12 13:29:41
植民地だし、英語だろ。

593:デフォルトの名無しさん
04/11/12 15:26:54
PictureBoxにAllowDropのプロパティがないのに、Drag&Dropのイベントハンドラがあるのは、ライブラリの設計ミスか?
デフォルトでnoneになって、メッセージ発生しないんだが・・・。


594:デフォルトの名無しさん
04/11/12 15:49:42
>>593
なぜかEditorBrowsableAttributeもBrowsableAttributeも不可視の設定になってるから
インテリセンスにもプロパティグリッドにも表示されないけど、
AllowDrop{get; set;}はあるしtrueにしてやれば普通にD&Dも可能。
//やっぱり中途半端……。

595:デフォルトの名無しさん
04/11/12 15:51:06
>>593
つ[インシデント]

596:デフォルトの名無しさん
04/11/12 17:42:36
>>574
OCNがアク禁になっていたので遅レスです、どもわざわざ有難うごさいます。
XMLに関しては同じです、コントロールのところだけの問題か……むむむ
取りあえず助かります。


597:デフォルトの名無しさん
04/11/12 23:37:17
CreateDIBSectionを使っているのですが、
どうやったら、PictureBOXのhDCを取得できますでしょうか?
C#でCreateDIBSectionを使ったサンプル等ありましたら、
お教えください。よろしくお願いします。


598:デフォルトの名無しさん
04/11/12 23:43:11
                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< くっちゃらはぴはぴ!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< くっちゃらはぴはぴ!
Py厨~~~~!    >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」               ̄     / /


599:デフォルトの名無しさん
04/11/12 23:47:59
PictureBox.CreateGraphics().GetHdc()
ReleaseHdc()とGraphics.Dispose()もセットで。

URLリンク(www.codeproject.com)
DIBSectionのラッパクラスだそうだ。

600:デフォルトの名無しさん
04/11/12 23:59:30
NUnitだけど、exeファイルをテストする事は出来ないよね?
で、以下のような仕組みにしている。

作成中のプロジェクトをWindowsアプリからクラスライブラリに変更
 -> MyAppCore.dll
作成中のプロジェクトを走らせるだけのWindowsアプリ・プロジェクトを作成
 -> MyAppRunner.exe(MyAppCore.dllを参照に追加)
内部的なコードはMyAppCore.dllの起動関数を呼び出すだけ。
テストプロジェクト
 -> Test.dll(MyAppCore.dllを参照に追加)

まぁなんというか、もっとスマートなやり方はないのかなと思った次第。

601:デフォルトの名無しさん
04/11/13 00:17:15
>>600
少なくともVer2.2ならできるよ

602:600
04/11/14 10:00:00
2.2使ってます。
自分はテストコードをアプリ本体に入れたくないんですよね。
テストとアプリのプロジェクトを分けるとテスト側からアプリのコードを呼ぶために
アプリ側をDLLにしなくちゃいけない・・・
って、今、思いついたんだけど、テストコードを全部#if DEBUGで
くくっとけばいいのか!
なわけで、解決っぽい。

603:デフォルトの名無しさん
04/11/18 16:46:30
ShowDialogで表示したダイアログを移動した時
元のフォームも一緒に移動したいのですが
可能でしょうか?
可能な場合どのようにすればいいのでしょうか

604:デフォルトの名無しさん
04/11/18 17:07:01
>>604
お兄さんそりゃFormでダイアログもどき作った方が楽でっせ

605:603
04/11/18 17:26:57
すいません。言葉足らずでした。
メインフォームがあって編集用のフォームを
メインフォームの上にモーダルで表示したとして、
編集用のフォームを移動した時に、
メインフォームも一緒に動かしたいなと思ったのです。

606:デフォルトの名無しさん
04/11/18 17:52:59
>>605
ダイアログフォーム呼出時に、ダイアログフォームのOwnerプロパティに親フォーム自身を設定する。

ダイアログフォームの方で、
位置保存用のメンバ変数を作っておく。
Moveイベントで、Ownerプロパティから親フォームの位置を設定し、その後位置保存用変数を更新する。

基本はこんな感じ。
初めの位置保存はLoadかVisibleChangedでやるのが妥当かな。
Moveイベントへのイベントハンドラ追加もLoadでやるか、Moveイベント内でCreatedをチェックするかとか。

//MoveがMoveEventArgsとか言って移動前の位置のプロパティを持っててくれれば楽なのになー。

607:在日外国人参政権反対
04/11/18 18:02:02
きくまえにMoveWindowとか試してみろよ。

608:デフォルトの名無しさん
04/11/18 22:46:15
そうだな。それっぽい名前のを色々弄ってみるのは大事だと思うよ。

609:603
04/11/19 04:43:21
>>606さん。レスありがとうございます。
とりあえず以下のようにやってみましたが上手くいきませんでした。

MainFormとEditFormがあったとして
MainFormでButton1をクリックしたときに

EditForm editDialog = new EditForm();
editDialog.ShowDialog(this);

としてEditFormで

public static int x,y; //Location用変数(publicはとりあえずで付けました)
private void EditForm_Move(object sender, System.EventArgs e)
{
x = this.Location.X;
y = this.Location.Y;

ここにMainForm.Location = new Point(x,y);
見たいな事が出来れば良いんですよね?
色々弄ってみたのですが分かりませんでした (--
}

>>Moveイベントへのイベントハンドラ追加もLoadでやるか、Moveイベント内でCreatedをチェックするかとか。
すいません。この意味が分かりませんでした。

610:デフォルトの名無しさん
04/11/19 08:01:59

public class Form1 : System.Windows.Forms.Form
{
    //中略

    private void button1_Click(object sender, System.EventArgs e)
    {
        Form f;
        f = new Form();
        //f = new EditForm();

        f.Move += new EventHandler(childForm_Move);

        f.ShowDialog(this);
    }

    private void childForm_Move(object sender, EventArgs e)
    {
        Form f = (Form)sender;

        int x = f.Location.X - 100;
        int y = f.Location.Y - 100;
        this.Location = new Point(x, y);
    }
}


611:603
04/11/19 10:04:31
>>610さん
見事に動きました!
それにしてもインテリセンスで「TABキーを押してください」って
こんな指示始めてみましたよ。(^^;;
ありがとうございました。

MainFormがくっついて動いているのが嬉しくて意味もなく動かしニヤってしてみたり。。

612:初心者
04/11/19 21:49:40
C/C++でマウスの座標を表示させるにはどうしたらいいでしょうか。

613:デフォルトの名無しさん
04/11/19 21:53:40
>>612
スレ違い。
URLリンク(www.kumei.ne.jp)
でも読んでください。

614:デフォルトの名無しさん
04/11/19 21:55:53
> 当ホーム・ページの一部または全部を無断で複写、複製、転載
> あるいはコンピュータ等のファイルに保存することを禁じます。

ブラウザのキャッシュ消すのまんどくせ

615:初心者
04/11/19 22:10:41
ありがとうございました。とりあえず何とかなりそうです。

616:デフォルトの名無しさん
04/11/20 16:24:44
Formにいろいろ描きたいので
private void Form3_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
に記述したのですが、
リサイズ時に再描画されるときとされないときがあるみたいです。
されないときは一度最小化してから元に戻すと再描画されるのですが
リサイズ時に確実に再描画されるほうほうってないでしょうか?


617:デフォルトの名無しさん
04/11/20 16:26:47
ResizeRedraw

618:616
04/11/20 23:58:04
>>617さん
ありがとうございました。 ぶじ動くようになりました。

619:デフォルトの名無しさん
04/11/22 10:07:34


620:デフォルトの名無しさん
04/11/22 17:00:39
クラスをいくつかのファイルの分割して記述する方法はあるんでしょうか?
もしあったら教えてください。


621:デフォルトの名無しさん
04/11/22 19:32:31
>>620
partialキーワードがC# 2.0から追加される。

622:デフォルトの名無しさん
04/11/26 13:13:34
C#って、アセンブリで言うgoto命令のような物ってありますか?
あれば教えてください。

623:デフォルトの名無しさん
04/11/26 13:18:20
普通にgotoがある。
ネストループからの脱出以外に使うべきではないが。

624:デフォルトの名無しさん
04/11/26 13:32:27
つうか言語仕様ぐらい大した量でもないんだから全部目を通せと。

625:デフォルトの名無しさん
04/11/26 13:59:29
せめてキーワードくらいはなぁ・・・

626:622
04/11/26 15:42:40
623-625
ありがとうございます
もっかい勉強しなおします…

627:デフォルトの名無しさん
04/11/26 16:04:00
>>626
C#のgotoはswitch 文の case とかを飛び先としても指定できるように拡張されているので、
いろいろみてみると面白いよ。
どうせなら、gcc拡張的なgotoの拡張もついでにやってくれるといいんだけど・・・

628:デフォルトの名無しさん
04/11/27 15:16:17
正直いって .NET って時期尚早って感じがする。
広くに使われるようになるまでに後5年はかかると見た。

629:デフォルトの名無しさん
04/11/27 15:33:56
5年もかからないよ
後2年で半分は消滅する

WindowsFormクラスは消滅けってい
GDI+もいらなくなる

すべてロングホーンが悪い

630:デフォルトの名無しさん
04/11/27 15:35:50
ロングホーンってヘヴィィそうだね。
使いたいと思わないな。
Windows 2000 が最高。

631:デフォルトの名無しさん
04/11/27 15:47:45







C# と Java の違い教えろ。





// Java >>>>> C# なのは自明なんだがな。。。






632:デフォルトの名無しさん
04/11/27 15:50:05
>>631
少しも自明じゃない。

633:デフォルトの名無しさん
04/11/27 15:50:34
火病書き込みに反応すんなよ

634:デフォルトの名無しさん
04/11/27 15:52:20
>>632

ライブラリの充実性からいって自明だろ。
それにJava のソースは公開されてるしな。
格が違いすぎるんだよ。


635:デフォルトの名無しさん
04/11/27 15:52:35
自演に反応すんなよ

636:デフォルトの名無しさん
04/11/27 15:53:47
>>634
そうかな。Java のほうが充実していると一概に言えるか?
ソース公開は確かによいが。

637:デフォルトの名無しさん
04/11/27 15:54:20


                        お
                      い
                    は
                  や
                く
              し
            ろ
          よ
        
      C
    #
  




638:デフォルトの名無しさん
04/11/27 15:55:40
公開されていない部分があったような...なんだったっけ

639:デフォルトの名無しさん
04/11/27 15:56:17
残念ながらC#は仕様が公開されてますので
ソースがほしけりゃmonoのソースでもみてください

Javaはソースコード見た時点で
いろんなプロジェクトに参加できなくなるという恐ろしいライセンスつきですが?

640:デフォルトの名無しさん
04/11/27 15:56:18
>>636
> そうかな。Java のほうが充実していると一概に言えるか?

言える。

641:デフォルトの名無しさん
04/11/27 15:57:15
>>639
> Javaはソースコード見た時点で
> いろんなプロジェクトに参加できなくなるという恐ろしいライセンスつきですが?

見たって言わなきゃいーんだよ。そんぐれー考えろ

642:デフォルトの名無しさん
04/11/27 15:57:18
まぁ速度はJavaのほうが2倍かかるけどな

あとはマ板でやってちょ

●なぜJava厨はそんなに劣っているのか? 8
スレリンク(prog板)

643:デフォルトの名無しさん
04/11/27 15:59:59
>>640
C# のほうが充実している部分もあるのだが。

644:デフォルトの名無しさん
04/11/27 16:00:15

  や
    く
      何
        か
          反
            論
              し
                な
                  さ
                    い
                      、
                        C
                          #
                            
                              厨
                                君
                                  w
                                    w
                                      w

645:デフォルトの名無しさん
04/11/27 16:12:45
なんか盛り上がってますね

646:デフォルトの名無しさん
04/11/27 16:35:49
いやべつに

647:デフォルトの名無しさん
04/11/27 17:33:33
暴言語は冗談抜きで死滅寸前だからな

648:デフォルトの名無しさん
04/11/27 22:03:04
言語としての機能は、後発のC#のが多少上。
ライブラリの充実度はjakartaやその他もろもろのオプソ集団を要するJavaのが上。
業務では、GUI作らないならJavaを用いるのが普通。



649:デフォルトの名無しさん
04/11/28 01:52:43
シェアで言えばJAVAよりVB.NET2005にヤラレそうな気がする

650:デフォルトの名無しさん
04/11/28 11:51:59
VBは今現在でもC#より上、将来は知らんがね。


651:デフォルトの名無しさん
04/11/28 12:24:08
えぇぇぇぇ

652:デフォルトの名無しさん
04/11/28 12:27:21
お前ら>>1読めと。
ここは言語の優劣を語るスレではないぞと。

653:デフォルトの名無しさん
04/11/28 15:03:14
最高に頭悪そうな発言してください in ム板 (2)
スレリンク(tech板)

かと思ったじゃねぇか

654:デフォルトの名無しさん
04/11/30 00:09:17
C#を学習する練習とおもい、メモ帳もどき+αを作成して
完成したのですが、巨大なファイルの表示に時間が
掛かります。
 秀丸エディタさんとまではいかないでも、少しは
早く表示できるようにするには、どうすればよいのでしょうか。
 textBoxを1から自分で作成し直すにしても、その考え方の
ヒントだけでも教えてください。

655:デフォルトの名無しさん
04/11/30 00:21:03
VirtualModeみたいなもんか

656:デフォルトの名無しさん
04/11/30 01:04:22
C#の学習のためなら、もっと他にやることあるんじゃないのか…

と思ったら負けですか?

657:654
04/11/30 01:18:21
>>656
元々勝ち負けのない趣味のプログラムなのですが、
他にといわれても。文法から始めろと?
>>655
VirtualMode?を調べてみます。
ありがとうございます。

658:デフォルトの名無しさん
04/12/03 06:51:53
>>654
ReadLineで処理してるんじゃない?
だったら、ReadToEndで読んでみては?

FileStream fs = new FileStream("ファイルのパス",FileMode.Open);
StreamReader sr = new StreamReader(fs);
textBox1.Text = sr.ReadToEnd();

ところでVC#.Net2005っていつ発売なの?
はやく.Net Freamwork2.0を使ってみたい・・・

659:デフォルトの名無しさん
04/12/03 14:21:06
>>658
早くて来夏だろうねぇ。
環境があるなら、β1を試してみたら?
十分に正式版に向けて準備ができると思うけど。
それに、今ならAvalonのPreviewも出てて、楽しいと思うし。

660:デフォルトの名無しさん
04/12/04 10:53:23
Avalon previewは現状MSDN会員のみだよね?

661:デフォルトの名無しさん
04/12/04 19:44:57
フォームの最小化ボタンを押した時みたいに
this.Hide();
this.ShowInTaskbar = true;
と言う状態にしたいのですが何か方法があるのでしょうか?

662:デフォルトの名無しさん
04/12/04 19:48:40
>>661
それで良いんじゃないのか?

663:661
04/12/04 20:09:22
>>662
いや、やってみたら分かるけど
this.Hide();
とすると
this.ShowInTaskbarを弄っても反映されないみたい
Locationをどっか遠くに設定するしかないのかな?

664:デフォルトの名無しさん
04/12/04 20:19:57
this.WindowState = FormWindowState.Minimized;
じゃいかんの?

665:661
04/12/04 20:41:29
>>664
レスありがとうございます。
それでイケました。

666:デフォルトの名無しさん
04/12/05 12:08:19
C#でC++でいうマクロのようなものってあるんでしょうか?
マクロとテンプレート使ってトリッキーなことしてたのでそれをC#で実現する方法がわからなくて困ってます。

667:デフォルトの名無しさん
04/12/05 12:11:48
トリッキーな事はやらない方向にと言うのが言語の潮流。

668:デフォルトの名無しさん
04/12/05 12:27:53
そんな正論言ってもしゃーないやん

669:デフォルトの名無しさん
04/12/05 23:03:06
たぶん、むりぽ。次期バージョンでテンプレートはいるらしいけど。

670:デフォルトの名無しさん
04/12/05 23:25:12
テンプレートはかなり期待。

671:デフォルトの名無しさん
04/12/05 23:31:20
C++みたいなのだったらやだな。
へたに型とかみなくていいから、単にテンプレート変数を
自分の書いた文字で置き換わってコンパイルされるだけでいい。
そっちのがいろいろ使い道ある。

672:デフォルトの名無しさん
04/12/05 23:37:01
>>671
単純置換は止めてくれ。C++ の如くアセンブリが肥大化する。

673:デフォルトの名無しさん
04/12/06 00:02:58
>>671
むしろC++見たいなので、単純置換でないものがいいな、
もし型の置き換えだけであれば、テンプレートよりもメタクラスの実装の方が何倍も綺麗でいいと思うし。
てか、なんでメタクラスは実装されないんだろう……シクシクシク

674:デフォルトの名無しさん
04/12/06 00:04:53
>>673
メタクラスはクラスのクラスだっけか
smalltalk やった事無いから分からん

675:デフォルトの名無しさん
04/12/06 00:08:25
>>674
とどのつまり型を入れることのできる変数。
Metaclass a = int ;
a b ;

int b ;

たとえばこんな感じ
void Func( Metaclass T , int hoge , ... )
{
}

template 全くいらない

676:デフォルトの名無しさん
04/12/06 00:08:28
>>673リフレクションじゃだめなのか?

677:デフォルトの名無しさん
04/12/06 00:15:04
>>675
Type

678:デフォルトの名無しさん
04/12/06 00:38:11
>>677
それは何かが違う C++ でいえば typedef と type_info 型ぐらい違うな

679:デフォルトの名無しさん
04/12/06 00:40:21
もう型なんてなくていいよ

680:デフォルトの名無しさん
04/12/06 00:44:47
スクリプト言語で型無しではまったことないの?

681:デフォルトの名無しさん
04/12/06 01:22:42
C#(というか.NET)でLuaを使っているサンプルはどこかにないでしょうか。
当方で探しても見つかりませんでした。

682:デフォルトの名無しさん
04/12/06 01:36:42
>>681
それはこれのこと?
URLリンク(bandodalua.lua.inf.puc-rio.br)

683:デフォルトの名無しさん
04/12/06 02:09:29
URLリンク(www.codeproject.com)

> So what about executing Lua script in .NET applications?
> This should not be a major problem, just the matter of writing a managed C++ wrapper.

684:デフォルトの名無しさん
04/12/07 03:49:48
かなり基本な質問です、C/C++で書かれたライブラリ
(.NETとか関係なけりゃクラスすらないような)を、C#で
使用する方法は無いのでしょうか

なんとなくムリかなとは思うのですが、あまりに基本な
ためかどこのFAQを読んでもハッキリした答えがなくて
モヤモヤしてます。C/C++で作られた資産を移植しようと
すると、やはり手作業が入るものでしょうか
ズバッと斬ってやって下さい orz

685:デフォルトの名無しさん
04/12/07 04:11:39
P/Invokeという手法で使用できる。
例えばWin32API呼出もC用ライブラリの呼出と考えられる。
関数のエントリポイント、値渡し参照渡し、相互の型の対応などを考える必要はあるが、基本はこんな感じ。

[System.Runtime.Interopservices.DllImport("user32.dll")]
public static extern uint SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

詳しくはヘルプを見るべし。
ms-help://MS.VSCC/MS.MSDNVS.1041/cpguide/html/cpconconsumingunmanageddllfunctions.htm

686:デフォルトの名無しさん
04/12/07 06:09:08
>>684
DLLなら>>685の言うようにP/Invokeで利用可能。
そうでないなら、COMやDLLにするかManaged C++でラッパを書いて利用する。

漏れはP/InvokeメンドクサイのでCOMコンポーネント経由でやったりするのが好きなんだけど、
Windows XP以外ではインストーラが必須になるので嫌う向きもあるみたい。

687:デフォルトの名無しさん
04/12/07 16:32:28
>>675
おおーすげー便利そう・・・
C#2.0に欲しいなぁ

メタクラスで指定した型の戻り値が欲しい時はどうするの?
object Fanc( Metaclass T, int hoge, ...)
{
}
ならちとイヤーな感じw

688:デフォルトの名無しさん
04/12/07 17:48:59
>>675
リフレクションのシンタックスシュガーか・・
どんなときに便利なの?

689:デフォルトの名無しさん
04/12/07 18:08:09
>>675
それって実行時にすっ飛ぶんだよね
えらーしょりしにくくね?

690:デフォルトの名無しさん
04/12/07 20:24:52
>>675
C#の設計思想と全然合わないな。異物を混ぜるなって感じ。

691:デフォルトの名無しさん
04/12/07 22:09:54
>>675
悪くはないと思うけど、T 型を返すときはどうすんの?

692:デフォルトの名無しさん
04/12/07 22:27:30
>>685さん >>686さん ありがとうございます。

てっきりC++のコードが使えないと思ってたので
助かりました。安心してC#を勉強できそうです。
さっそくDLL作成のほうに手をつけてみます。

693:デフォルトの名無しさん
04/12/07 22:31:38
>>688
Type で reflection って面倒だから、シンタックスシュガーには意味あるんじゃない?
でもテンプレートの代わりにはならないような気が・・・

template <class T> T Max(T a, T b) なんてのから、型推論で T を導出してくれて
こそのテンプレートだし。若干 C++ マンセー入っちゃってるけど。


694:デフォルトの名無しさん
04/12/07 22:33:24
先に予想してみるテスト。

>>692
ポインタもWindowsのハンドルもIntPtr型だ。

695:デフォルトの名無しさん
04/12/07 22:35:21
漏れも

>>692
コールバックも書けるから安心してください(MSDN参照)。

696:デフォルトの名無しさん
04/12/07 23:25:40
>>693,688
シンタックスシュガーではないと思われ

697:デフォルトの名無しさん
04/12/07 23:42:59
>>691
boostとか見てると良く分かるけれど、戻り値が型推というのはバクダンになりやすいので、使わないというのは有りかと思います。
この形式ではやるとしたら構造体かなにかで型と実体のペアを作って返すしかないですね。

>>690
C#の設計思想など知りませんが、少なくともよりオブジェクト指向的ではあろうかと……

698:デフォルトの名無しさん
04/12/08 12:56:45
>>696
いや、シンタックスシュガーだと思うよ。だって、
・変数宣言ができる
・メソッド等のInvokeが普通の書き方でできる
っていう、純粋に記法の追加でしかないし。
即値を渡せばコンパイル時に型を決定して最適化はできるだろうけど・・
関係ないけど全然Metaclassじゃなくて単にClassだよね。

>>697
型推論はともかく、T Max(T a, T b) 程度が書けないのでは記述能力不足・・・

699:デフォルトの名無しさん
04/12/08 14:48:20
>>698
リフレクションをシンタックスシュガーということにしてしまうと、全てがシンタックスシュガーになってしまわないか?
それは何か違う気がするんだが・・・

700:デフォルトの名無しさん
04/12/08 15:15:09
>>699
リフレクションをシンタックスシュガーだと言っているのではなく、
>>675の「Metaclass」なるものは単なるリフレクションのシンタックスシュガーに過ぎない
と言ってるだけ。

Type T; があったとき、 T a = new T() なんて書けるとリフレクション使うときには便利、
それには同意する。

701:デフォルトの名無しさん
04/12/08 15:23:24
そうなのかな、どうにもこうにも拡大解釈としか捕らえられないのだが・・・

702:デフォルトの名無しさん
04/12/08 15:29:41
だって漏れは「リフレクションをシンタックスシュガーだということに・・・」って主張してないじゃん。
だから一体何をどう捕らえられているのかサッパリわかんない。
ケチらないでもう少し言いたいことを書いてよ。

703:デフォルトの名無しさん
04/12/08 15:37:49
>>702
ちょっと勘違いがあるかも、リフレクション機能を対象にしたシンタックスシュガーってのは変だと思うわけ。
リフレクションは基本的にこれがありとなると、もはや何でもありになってしまう。
何でもありな物をシンタックスシュガーだと主張するなら言語機能の全てがシンタックスシュガーということになってしまうが、
これは常識的なシンタックスシュガーの概念とは違うと思う。
シンタックスシュガーは元々定義があいまいなので、主観で貴方がそう思うというならそういう事としかいいようがないと思います。

704:デフォルトの名無しさん
04/12/08 16:00:03
>>703
よくわかった。漏れが>>715をシンタックスシュガーだと思ったのは、現行のTypeとの違いが
局所的な記法の違いだけだってとこから。
主観だけど構文が違うだけで機能が同じなら、それはやはりシンタックスシュガーだと思う。

C++のテンプレートが型推論機構のおかげで普通のチューリングマシンとしての機能を完備していて、
単なるマクロの便利な記法を脱却しているのと比べてしまうからそう思うのかもしれないけど。

705:デフォルトの名無しさん
04/12/08 21:21:52
ていうかシンタックスシュガーって何ですか。

706:デフォルトの名無しさん
04/12/08 21:24:53
>>705
分からないときにはとりあえずぐぐって下さいな
URLリンク(www.google.com)

707:デフォルトの名無しさん
04/12/08 21:27:26
シンタックスシュガーがあるのなら、シンタックスソルトとか、
シンタックスペッパーもあるのですか?

708:デフォルトの名無しさん
04/12/08 21:35:24
>>706
ぐぐった可能性を微塵も考慮しないあたりがステキ。

>>707
正露丸糖衣があるなら正露丸塩衣もあるのですか?

709:デフォルトの名無しさん
04/12/08 22:04:50
ていうか正露丸糖衣って何ですか。

710:デフォルトの名無しさん
04/12/08 22:32:07
>>709
C#に対するIDEみたいなもの。

711:692
04/12/09 00:02:44
>>692 >>695
ありがとうございます(T-T
間違いなくつっかえると思われます¢(。。;)

なお勉強はぼつぼつ進行しつつあり、予言の的中は
15日以降にスケジュールされております。

712:681
04/12/09 19:00:32
>>682
亀レス失礼。
どうもありがとうございます。

713:デフォルトの名無しさん
04/12/14 10:55:08
教えてください。
 C#でボタンをクリックすると指定したpdfファイルを印刷するような
プログラムを作成することはできますか?
 どうすればいいでしょうか?なにかヒントをお教えください。

714:デフォルトの名無しさん
04/12/14 12:12:27
君はどのくらいプログラミングが出来るのか、なにかヒントをお教えください。

715:デフォルトの名無しさん
04/12/14 12:13:50
・Process.Start
・"C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe" /p /h "%1"

716:713
04/12/14 12:43:25
>715
ありがとうございました。
おかげで印刷することができました。
複数枚を、印刷したい時や、ページを指定して印刷するときは
どのようにすればいいでしょうか?よろしくおねがいします。


717:デフォルトの名無しさん
04/12/14 12:56:01
・・・少しは自分で考えろ

718:デフォルトの名無しさん
04/12/14 17:45:54
>>716
馬鹿ハケーン

719:デフォルトの名無しさん
04/12/15 17:27:53
ファイルをゴミ箱に送るにはどうすればいいのでしょうか

720:デフォルトの名無しさん
04/12/15 17:33:12
>>719
URLリンク(www.google.com)

721:719
04/12/15 18:27:09
スミマセンデシタ orz

722:デフォルトの名無しさん
04/12/17 18:46:13
そのスレッドの参照を誰も持ってない場合に
実行中のスレッドが勝手にGCされちゃうことってあるの?

void Start()
{
 Thread thread = new Thread(new ThreadStart(new MyThread()));
 thread.Run(); // 作りっぱなし
}

723:デフォルトの名無しさん
04/12/17 19:48:34
>>722
ないから安心したまい。
実行環境が内部でスレッドを管理するので、参照は実は存在するから。
スレッドが行うメソッドが終了したらGCの対象になる。

細かい話だが、StartされないThreadオブジェクトは参照が無くなればGCの対象だが、
WeakReferenceでのみ参照を持っている状態でもGCの対象にならなくなるようだ。

724:デフォルトの名無しさん
04/12/17 20:04:33
しかしMutexが勝手にGCされてアプリの多重起動防止が効かなくなるということはあるらしいぞ
そのためGC対象から外すよう明示的に指示してやるのが良いそうだ
GC.KeepAlive(mutex);
ってな感じで

725:デフォルトの名無しさん
04/12/17 21:07:34
>>724
それはひょっとしたらSocketがListenした時にMutexが解放されてしまうと言うバグかな。
そうだとしたらGC.KeepAliveも無意味だよ。
そもそもGCの問題じゃないし。

.NET1.0はSP3では解決されてる。.NET2.0(のベータ)は初めから問題なし。
.NET1.1ではSP1でも未解決な、ちょっと頭の痛い問題だ。
TCPチャネルを使ったリモーティングですら解放されてしまうし。

726:デフォルトの名無しさん
04/12/17 21:19:05
そういえばInsider.NETの会議室にもう一つMutex絡みの話が出てた。
スレッドが終了する時に自動的にそのスレッドが所有するMutexを解放するって話。

727:デフォルトの名無しさん
04/12/17 22:03:08
フレームワークのクラスってたくさんあるじゃん。しかも意味不明。

728:デフォルトの名無しさん
04/12/17 22:09:16
誤爆乙

729:デフォルトの名無しさん
04/12/17 22:12:23
>>725
URLリンク(dobon.net)
> ローカル変数として宣言したMutexを使った場合、うまく行かないことがあるようです(これに従い、
> ここで紹介しているサンプルも修正しました)。静的フィールドを使えば解決されますが、それ以外
> では、GC.KeepAliveメソッドを使用すれば解決できるようです。エントリポイントで二重起動を
> チェックする例を次に示します

730:デフォルトの名無しさん
04/12/17 22:23:27
あ、静的変数にしたら問題なくなった。

でもローカル変数のMutexをGC.KeepAliveしてもやっぱりSocketがListenすると解放される……。

731:デフォルトの名無しさん
04/12/23 09:39:14
Htmlをテキストとそのままと表示して、置換を使った簡単なエディタを作りたいなと思うのですが
WindowsアプリでローカルにあるHtmlファイルを表示することって出来るのでしょうか?

732:デフォルトの名無しさん
04/12/23 10:06:14
うぇぶくらいあんとつかえばいいのでは?

733:デフォルトの名無しさん
04/12/23 10:32:27
WebBrowserコンポーネントを使えばいいのでは?

734:731
04/12/23 13:01:13
レス有り難うございます。
キーワードを元に検索して参考になりそうなHPを見つけました。
これから頑張って作ってみます。

735:デフォルトの名無しさん
04/12/29 23:55:43
次期OSでの商用パッケージアプリってC#で開発されるのかな?

736:デフォルトの名無しさん
04/12/30 12:29:00
VisualStudioとか

737:デフォルトの名無しさん
05/01/03 00:26:06
つぎのofficeがC#ってのを聞いたことがある。
office2005の入ってる人は.netも入っていて
C#アプリも配布できるのだと。

738:デフォルトの名無しさん
05/01/03 14:29:40
Office2003も.NETでプラグインを作れたような。
…って、C#とは限らないか。

739:デフォルトの名無しさん
05/01/03 17:56:34
同一アプリケーションドメイン上に、同じキーを持つオブジェクトが1つしかない事を保証したい
singleton を変形し、同じキーで作成しようとしたら、以前作成したオブジェクトを返す
ただし、そのオブジェクトは GC に回収されるようにしたい

WeakReference を Hashtable 内に押し込むのが正解?
WeakReferenceTable オブジェクトとかって無いの?

740:デフォルトの名無しさん
05/01/05 00:59:40
C#でRemotingを使いたいのですが、MSDNやGDN以外で参考になるサイトはありますか?
ぐぐったのですが、ほとんど見あたりません・・・

741:デフォルトの名無しさん
05/01/05 01:09:35
>>740
慣れればそう複雑でも無い事が分かるから(奥は深そうだけど)、取りあえず自分で実際に試す事だね。
URLリンク(d.hatena.ne.jp)
VB.NETだけど、こことか。

742:デフォルトの名無しさん
05/01/05 01:15:19
>>741
ありがとうございます、試してきます~

743:デフォルトの名無しさん
05/01/05 02:07:36
>>740
本は丸ごと一冊リモーティングの本があったよね
お試しとかでなく実用として遣うなら買うことお勧め。時間の短縮分で元が取れると思う。

744:デフォルトの名無しさん
05/01/06 00:52:02
かなり頭が悪いのですが、よろしくお願いします。
以下のようなメソッドがあると仮定します。

メソッド {
if (略) {
bool a
result1 = true;
}

if (略) {
bool result2;
result2 = true;
}

if (result1 == true || result2 == true) {
(終了);
}

}

result1 とresult2 がtrueになったときに
一番下の(終了)という部分を実行したいのですが、
ビルドをすると「未割り当てのローカル変数が参照されました。」と
表示されエラーになってしまいますが、何が原因なのでしょうか。
よろしくおねがいします。

745:デフォルトの名無しさん
05/01/06 00:52:18
変数のスコープ URLリンク(wisdom.sakura.ne.jp)

746:デフォルトの名無しさん
05/01/10 19:53:24
C♯ソースコードのステップ数とかを評価してくれるソフトってない?
C++とかのは見かけるんだけど

747:デフォルトの名無しさん
05/01/10 21:05:30
>>746
ドットネットのすてっぷカウント♪
URLリンク(www.vector.co.jp)
とかどうだろう。

748:yuuteen
05/01/11 18:04:49
こんにちわ。
初めて書き込ませて頂きます。
C#のSystem.Diagnostics.Process.GetProcessesプロシージャが
Windows2000では失敗すると、下記のサイトにあるのですが、

URLリンク(support.microsoft.com)

何故、なのでしょうか?
それと、どうやったら、失敗しないのでしょうか?

誰か、助けて!!



749:デフォルトの名無しさん
05/01/11 19:58:00
>>748

パフォーマンスカウンタに関する問題が原因だったような。
書いてあるように HotFix を入手するか、違う方法を考えればよし。

特に、二重起動防止をやりたいのなら、これじゃなくて、Mutex を
使うほうがいいよ。

750:746
05/01/12 01:22:28
>>747
ズバリでした
探しそびれていたようで。
痛み入りますorz

751:yuuteen
05/01/12 12:27:20
>>749
ありがとうございます。
確かにおっしゃる通りで、HotFixを入手する手も考えたのですが
そもそも、根本的に二重起動チェックの方法が悪いのではというところで 悩んでいました。
ちなみに、バッチの二重起動チェックなのですが...。
下記がMutexを使用した場合のソースなのですが こんな感じなのでしょうか?
また、"MyName"は他の文字列と置換え可能だと、サンプルを見る限り
書いてあったのですが、バッチの二重起動チェックの場合、何をここに
記述しなくてはいけないのですか?
二重起動チェック処理は共通関数化して行う予定です。 ご教授下さい。
///////////////////////////////////////////////////////////////////////////
bool exit = false;
System.Threading.Mutex m = new System.Threading.Mutex(false, "MyName");

if (m.WaitOne(0, false) == false)
{
//すでに起動していると判断する
m.close();
exit = true;
}
else
{
exit = flse;
}
//アプリケーションが終わるまでmへの参照を維持するようにする
GC.KeepAlive(m);
}
///////////////////////////////////////////////////////////////////////////


752:デフォルトの名無しさん
05/01/12 13:03:14
>//アプリケーションが終わるまでmへの参照を維持するようにする
>GC.KeepAlive(m);
GC.KeepAliveはそういう仕様ではありません。

こんなクラスを使えば良いでしょう。

class Hoge {
 System.Threading.Mutex _m;
 boole _is_ok;
 public Hoge(string id)
 {
  _m = new System.Threading.Mutex(false, id);
  _is_ok = _m.WaitOne(0, false);
 }
 public ~Hoge()
 {
  _m.Close();
 }
 public bool IsOK { get { return _is_ok; } }
}

使い方
class YourApp {
 Hoge _hoge = new Hoge("YourAppName"); // メンバ変数等、アプリが終了するまで残る変数に入れること。
 public void Main()
 {
  if ( !_hoge.IsOK ) return;
  ...
 }
}

753:デフォルトの名無しさん
05/01/12 16:11:06
>>751
よく動いてる仕組みもわからず使う気になりますね
全部を詳細に把握しろとは言いませんが。

754:デフォルトの名無しさん
05/01/12 22:20:38
コマンドラインコンパイルの方法教えてください。
javac ~.javaみたく扱いたいんで。

755:デフォルトの名無しさん
05/01/12 22:22:51
>>754
知ってるけど秘密 c?c だな

756:デフォルトの名無しさん
05/01/12 22:23:22
csc.exeでヘルプを調べる

757:デフォルトの名無しさん
05/01/12 22:25:23
>>755
ば~かww

758:デフォルトの名無しさん
05/01/12 22:29:12
cscでやれば、ソリューションファイル、プロジェクトファイル、
アセンブリインフォファイルはいらないんだよ。

759:デフォルトの名無しさん
05/01/12 22:31:51
ノリの悪い奴がいるな
ちぃー

760:デフォルトの名無しさん
05/01/12 23:01:31
>>755
こういう奴、正直寒い。同じボケるにしてもボケ方ってものがあると思う。


761:755
05/01/13 20:32:53
↑必死だなwwwwwww

762:デフォルトの名無しさん
05/01/13 22:58:21
オマエモナー

763:デフォルトの名無しさん
05/01/16 16:55:58
Bitmap bmp = new Bitmap(100,100);

Graphics g = Graphics.FromImage(bmp);
bmp.MakeTransparent(Color.Red); 
g.FillRectangle(Brushes.Aqua, 0, 0, 100, 100);
g.Dispose();

MakeTransparentを呼び出すと、その後のGraphicsオブジェクトを利用しての描画が出来ないのですが、どうしてでしょうか?

764:デフォルトの名無しさん
05/01/16 17:52:13
Graphicsオブジェクトを作ってからbmpに変更を加えているコードに違和感を感じる。。。

765:デフォルトの名無しさん
05/01/16 23:25:50
質問です。
マイク端子から音声を取り込むのってどうやるんですか?


766:デフォルトの名無しさん
05/01/16 23:34:49
>>765
↓こっちで聞いた方がいいと思われ。
Managed DirectX vol.2
スレリンク(tech板)

767:デフォルトの名無しさん
05/01/16 23:37:50
>>765
この辺。
1)Win32APIでやる(C#である意味がかなり薄れるとは思うが)
URLリンク(wisdom.sakura.ne.jp)

2)Managed DirectXでやる
URLリンク(www.microsoft.com)

768:デフォルトの名無しさん
05/01/17 11:14:41
>>766
>>767
ありがとん。

769:デフォルトの名無しさん
05/01/17 14:41:07
static なArrayListのCountを覗こうとするとエラーがでるんですが

class Test
{
static ArrayList momo = new ArrayLIst();
static int Count { get { return Test.momo.Count; } }
}
こんな感じで何かしらAddしたものがあればエラーはでないんですが、
0だと駄目です。
trycatchでつかもうとしても駄目。

メッセージ
'System.ArgumentOutOfRangeException' のハンドルされていない例外が system.windows.forms.dll で発生しました。

追加情報 : 指定された引数は、有効な値の範囲内にありません。



770:デフォルトの名無しさん
05/01/17 16:33:51
>>769
初期値をいれ時計

771:デフォルトの名無しさん
05/01/17 19:27:43
すまんが、C#だと
catch(Exception e)で全部もれなく捕らえられるんでしょうか?

772:デフォルトの名無しさん
05/01/17 19:38:16 ,
>>769
予言するけど、それは多分別の箇所でmomo[0]とかしているせい。
momo を static プロパティにでもして get に breakpoint 置いて見てみるべし。

773:デフォルトの名無しさん
05/01/17 21:10:20
>771
できます。
throwできるのはSystem.Exceptionから派生したクラスのインスタンス、またはnullだから。
用途によってはcatchの後を省略してもオケー

private void Form1_Load(object sender, System.EventArgs e)
{
    try
    {
        Nullpo();
    }
    catch
    {
        MessageBox.Show("ガッ");
    }
}

private void Nullpo()
{
    throw null;
}


774:デフォルトの名無しさん
05/01/18 19:54:35
ArrayL"I"st

775:デフォルトの名無しさん
05/01/18 20:19:07
>>771
捕まえても逃げるものがあるから注意よん
ThreadAbortException とか

776:デフォルトの名無しさん
05/01/18 23:08:21
>>775
確認のために聞きたいのですが、「捕まえても逃げる」っていうのは
> ThreadAbortException は、キャッチできても、 catch ブロックの末尾でもう一度自動的に発生する特殊な例外です。
ってことを言ってます?

URLリンク(www.microsoft.com)


777:デフォルトの名無しさん
05/01/19 12:06:00
>>775
とか?とかなのか?

778:デフォルトの名無しさん
05/01/19 19:56:57
例外だけに例外がありました。

779:デフォルトの名無しさん
05/01/19 20:19:45
( ´д)ヒソ(´д`)ヒソ(д` )ヒソ

780:デフォルトの名無しさん
05/01/20 01:41:24
冷害

781:デフォルトの名無しさん
05/01/20 21:02:08
Regex reg = new Regex(pat , ここのオプション );
というのが沢山在るんですが、オプション部分が全て同じなので、
変数を使いたいのですが、変数って使えますか?
RegexOptions option = RegexOptions..IgnoreCase | RegexOptions.ExplicitCapture;
のようにしてみたけどやっぱりエラーでした

782:デフォルトの名無しさん
05/01/20 21:03:33
使えます。

783:デフォルトの名無しさん
05/01/20 21:07:10
どんなエラーが出たってんだ?

> RegexOptions..IgnoreCase
ここがポイントか?

784:デフォルトの名無しさん
05/01/20 21:22:12
そういう場合は、変に省略せずソース丸ごと貼り付けろ。すぐに分かる。


785:デフォルトの名無しさん
05/01/20 22:08:51
コード見直してみたら成功シマスタ。スマンカッタ

786:デフォルトの名無しさん
05/01/20 22:13:20
どこを見直したんだよ

787:デフォルトの名無しさん
05/01/21 07:01:07
RegexOptions..IgnoreCase
        ↑まさかここではなかろうな

788:デフォルトの名無しさん
05/01/21 10:05:31
C#でJPEGやGIF画像のプロパティ(ピクセルサイズ、色数など)を取得するプログラムを今日中に作れといわれたのですが、当方VB6.0しか使ったことがなく途方にくれています。。。
とりあえずVisualStudio2003のC#でテキストボックスにHELLO WORLDと表示させるところまできましたがもう限界です。
どこかにサンプルコードなどありますでしょうか?
なにとぞなにとぞよろしくお願いいいたします。

789:デフォルトの名無しさん
05/01/21 10:16:17
採用時に大口でも叩いたの?

Image.FromFileでファイルを開けて、返値であるImageオブジェクトの各種プロパティをみれば済む話だが。

790:デフォルトの名無しさん
05/01/21 19:01:06
VB6なんて雑魚い言語やってるからそーなるんだよな。


791:最凶VB厨房
05/01/21 19:33:51
採用時に大口叩いてこれぐらいか。( ..)φメモメモ

792:デフォルトの名無しさん
05/01/21 22:07:35
仕事なら「今日中に」なんてありえない。
数分から数十分でやれないと話にならんでしょ。

793:デフォルトの名無しさん
05/01/22 01:38:44
>>792
SmalTalkで今日中に作れといわれてできるのか( ゚Д゚)ゴルァ!!

794:792
05/01/22 02:18:58
できますよ( ̄ー ̄)

795:デフォルトの名無しさん
05/01/31 11:59:50
SmalTalkで400件以上Googleに引っかかるのはどうだろうと思いつつ保守ついでのage

796:デフォルトの名無しさん
05/02/03 13:32:35
>>237
CHKなんていう意味不明な略語(?)を使うのはやめましょう。
質問は平易な日本語(+正しい技術用語)で具体的に。

姉妹スレの↓もよろしく。

ふらっとC♯(Part5)
スレリンク(tech板)
>このスレッドは
>
>「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
>
>ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
>
>少しずつC#プログラマを名乗るものが現れました。みなさん一緒に勉強しましょう。

797:デフォルトの名無しさん
05/02/03 13:34:39
2ちゃんで誤爆するような不注意なヤシ↑
書いているコードの品質も知れたものだな。。。

798:デフォルトの名無しさん
05/02/04 22:54:42
お勧め本を知りたいのですが、このスレで良いでしょうか?
ildasm.exeの使い方を詳しくかつ読みやすく紹介している
本をご存知でしたら、どなたか教えてください。

799:デフォルトの名無しさん
05/02/05 20:13:56
>>798
推薦図書/必読書のためのスレッド PART 22
スレリンク(tech板)

800:デフォルトの名無しさん
05/02/06 18:16:53
vs.netを使ってるのですが、
"(" と ")" の二つの括弧のいろを変えたいのですが、
フォントおよび色のどの項目を変えればいいのでしょうか?

801:デフォルトの名無しさん
05/02/06 18:45:23
なんでもできると思ったら大間違いだ

802:デフォルトの名無しさん
05/02/12 00:07:31
同じ親を持つ兄弟関係の派生クラス間で、
親の持つ共通メンバのみコピーするには
ひとつひとつ代入するしかない?

803:デフォルトの名無しさん
05/02/12 00:17:28
>>802
しかない

不便なら親クラスに CopyTo メソッドとか付けとけ

804:デフォルトの名無しさん
05/02/12 00:22:45
リフレクションで手を抜く事はできるかもしれないがね。

805:802
05/02/12 00:23:30
>>803
意外に楽できないんだな。かゆいところに手が届かないというか。
implicitにでも書いとく。ありがとう。

806:デフォルトの名無しさん
05/02/12 12:33:29
フォームが始めて表示された直後にイベントを発生させる方法はありますか?
Loadの後にイベントを起こしたいのですが。

807:806
05/02/12 13:03:20
いまはとりあえずFormにフラグをつくって
それをActivatedで判断するという方法を使ってますが、
ほかに正攻法はあるのでしょうか?

808:デフォルトの名無しさん
05/02/12 17:37:41
>>807
それが正攻法だと思われます。

809:デフォルトの名無しさん
05/02/12 17:44:58
Loadイベントの最後でRefreshさせて、その後とか。
行儀はよろしくなさそうだが。

810:387
05/02/14 14:27:11
自作アプリケーションで
C# を外部スクリプトとして利用しようと思ったんだけど、
アセンブリ参照をソースに埋め込むってことできないの?
VC++ の #pragma comment( lib, "hoge.dll" )
みたいなやつ。
おしえてちょー。

811:デフォルトの名無しさん
05/02/14 15:16:19
>>810
ソースには無理。プロジェクトファイルで指定して、ビルド時に参照。
もしくは、Reflection で茨の道・・・

812:デフォルトの名無しさん
05/02/14 15:40:19
Reflectionはインタフェイスとか使おうとしないで完全に動的にやれば
そう難しくもないような気がする。
用途によってはアプリケーションドメイン単位でしかアンロードできないのが
何かと不便だけど。

813:デフォルトの名無しさん
05/02/14 23:58:44
C#はじめました

ControlPaint.DrawReversibleFrame(new Rectangle(0,0,200,200), Color.Black, FrameStyle.Thick);
とやったら、デスクトップの左上にシカクがでました。
このシカクをフォームの中にいれたいんですが、どーしたらいいんでしょ

814:デフォルトの名無しさん
05/02/15 00:40:09
FormのPointToScreen

815:デフォルトの名無しさん
05/02/15 00:52:04
おお、ありがとさんです

816:デフォルトの名無しさん
05/02/19 22:12:19
「デスクトップを表示」や「最小化」でタスクバーに収まったフォームを
元に戻すメソッドはどれでしょうか。

817:デフォルトの名無しさん
05/02/19 22:17:46
メソッドじゃないが、FormのWindowStateプロパティ。

818:デフォルトの名無しさん
05/02/19 23:32:02
>817
ありがとうこざいます。

819:デフォルトの名無しさん
05/02/20 13:22:18
結局メソッドだけどね

820:デフォルトの名無しさん
05/02/20 14:19:22
.NETはXML形式でオブジェクトをシリアライズできると聞きましたが
これは再コンパイルせずにテキストツール等で容易にパラメータの書き換えができるってことですか?

821:デフォルトの名無しさん
05/02/20 16:46:22
あるオブジェクトのメンバにアクセスできる範囲を、利用するクラスによって変えたい。
たとえばAというクラスからは、プロパティで取得・変更ができるけど、
Bというクラスからは取得のみ可能、
Cというクラスはすべてのメンバにアクセスできるが、
Dというクラスは一部にしかアクセスできない、というふうに。

822:デフォルトの名無しさん
05/02/20 17:11:14
それぞれのクラス用ラッパーを作る

823:デフォルトの名無しさん
05/02/20 18:15:35
>>822
回答ありがとう。でも「ラッパークラス」で調べてみると
C++やアンマネージ、COMとかいった仰々しいものが続々出てきて手に負えそうにない。
あるいはもしかしたらこういうこと?
Originalの代わりにWrapperを公開して、メンバのabcはプロパティで取得のみ可。

class Original{
 private SomeClass abc;
 public SomeClass Abc{
   set{abc = value;}
   get{return abc;}
 }
}
class Wrapper{
 private Original org;
 public SomeClass Abc{
   get{return org.Abc;}
 }
}

これだとWrapperの内部では自由にOriginalにアクセスできてしまうし、
SomeClassのAbcの参照先は値が変更可能になっている。
Originalの持つメンバに関して、あるクラスからは完全に取得限定にしたいけど、
そういう都合のいい方法ってある?

824:デフォルトの名無しさん
05/02/20 18:18:26
if(Environment.StackTrace.IndexOf("Class1"

825:デフォルトの名無しさん
05/02/20 18:30:06
>>823
> SomeClassのAbcの参照先は値が変更可能になっている。

Original.AbcとWrapper.Abcで動作は等価と思うのだが。

それでダメなら属性で制御するくらいしか思いつかんな。
そうするとコンパイルエラーを出せないが。

826:デフォルトの名無しさん
05/02/20 18:59:08
>>825
入れ子のクラスにする方法を考えてみた。
>>823のWrapperをOriginalのメンバにしてみるとか。
属性かー。それで工夫してみるよ。どうもありがとう。

827:デフォルトの名無しさん
05/02/21 13:22:34
WIndowsアプリケーションのListView使ってるんだけど
列の非表示ってできる?やり方が見当たらなくて。

828:デフォルトの名無しさん
05/02/21 14:41:54
>>827
無理なはず。

829:デフォルトの名無しさん
05/02/27 03:17:43
ちょっと聞いてやるがローカルマシンにSQLserver(もしくはMSDE)がインストールされてるか判別したいんだが・・・
どなたか教えてください。








830:デフォルトの名無しさん
05/02/27 03:32:30
DBがインストールされてるかどうかチェックする機能が必要って。
どんなのが対象なんだか。

831:デフォルトの名無しさん
05/02/27 03:35:14
DB がダンボールに見えてしまった
もうだめぽ

832:デフォルトの名無しさん
05/02/27 03:38:22
ボールしかあってないじゃねーか。

833:デフォルトの名無しさん
05/02/27 03:42:35
ダンもあってるYO

834:デフォルトの名無しさん
05/02/27 13:32:24
ドラゴンだろ

835:デフォルトの名無しさん
05/02/27 14:00:01
接続しにいく、ってのがいいんじゃないか?


836:デフォルトの名無しさん
05/02/27 15:24:28
質問です。

VC++6.0で作成したクラスライブラリ(.lib)を
C♯で使用したいと思っています。

VC++6.0で使っていたときは
.libファイルとともに梱包されていたヘッダーファイルを
インクルードしていたのですが、
C♯ではそんなことできないですよね?

ネットでいろいろ調べてみたものの、
解決策は見つけられませんでした。

申し訳ありませんが、どなたかよろしかったらご教示ください。

837:デフォルトの名無しさん
05/02/27 16:14:08
Managed C++
URLリンク(www.microsoft.com)
スレリンク(tech板)
URLリンク(www.hit.dj.kit.ac.jp)
URLリンク(park15.wakwak.com)
URLリンク(mag.autumn.org)

838:デフォルトの名無しさん
05/02/27 16:24:20
>>836
c++のクラスを呼び出したいならmanaged c++を使ってマネージコードから
呼び出せるマネージドクラスでラップする必要があります。
managed c++は禁断の世界だから手を出すときは自己責任で。

839:デフォルトの名無しさん
05/03/01 17:34:27
C#からマウスやキーボードを操作したいのですが
JavaでいうRobotのようなものはありますか?


840:デフォルトの名無しさん
05/03/01 18:05:56
自分では分かりやすいんだろうが、~でいう~という説明は説明になってないってことを肝に銘じておいてくださ~い!

キーボードのエミュレートはSendKeysクラス。
マウスのエミュレートは.NETには無かったような気がするので、Win32APIのmouse_event/SendInputを挙げておこう。

841:デフォルトの名無しさん
05/03/01 18:08:03
>>840
ごめんなさい。以後、気をつけます。
ありがとうございました。


842:デフォルトの名無しさん
05/03/01 19:29:08
ASP.NET開発について調べています。

クライアントに新しいファイルを作って送るにはどうすればいいですか?
.csvみたいな簡素なファイルなら想像できますけど、
エクセルの.xlsファイルとかどうしますか?

843:デフォルトの名無しさん
05/03/01 20:16:24
>>842
普通にファイルを生成してリンクしてやるかResponse.BinaryWriteしてやればいいんじゃね?
エクセルのバイナリを動的に作れないという話なら、そういう商用コンポーネントを買うのが早いと思うよ。
買わなくても出来るけど苦労する。

844:デフォルトの名無しさん
05/03/01 20:17:29
1.ファイルを作る
2.送る

845:デフォルトの名無しさん
05/03/01 22:07:21
>>842
Excel2003ならXMLで・・・

846:デフォルトの名無しさん
05/03/01 22:31:12
2003なんて誰が使ってるんだ?
おれはまだ97だが?

847:デフォルトの名無しさん
05/03/01 23:46:10
97はMSのライフサイクル的に死んだバージョンだろ。
修正プログラムの出ないMS製品なんて使ってられるか。

848:デフォルトの名無しさん
05/03/02 00:19:10
でもAccess入ってたのこれだけなんだよね。
つーか金ねーよ。

849:デフォルトの名無しさん
05/03/02 01:38:49
どっかの学生に買ってきてもらう

850:デフォルトの名無しさん
05/03/02 22:33:11
ビル・ゲイツ氏に英王室が名誉ナイト称号
URLリンク(www.yomiuri.co.jp)

851:デフォルトの名無しさん
05/03/03 00:10:52
>>850
そんなニュース、前にもなかったっけ?

852:デフォルトの名無しさん
05/03/03 02:15:11
ウィリアム・ヘンリー・ナイト・ゲイツIII世


853:デフォルトの名無しさん
05/03/04 20:21:06
VB.NETでの『ReDim Preserve ・・・』に相当するようなコードは
C#ではどのように書くのでしょうか?

配列の内容を保持したまま配列を増やしたいのですが、
今までは新しく配列を用意してコピーしていたのですがスマートにならないものかと。


854:デフォルトの名無しさん
05/03/04 20:28:08
>>853
いや、C# でそんな文見たことない
おそらく無いんじゃないか?

855:デフォルトの名無しさん
05/03/04 20:45:37
ReDimったってどうせ内部でArray.Copy呼んでるだけだしな。
これのせいでループの内部で毎回ReDimするようなアレなコード書く奴もいるし。

856:デフォルトの名無しさん
05/03/04 21:13:37
URLリンク(dobon.net)

ここを参考に、googleに用語をpostして結果を得ようとしています。
ところがこのうちの「 System.Web.HttpUtility.UrlEncode」でエラーが出ます
(エラーの説明)
>型、または名前空間名 'Web' は、
>クラスまたは名前空間 'System' に存在しません。
>アセンブリ参照があるか確認してください。

どうすればSystem.Webのクラスを使えるようになるのか教えて頂けますか。

857:デフォルトの名無しさん
05/03/04 21:15:03
>>856
プロジェクトの『参照設定』を右クリック⇒『System.Web』を追加
これでおk

858:デフォルトの名無しさん
05/03/04 21:15:31
あ、『参照の追加』が間に入ってましたごめぬ

859:デフォルトの名無しさん
05/03/04 21:16:16
System.Web.dllを参照に追加すれ。

860:デフォルトの名無しさん
05/03/04 21:27:51
高速回答ありがとうございました。
ぶじビルドできました。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch