C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 >>
■2054  Re[3]: listBox内のItemsを印刷したいのですが
□投稿者/ ダッチ -(2007/03/15(Thu) 23:21:55)
    No2052 (トッキー さん) に返信
    > サンプル印刷の所になにを入れていいのかが分かりません。
    > よろしければ教えていただけませんでしょうか?
    > listBox.Items
    > と入れましたがうまくいきません。
    >
    e.Graphics.DrawString の一つ目の引数には string 型を取ります。
    "サンプル印刷"の文字列は string 型です。

    では listBox.Items の型が何なのかわかりますか。
    ObjectCollection 型ですね。
    違う型を渡そうとしたためにうまくいかなかったのでしょう。
    しかし、listBox.Items の中には string 型の文字列が複数入っていると思います。
    それを一つずつ取り出してから、取り出した文字列を描画すればうまくいくのではないでしょうか。

    listBox.Items の中から一つずつ取り出す方法については、
    foreach ステートメント について調べてみてください。
    ヘルプにサンプルも紹介されていますので、理解できると思います。

    始めのうちはわからないことだらけかもしれませんが、
    一つずつ理解していくことが大切です。
    なるたけヘルプをみるなり、検索をしてみるなりして理解するようにしてみましょう。
記事No.2046 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2070  Re[4]: listBox内のItemsを印刷したいのですが
□投稿者/ トッキー -(2007/03/16(Fri) 16:28:40)
    No2054 (ダッチ さん) に返信
    > ■No2052 (トッキー さん) に返信
    >>
    > e.Graphics.DrawString の一つ目の引数には string 型を取ります。
    > "サンプル印刷"の文字列は string 型です。
    >
    > では listBox.Items の型が何なのかわかりますか。
    > ObjectCollection 型ですね。
    > 違う型を渡そうとしたためにうまくいかなかったのでしょう。
    > しかし、listBox.Items の中には string 型の文字列が複数入っていると思います。
    > それを一つずつ取り出してから、取り出した文字列を描画すればうまくいくのではないでしょうか。
    >
    > listBox.Items の中から一つずつ取り出す方法については、
    > foreach ステートメント について調べてみてください。
    > ヘルプにサンプルも紹介されていますので、理解できると思います。
    >
    > 始めのうちはわからないことだらけかもしれませんが、
    > 一つずつ理解していくことが大切です。
    > なるたけヘルプをみるなり、検索をしてみるなりして理解するようにしてみましょう。

    ダッチさん
    返信送れて申し訳ありません。
    アドバイスをいただいてから、ヘルプなどを見ていますが、理解力が足りないのかまだ解決いたしません。
    コードは、現在
    public shortItem selectshortitems(int index)

    {int loop=0;
    foreach(listitem sitem in shortitem)
    {
    if (loop == index)
    return sitem;
    loop++;
    }
    return null;
    このようになってしまいました。
    いろいろコードを書いているうちに、こんな風になってしまいました。
    検討違いな事をしているかもしれませんが、再度アドバイスよろしくお願いいたします。
記事No.2046 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2071  Re[5]: listBox内のItemsを印刷したいのですが
□投稿者/ HiJun -(2007/03/16(Fri) 17:19:31)
    ForEachがわからないのであれば、
    普通のFor文で作成してみてはいかがですか?
    (For文ならわかりますよね?)

    こんな感じでしょうか
    for(int i=0; i<listBox1.Items.Count; i++)
    {
    Console.WriteLine( "結果:{0}", listBox1.Items[i]);
    }

    でも、ヘルプ等でListBoxのItemsとは何なのか? ForEachは何なのか
    調べてくださいね。じゃないと自分の力にならないですよ。

    (という私もまだまだ半人前ですが...)
記事No.2046 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2072  Re[6]: listBox内のItemsを印刷したいのですが
□投稿者/ HiJun -(2007/03/16(Fri) 17:19:40)
    2007/03/16(Fri) 17:20:36 編集(投稿者)

    すみません。空で送信してしまいました。
    m(_ _)m
記事No.2046 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2082  クラスライブラリのほとんどがアンマネージド?を勉強するには
□投稿者/ 商人 -(2007/03/17(Sat) 12:18:17)

    分類:[.NET 全般] 

    クラスライブラリのほとんどがアンマネージド??と聞きました。
    クラスを呼んだときに、内部でアンマネージドのCOMが呼ばれると聞きました。

    このあたりを勉強したいのですが、

    本とかWEBのURLとかでいいのがあったらお教えください。

    俺のブログを読め!とか俺の本買え!でも歓迎します。
    『プログラミングMicrosoft .NET Framework 第2版』は必須ですよね。
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■2083  Re[1]: クラスライブラリのほとんどがアンマネージド?を勉強するには
□投稿者/ επιστημη -(2007/03/17(Sat) 13:07:58)
>
    > クラスライブラリのほとんどがアンマネージド??と聞きました。
    > クラスを呼んだときに、内部でアンマネージドのCOMが呼ばれると聞きました。
    >
    > このあたりを勉強したいのですが、

    …どのあたり?

    - 「クラスライブラリのほとんどがアンマネージド」の真偽
    - 「クラスライブラリのほとんどがアンマネージド」である理由
    - アンマネージドなCOMでクラスライブラリを作る方法
    - ほかのなにか
記事No.2082 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2084  Re[2]: クラスライブラリのほとんどがアンマネージド?を勉強するには
□投稿者/ 商人 -(2007/03/17(Sat) 13:41:54)
    > - 「クラスライブラリのほとんどがアンマネージド」の真偽
    > - 「クラスライブラリのほとんどがアンマネージド」である理由
    > - アンマネージドなCOMでクラスライブラリを作る方法

    そうです!!↑こういうことがわかる勉強がしたいんですね。

記事No.2082 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2089  Re[3]: クラスライブラリのほとんどがアンマネージド?を勉強するには
□投稿者/ επιστημη -(2007/03/17(Sat) 22:58:48)
>
記事No.2082 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2090  Re[4]: クラスライブラリのほとんどがアンマネージド?を勉強するには
□投稿者/ 中博俊 -(2007/03/17(Sat) 23:33:45)
>
    通常ポインタ操作とかすると、アンマネージフラグが立ちますが、Microsoftのアセンブリだけ立ちません。
    なんてことは、Essential.NETをどうぞ
記事No.2082 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2091  publicをprivateにしても動作する
□投稿者/ M.Mano -(2007/03/17(Sat) 23:52:59)

    分類:[Java] 

    はじめて投稿しますM.Manoと申します。

     あるクラスのパブリックなコンストラクタを
    プライベートに変更しても、そのクラスを利用
    するクラスから呼べるというものです。

    JavaとPCの環境は以下の通りです。
    ・Java
    J2SE 1.4.1_01

    ・PC
    TOSHIBA Satellite Pro
    Windows98
    166Mhz 64MB

    以下にサンプルを示します。

    ------------------------------------------------Sample.java
    1: public class Sample {
    2: public Sample() {
    3: System.out.println("パブリックなコンストラクタです。");
    4: }
    5: }

    --------------------------------------------TestSample.java
    1: public class TestSample {
    2: public static void main(String[] args) {
    3: Sample obj = new Sample();
    4: }
    5: }

    -----------------------------------------------------------

    以上の2つファイルをコンパイルします。
    >javac Sample.java
    >javac TestSample.java

    実行すると以下のメッセージが出力されます。
    >java TestSample
    パブリックなコンストラクタです。

    うまく動作するのを確認して以下を修正します。
    ・Sample.javaの2行目
    2: private Sample() {

    ・Sample.javaの3行目
    3: System.out.println("プライベートなコンストラクタです。");

    修正したSample.javaをコンパイルします。
    >javac Sample.java

    実行すると以下のメッセージが出力されます。
    >java TestSample
    プライベートなコンストラクタです。

    ここでTestSample.javaをコンパイルすると、
    以下のエラーメッセージが表示されます。
    >javac TestSample.java
    TestSamle.java:3: Sample() は Sample で private アクセスされます。
    Sample obj = new Sample();
    ^
    エラー 1 個

    これは一体何が起きているのでしょうか?
    ご教授お願いします。
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■2092  Re[1]: publicをprivateにしても動作する
□投稿者/ επιστημη -(2007/03/18(Sun) 00:23:40)
>
    > >javac TestSample.java
    > TestSamle.java:3: Sample() は Sample で private アクセスされます。
    > Sample obj = new Sample();
    > ^
    > エラー 1 個
    >
    > これは一体何が起きているのでしょうか?

    至極当然の挙動ではないかしら。
    コンストラクタが private なので new できない。

    TestSampleがre-compile前には実行できるのは何故か? ってことでしょうか。
    private/publicなどのアクセス指定はcompile時にその可否が判断されるからです。

    Sampleのコンストラクタがprivateだろうがpublicだろうが、生成されるバイトコード
    上はすべてpublic、privateだとそれが呼べなくなるのが"呼ぶ側"のコンパイル時に
    アクセス可否を判断するから。

    なのでSample()がpublicだった時点でコンパイルされたTestSampleは依然publicだと思っています。
    re-compile時にprivateであることに気づいてエラーという次第。

記事No.2091 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2093  Re[2]: publicをprivateにしても動作する
□投稿者/ M.Mano -(2007/03/18(Sun) 08:35:24)
    ご返答有り難うございます。

    > TestSampleがre-compile前には実行できるのは何故か? ってことでしょうか。
    そうです。もっと簡潔に書くべきでした。

    > private/publicなどのアクセス指定はcompile時にその可否が判断されるからです。
    実行時には判断しないのですね。
記事No.2091 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■2094  Re[3]: publicをprivateにしても動作する
□投稿者/ επιστημη -(2007/03/18(Sun) 12:03:15)
>
    >>private/publicなどのアクセス指定はcompile時にその可否が判断されるからです。
    > 実行時には判断しないのですね。

    実行時にprivateであるとわかったとしても、対処のしようがありませんし。
記事No.2091 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■2095  WndProcのフックによるドラッグ移動について
□投稿者/ Hirotow -(2007/03/18(Sun) 12:59:30)
>

    分類:[C# (Windows)] 

    WndProcをオーバーライドしてタイトルバーのないフォームをドラッグ移動する方法がありますが、
    この方法を使うと「ポインタがクライアント領域上に存在しない」ことになってしまうため、当然のことながらカーソルの指定が効かなかったり、コンテキストメニューを表示できなかったりと弊害があります。

    # 実のところこの原因に気付くまでに相当な時間がかかってしまいました。

    そこで、これらの弊害が発生しないようにWndProcを実装することはできないでしょうか?
    どなたか詳しい方がいましたら助言をお願いします。
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■2096  Re[1]: WndProcのフックによるドラッグ移動について
□投稿者/ 渋木宏明(ひどり) -(2007/03/18(Sun) 13:40:26)
>
    > そこで、これらの弊害が発生しないようにWndProcを実装することはできないでしょうか?

    可能です。

    WndProc をオーバーライドしてナニが行われているかをきちんと把握していれば、どうれば良いかはすぐに分かるはずです。
    WM_NCHITTEST に対して適切な応答を返してやることで動作が制御できます。

    WM_NCHITTEST メッセージの lParam にはマウス座標値が入っているので、その座標値が「ポインタがクライアント上に存在して欲しい時」に該当したら、HTBORDER ではなく HTCLIENT を返せばよいのです。
記事No.2095 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2097  Re[2]: WndProcのフックによるドラッグ移動について
□投稿者/ Hirotow -(2007/03/18(Sun) 14:21:46)
>
    No2096 (渋木宏明(ひどり) さん) に返信
    >>そこで、これらの弊害が発生しないようにWndProcを実装することはできないでしょうか?
    >
    > 可能です。
    >
    > WndProc をオーバーライドしてナニが行われているかをきちんと把握していれば、どうれば良いかはすぐに分かるはずです。
    > WM_NCHITTEST に対して適切な応答を返してやることで動作が制御できます。
    >
    > WM_NCHITTEST メッセージの lParam にはマウス座標値が入っているので、その座標値が「ポインタがクライアント上に存在して欲しい時」に該当したら、HTBORDER ではなく HTCLIENT を返せばよいのです。
    >

    単純に座標値のみから判断するとすると、ドラッグできる場所とできない場所を分ける必要がありそうですね。
記事No.2095 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2081  非同期にしたいので、別AppDomainにする
□投稿者/ 商人 -(2007/03/17(Sat) 12:13:05)

    分類:[C# (Windows)] 

    クライアントのファイルをFTPでサーバーに送る処理を実現したいです。
    それを非同期で実現したいです。

    でも、プロジェクトでは、別FTPのEXEの起動をおこなっています。

    それだと、別プロセスだから、コストが高いですよね。

    そういう場合に、別AppDomainで起動したら、
    別プロセスよりも、有効な使い方になりますでしょうか?


    この前の勉強会でも、ASP.NETが別AppDomainで起動って話してませんでしたっけ?
    違いました??



親記事 /過去ログ10より / 関連記事表示
削除チェック/

■2085  Re[1]: 非同期にしたいので、別AppDomainにする
□投稿者/ Kazuki -(2007/03/17(Sat) 13:55:22)
記事No.2081 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2088  Re[2]: 非同期にしたいので、別AppDomainにする
□投稿者/ 囚人 -(2007/03/17(Sat) 18:13:40)
    Kazuki さんが仰っているように、スレッドで処理できるならスレッドが一番よいでしょう。
    FTP のアプリケーションが .NET 製でないなら、別プロセス起動しか方法はないでしょうね。
    
    例
    
    ConsoleApplication1.exe 
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Console Application 1");
            RunAppDomain();
            RunThread();
        }
    
        private static void RunAppDomain()
        {
            AppDomain domain = AppDomain.CreateDomain("ConsoleApplication2AppDomain");
            domain.Load("ConsoleApplication2");
            domain.ExecuteAssemblyByName("ConsoleApplication2");
        }
    
        private static void RunThread()
        {
            Thread t = new Thread(Console2Main);
            t.Start();
        }
    
        private static void Console2Main()
        {
            ConsoleApplication2.Program.Main(null);
        }
    }
    
    ConsoleApplication2.exe 
    namespace ConsoleApplication2
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                Console.WriteLine("Console Application 2");
            }
        }
    }
記事No.2081 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2098  Re[3]: 非同期にしたいので、別AppDomainにする
□投稿者/ HiJun -(2007/03/18(Sun) 21:12:15)
    まず、非同期については、Kazukiさんや囚人さんがおっしゃるように
    スレッドでやるのがベターでしょう。

    >クライアントのファイルをFTPでサーバーに送る処理を実現したいです。
    >それを非同期で実現したいです。
    OSが記載していないので想像になりますが、おそらくOS標準について
    いるFtp.exeを使っているのでしょうね。
    でFTPを行う方法ですが、
    1.OSの標準のFTP.exeをプロセス起動で対応する。
    2.サードパーティのクラスライブラリ等を利用する。
    3.Socketクラスを使用してゴリゴリ作り倒す。

    後、VS6.0でよく使用していた手ですが、wininet.dllのAPIを使用すると
    いうのもあります。
    (でも、.NETで利用できるかはちょっと微妙です。)

記事No.2081 のレス /過去ログ10より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 >>

ヒット件数が多いので過去ログ1〜10 までの検索結果 / 過去ログ11からさらに検索→

パスワード/

- Child Tree -