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

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

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

全過去ログを検索

<< 0 >>
■34589  Re[5]: Formから他アプリへの入力
□投稿者/ chobi -(2009/04/02(Thu) 08:26:30)
    spy++で観測すると
    message == wm_keyup と wm_keydown
    wparam == vk_up (仮想キーコード)
    だったので、以下のような感じで受け取れました。

    protected override void WndProc(ref Message m)
    {
    const int wm_keyup = 0x101;
    const int vk_up = 0x26;
    switch (m.Msg)
    {
    case wm_keyup:
    if (m.WParam.ToInt32() == vk_up)
    {
    MessageBox.Show("受け取ったよ");
    }
    break;
    default:
    break;
    }
    base.WndProc(ref m);
    }
記事No.34524 のレス /過去ログ60より / 関連記事表示
削除チェック/

■41320  C#における値渡しと参照渡しのコーディングについて
□投稿者/ simano -(2009/09/17(Thu) 20:18:03)

    分類:[C#] 

    こんにちは。
    C#における値渡しと参照渡しの利用方法について悩んでいます。

    「値渡し」と「参照渡し」について、C#の言語仕様では、
    メソッドの引数に構造体を渡した場合は「値渡し」となり、
    クラスを渡した場合は「参照渡し」となるとあります。

    しかし、実際には、「値渡し」「参照渡し」というコーディングする上で
    頻発する場面で、毎回、対象がクラスか構造体かを調べるのは
    わずらわしい作業だと思われます。
    また、不用意にコーディングすれば、バグの原因にもなりそうです。

    例えば、"System.Drawing.Point"をうっかりクラスだと思って引数に渡したら、
    構造体だった…という事態が起こりそうです。
    また、自作クラスを、途中から構造体に変えたり、その逆にする可能性もありますよね。

    考えられる対処方法としては、引数の対象がなんであれ、
    基本クラスや構造体以外は、必ずrefを使用するというものがありますが、
    少し冗長かなと思います。

    皆さんは、この問題をどのようにクリアしているのでしょうか。
    よろしくお願いします。
親記事 /過去ログ71より / 関連記事表示
削除チェック/

■54125  非同期通信を利用しTextBox入力値を即検索・表示するには
□投稿者/ まい -(2010/10/05(Tue) 21:50:24)

    分類:[ASP.NET (C#)] 

    ASP.NET MVC 2(VS2010)で開発をすることになりました。

    あるテキストボックスに指定桁数まで値を入力した後、
    非同期通信で入力値を条件にDB検索を行い、取得した値を即表示する処理を作ることになったのですが
    どのような方法があるでしょうか?

    ASP.NETであればUpdatePanelを利用すれば解決できそうなのですが。
    ASP.NET MVC、JQueryの経験は全くなく何を調べたらよいのかもわからない状態です。

    参考情報等でも構いません。宜しくお願い致します。
親記事 /過去ログ91より / 関連記事表示
削除チェック/

■54126  Re[2]: ウインドウを最大化した時の中央配置
□投稿者/ まっさ -(2010/10/05(Tue) 22:03:38)
    お返事ありがとうございます。

    > ■No54085 (まっさ さん) に返信
    >>今までASP.NETで開発してこなかったので
    >>WindowsFormアプリは初めてでわからないことが多いです。
    > ASP.NET も WinForm も初めてという事でしょうか?
    > 今回の質問は、Windows Form のことで良いのですよね。
    >

    すいません、タイプミスです。
    ASP.NETの経験はあります。

    >
    >>ウインドウを最大化した時の中央配置はどうすればよいの
    >>でしょうか?
    > フォームそのものであれば、StartPosition プロパティです。
    > コントロールであれば、TableLayoutPanel を併用して配置してみてください。


    TableLayoutPanelをWindowsFormに配置しても、最大化したときに
    、それが中央に来ないんです。
    フォームそのものはStartPositionでたしかに中央に表示されます。

    なんとかならないのでしょうか?

    よろしくお願いいたします
記事No.54085 のレス /過去ログ91より / 関連記事表示
削除チェック/

■64202  Re[4]: ホームページのテキストボックスに文字を表示する方法
□投稿者/ 裕猫 -(2012/11/13(Tue) 14:58:03)
    No64198 (Azulean さん) に返信
    > もう少し HTTP の仕組みの理解を深めてもらった方がよさそうです。
    > Web ページが表示されるまでにサーバーとブラウザーがどのような通信をしているかというあたりを。
    >
    > 結果からいえば、HTML タグから全部です。
    > CGI に対して何が求められているかというと、送信したパラメーターに対して、Web ページとして何を表示したいかを返すことです。(基本的には)
    ありがとうございました。C#などのプログラムのようにHTMLの中の一つのtextboxに何かを送って表示できると勘違いしていました。これで進めます。ありがとうございました。
記事No.64184 のレス / END /過去ログ108より / 関連記事表示
削除チェック/

■67885  Re[2]: RowsAdded が二度呼ばれてしまう
□投稿者/ 初心者 -(2013/09/08(Sun) 17:18:27)
    >  では、その原因は、どのようにコーディングしているのでしょうか。
    private void Form1_Load(object sender, EventArgs e)
    {
    dt = new DataTable();
    dt.Columns.Add("NO", typeof(int));
    for (int i = 0; i < 5; i++)
    dt.Rows.Add(i);
    dgv.DataSource = dt;
    }
    のようにして5行のDataTableをバインドしてるだけです。

    > また、RowCount が連続していないことも気になります。
    RowIndex=0 RowCount=1
    RowIndex=1 RowCount=4
    のように分割されてしまうのは.NETの仕様だと思ったのですが違うのでしょうか?
記事No.67877 のレス /過去ログ115より / 関連記事表示
削除チェック/

■69061  Visual Studio プログラムについて
□投稿者/ CERAMIC -(2013/12/01(Sun) 10:53:56)

    分類:[.NET 全般] 

    はじめまして。プログラミング初心者です。
    現在2つのプログラムを作成しているのですがコードがわかりません。

    1.テキストボックスの文字をカウントし、文字数により異なるメッセージを表示するプログラム
      例)入力「あいうえお」→結果「こんにちは。入力文字数は5文字です。」
        入力「あいう」  →結果「元気ですか。入力文字数は3文字です。」

    2.テキストボックスの文字を逆転させるプログラム
      例)入力「あいうえお」→結果「おえういあ」

    どなたか教えて頂けると幸いです。
    宜しくお願いします。
親記事 /過去ログ117より / 関連記事表示
削除チェック/

■69144  Re[4]: グリッドビューのリンクを変更する
□投稿者/ 黒霧島 -(2013/12/06(Fri) 07:47:17)
    No69143 (WebSurfer さん) に返信
    > ■No69142 (黒霧島 さん) に返信
    >>URLは定数として予め宣言しておき、画面に設置してあるドロップダウンリストの値を変更するとリンク先が変更されるようにしたいと考えています。ようするにドロップダウンの変更イベントかロード時のイベントでリンク先を変更させたいということです。
    >
    > 依然として意味不明です。ご自分ではそれが分からないのかもしれませんが・・・

    結局私が知りたいのはグリッドビューのHyperLinkFieldのDataNavigateUrlFormatStringをVB側から変更する方法です。
記事No.69139 のレス /過去ログ118より / 関連記事表示
削除チェック/

■86283  Re[1]: C# csvファイル読み込みの質問です
□投稿者/ 魔界の仮面弁士 -(2018/01/12(Fri) 22:06:46)
    No86281 (普通のサラリーマン さん) に返信
    > 複数行、複数列のセルに数値が入力されているcsvファイルがあります。

    改行が「各レコードの末尾」に付与された CSV ファイルを生成する処理系と
    string strStream = "111,222,333\r\n444,555,666\r\n777,888,999\r\n";

    改行が「レコードとレコードの間」に付与される CSV ファイルを生成する処理系があります。
    string strStream = "111,222,333\r\n444,555,666\r\n777,888,999";


    今回の場合、データとして「空欄」があるとのことですので、
    上記のどちらの仕様で進めるのかも、事前に確認しておいてください。

    というのも、1 列のみで構成された
     string strStream = "111\r\n";
    という CSV ファイルがあった場合、
    前者(行末に改行)ルールでは 1 レコードのファイルと判定されねばなりませんし、
    後者(行間で改行)ルールでは 2 レコードのファイルと判定されねばならないわけです(2行目は空欄)。



    > System.StringSplitOptions option1 = StringSplitOptions.RemoveEmptyEntries;
    > string[] lines1 = strStream.Split(new char[] { '\r', '\n' }, option1);

    空欄が許容されているのですから、RemoveEmptyEntries を指定してはマズイです。

    今回は、「空」であることも重要な情報なのですから、
    StringSplitOptions は None のままにしておくべきかと思いますよ。


    ここでは仮に、「行と行の間で改行」する CSV ルールであると仮定し、
    下記のような「4行1列」の CSV があったとしてみましょう。

    2 行目に空欄のデータがあります。
     string strStream = "111\r\n\r\n333\r\n444";

    この場合、Split 処理を
     string[] lines1 = strStream.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
     string[] lines2 = strStream.Split(new char[] { '\r', '\n' }, StringSplitOptions.None);
     string[] lines3 = strStream.Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);
    としてみるとどうなるでしょうか。

    lines3 なら、正しく 4 行に分解してくれますが、
    lines1 だと、空行が削除されて 3 行になってしまいます。
    lines2 に至っては、\r と \n の間でも区切ってしまい、7 行扱いですね。



    ここまでは行単位に区切る場合の話をしてきましたが、
    もちろん、列方向に区切る場合も同様です。

    RemoveEmptyEntries を指定してしまうと、
    "111,,333" が 3 列ではなく、2 列になってしまいますよね。
記事No.86281 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86284  Re[1]: C# csvファイル読み込みの質問です
□投稿者/ WebSurfer -(2018/01/13(Sat) 12:53:16)
    No86281 (普通のサラリーマン さん) に返信

    問題の原因や解決策の提案はすでに魔界の仮面弁士さんが No86283 でされていますの
    で、直接の回答ではないですが、別の案(CSV パーサーの利用)を提案させてください。

    そんな提案は不要ということでしたら以下はスルーでお願いします。

    質問者さんが最初の質問でアップされたコードでは、ファイルを読んで文字列を作り、
    String.Split メソッドでその文字列を区切るといった方法を取られてます。

    でも、改行コードやデリミタ(コンマのような区切り文字)がフィールド値の中に
    あったり、改行コードが異なったり(例: Windows は CR + LF、Unix は LF)する
    CSV ファイルの場合そのような単純な方法は使えません。

    詳しくは以下の記事の最初のセクション「CSV形式とは?」を見てください。

    CSV形式のファイルをDataTableや配列等として取得する
    http://dobon.net/vb/dotnet/file/readcsvfile.html

    改行コードやデリミタがフィールド値の中にある場合、フィールド値をダブルクォー
    ト (") で囲むと言った約束を設けて対応しますが、そのような CSV ファイルの処置
    が可能なパーサーを自力で作るのは簡単ではありません。

    なので、TextFieldParser などの既存のパーサーを使うのがよさそうです。上に紹介
    した記事にコード例がありますので見てください。

    TextFieldParser は Microsoft が提供している Visual Basic .NET 用のクラスライ
    ブラリです。C# でも Microsoft.VisualBasic.dll を参照に追加してやれば使えます。

    何といっても Microsoft のライブラリなので、.NET アプリならこれを使うのが無難
    そうな気がします。
記事No.86281 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86286  Re[2]: C# csvファイル読み込みの質問です
□投稿者/ 魔界の仮面弁士 -(2018/01/13(Sat) 15:47:46)
    No86284 (WebSurfer さん) に補足
    > 別の案(CSV パーサーの利用)を提案させてください。

    CsvHelper なども有名ですね。
    https://www.nuget.org/packages/CsvHelper/
    http://joshclose.github.io/CsvHelper/reading#getting-all-records


    > なので、TextFieldParser などの既存のパーサーを使うのがよさそうです。

    Microsoft.VisualBasic.FileIO.TextFieldParser は確かに高機能ですが、
    『空行を無視する』仕様になっていることにご注意ください。

    この「空行を無視する」という TextFieldParser の制限により、
    私が No86283 で例に挙げた CSV 群、たとえば:
    >>> string strStream = "111\r\n\r\n333\r\n444";
    などは、残念ながら正しく処理することができません。


    > 改行コードやデリミタがフィールド値の中にある場合、

    空行無視という制限により、TextFieldParser ではたとえば
     string strStream
       = "BARCODE,NAME\r\n"
       + "4901313037508,ソフトサラダ\r\n"
       + "4582409181895,\"選べる!\r\nみんなのスープ\r\n\r\n8袋入\"\r\n"
       + "4901990328544,\"ごつ盛 坦々麺\"\r\n";
    のようなデータも正しく読み取れません。


    上記の CSV データをパースした場合、たとえば
     var lines = new string[4][];
     lines[0] = new string[2] { "BARCODE", "NAME" };
     lines[1] = new string[2] { "4901313037508", "ソフトサラダ" };
     lines[2] = new string[2] { "4582409181895", "選べる!\r\nみんなのスープ\r\n\r\n8袋入" };
     lines[3] = new string[2] { "4901990328544", "ごつ盛 坦々麺" };
    へと解釈されることが期待されるわけですが、
    Microsoft.VisualBasic.FileIO.TextFieldParser では空行部が読み飛ばされるため、
    たとえ HasFieldsEnclosedInQuotes = true / TrimWhiteSpace = false を
    指定したいたとしても、ReadFields メソッドで順次読み込みする限り
     var lines = new string[4][];
     lines[0] = new string[2] { "BARCODE", "NAME" };
     lines[1] = new string[2] { "4901313037508", "ソフトサラダ" };
     lines[2] = new string[2] { "4582409181895", "選べる!\r\nみんなのスープ\r\n8袋入" }; // ★破損行
     lines[3] = new string[2] { "4901990328544", "ごつ盛 坦々麺" };
    のように解釈されてしまうことになります。
記事No.86281 のレス /過去ログ148より / 関連記事表示
削除チェック/

■102037  GmailAPIのテストモードに関して
□投稿者/ kiku -(2023/06/09(Fri) 13:04:21)

    分類:[運用/保守] 


    現在、GmaiAPIを利用し、WinFormアプリから、メール送信に成功しています。
    メール送信時の認証は、OAuth2.0を使いました。

    OAuth同意画面の公開ステータスがテストのままの状態で
    動いている状態です。

    この公開ステータスは、テストのまま利用し続けても
    良いものなのでしょうか?

    googleクラウドのドキュメントを検索しているのですが
    はっきりしないため、
    知見をお持ちの方、アドバイス頂けますと幸いです。

    ・無料の範囲で利用し続けたい
    ・メール送信だけ行いたい
親記事 /過去ログ178より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -