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 >>
■7111  Re[2]: 検索結果を2次元配列へ入れる処理
□投稿者/ あつし -(2006/10/03(Tue) 15:18:29)

    分類:[VB.NET] 

    > 検索結果って何?
    > それによります。

    説明不足ですいません、下記のようなコードで、
    SQL コマンドを実行してReaderでレコードを読み込んでいます。
    現状は、ループでReader.Read()を実行して1行づつ読み込んでいます。
    これをループを使わずに、1度に2次元配列へ入れたいのですが
    どうでしょうか?
    また説明不足な点があればご指摘をよろしくお願いします。

    ---------------------------------------------------------------------
    Dim Connection As System.Data.SqlClient.SqlConnection
    Dim Command As System.Data.SqlClient.SqlCommand
    Dim Reader As System.Data.SqlClient.SqlDataReader
    Dim SQL As String = String.Empty
    Dim ConnectionString As String

    SQL = "SQL文"

    ConnectionString = "接続文字列"

    Connection = New System.Data.SqlClient.SqlConnection(ConnectionString)
    Connection.Open()
    Command = Connection.CreateCommand()

    Command.CommandText = SQL
    Reader = Command.ExecuteReader()

    Reader.Close()
    Command.Dispose()
    Connection.Close()
    Connection.Dispose()
    ----------------------------------------------------------------------

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

■7150  Re[3]: PathTooLongException
□投稿者/ ダッチ -(2006/10/03(Tue) 22:34:03)

    分類:[C#] 

    No7098に返信(初心者さんの記事)
    > 説明不足ですみません。
    > プログラムの試験工程で例外を発生させたいという状況です。
    > OSで決まるんですね。なるほど。

    FileInfo クラスのインスタンス生成部分で
    長いパスを設定してみたところ

    PathTooLongException が発生しました。

    このときにトラブルシューティングのヒントを参照したところ
    下記の記載がされていました。

    ヘルプより引用---------------------------------------
    PathTooLongException 例外は、パス名またはファイル名がシステム定義の最大長を超えている場合にスローされます。

    パス名がシステム定義の最大長を超えていないことを確認します。
    Windows ベースのプラットフォームでは、パスは 248 文字未満、ファイル名は 260 文字未満にする必要があります。
    -----------------------------------------------------
    この内容のとおり Windows 環境であればどのくらいの長さで例外が発生するかはわかると思います。
記事No.7075 のレス /0過去ログ7より / 関連記事表示
削除チェック/

■9174  Re[3]: DataGridViewのセルをEnterキーで横移動したい
□投稿者/ まー -(2006/12/14(Thu) 11:22:12)

    分類:[C#] 

    No9172に返信
    すいません、図表モードにするのを忘れていました。
    編集もできませんので(ERROR-親記事は編集不可!! とでてしまいます。)
    投稿し直します。

    お返事ありがとうございます。
    説明不足でした。すいません。

    やりたいことは、
    +---+-------+-------+-------+
    | | A | C | D |
    +---+-------+-------+-------+
    | | A1 | C1 | D1 |
    +---+-------+-------+-------+
    | | A2 | C2 | D2 |
    +---+-------+-------+-------+
    | * | A3 | C3 | D3 |
    +---+-------+-------+-------+


    このような列Bが非表示になった表をDataGridViewで表示していて、
    カーソルは最初は[A1]の場所にあります。
    何もしなければ、カーソルは

    A1→何か入力(Enter)→A2→何か入力(Enter)→A3→…

    の順に移動すると思うのですが、それを、

    A1→何か入力(Enter)→C1→何か入力(Enter)→D1→何か入力(Enter)→A2…D3→何か入力(Enter)→次の新規行の左端…

    の順に移動するようにしたいのです

    検索して、上記のページを発見したので、
    そのコードを参照させてもらたのですが、

    DataGridのEidtModeがEditOnKeystrokeOrF2のときは

    A1→(Enter)→C1→(Enter)→D1→(Enter)→A2…

    のように移動したのですが、EditModeをEditOnEnterに変えたところ、

    A1→(Enter)→C1→C2→(Enter)→D2→A3→…

    のように、一瞬真横に移動した後すぐにカーソルが
    その次のEnterで移動して欲しいセルに移動してしまいます。

    また、どちらのEditModeでも*の行に入力した後Enterキーを押すと、
    その行の編集が終了し、カーソルは下に追加された新規行に移動してしまいます。

    | | | | |
    +-----------+-------+-------+-------+
    |(編集中)  |test| | | |
    +-----------+-------+-------+-------+
    | * | | | |
    +-----------+-------+-------+-------+

    この状態でEnterキーを押すと、testと入力したセルの右横にカーソルが移動して欲しいのに、
    カーソルは下の*だった行に移動してしまいます。

    | | | | |
    +-----------+-------+-------+-------+
    |      |test | | |
    +-----------+-------+-------+-------+
    |(編集中)  | | | | |
    +-----------+-------+-------+-------+
    | * | | | |
    +-----------+-------+-------+-------+

    一応、コードを添付します。
    下手な質問につきあってもらって、ありがとうございます。


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

■9172  Re[2]: DataGridViewのセルをEnterキーで横移動したい
□投稿者/ まー -(2006/12/14(Thu) 11:16:36)

    分類:[C#] 

    No9148に返信(あきひろさんの記事)お返事ありがとうございます。
    説明不足でした。すいません。

    やりたいことは、
    +---+-------+-------+-------+
    | | A | C | D |
    +---+-------+-------+-------+
    | | A1 | C1 | D1 |
    +---+-------+-------+-------+
    | | A2 | C2 | D2 |
    +---+-------+-------+-------+
    | * | A3 | C3 | D3 |
    +---+-------+-------+-------+


    このような列Bが非表示になった表をDataGridViewで表示していて、
    カーソルは最初は[A1]の場所にあります。
    何もしなければ、カーソルは

    A1→何か入力(Enter)→A2→何か入力(Enter)→A3→…

    の順に移動すると思うのですが、それを、

    A1→何か入力(Enter)→C1→何か入力(Enter)→D1→何か入力(Enter)→A2…D3→何か入力(Enter)→次の新規行の左端…

    の順に移動するようにしたいのです

    検索して、上記のページを発見したので、
    そのコードを参照させてもらたのですが、

    DataGridのEidtModeがEditOnKeystrokeOrF2のときは

    A1→(Enter)→C1→(Enter)→D1→(Enter)→A2…

    のように移動したのですが、EditModeをEditOnEnterに変えたところ、

    A1→(Enter)→C1→C2→(Enter)→D2→A3→…

    のように、一瞬真横に移動した後すぐにカーソルが
    その次のEnterで移動して欲しいセルに移動してしまいます。

    また、どちらのEditModeでも*の行に入力した後Enterキーを押すと、
    その行の編集が終了し、カーソルは下に追加された新規行に移動してしまいます。

    | | | | |
    +-----------+-------+-------+-------+
    |(編集中)  |test| | | |
    +-----------+-------+-------+-------+
    | * | | | |
    +-----------+-------+-------+-------+

    この状態でEnterキーを押すと、testと入力したセルの右横にカーソルが移動して欲しいのに、
    カーソルは下の*だった行に移動してしまいます。

    | | | | |
    +-----------+-------+-------+-------+
    |      |test | | |
    +-----------+-------+-------+-------+
    |(編集中)  | | | | |
    +-----------+-------+-------+-------+
    | * | | | |
    +-----------+-------+-------+-------+

    一応、コードを添付します。
    下手な質問につきあってもらって、ありがとうございます。


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

■9187  Re[3]: ソケット通信でサイズが0のデータを受信した場合について
□投稿者/ あら -(2006/12/14(Thu) 18:08:16)

    分類:[C#] 

    返信ありがとうございます。

    >ここっての判定で下に落ちてます・・・よね?^^:
    はい、落ちてます。
    ブレークポイントをおいて1つづつ移動させて確認しました。


    >・Socket.Pollで状態を確認
    >・Pollがtrueを返したらAvailableプロパティを見て判定
    >・Availableが0の場合 = 受信データなし
    >・Availableが0以上の場合 = Receiveメソッドでデータを受信
    >って感じだったはず。
    上記のやり方でコードを組んでみたのですが、同じ結果になりました。
    (サイズが0のデータを受信するとSocket.Pollから下に行きその後
    Sock.Available<0の条件に処理を入れない場合はSocket.Pollの判定
    →Socket.Availableの判定とループを回り続けます。

    Sock.Availableが0の時は相手側が切断したと考えるのが普通なの
    でしょうか?
    なにか他にSock.Availableが0になる条件があればご教授お願いします。
    (相手側(サーバ側)は切断はしていないらしいのです。。。)

    -------------
    ちょっと違う話なのですが、
    while(Socket.Connected)
    {
    if(Sock.Poll(1, SelectMode.SelectRead))
    {
    if(0 < Socket.Available)
    {
    // Receive処理
    }
    else
    {
    // 切断処理
    }
    }
    }
    とした場合、データが来るまでループを回り続けてアプリケーションが
    重くなるのですが、そういうものなのでしょうか?

    宜しくお願いします。

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

■9044  ソケット通信でサイズが0のデータを受信した場合について
□投稿者/ あら -(2006/12/12(Tue) 16:51:05)

    分類:[C#] 


    分類:[C#] 

    お世話になっております。

    現在、C#のSocket通信を行うソフトを開発しております。

    こちら側がクライアント側で、サーバ側からSizeが0のデータ
    が送られてきた場合の処理について質問があります。

    現在下記のようにしているのですが、Socket.Receiveで
    サイズが0のデータを受信しても無視するようにしたいので
    すが、どのようにすればよいでしょうか?
    現在下記のように記述したのですが、一度サイズが0のデータ
    を受信するとSocket.Receiveでとまらずにループを回り続けて
    しまいます。


    ご教授・アドバイス等よろしくお願いします。

    ---------------------------
    bool loop; // falseの場合は処理を抜ける
    int RecvDataSize; //

    while (loop)
    {
    if (ヘッダーかどうか判定)
    {
    RecvDataSize = Sock.Receive(buffer, HEADER_SIZE, SocketFlags.Peek);

    if (RecvDataSize == 0)
    {
    // この場合はSock.Reciveで受信待機の状態にしたい
    // のですが、Sock.Reciveでとまりません。
    }
    else
    {
    //RecvDataSize!=0の処理
    }
      }
    else
    {
    // ヘッダー以外の場合の処理
        }
      }
    }

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

■8820  Re[2]: DllImportについて
□投稿者/ 風影 -(2006/12/07(Thu) 11:41:49)

    分類:[VC++(C++/CLI)] 

    Blueさん、ぽぴ王子さんお返事ありがとうございます。

    > マルチポストはやめてください。
    > http://www2.moug.net/bbs/program/20061206000003.htm
    質問沢山しているので迷惑かなと思いやったのですが・・・すみません・・・。


    > >関数内で
    > ということなので、そこには「DllImport」はかけないのでは?
    以下のようにしたらDllImportはとおりました・・・。
    ----------------------------------------------------------------
    [DllImport("Nicpx_SQL.dll")]
    static bool Initialize();

    private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {
    {

    unsigned int jet = Initialize();
    textBox1->Text = "出力値 = " + jet.ToString();

    }
    -----------------------------------------------------------------
    でもエントリーポイントが見つからないと出ているのですがこれはDLL呼び出しの方でbool APIENTRY NXSQL_Initialize()となっているからでしょうか?
    私が調べた感じだと//extern "C" __declspec(dllinport)とかく気がするのですが・・・。(余り自信が無くて。)

    >基礎を学ぶことはとても大事なので、もし理解されている内容だったとしても、
    もう一度読み直してみるぐらいの感覚で見てみるといいかもしれませんよ。

    そうですね・・・。
    中 博俊さんの本でしたら持っています。(笑)
    会社のお金で買ったので私のではないですが・・・。
    この仕事に向いてないのか基本だけで頭がパンク気味なので・・・。
    色々調べていると・・・難しいですね。(苦笑)

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

■8817  DllImportについて
□投稿者/ 風影 -(2006/12/07(Thu) 10:34:35)

    分類:[VC++(C++/CLI)] 


    分類:[VC++(C++/CLI)] 

    度々失礼します。
    DllImportなのですがどうしてか上手くいかなくてこまっています。
    過去に言われたとおり(言ったとおり)
    --------------------------------------------------------------
    using namespace System::Runtime::InteropServices;
    --------------------------------------------------------------
    を追加して以下の様にボタンを呼び出す部分でDLLを呼び出しているのですが「関数内でカスタム属性を使用することはできません。」というエラーが出て困っています。
    色々なHPとかを見てもどうしてもわからなくてまた質問しに来てしまいました。
    //本体
    --------------------------------------------------------------
    private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {
    {
    [DllImport("Nicpx_SQL.dll")]
    extern bool Initialize();
    }
    --------------------------------------------------------------
    //関数
    --------------------------------------------------------------
    bool APIENTRY NXSQL_Initialize()
    {



    }
    --------------------------------------------------------------

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

■8274  Re[7]: ★デブサミ2007検討会
□投稿者/ えムナウ -(2006/11/14(Tue) 21:23:57)
>

    分類:[討論] 

    ==============================================================
    ●コミュニティセッションの募集要項
    ==============================================================
    --------------------------------------------------------------
    ★開催日時:2007 年 2 月 14 日(水)・ 15 日(木)
    10:20〜 17:50 1コマ 30 分

    ★セッション数:各 7 セッション、2 日間 計 14 セッション
    --------------------------------------------------------------

    ◆コミュニティ名:
    わんくま同盟
    えムナウのプログラミングのページ

    ◆コミュニティサイト URL:
    http://www.wankuma.com/
    http://mnow.wankuma.com/

    ◆希望枠の日時:

    ◆セッションタイトル:

    ◆セッション概要:

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

■8311  「"」を含む文字列の作成方法について
□投稿者/ あら -(2006/11/15(Wed) 18:10:11)

    分類:[C#] 


    分類:[C#] 

    お世話になっております。

    「"」を文字列に付加したい場合はどのように記述すればよいのでしょうか?

    下記のような感じで文字列を作成しようと思っています。

    -----------
    strng s = "aaa "
    s += ";     //この行の記述方法がしりたいです。
    s += "bbb""; //この行の記述方法が知りたいです。

    Console.WriteLine (s);
    //aaa "bbb"と表示させたいです。
    -----------

    アドバイス、ご教授宜しくお願いします。

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

■8039  Cloneの戻り値の型
□投稿者/ 一羽 -(2006/11/03(Fri) 00:04:54)

    分類:[C#] 


    分類:[C#] 

    検索ワードが悪い為か、良い情報が見つからなかったのでポストします。
    既出のような気もするのですが……、申し訳ありません。

    実装クラスClassA、ClassB、ClassCの継承元である抽象クラス(AbstractClass)があります。
    実装クラスすべてにIClonableを継承したかったため、AbstractClassにてIClonableを継承しました。そして、以下のように記述しました。
    ------------------------------------------------------
    public abstract object Clone();
    object IClonable.Clone()
    {
      return this.Clone();
    }
    ------------------------------------------------------
    Clone()で行うべきことは各クラスで異なっているため、抽象クラスのClone()をabstractにして、ClassA〜ClassCでClone()をoverrideしようとしたのです。
    しかし、(考えてみれば当たり前ですが)、この方法ではいずれのクラスもClone()で得られるものはobject型で、Clone()を呼び出した側で各クラスにキャストしなければなりません。

    (1) ClassAのクローンがClassA型でないのはどうしても納得いきません。
    (2) とはいえ、各実装クラスでIClonableを継承し、それぞれのクラスの型を返すClone()が実装するのは、スマートとは思えません。

    これは(1)をぐっと堪えていくしかないのでしょうか。
    「羊」のクローンを作ったら「生き物」が出来た、といった感じで、とても気持ち悪いのですが、そんなのにこだわるのは私ぐらいなのでしょうか……?

    何か良い情報、あるいは、アドバイスをお願いしますm(_ _)m
親記事 /0過去ログ8より / 関連記事表示
削除チェック/

■7895  Re[1]: SQLのDistinct句に関して
□投稿者/ 夏椰 -(2006/10/30(Mon) 01:26:29)
>

    分類:[C#] 

    No7888に返信(くし&しも さんの記事)
    > いつもお世話になります。
    >
    > 例えば下記のようなテーブルがあるとします。
    > Primary Key はcode_aとnoとno_edaです。
    > そこでcode_aとno毎にno_edaが古い番号のデータを取得するとします。
    > よって、結果からいえば下記テーブルから「○」がついたレコードを取得したいのですが、一発で取得するようなSQLがどうもうまく作れませんでした。
    > ちなみに全ての列のデータを取得します。
    >
    > SELECT DISTINCT code_a, no FROM tbl_A だったら重複行は絞れますが、no_edaもnameも取得できません。
    > 又、SELECT DISTINCT code_a, no, no_eda FROM tbl_A だったら逆にcode_a, no,no_edaで一意となるので本来の意図したデータを取得できなく、
    > nameも取得できません。
    >
    > テーブル名:tbl_A
    > ------------------------------------
    > code_a | no | no_eda | name |    ← 列名
    > ------------------------------------
    > 000 | 0000 | 0 | あ  |  
    > ------------------------------------
    > 000 | 0000 | 1 | い |
    > ------------------------------------
    > 000 | 0000 | 2 | う |  ○
    > ------------------------------------
    > 000 | 0001 | 0 | お |  
    > ------------------------------------
    > 000 | 0001 | 1 | か |  ○
    > ------------------------------------
    > 100 | 0000 | 0 | き |  
    > ------------------------------------
    > 100 | 0000 | 1 | く |  ○
    >
    > もし一度に取得するようなSQLが作れるとしらお手数ですが教えてください!
    >
    > 環境等はWindows XP, Visual Studio2005, Oracle10g ,C# です。
    > 以上よろしく御願い致します。

    簡単にいうと
    code_a、no毎でno_edaが最大値を持つレコードを取得したいってことですかね?
    #古いno_edaというのが最大値のno_edaという意味なのかな?と思ったので
    #確認させていただきました。

    Oralceなので以下のSQLがかけますね。
    #ここは集計関数のMAXです。
    select * from table_a where (code_a, no, no_eda) in
    (
    select code_a, no, max(no_eda) from table_a group by code_a, no
    ) ;

    またはお題にあるDISTINCTを使うとして以下のパターンもかけますね。
    #ここでは分析関数のMAXを使用しています。
    select * from table_a where (code_a, no, no_eda) in
    (
    select distinct code_a, no, max(no_eda) over (partition by code_a, no ) from table_a
    ) ;


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

■7888  SQLのDistinct句に関して
□投稿者/ くし&しも -(2006/10/29(Sun) 18:38:32)

    分類:[C#] 


    分類:[C#] 

    いつもお世話になります。

    例えば下記のようなテーブルがあるとします。
    Primary Key はcode_aとnoとno_edaです。
    そこでcode_aとno毎にno_edaが古い番号のデータを取得するとします。
    よって、結果からいえば下記テーブルから「○」がついたレコードを取得したいのですが、一発で取得するようなSQLがどうもうまく作れませんでした。
    ちなみに全ての列のデータを取得します。

    SELECT DISTINCT code_a, no FROM tbl_A だったら重複行は絞れますが、no_edaもnameも取得できません。
    又、SELECT DISTINCT code_a, no, no_eda FROM tbl_A だったら逆にcode_a, no,no_edaで一意となるので本来の意図したデータを取得できなく、
    nameも取得できません。

    テーブル名:tbl_A
    ------------------------------------
    code_a | no | no_eda | name |    ← 列名
    ------------------------------------
    000 | 0000 | 0 | あ  |  
    ------------------------------------
    000 | 0000 | 1 | い |
    ------------------------------------
    000 | 0000 | 2 | う |  ○
    ------------------------------------
    000 | 0001 | 0 | お |  
    ------------------------------------
    000 | 0001 | 1 | か |  ○
    ------------------------------------
    100 | 0000 | 0 | き |  
    ------------------------------------
    100 | 0000 | 1 | く |  ○

    もし一度に取得するようなSQLが作れるとしらお手数ですが教えてください!

    環境等はWindows XP, Visual Studio2005, Oracle10g ,C# です。
    以上よろしく御願い致します。
親記事 /0過去ログ8より / 関連記事表示
削除チェック/

■9174  Re[3]: DataGridViewのセルをEnterキーで横移動したい
□投稿者/ まー -(2006/12/14(Thu) 11:22:12)

    分類:[C#] 

    No9172に返信
    すいません、図表モードにするのを忘れていました。
    編集もできませんので(ERROR-親記事は編集不可!! とでてしまいます。)
    投稿し直します。

    お返事ありがとうございます。
    説明不足でした。すいません。

    やりたいことは、
    +---+-------+-------+-------+
    | | A | C | D |
    +---+-------+-------+-------+
    | | A1 | C1 | D1 |
    +---+-------+-------+-------+
    | | A2 | C2 | D2 |
    +---+-------+-------+-------+
    | * | A3 | C3 | D3 |
    +---+-------+-------+-------+


    このような列Bが非表示になった表をDataGridViewで表示していて、
    カーソルは最初は[A1]の場所にあります。
    何もしなければ、カーソルは

    A1→何か入力(Enter)→A2→何か入力(Enter)→A3→…

    の順に移動すると思うのですが、それを、

    A1→何か入力(Enter)→C1→何か入力(Enter)→D1→何か入力(Enter)→A2…D3→何か入力(Enter)→次の新規行の左端…

    の順に移動するようにしたいのです

    検索して、上記のページを発見したので、
    そのコードを参照させてもらたのですが、

    DataGridのEidtModeがEditOnKeystrokeOrF2のときは

    A1→(Enter)→C1→(Enter)→D1→(Enter)→A2…

    のように移動したのですが、EditModeをEditOnEnterに変えたところ、

    A1→(Enter)→C1→C2→(Enter)→D2→A3→…

    のように、一瞬真横に移動した後すぐにカーソルが
    その次のEnterで移動して欲しいセルに移動してしまいます。

    また、どちらのEditModeでも*の行に入力した後Enterキーを押すと、
    その行の編集が終了し、カーソルは下に追加された新規行に移動してしまいます。

    | | | | |
    +-----------+-------+-------+-------+
    |(編集中)  |test| | | |
    +-----------+-------+-------+-------+
    | * | | | |
    +-----------+-------+-------+-------+

    この状態でEnterキーを押すと、testと入力したセルの右横にカーソルが移動して欲しいのに、
    カーソルは下の*だった行に移動してしまいます。

    | | | | |
    +-----------+-------+-------+-------+
    |      |test | | |
    +-----------+-------+-------+-------+
    |(編集中)  | | | | |
    +-----------+-------+-------+-------+
    | * | | | |
    +-----------+-------+-------+-------+

    一応、コードを添付します。
    下手な質問につきあってもらって、ありがとうございます。


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

■9172  Re[2]: DataGridViewのセルをEnterキーで横移動したい
□投稿者/ まー -(2006/12/14(Thu) 11:16:36)

    分類:[C#] 

    No9148に返信(あきひろさんの記事)お返事ありがとうございます。
    説明不足でした。すいません。

    やりたいことは、
    +---+-------+-------+-------+
    | | A | C | D |
    +---+-------+-------+-------+
    | | A1 | C1 | D1 |
    +---+-------+-------+-------+
    | | A2 | C2 | D2 |
    +---+-------+-------+-------+
    | * | A3 | C3 | D3 |
    +---+-------+-------+-------+


    このような列Bが非表示になった表をDataGridViewで表示していて、
    カーソルは最初は[A1]の場所にあります。
    何もしなければ、カーソルは

    A1→何か入力(Enter)→A2→何か入力(Enter)→A3→…

    の順に移動すると思うのですが、それを、

    A1→何か入力(Enter)→C1→何か入力(Enter)→D1→何か入力(Enter)→A2…D3→何か入力(Enter)→次の新規行の左端…

    の順に移動するようにしたいのです

    検索して、上記のページを発見したので、
    そのコードを参照させてもらたのですが、

    DataGridのEidtModeがEditOnKeystrokeOrF2のときは

    A1→(Enter)→C1→(Enter)→D1→(Enter)→A2…

    のように移動したのですが、EditModeをEditOnEnterに変えたところ、

    A1→(Enter)→C1→C2→(Enter)→D2→A3→…

    のように、一瞬真横に移動した後すぐにカーソルが
    その次のEnterで移動して欲しいセルに移動してしまいます。

    また、どちらのEditModeでも*の行に入力した後Enterキーを押すと、
    その行の編集が終了し、カーソルは下に追加された新規行に移動してしまいます。

    | | | | |
    +-----------+-------+-------+-------+
    |(編集中)  |test| | | |
    +-----------+-------+-------+-------+
    | * | | | |
    +-----------+-------+-------+-------+

    この状態でEnterキーを押すと、testと入力したセルの右横にカーソルが移動して欲しいのに、
    カーソルは下の*だった行に移動してしまいます。

    | | | | |
    +-----------+-------+-------+-------+
    |      |test | | |
    +-----------+-------+-------+-------+
    |(編集中)  | | | | |
    +-----------+-------+-------+-------+
    | * | | | |
    +-----------+-------+-------+-------+

    一応、コードを添付します。
    下手な質問につきあってもらって、ありがとうございます。


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

■9187  Re[3]: ソケット通信でサイズが0のデータを受信した場合について
□投稿者/ あら -(2006/12/14(Thu) 18:08:16)

    分類:[C#] 

    返信ありがとうございます。

    >ここっての判定で下に落ちてます・・・よね?^^:
    はい、落ちてます。
    ブレークポイントをおいて1つづつ移動させて確認しました。


    >・Socket.Pollで状態を確認
    >・Pollがtrueを返したらAvailableプロパティを見て判定
    >・Availableが0の場合 = 受信データなし
    >・Availableが0以上の場合 = Receiveメソッドでデータを受信
    >って感じだったはず。
    上記のやり方でコードを組んでみたのですが、同じ結果になりました。
    (サイズが0のデータを受信するとSocket.Pollから下に行きその後
    Sock.Available<0の条件に処理を入れない場合はSocket.Pollの判定
    →Socket.Availableの判定とループを回り続けます。

    Sock.Availableが0の時は相手側が切断したと考えるのが普通なの
    でしょうか?
    なにか他にSock.Availableが0になる条件があればご教授お願いします。
    (相手側(サーバ側)は切断はしていないらしいのです。。。)

    -------------
    ちょっと違う話なのですが、
    while(Socket.Connected)
    {
    if(Sock.Poll(1, SelectMode.SelectRead))
    {
    if(0 < Socket.Available)
    {
    // Receive処理
    }
    else
    {
    // 切断処理
    }
    }
    }
    とした場合、データが来るまでループを回り続けてアプリケーションが
    重くなるのですが、そういうものなのでしょうか?

    宜しくお願いします。

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

■9044  ソケット通信でサイズが0のデータを受信した場合について
□投稿者/ あら -(2006/12/12(Tue) 16:51:05)

    分類:[C#] 


    分類:[C#] 

    お世話になっております。

    現在、C#のSocket通信を行うソフトを開発しております。

    こちら側がクライアント側で、サーバ側からSizeが0のデータ
    が送られてきた場合の処理について質問があります。

    現在下記のようにしているのですが、Socket.Receiveで
    サイズが0のデータを受信しても無視するようにしたいので
    すが、どのようにすればよいでしょうか?
    現在下記のように記述したのですが、一度サイズが0のデータ
    を受信するとSocket.Receiveでとまらずにループを回り続けて
    しまいます。


    ご教授・アドバイス等よろしくお願いします。

    ---------------------------
    bool loop; // falseの場合は処理を抜ける
    int RecvDataSize; //

    while (loop)
    {
    if (ヘッダーかどうか判定)
    {
    RecvDataSize = Sock.Receive(buffer, HEADER_SIZE, SocketFlags.Peek);

    if (RecvDataSize == 0)
    {
    // この場合はSock.Reciveで受信待機の状態にしたい
    // のですが、Sock.Reciveでとまりません。
    }
    else
    {
    //RecvDataSize!=0の処理
    }
      }
    else
    {
    // ヘッダー以外の場合の処理
        }
      }
    }

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

■8820  Re[2]: DllImportについて
□投稿者/ 風影 -(2006/12/07(Thu) 11:41:49)

    分類:[VC++(C++/CLI)] 

    Blueさん、ぽぴ王子さんお返事ありがとうございます。

    > マルチポストはやめてください。
    > http://www2.moug.net/bbs/program/20061206000003.htm
    質問沢山しているので迷惑かなと思いやったのですが・・・すみません・・・。


    > >関数内で
    > ということなので、そこには「DllImport」はかけないのでは?
    以下のようにしたらDllImportはとおりました・・・。
    ----------------------------------------------------------------
    [DllImport("Nicpx_SQL.dll")]
    static bool Initialize();

    private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {
    {

    unsigned int jet = Initialize();
    textBox1->Text = "出力値 = " + jet.ToString();

    }
    -----------------------------------------------------------------
    でもエントリーポイントが見つからないと出ているのですがこれはDLL呼び出しの方でbool APIENTRY NXSQL_Initialize()となっているからでしょうか?
    私が調べた感じだと//extern "C" __declspec(dllinport)とかく気がするのですが・・・。(余り自信が無くて。)

    >基礎を学ぶことはとても大事なので、もし理解されている内容だったとしても、
    もう一度読み直してみるぐらいの感覚で見てみるといいかもしれませんよ。

    そうですね・・・。
    中 博俊さんの本でしたら持っています。(笑)
    会社のお金で買ったので私のではないですが・・・。
    この仕事に向いてないのか基本だけで頭がパンク気味なので・・・。
    色々調べていると・・・難しいですね。(苦笑)

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

■8817  DllImportについて
□投稿者/ 風影 -(2006/12/07(Thu) 10:34:35)

    分類:[VC++(C++/CLI)] 


    分類:[VC++(C++/CLI)] 

    度々失礼します。
    DllImportなのですがどうしてか上手くいかなくてこまっています。
    過去に言われたとおり(言ったとおり)
    --------------------------------------------------------------
    using namespace System::Runtime::InteropServices;
    --------------------------------------------------------------
    を追加して以下の様にボタンを呼び出す部分でDLLを呼び出しているのですが「関数内でカスタム属性を使用することはできません。」というエラーが出て困っています。
    色々なHPとかを見てもどうしてもわからなくてまた質問しに来てしまいました。
    //本体
    --------------------------------------------------------------
    private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {
    {
    [DllImport("Nicpx_SQL.dll")]
    extern bool Initialize();
    }
    --------------------------------------------------------------
    //関数
    --------------------------------------------------------------
    bool APIENTRY NXSQL_Initialize()
    {



    }
    --------------------------------------------------------------

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

■1533  Localization変更後のビルドで発生する警告について
□投稿者/ あら -(2007/02/27(Tue) 14:12:54)

    分類:[C# (Windows)] 

    お世話になっております。

    現在英語のOSにアプリケーションをインストールしたいと思っています。
    そこで、セットアップウィザードのプロパティの"Localization"を
    "Japanese"から"English(United States)に変更しビルドを行うと下記警告
    が出るようになりました。

    --------------------
    警告 3 カルチャ 'en-US' を項目 '.NET Framework 2.0' に対して一致できませんでした。カルチャ 'ja' を使用します。
    --------------------

    この警告はどうすれば出なくなるのでしょうか?
    環境は.NET 2.0を使用しています。アドバイス等ご教授お願いします。
親記事 /過去ログ10より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>

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

パスワード/

- Child Tree -