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

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

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

No.7393 の関連記事表示

<< 0 >>
■7408  Re[4]: ファイル作成について
□投稿者/ 風影 -(2006/10/10(Tue) 18:27:34)

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

    解決ボタン押し忘れました。(汗)
記事No.7393 のレス / END /過去ログ7より / 関連記事表示
削除チェック/

■7407  Re[3]: ファイル作成について
□投稿者/ 風影 -(2006/10/10(Tue) 18:26:18)

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

    Blueさん、お早い返事ありがとうございます。
    一応無事出来ました。
    ただやっぱりfpは無理そうですね。
    テキストに少し書いてプログラムを走らせたらテキストの中身が真っ白だったので。

    >次回からは「図表モード」で投稿してください。
    以後気をつけます。
    (注意ばかりですみません)
記事No.7393 のレス /0過去ログ7より / 関連記事表示
削除チェック/

■7401  Re[2]: ファイル作成について
□投稿者/ Blue -(2006/10/10(Tue) 17:12:05)

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

    訂正)

    > fp = fopen( filename, "w" );
    > if ( fp == NULL )
    > {
    > fprintf( stderr, "'%s'が読み込めません.\n", filename );
    > return -1;
    > }
    if ( fopen_s( &fp, filename, "w" ) != 0 ) // キャストが必要かも?
    {
    fprintf( stderr, "'%s'が読み込めません.\n", filename );
    return -1;
    }

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

■7396  Re[1]: ファイル作成について
□投稿者/ Blue -(2006/10/10(Tue) 17:03:15)

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

    次回からは「図表モード」で投稿してください。
    (ソースコードがインデントされます)

    C言語は明に初期化しないと、値は不定です。
    ですので
    >char *filename;
    は NULL が入っているとは限りません。
    (NULLかも知れないし、変な値が入っているかもしれない)
    よって、明に初期化する必要があります。

    char* filename = NULL;


    というか、このコードは /* ファイル指定あり */ のパスを通ることはないような気がします。
    もっともらしく書くのであれば、

    extern "C" __declspec(dllexport)
    int __stdcall WINAPI Dll_fileopen( const char* filename )
    {
    FILE* fp;
    if ( filename == NULL )
    {
    fp = stdin;
    }
    else
    {
    fp = fopen( filename, "w" );
    if ( fp == NULL )
    {
    fprintf( stderr, "'%s'が読み込めません.\n", filename );
    return -1;
    }
    }
    return 0;
    }

    てな感じでしょうが。
    ただ、fpはローカル変数なので、別のDLLの関数からfpを参照することは出来ません。
    (しかも、fpは開きっぱなしなのでどうなるか微妙です)

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

■7393  ファイル作成について
□投稿者/ 風影 -(2006/10/10(Tue) 16:52:56)

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


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

    今DLLを使ったプログラムを作っていて、その中のプログラムなのですが、DLLとEXEはコンパイルすると正常終了するのですが実行するとエラーが出ます。
    おそらくOLLのファイルのオープン(新規作成)でてこずっていると思うのですが、色々試したのですが理由がわからなく書き込みました。

    DLLはVC2005で作り、EXEは.net2003C#で作っています。
    どうかアドバイスを頂ければ幸いです。

    DLL
    ---------------------------------------------------------------
    extern "C" __declspec(dllexport)
    int __stdcall WINAPI Dll_fileopen()
    {
    char *filename; /* NULL ならファイル指定なしとします */
    FILE *fp;
    char fname[80] = "";

    if ( filename == NULL ) { /* ファイル指定なし */
    fp = stdin;
    } else { /* ファイル指定あり */
    fopen_s(&fp ,fname, "w" );

    if ( fp == NULL ) {
    fprintf( stderr, "'%s'が読み込めません.\n", filename );
    exit(1); /* 異常終了 */
    }
    }
    return 0;
    }
    ------------------------------------------------------------------
    DLL呼び出し部(EXE)
    ------------------------------------------------------------------
    class Dll
    {
    [DllImport("dllnew.dll")]
    public static extern int Dll_fileopen();
    }

    private void button1_Click(object sender, System.EventArgs e)
    {
    Dll.Dll_fileopen();
    }
親記事 /0過去ログ7より / 関連記事表示
削除チェック/

■7393  Re[9]: datagridviewのセルイベントについて
□投稿者/ グリッド -(2007/09/05(Wed) 09:56:22)
    何度もありがとうございます。

    No7383 (魔界の仮面弁士 さん) に返信
    > ■No7377 (グリッド さん) に返信
    >>修正を加えて、実装することが出来ました。ありがとうございます。
    > 実装できたことは分かったのですが、何に困っていたのかがわかりません。(;_;)

    上記でも書いていたのですが、自分で作成した段階では、例えば魔界の仮面弁士 さんの挙げていただいたサンプルコードの例の
    フォームの見た目だけ想像していただいてもらうと、selectionbackColorを通常のbackcolorと同一にしてしまうと、ボタンクリック時に
    backcolorを黄色に指定してもフォーカスを離さない限り色が変わらず、又、ボタンが押された行のセルをクリックするとselectioncolorが
    有効となっているのか白色になってしまう、というものでした。おそらく、↓のようなコード(考え方)が足りていなかったからだと
    思っています。

    DataGridViewCellStyle style = ((DataGridView)sender).Rows[e.RowIndex].DefaultCellStyle;


    >>初期表示になるようなイベントを作りたいのですが、下記のようなコードでは、
    > イベントを作る…?
    > DataGridView を継承したコントロールを作成して、そこにイベントを作りこむような状況でしょうか。
    >
    > 独自のイベントを実装する方法に関しては、下記を参照してみてください。
    > http://msdn2.microsoft.com/ja-jp/library/5z57dxz2%28VS.80%29.aspx
    >
    >
    >>そこで、もう一つ質問なのですが、別途クリアボタンを用意して、ボタンを押すと
    > このボタンとは、DataGridView 上の DataGridViewButtonCell のことではなく、
    > System.Windows.Forms.Button の事で良いでしょうか?

    すみません、言葉足らずでした。System.Windows.Forms.Button の方ですね。


    >>最後にボタンを押した行がフォーカスを外さない限り黄色になったままなのと、
    >>クリアする前に押したボタンの該当セルを押すと黄色になってしまいます。
    >>これらを解決する手段はあるのでしょうか?
    > 状況が今ひとつ理解できていないのですが……とりあえず、先に提示した
    > No7374 のサンプルに以下のコードを追加してみました。これで如何でしょう。
    >
    > private void button1_Click(object sender, EventArgs e)
    > {
    > foreach (DataGridViewRow row in dataGridView1.Rows)
    > {
    > row.DefaultCellStyle = null;
    > }
    > }

    はい、こちらで解決いたしました。只、自分で書いた↓でダメだった理由がまだよく分かっていません。
    ↑でやっていることは、”セルを押した”という履歴自体を消している、というような感覚なのですが
    見当違いなのでしょうか?

    dataGridView1.DefaultCellStyle.SelectionBackColor = Color.White;

    for (int i = 0; i < dataGridView1.Rows.Count; i++)
    {
    dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.White;
記事No.7313 のレス /過去ログ18より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -