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

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

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

全過去ログを検索

<< 0 >>
■2462  Re[2]: 録音機能
□投稿者/ teru -(2006/02/03(Fri) 17:27:03)

    分類:[C#] 

    一応、WAVEファイルのつもりです。
     ボタン1を押すと録音を開始
     ボタン2を押すと録音終了
     ボタン3を押すと保存
     ボタン4を押すと再生
    といった感じで

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

■4049  ファイルの所有者の取得方法
□投稿者/ yasuo -(2006/05/30(Tue) 11:14:11)

    分類:[C#] 


    分類:[C#] 

    ファイルの所有者の取得方法を教えてください。

    取得したい内容はコマンドプロンプトで”Dir /Q”で表示される所有者です。
    もしくは、ファイルのプロパティのセキュリティタブに存在する詳細設定ボタ
    ン押下後に表示される画面の所有者タブに表示される
    ”このアイテムの現在の所有者のデータ”
    です。

    ShellコマンドやAPIを使用せずに.NET Frameworkのクラスで対応できないか調
    べているのですが未だに見つけられずお力をお借りしたく書き込みさせて頂き
    ました。

    当方の環境は、
     Windows XP Pro
     Visual Basic .NET 2003
     .NET Framework 1.1
    です。

    よろしくお願い致します。
親記事 /0過去ログ4より / 関連記事表示
削除チェック/

■12102  Re[21]: 変数名等に日本語を使う
□投稿者/ れい -(2007/12/30(Sun) 13:07:47)
    ただのネタですが。

    No12101 (特攻隊長まるるう さん) に返信
    > ちなみに日本語を使う派の人は、数学の数式も
    > 基本的には日本語で表記すべきと思ってるのかなー?

    友人が大学入試用の模擬試験を受けたときの話です。

    試験が結構難しく、全部解答できたのは時間ぎりぎりでした。
    見直していたら、「t=xxx」となるべき所が、
    筆を誤って一箇所だけ「も=xxx」となってしまっていました。

    消しゴムで修正する時間がありません。
    機転を利かせた友人は全ての「t」に棒を足して「も」に変え、提出しました。

    #提出するときは恥ずかしくてしょうがなかったらしく、顔が真っ赤でした。

    試験結果は上々。
    時刻が「も」になってる回答も正答でした。
    ただ、帰ってきた答案には「変数名にはよく使う文字を使いましょう」と書いてあったそうです。

    以来、私は変数名に「い」「ろ」「は」とか「ね」「む」「い」とか、
    ひらがな1文字を使って数学を解答することがたまにあります。
    ダメと言われたことはありません。

    ですが、正直なところ、変数名をひらがな一文字にすると「おかしい」です。
    「へ_も!」とか「め^そ」とか。
    かといって、複数文字で一つの変数名にするのは数学では無理です。

    括弧でくくらないと、文章中に出てきたときも意味がわからなくなります。
    #「時刻をもとする」

    ですので、数学で「ひらがな」「カタカナ」を変数名にするのはオススメできません。
記事No.12041 のレス /過去ログ26より / 関連記事表示
削除チェック/

■83621  Re[1]: 再帰処理を使ったマージソートについて
□投稿者/ もりお -(2017/03/31(Fri) 00:41:54)
    No83620 (souya さん) に返信

    再帰には脱出条件が必ずあります。

    > if(low >= high) { return; }

    これが再帰の脱出条件です。
    この条件が成り立つまで再帰を行います。


    再帰で何をやってるかですが

    > mergeSortArray(a, low, mid); //再帰01
    > mergeSortArray(a, mid + 1, high); //再帰02

    この2つで配列を分割しています。

    https://www.fastpic.jp/images.php?file=4917100747.png

    mergeSortArray(a, low, mid) が赤の矢印
    mergeSortArray(a, mid + 1, high) が青の矢印です


    > int[] b = new int[a.Length];
    から下の処理は分割した配列をマージしています

    https://www.fastpic.jp/viewer.php?file=1898762672.png
    こんな感じです。下から上に登っていきます。


    マージのロジックの詳細は以下の図の通りです
    https://www.fastpic.jp/images.php?file=6313946980.png


    図を描くのに全体力を使い果たしましたので説明は割愛ということで(ぇ
記事No.83620 のレス /過去ログ143より / 関連記事表示
削除チェック/

■86343  Re[3]: HttpClientでのmultipart/mixed送信
□投稿者/ さえ -(2018/01/22(Mon) 01:58:36)
    はるまきとかげ様、Hongliang様、魔界の仮面弁士様
    
    ご指摘どうもありがとうございます。大変勉強になり、有難いです。
    ファイルの操作やヘッダの操作など、基本的な問題で申し訳ありませんが、これから勉強していきたいと思っています。
    また、サービス提供元は問合せを受け付けていないようでした。
    
    情報が小出しになってしまいすみませんが、正常に動作するVBAのサンプルが公開されていました。
    サンプルと自作C#のパケットキャプチャの結果および修正した自作C#コードを下記に記載します。
    APIが返す結果は変わらず「ファイルがありません」となります。
    
    魔界の仮面弁士様にご指摘頂いた通り、Shift_JISのcsvはUTF-8 に再エンコードして送出されているようでしたので、
    元のファイルの方をutf-8に変換しています。
    
    サンプルとC#の結果の相違点は、Content-Length(変換方法の問題?)とバウンダリ文字のように見えます。
    バウンダリにダブルクォーテーションを付けない形で設定する方法はどうすればよいでしょうか。
    
    何度も申し訳ありませんが、どうぞよろしくお願いいたします。
    
    
    
    ***正常に動作するサンプルの送出データ***
    POST /api/v1/ConvertToWebInput HTTP/1.1
    Connection: Keep-Alive
    Content-Type: multipart/mixed; boundary=================12345678987654321
    Accept: */*
    Accept-Language: ja
    User-Agent: Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)
    Content-Length: 13795
    Host: model.app.lowenergy.jp
    
    
    --================12345678987654321
    Content-Disposition: mixed; name="A"
    Content-Type: text/csv; charset=utf-8
    
    *CSVの中身
    
    
    ***自作C#の送出データ***
    POST /api/v1/ConvertToWebInput HTTP/1.1
    Accept-Language: ja
    Accept: */*
    User-Agent: Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)
    Content-Type: multipart/mixed; boundary="================12345678987654321"
    Host: model.app.lowenergy.jp
    Content-Length: 13793
    Connection: Keep-Alive
    
    --================12345678987654321
    Content-Disposition: mixed; name="A"
    Content-Type: text/csv; charset=utf-8
    
    *CSVの中身
    
    
    ***自作C#コード***
                var files = new List<string>();
                files.Add(@"C:\test\A");
                
                var content = new MultipartContent("mixed", "================12345678987654321");
    
                foreach (var s in list)
                {
                    var fileContent = new StreamContent(File.OpenRead(s));
                    fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("mixed")
                    {
                        Name = "\"" + Path.GetFileName(s) + "\""
                    };
                    fileContent.Headers.ContentType = new MediaTypeHeaderValue("text/csv"){ CharSet = Encoding.UTF8.WebName };
                    content.Add(fileContent);
                }
    
                var httpClient = new HttpClient();
                httpClient.DefaultRequestHeaders.Add("Accept-Language", "ja");
                httpClient.DefaultRequestHeaders.Add("Accept", "*/*");
                httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)");
    
                string url = @"http://model.app.lowenergy.jp/api/v1/ConvertToWebInput";
                httpClient.DefaultRequestHeaders.ExpectContinue = false;
                HttpResponseMessage response = httpClient.PostAsync(url, content).Result;
    
                string test = response.Content.ReadAsStringAsync().Result;
記事No.86305 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86345  Re[4]: HttpClientでのmultipart/mixed送信
□投稿者/ 魔界の仮面弁士 -(2018/01/22(Mon) 11:29:31)
    No86343 (さえ さん) に返信
    > foreach (var s in list)
    「foreach (var s in files)」ですよね。
    
    ところで、HttpClient には下記のような問題があるのでご注意を。
    https://qiita.com/nskhara/items/b7c31d60531ffbe29537
    
    
    > ***正常に動作するサンプルの送出データ***
    > Content-Length: 13795
    > ***自作C#の送出データ***
    > Content-Length: 13793
    
    要求ボディのサイズ(Content-Length ヘッダー)が 2 バイト違っていますが、
    これは先頭の CR LF の有無によるものです。
    
    
    VBA バージョンにおいて、その 冒頭の CR LF を削って送出した場合、
    残念ながら No86325 で示したように
     「ファイルがありません。アップロードしてください。」
    が再現することになります。本来、冒頭の CR LF は無くても構わないはずなので、
    このような動作になっているのは、Web API 側の実装に問題があるのだと推察します。
    
    
    マルチパートな HTTP では、preamble (および epilogue) は
    空で送信されるのが通例ですし、先頭が空の preamble である場合、
    冒頭の CR LF は省略可能だと思うのですけれどね…。
    
    https://www.ietf.org/rfc/rfc2046.txt
    》multipart-body := [preamble CRLF]
    》                  dash-boundary transport-padding CRLF
    》                  body-part *encapsulation
    》                  close-delimiter transport-padding
    》                  [CRLF epilogue]
    》
    
    https://wiki.suikawiki.org/n/境界文字列
    》古い版の MIME では一番最初の本体部分の前の境界でも 
    》--boundary の前の CRLF が必須とされていましたが、
    》今日では不具合であったと考えられています。
    
    
    > Shift_JISのcsvはUTF-8 に再エンコードして送出されているようでしたので、
    PDF に記載された要求の例では
     Content-Type: text/csv
    となっているのに、VBA 実装では
     Content-Type: text/csv; charset=utf-8
    となっていますし、仕様か実装のいずれかが間違っていそう。
    
    
    > バウンダリにダブルクォーテーションを付けない形で設定する方法はどうすればよいでしょうか。
    
    VBA 版と同様、要求電文を自前で組み立てないと駄目かも。
    以下、Task 化してませんが参考までに。
    
    static void Main()
    {
      var files = new List<string>();
      files.Add(@"C:\temp\A");
    
      string url = @"http://model.app.lowenergy.jp/api/v1/ConvertToWebInput";
        
      var webReq = System.Net.HttpWebRequest.CreateHttp(url);
      webReq.Method = HttpMethod.Post.Method;
    
      // var boundary = "================12345678987654321";
      var boundary = "==" + Guid.NewGuid().ToString("D");
    
      //バウンダリを quoted-string にすると失敗する
      //webReq.ContentType = "multipart/mixed; boundary=\"" + boundary + "\"";
    
      //バウンダリを token として表現する
      webReq.ContentType = "multipart/mixed; boundary=" + boundary;
    
      var mem = new MemoryStream();
      var writer = new StreamWriter(mem, Encoding.UTF8);
    
      foreach (var s in files)
      {
        // 最初のバウンダリであっても、\r\n を先導させないと失敗する
        writer.Write("\r\n--" + boundary + "\r\n");
    
        // ここは「name="A"」でも「name=A」でも構わない
        writer.Write("Content-Disposition: mixed; name=" + Path.GetFileName(s) + "\r\n");
        //writer.Write("Content-Disposition: mixed; name=\"" + Path.GetFileName(s) + "\"\r\n");
    
        // Content-Type はもちろん必須だが、chaset の検査はされていない模様
        // というか、そもそも "text/csv" 以外を指定しても動いてしまう
        writer.Write("Content-Type: text/csv\r\n");
    
        // CSV の文字コードは UTF-8 にしておく必要がある模様
        // 使用可能な文字種(文字集合)は CP932 準拠?
        writer.Write("\r\n" + File.ReadAllText(s));
      }
      writer.Write("\r\n--" + boundary + "--");
      writer.Flush();
      webReq.ContentLength = mem.Length;
      mem.Position = 0;
      var reqStm = webReq.GetRequestStream();
      reqStm.Write(mem.ToArray(), 0, (int)mem.Length);
      reqStm.Close();
      writer.Dispose();
    
      var res = webReq.GetResponse();
      var resStream = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
      string result = resStream.ReadToEnd();
      resStream.Close();
      res.Dispose();
      Console.WriteLine(result);
    }
記事No.86305 のレス /過去ログ148より / 関連記事表示
削除チェック/

■89876  Re[6]: 別フォーム(クラス)から同じDataTableを参照したい
□投稿者/ WebSurfer -(2019/01/11(Fri) 14:02:06)
    No89875 (タック さん) に返信

    > DataTableは参照型なので、別のフォームを呼ぶ際に今使っているDataTableのインスタンスを渡してあげれば
    > 別フォームでそのインスタンスを使って同じデータを使用できる、と理解いたしました。

    インスタンスを渡すわけではないです。インスタンスの位置を指している変数の値を渡すのです。

    以下の記事の「図 3-8 値型変数と参照型変数の値の格納」の「参照型の変数」の方を見てください。

    3-2 値型と参照型
    https://msdn.microsoft.com/ja-jp/library/dd314344.aspx

    インスタンスとはその図のメモリ上の位置 nnnn に存在する「String 型データの実体」です。

    例えば Form1 で Dim S As String = "hello,world!" とし、その後 Form2(String X) というコンストラクタで
    Form2 を初期化する際引数 X に S を渡す、即ち Form2 の X という変数に nnnn をコピーするということです。

    インスタンスは一つしか存在しません。インスタンスを指す変数 S が Form1 に、変数 X が Form2 にぞんざい
    することになります。
記事No.89869 のレス /過去ログ155より / 関連記事表示
削除チェック/

■89877  Re[7]: 別フォーム(クラス)から同じDataTableを参照したい
□投稿者/ タック -(2019/01/11(Fri) 15:07:16)
    No89876 (WebSurfer さん) に返信
    > ■No89875 (タック さん) に返信
    >
    > インスタンスを渡すわけではないです。インスタンスの位置を指している変数の値を渡すのです。
    >

    理解が不十分ですみません。
    ご説明で整理できました。

    きちんと理解していないと、そのつもりで記載しても違う意味になってしまいますよね。
    気を付けます。
記事No.89869 のレス / END /過去ログ155より / 関連記事表示
削除チェック/

■94792  Re[2]: SQLSsrverからDataGridViewに表示したい
□投稿者/ かわにのにわか -(2020/05/19(Tue) 17:20:55)
    No94788 (大谷刑部 さん) に返信
    > ■No94781 (かわにのにわか さん) に返信
    >>SQLSsrver14.0のテーブルからデータを取り出し、VB2010上のDataGridViewに表示したいのですが、VBプログラムを教えてください。
    >>SQLServerとの接続からお願いします。
    >>
    >>DB:Business management system
    >>テーブル名:Supplier master
    >>code
    >>companey_name
    >>gojuuon
    >>
    >>SQL SERVER認証はこれで合ってますでしょうか?
    >>
    >>Public Class Suppliers_master
    >>
    >> Private Sub Button_kensaku_Click(sender As System.Object, e As System.EventArgs) Handles Button_kensaku.Click
    >>
    >>  Dim strConnectSQL As String
    >>  Dim strSQL As String
    >>  Dim SQLDA As SqlClient.SqlDataAdapter
    >>  Dim SQLDS As New DataSet()
    >>
    >>  strConnectSQL = _
    >>    "Server=FSH-025\SQLEXPRESS;" & _
    >>    "Initial Catalog=Business management system;" & _
    >>    "User ID=*****(伏せます);" & _
    >>    "Password="";"
    >>
    >> End Sub
    >>
    >>End Class
    >>
    > 単なる文字列代入の構文ミスでは?
    > 上記だと、パスワードが"って意味になると思いますけど。
    >


    ご回答ありがとうございます。
    先にも申しました通り、全くの素人なものですから、何もかもが分からずの手探り状態です。

    流れとしては、SQR Serverの認証 → 取り出すデータの変数のセット → SQL文(select *)→ DataGridViewの各列にセット という順序かなぁと思っていまして、まず最初の認証に付いては合っているかどうか、をご確認したかった次第です。
記事No.94781 のレス /過去ログ164より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -