DOBON.NETプログラミング道掲示板

■ 「新規作成」から投稿できます。
■ マルチポストされた投稿を見つけたときは、その投稿に返信することによりご報告ください。その際は匿名で投稿し、マルチポストされている場所を併記してください。
■ スパム対策のため、メールアドレスの先頭に"_"という文字が付加されています。
RSS 2.0 RSS 2.0 | RSS 0.91 | 携帯電話用 | 自分専用のアイコンを使用するには | 掲示板への要望 | 管理人に連絡 | お気楽掲示板
■ 24時間以内に作成されたスレッドは New で表示されます。
■ 24時間以内に更新されたスレッドは UpDate で表示されます。

記事リスト ( )内の数字はレス数
UpDateVB.netにおける固定長出力方法(3) | NomalDataObjectの使いまわし(5) | NomalVB.NETからRDゲートウェイを利用したリモートデスクトップ接続(3) | NomalLIstview のDataSource(2) | NomalClassの作り方(2) | NomalOpenFileDialogの初期ファイル名の表示が変(1) | NomalVB.NETのVBA化(2) | Nomal改行のコード(7) | NomalGoogle翻訳の結果の取得(2) | NomalStopwatchクラスのElapsedMillisecondsの挙動(2) | Nomal.net Chartで二重ドーナツグラフの作り方(3) | Nomalexeをショートカットから起動した場合のエラー(2) | Nomalデスクトップ と Desktop(6) | Nomalデザイナのプロパティウィンドウで静的プロパティを選択したい(3) | NomalPHPでシリアライズした、データをデシリアライズしたい(4) | Nomal二次元配列 インデックスが配列の境界外(2) | NomalVB.netで作成したexeのNgenによる弊害(1) | NomalDrawBezierの使い方について(7) | Nomalメジャーバージョンの異なるLog4netライブラリを参照したい(4) | NomalVB6→2005変換時のDeclare宣言のマーシャリング属性(8) | NomalGROUPBOXの複製について(vb.net)(1) | NomalActiveReports 3.0からActiveReports 7.0へのァイルコンバータについて(4) | NomalAccess OLEでExecuteNonQuery(3) | NomalKeyDownでの右コントロールキーイベント(2) | NomalExcel複数シートの印刷順序(3) | NomalWMPへno(3) | NomalDataGridViewの行番号(7) | Nomalapp.config定義によるネットワークトレースログの世代管理(2) | Nomalrelease/debugのどちらで作成されたものかを判断する方法(2) | NomalC#コンソールアプリでタイピング練習ソフト作成(3) | Nomal自分自身を呼び出すのはOKですか(1) | NomalWebBrowser Control foreachで値が消える(2) | NomalDeclare宣言するdllと参照追加をするdllの区別(4) | NomalTaskクラスを.NET Framework 2.0で実現させる方法(2) | NomalVS2017で作成されたDLLをVS2005で作成されたAPで使用する方法(4) | NomalWebBrowser Controlを使って、任意の値を取得(5) | NomalEditボックスに簡体字をセットする方法(2) | NomalList型でエラーが起きてしまい・・・(1) | Nomalフォルダ内の全ての容量を取得したい(4) | NomalWebClientが上手く動かない(2) | Nomal共変性と反変性ってこういうこと?(4) | Nomalモードレスフォーム Warning IDE0067を回避したい(7) | NomalLINQの拡張メソッドの定義(1) | Nomalこんな演算子初めて見ました。(5) | Nomalプロセスからウインドウを取得(4) | Nomalフォーム外のカーソルの変更(2) | NomalLINQのメソッド構文の書き方(3) | NomalVB.NETでCSVを読み込む際にSQL文を使いたい(3) | NomalRichTextBoxで入力文字の自動折り返しを止めたい(2) | NomalRichTextBoxで入力文字の自動折り返しを止めたい(5) | Nomalラムダ式の勉強中(2) | NomalWebClientで、短期間にDownloadStringAsyncを実行したい(2) | Nomalvb.net+SQLiteで複数データベースファイルへのトランザクション方法(3) | NomalNewの使い方間違ってますか?(4) | Nomalジェネリック型インターフェースを使った変数を扱いたい(3) | NomalC#をVBに変換(2) | NomalProcess.WaitForExitで正常に動作しない?(3) | NomalCatch時のex.StackTraceの情報(3) | Nomalユーザーコントロール内のテキストボックスのmodifiedプロパティ(4) | NomalPictureBox.Locationのキャンセル(3) | NomalJOIN操作の構文エラー(4) | NomalVisualStudioでマクロ(3) | NomalVisualStudioでExcelのVSTO開発(3) | NomalOracleDataAccess を参照したプログラムでデバッグモードが機能しなくなる(3) | NomalIE11では表示されるが、.netのWebBrowserでは、表示されないHPを表示する方法(7) | NomalマウスのないOSでマウスカーソルの表示(2) | NomalRDP接続でのネットワーク帯域制限(0) | NomalFILE.COPYでIOExceptionエラーが出る(11) | NomalToolStripMenuItemにShortcutKeysを指定した際の、元のコントロールを取得する方法(2) | Nomal動的にプロパティや変数の値の取得(4) | NomalVB6 ほかのアプリケーションを起動し そのアプリケーションは終了させる方法(4) | NomalMouseEventArgsのカレント座標(2) | Nomalリッチテキストボックスでの字間の調整(2) | NomalDrawImage でメモリ不足エラー(3) | Nomal必須コンポーネントの一覧に追加したい(0) | NomalCode128でバーコードが読み取れない(8) | NomalあるWindows10PCでビルドしたEXEがW8.1以下で実行エラー(5) | NomalApp.configのMy.Application.Log設定で使用できない属性が出る(0) | NomalVC++ → VB.Netに変換時に文法エラー(2) | Nomalvb2010を使用したmicrosoft Wordの任意の行の削除(0) | NomalVb.netからAccessへの接続について(3) | NomalSQL-Server Compact 4.0が表示されない(2) | Nomalバーコードの数字を非表示にしたい(2) | Nomal令和の日付への対応(3) | Nomalスクロールバーが出た時に高さを変えたい(4) | Nomal自作したアプリの発行元を明記したい(2) | NomalHTTP 417エラーを発生させるためのIIS設定はどうすればよいか(3) | Nomal起動ディスプレイの指定方法について(6) | NomalSystem.Threading.Thread.Sleep()と変数(2) | NomalVisual Studio DataTableの値のアクセスの仕方(2) | NomalDatagridviewのクリア(2) | NomalDataGridView 行の背景色の設定(2) | NomalListBoxにデータが表示されない(6) | NomalPIctureBox同士を論理合成したい(3) | NomalDrawString前のFillRectangle有無により文字の太さが違う理由について教えて下さい(3) | Nomalポルトガル語の登録(5) | NomalnumericUpDwonコントロールのvalue(2) | Nomalデータセット定義ファイルからDataTable(3) | NomalDataTableの構造が同じか調べるメソッド(2) | Nomalネットの画像の複数枚を重ね合わせたい(3) |



■記事リスト / ▼下のスレッド
■34430 / 親記事)  WebBrowser Controlを使って、任意の値を取得
□投稿者/ げんむ 一般人(1回)-(2020/03/18(Wed) 21:43:36)
  • アイコン環境/言語:[c# vs2019 .net 4.52] 
    分類:[.NET] 

    <td>内容1</td>
    <td style="font-weight:bold;" nowrap><aa href="/abc.html"><img src="/y.png">内容2</aa></td>
    <td>内容3</td>
    <td style="font-weight:bold;" nowrap><aa href="/def.html"><img src="/y.png">内容4</aa></td>
    <td><aa href="/def.html">内容5</aa></td>
    
    
    このようなHTMLがあります。TDタグのstyle属性にfont-weight:bold;が指定されているlink先と要素を取得したいです。
    上のHTMLでは、/abc.htmlと内容2、/def.htmlと内容4という値を取得したいです。
    
    そこでWebBrowser Controlを使いわかるところまで書きました。
    
     HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("td");
    foreach (HtmlElement elem in elems)
    {
    	Debug.WriteLine(elem.InnerText);
    	//Debug.WriteLine(elem.GetAttribute("style"));
    }
    
    わからない点は以下になります。
    問題1.
    elem.InnerTextは全てのTDタグの要素を取得してしまうので、どのようにstyleがfont-weight:bold;のものだけを取得すればいいのかわからないです。
    var x = elem.GetAttribute("style")としましたが、なんの値も取得できませんでした。
    
    問題2.
    hrefのリンク先を取得する方法がまったくわかりません。
    
    よろしくお願い致します。
    
    Aタグはaのところをaaにしています

違反を報告
引用返信

▽[全レス5件(ResNo.1-5 表示)]
■34431 / ResNo.1)  Re[1]: WebBrowser Controlを使って、任意の値を取得
□投稿者/ Hongliang 大御所(573回)-(2020/03/18(Wed) 22:16:59)
  • アイコン> 問題1.
    > elem.InnerTextは全てのTDタグの要素を取得してしまうので、どのようにstyleがfont-weight:bold;のものだけを取得すればいいのかわからないです。
    HtmlElementにはStyleプロパティが用意されています。

    > 問題2.
    > hrefのリンク先を取得する方法がまったくわかりません。
    とりあえず、アドレス自体はa要素を指すHtmlElementに対してGetAttribute("href")を行うことで取得できます。
    リンク先を取得というのは、abc.htmlやdef.htmlの中身をファイルや文字列として取得したいということでしょうか?
    cookieとかが要求されないのであれば、HttpClientクラスのGetStringAsyncとかを使えばいいですが。
違反を報告
引用返信
■34432 / ResNo.2)  Re[1]: WebBrowser Controlを使って、任意の値を取得
□投稿者/ 魔界の仮面弁士 大御所(1275回)-(2020/03/19(Thu) 09:48:39)
  • アイコン
    No34430に返信(げんむさんの記事)
    > そこでWebBrowser Controlを使いわかるところまで書きました。
    
    既定の IE7 モードのままでの利用でしょうか。
    それとも FEATURE_BROWSER_EMULATION を変更されているのでしょうか。
    
    
    > どのようにstyleがfont-weight:bold;のものだけを取得すればいいのかわからないです。
    
    td に対して font-weight が指定されていなかったとしても
    tr や table に対して font-weight:bold が割り当てられていた場合、
    セルのテキストは bold になる可能性があります。
    .css ファイルでスタイルが設定される場合もありますし。
    
    
    カスケーディングも考慮する必要がある場合には、
    getComputedStyle メソッドもしくは
    currentStyle プロパティを使用できます。
    
    
    dynamic w = webBrowser1.Document.Window.DomWindow;
    string[] values = { "bold", "700" };
    
    var q = from td in webBrowser1.Document.GetElementsByTagName("TD").OfType<HtmlElement>()
            /* let fontWeight = (string)((dynamic)td.DomElement).currentStyle.fontWeight */
            let fontWeight = (string)w.getComputedStyle(td.DomElement).fontWeight
            where values.Contains(fontWeight)
            let anchor = td.FirstChild
            where anchor != null && anchor.TagName == "A"
            select new
            {
                Link = anchor.GetAttribute("href"),
                Text = anchor.InnerText
            };
    
    var sb = new StringBuilder();
    foreach (var anchor in q)
    {
        sb.AppendLine(anchor.Link).AppendLine(anchor.Text).AppendLine();
    }
    MessageBox.Show(sb.ToString());

違反を報告
引用返信
■34433 / ResNo.3)  Re[2]: WebBrowser Controlを使って、任意の値を取得
□投稿者/ げんむ 一般人(3回)-(2020/03/19(Thu) 11:15:47)
  • アイコン
    > HtmlElementにはStyleプロパティが用意されています。
    ->styleプロパティで取得できました。
     
    >アドレス自体はa要素を指すHtmlElementに対してGetAttribute("href")を行うことで取得できます。
    ->リンク先を文字列で取得したかったのげ、GetAttributeで大丈夫でした。
    
    以下のコードで目的を達成はできました。
    
                HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("td");
    
                foreach (HtmlElement elem in elems)
                {
                    string style = elem.Style;
    
                    if (!(string.IsNullOrEmpty(style)) && style.Contains("font-weight: bold;"))
                    {
                        HtmlElementCollection a = elem.GetElementsByTagName("A");
                        string href = a[0].GetAttribute("href");
                        Debug.WriteLine(style);
                        Debug.WriteLine(href);
                    }
                }
    
    ただ、
    HtmlElementCollection a = elem.GetElementsByTagName("A");
    string href = a[0].GetAttribute("href");
    の箇所が何か変な気がします。もっと上手な書き方はあるでしょうか?

違反を報告
引用返信
■34434 / ResNo.4)  Re[3]: WebBrowser Controlを使って、任意の値を取得
□投稿者/ 魔界の仮面弁士 大御所(1276回)-(2020/03/19(Thu) 14:06:03)
  • アイコンNo34433に返信(げんむさんの記事)
    > HtmlElementCollection a = elem.GetElementsByTagName("A");
    > string href = a[0].GetAttribute("href");
    > の箇所が何か変な気がします。

    どの点が気にかかりますか?

    もしも [0] でのアクセスが気になるという話なら、
    事前に『 if (a.length > 0)』の判定を付け加えてください。


    また、Microsoft HTML Object Library の併用でも良ければ、
    こういう書き方にもできます。

    var doc = (mshtml.HTMLDocument)webBrowser1.Document.DomDocument;
    foreach (mshtml.HTMLTableCell cell in doc.getElementsByTagName("TD"))
    {
      // if (cell.style.fontWeight == "bold")
      if ((cell.style.cssText ?? "").Contains("font-weight: bold;") )
      {
        var anchors = cell.getElementsByTagName("A");
        if (anchors.length > 0)
        {
          mshtml.HTMLAnchorElement a = anchors.item(0);
          Debug.WriteLine(a.href);
        }
      }
    }


    WebBrowser への表示が不要なら、HTMLAgencyPack と言う手も。

    https://html-agility-pack.net/
    https://www.nuget.org/packages/HtmlAgilityPack/
    https://www.atmarkit.co.jp/ait/articles/1501/27/news140.html
違反を報告
引用返信
■34435 / ResNo.5)  Re[2]: WebBrowser Controlを使って、任意の値を取得
□投稿者/ げんむ 一般人(4回)-(2020/03/19(Thu) 16:06:50)
  • アイコンありがとうございました。無事に解決しました!
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-5]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■34427 / 親記事)  Editボックスに簡体字をセットする方法
□投稿者/ 山猿 一般人(1回)-(2020/02/22(Sat) 22:34:48)
  • アイコン環境/言語:[Windows10、VB.Net、.Net(V4.6.2)] 
    分類:[.NET] 

    お世話になります。
    以下の様なコードで、Editボックス(IEのGoogle検索ボックス)に中国簡体字(utf-8)をセットしようとしましたが、簡体字部分が?になってしまいます。
    &#36213;治&#21195;→?治?
    適切な対処方法をご存知の方、おられませんでしょうか。

    Declare Function SendMessageStr Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Integer, ByVal MSG As Integer,
    ByVal wParam As Integer, ByVal lParam As System.Text.StringBuilder) As Integer
    Const WM_SETTEXT = &HC


    'utf-8文字
    Dim sb = New StringBuilder("", 256)
    sb.Clear()
    sb.Append("&#36213;治&#21195;")
    SendMessageStr(hwnd, WM_SETTEXT, Len(sb.ToString), sb)


    宜しくお願い致します。

違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■34428 / ResNo.1)  Re[1]: Editボックスに簡体字をセットする方法
□投稿者/ Hongliang 大御所(572回)-(2020/02/22(Sat) 23:13:52)
  • アイコン
    末尾にAのついたWindows APIは、文字セットをANSIとして扱う関数であり、
    実行しているWindowsが日本語で動作している場合にはShift_JIS(CP932)で
    定義されている文字しか扱えません。
    A系の関数はWindows 9x系のWindowsとの互換性のために残されているだけですので、
    特に.NETから呼び出す場合は使用する意味がありません。
    // 9x系最後のWindowsであるMEももはや使われていることを想定する必要はないでしょう。
    代わりにW系の関数を使用します。あるいは、Declare Unicodeを使用すればA/Wの
    サフィクスを気にする必要もAliasを指定する必要もありません。
    それよりも、ポインタやハンドルを使う個所はIntegerではなくIntPtrを使用する点に注意すべきです。
    返値であるLRESULTも、定義はLONG_PTR(ポインタを格納できるサイズのLONG型)であるので、IntPtrになります。
    
    Declare Unicode Function SendMessage Lib "user32.dll" (
        ByVal hWnd As IntPtr, ByVal MSG As Integer,
        ByVal wParam As IntPtr, ByVal lParam As String) As IntPtr

違反を報告
引用返信
■34429 / ResNo.2)  【報告】この投稿はマルチポストです
□投稿者/ (報告) 大御所(273回)-(2020/02/22(Sat) 23:18:51)
  • アイコンこの投稿はマルチポストです。もし元記事の投稿者にマルチポストの心当たりがない場合は、すぐに返信でお知らせください。

    ●マルチポストされている場所
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=93935

    ----------
    この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのルールについて」をお読みください。

    ●書き込みのルールについて
    https://dobon.net/vb/bbs/index.html
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-2]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■34425 / 親記事)  List型でエラーが起きてしまい・・・
□投稿者/ ken 一般人(1回)-(2020/01/19(Sun) 22:37:41)
  • アイコン環境/言語:[c#] 
    分類:[.NET] 

    はじめまして、最近visual studioを触り始めたんですがlist型でエラーが出たので掲示板に書かせてもらいました。

    Console.WriteLine(weights[i]);の部分のweights[i]でエラーが出てしまい、角かっこ[]付きインデックスを‘List<float>’型の式に適用することができませんとなってしまいます。

    参考書通りにはなってるのでエラーの理由がどうしてもわかりません。

    static void Main(string[] rags)
    {
    List<float> weights = new List<float>();

    weights.Add(41.2f);
    weights.Add(42.5f);
    weights.Add(44.9f);
    weights.Add(43.2f);

    for (int i = 0; i < weights.Count; i++)
    {
    Console.WriteLine(weights[i]);
    }

    ご指導の方よろしくお願いします。

違反を報告
引用返信

▽[全レス1件(ResNo.1-1 表示)]
■34426 / ResNo.1)  Re[1]: List型でエラーが起きてしまい・・・
□投稿者/ 魔界の仮面弁士 大御所(1274回)-(2020/01/20(Mon) 09:09:27)
  • アイコンNo34425に返信(kenさんの記事)
    > Console.WriteLine(weights[i]);の部分のweights[i]でエラーが出てしまい、
    > 角かっこ[]付きインデックスを‘List<float>’型の式に適用することができません
    > となってしまいます。

    同じコードを記載してみましたが、問題無く実行できました。
    https://paiza.io/projects/p7GISkEvGiddUgpQad0ZuA?language=csharp


    あとは可能性として、独自の List<> クラスを誤って自動生成してしまったという
    可能性が考えられます。元のコードの
     List<float> weights = new List<float>();
    という行を
     var weights = new System.Collections.Generic.List<float>();
    に置き換えてみた場合も同様のエラーになるか、確認してみてください。
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-1]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■34418 / 親記事)  フォルダ内の全ての容量を取得したい
□投稿者/ susu 一般人(1回)-(2020/01/01(Wed) 21:26:24)
  • アイコン環境/言語:[C#] 
    分類:[.NET] 

    お世話になります。
    C#でフォルダ内のファイル容量(サブフォルダ含め)を取得したいと思いますが
    DirectoryInfoを使うと遅いのでFileSyatemObjectのGetFolderを使いたく下記の
    ようにしましたが最後の行でHRESULT からの例外:0x800A0046とエラーになります
    何が悪いのでしょうか?よろしくお願いします。

    private long GetFolderSize(string path)
    {
      long size = -1;
    Scripting.FileSystemObject fso = new Scripting.FileSystemObject();
    Scripting.Folder Fd = fso.GetFolder(path);
    return Fd.Size;
    }
違反を報告
引用返信

▽[全レス4件(ResNo.1-4 表示)]
■34419 / ResNo.1)  Re[1]: フォルダ内の全ての容量を取得したい
□投稿者/ jikoryuu 一般人(1回)-(2020/01/03(Fri) 13:20:38)
  • アイコンコードを試してみたところ特にエラーにはなりませんでした
    あと思い当たることはファイル容量がlongを超えている可能性があります
    double型にすれば問題を回避することができるはずです

    private double GetFolderSize(string path)
    {
    Scripting.FileSystemObject fso = new Scripting.FileSystemObject();
    Scripting.Folder Fd = fso.GetFolder(path);
    return Fd.Size;
    }
違反を報告
引用返信
■34420 / ResNo.2)  Re[2]: フォルダ内の全ての容量を取得したい
□投稿者/ Azulean 大御所(513回)-(2020/01/03(Fri) 17:28:13)
  • アイコンNo34418に返信(susuさんの記事)
    > 最後の行でHRESULT からの例外:0x800A0046とエラーになります
    > 何が悪いのでしょうか?

    0x800A0046 で検索すると "Scripting" を使った事例で "0x800A0046 (CTL_E_PERMISSIONDENIED)**" と書かれていますし、「配下にアクセス許可がないフォルダーがある」ということではないですか?
    もしくは、My Documents などの特殊なディレクトリがあるなど。

    こういった理由がある場合、Scripting.Folder の Size プロパティではやりたいことができないということになります。
    アクセス許可がない、あるいは特殊なフォルダーを飛ばして計算するようなコードを別途作っていただくことになりそうです。


    No34419に返信(jikoryuuさんの記事)
    > コードを試してみたところ特にエラーにはなりませんでした
    > あと思い当たることはファイル容量がlongを超えている可能性があります

    ちなみに、 C# の long 型は 64bit ですので、「long を超える」ということは「2 の 63 乗を超える、つまり 8PB(=8,192TB) を超える」ということになります。
違反を報告
引用返信
■34421 / ResNo.3)  Re[3]: フォルダ内の全ての容量を取得したい
□投稿者/ susu 一般人(2回)-(2020/01/04(Sat) 13:47:46)
  • アイコンjikoryuuさんAzuleanさんありがとうございます。
    「path」に「My Documents」を指定していました。別のフォルダでは問題なく
    容量を取得できました。特殊フォルダー等は加味しないことにしました。また
    念のためlong型をdouble型に変更しようと思います。
    ありがとうございました。
解決み!
違反を報告
引用返信
■34424 / ResNo.4)  Re[4]: フォルダ内の全ての容量を取得したい
□投稿者/ 魔界の仮面弁士 大御所(1273回)-(2020/01/06(Mon) 12:31:56)
  • アイコン
    No34418に返信(susuさんの記事)
    > C#でフォルダ内のファイル容量(サブフォルダ含め)を取得したいと思いますが
    
    Size プロパティで返される値は、必ずしも実際のディスク使用量とは
    一致していない点に御注意ください。
    (単にファイルサイズの論理合計を返しているのだと思います)
    https://www.haruru29.net/blog/storage-allocation-unit-size/
    
    
    
    ■No34421に返信(susuさんの記事)
    >>> long size = -1;
    > 念のためlong型をdouble型に変更しようと思います。
    
    FileSystemObject ライブラリにおいては、
    Folder オブジェクトの Size プロパティが、
    2 GiB を境に戻り値のデータ型が変わるようです。
    
    2147483647 以下の場合、int 型(C#) / Long 型(VBA)の値を返し、
    2147483648 以上の場合、double 型(C#) / Double 型(VBA) の値を返しました。
    
    
    
    参考までに、整数値を誤差無く保持するために使用できる
    C# の数値型と、それぞれの上限値を記しておきます。
    
    1:decimal 型なら『(2 の 96乗) - 1』バイトまで (約 65536 YiB )
    2:  ulong 型なら『(2 の 64乗) - 1』バイトまで(約 16 EiB)
    3:   long 型なら『(2 の 63乗) - 1』バイトまで(約 8 EiB)
    4: double 型なら『(2 の 53乗) - 1』バイトまで(約 8 PiB)
    5:   uint 型なら『(2 の 32乗) - 1』バイトまで(約 4 GiB)
    6:    int 型なら『(2 の 31乗) - 1』バイトまで(約 2 GiB)
    7:  float 型なら『(2 の 24乗) - 1』バイトまで(約 16 MiB)
    
    ----
    1:decimal 型[128bit] → 79,228,162,514,264,337,593,543,950,335
    2:  ulong 型 [64bit] → 18,446,744,073,709,551,615
    3:   long 型 [64bit] → 9,223,372,036,854,775,807
    4: double 型 [64bit] → 9,007,199,254,740,991
    5:   uint 型 [32bit] → 4,294,967,295
    6:    int 型 [32bit] → 2,147,483,647
    7:  float 型 [32bit] → 16,777,216

解決み!
421×580 => 181×250
イメージ
02.png
/14KB
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-4]



■記事リスト / ▲上のスレッド
■34415 / 親記事)  WebClientが上手く動かない
□投稿者/ minarai_database 一般人(7回)-(2019/12/08(Sun) 16:56:00)
  • アイコン環境/言語:[VisualStudio2017 VB、C#] 
    分類:[.NET] 

    いつもお世話になっております。
    
    下記のコードで、HPのHtmlデータを取得しようとしましたが、WebClientで上手く取得することが出来ません。何故だか?わかる人いますか?
    
    Imports System.Net
    Public Class Form1
        Dim MyPage1 As String = "https://jp.kabumap.com/servlets/kabumap/Action?SRC=marketList/base"
        Dim MyPage2 As String = "https://jp.kabumap.com/servlets/kabumap/Action?SRC=marketList/base&page=2&sector=all&dg=fc83b64775cd1d2497a215b4d20946381ef5781226df837805aed5f0ce6cfd93"
        Dim MyWebClient As New WebClient
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim HtmlData1 As String = MyWebClient.DownloadString(MyPage1)
            Dim HtmlData2 As String = MyWebClient.DownloadString(MyPage2)
        End Sub
    End Class
    
    Dim宣言の"https://〜" の部分をCtrlキーを押しながらマウスクリックするとHPが開けるのでアドレスは間違っていません。
    
    HtmlData1には、正しい、HtmlDataが取得できますが、HtmlData2には、取得するHtmlDataを見ると、<title>株マップ.com エラーが発生しました</title>となって受け付けていないことが判ります。
    
    原因が分かる人いますか?
    

違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■34416 / ResNo.1)  Re[1]: WebClientが上手く動かない
□投稿者/ 魔界の仮面弁士 大御所(1270回)-(2019/12/08(Sun) 22:38:59)
  • アイコンNo34415に返信(minarai_databaseさんの記事)
    > HtmlData1には、正しい、HtmlDataが取得できますが、
    この元サイト、SSL 使っておきながら mixed content になってるし、
    あえて XHTML Basic が指定されているのに、整形式なだけで
    全然 Valid になっていないですね…。
    中途半端に対応させるぐらいなら、普通に HTML 4.01 か HTML5 で
    実装すれば良いのに、と思ってしまいましたが、それはさておき。


    > HtmlData2には、取得するHtmlDataを見ると、<title>株マップ.com エラーが発生しました</title>となって受け付けていないことが判ります。
    Mixed contents である以上、リファラーが原因では無いと思うので、
    たぶん、セッション Cookie を処理していないからではないですかね?
    VB で実験はしていませんが、サーバーのレスポンスを覗いてみると、
    Set-Cookie ヘッダーが返却されているようですし。
    http://neue.cc/2009/12/17_230.html


    試しに Cookie や遷移情報が無い状態でブラウジングするため、
    開いているブラウザをすべて閉じてから起動しなおしたうえで、
    Chrome なら Ctrl+Shift+N、 IE/Edge なら Ctrl+Shift+P を押して
    シークレットモード/InPriavateブラウズモードにしてから
    MyPage2 の URL を開いてみてください。
    VB の場合と同様のエラーを再現できませんか?
違反を報告
引用返信
■34417 / ResNo.2)  Re[2]: WebClientが上手く動かない
□投稿者/ minarai_database 一般人(8回)-(2019/12/09(Mon) 09:04:32)
  • アイコン魔界の仮面弁士様 
    お返事有難う御座います。

    検討すべき問題点が、明確になり大変助かりました。
    >それはさておき。の下りは、私には全く判別できませんでした。

    教えて頂いたことを、ベースに再検討してみたいとおもいます。
    有難うございました。
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-2]






Mode/  Pass/


- Child Tree -

2020/12/02(Wed) 14:46:08 に作成されたキャッシュを表示しています。
生のデータを表示する | キャッシュを最新にする