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

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

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

全過去ログを検索

<< 0 >>
■32469  スレッドの親子関係
□投稿者/ いのぶー -(2009/02/06(Fri) 18:28:04)

    分類:[C#] 

    はじめまして、
    VisualStudio 2008 ProのC# 3.0を使って、スレッドの使い方の勉強をしています。

    そこで、気になったのですが、
     メインプログラムから、スレッドAを起動後、そのスレッドAからさらにスレッドBを
    起動しました。

    状態:
    メインプログラム -> スレッドA -> スレッドB

    この場合、スレッドBから、スレッドAの参照を得る方法はないでしょうか?
     スレッドAでスレッドBを作る際に、スレッドA自身の参照を渡す方法ではなく、
    純粋に、親スレッドを取得できるのかどうかが知りたいです。

    MSDNをあたる限りは、分かりませんでした。
    ご存知の方がおられましたら、よろしくお願いいたします。
親記事 /過去ログ57より / 関連記事表示
削除チェック/

■50452  Re[3]: FileUploadした際、ファイルの所有者がおかしい
□投稿者/ ダリオ -(2010/06/07(Mon) 21:08:00)
    ご意見ありがとうございます。
    参考にさせていただきます。
    とりあえず質問を閉じますが不明店がありましたらまた書きますのでそのときはなにとぞよろしくお願いします
記事No.50335 のレス / END /過去ログ85より / 関連記事表示
削除チェック/

■55435  Re[3]: エクセルのVBAにてデータを整理したい
□投稿者/ ごう -(2010/12/02(Thu) 09:00:12)
    No55434 (りぃ さん) に返信

    > 1.に関してVBAでハイフンを取り除くにはどうしたらよいでしょうか?

    ご自分で「文字列を引数として渡し、数字のみを返す」関数を作る必要があると思います。
    関数の作り方はわかりますか?

    > 2.に関してCOUNTIFよりも速度の速い関数はありますか?
    > 3.に関してCOUNTIFを使って1000行は重たくなるでしょうか?

    貴殿の希望の処理時間(1000行を何秒以内で処理したいか?)がわからないのでなんともいえませんが
    まず、試してみて遅すぎるor問題ないを判断してみてはいかがでしょうか。
記事No.55360 のレス /過去ログ93より / 関連記事表示
削除チェック/

■62256  Re[2]: Management studio で データが挿入できない
□投稿者/ taz -(2011/09/29(Thu) 19:14:08)
    2011/09/29(Thu) 19:14:22 編集(投稿者)

    No62238 (COCOE さん) に返信
    >>このテーブルに、データを挿入したいのですが、左のオブジェクトエクスプローラ上の、dbo.Table_1上で、
    >>右クリックしたときに、テーブルを開くなどの項目が表示されないため、データを挿入できません。
    >
    > 右クリックメニューの「上位200行の編集」で可能かと。

    ありがとうございます。解決しました。
記事No.62214 のレス / END /過去ログ104より / 関連記事表示
削除チェック/

■91248  Re[5]: WebからpdfファイルをDLし、PCに保存がしたいです。
□投稿者/ 774RR -(2019/06/08(Sat) 07:13:21)
    各種脆弱性が発見された関係で SSL3 や TLS1.0 は、普通にセキュリティ更新されている windows10 では
    無効化されています。ここでいう無効化の意味は、プログラム上 SSL3 が有効になっていても
    windows 内部でこの指定を無視する、です。

    SSL3 / TLS1.0 は一時期騒がれた「ケータイ XP で見えなくなるページが出ます」でほぼ廃止済み状態。
    TLS1.1 は今のところまだ有効ですが、そのうち無効化される予定。今もまだ使っているサイトがあります。
    TLS1.2 は IE/Edge/Chrome 等でサポート済み、今日この時点での安全な標準プロトコルとされています。
    TLS1.3 のサポートはまだ不完全 (IE/Edge が未対応)
    https://www.itmedia.co.jp/enterprise/articles/1810/16/news077.html

    あなたのシステムが Win10 で動かない理由は
    - 取引先サイトが古いプロトコルしかサポートしていない
    - Win10 が古いプロトコルを使わない設定だから
    です。
    windows10 のコントロールパネル→インターネットオプション→詳細設定の下のほう「セキュリティ」で
    どのプロトコルレベルが有効になっているか確認。

    その「取引先」がイントラネットであるならこれらの古いプロトコルを有効にしても良いんだけど
    いわゆる「インターネット」であるなら SSL3 や TLS1.0 は無効にしておかないと、
    あなたのマシンでほかのサイトを見に行く際の危険が危ないです。
    (今日の時点では SSL3 は絶対に無効になっているはず。 TLS1.0 は有効であるかもしれない)

    WinXP は逆に SSL3 や TLS1.0 にのみ対応であって TLS1.1 や TLS1.2 には非対応であり、なおかつ
    ルート証明書の更新がなされていないので、
    - セキュリティに問題のあるサイトには繋がる(そこからいろいろ感染する可能性がある)
    - 今どきの安全な https サイト (TLS1.2) には繋がらない
    - TLS1.0 であっても新しいルート証明書が必要なサイトには繋がらない
    ので、まともに「インターネット」につなげることはできないと考えてください。

    なので、あなた(サイトユーザー)のほうでできることはほとんどなくて
    - 取引先サーバのほうで SSL1.2 以後を有効化 SSL3 TLS1.0 を無効化してもらう
    - すると WinXP では繋がらなくなる
    - 逆に Win10 では繋がるようになる
    わけです。
    取引先の管理者の考えが [XP ユーザーを切り捨てられない] であって故意に SSL3 等を有効にしたままなのかも
    しれませんが、それは現代的セキュリティの確保を放棄していることになり、あまりよろしくないですね。
記事No.91238 のレス /過去ログ157より / 関連記事表示
削除チェック/

■91250  Re[6]: WebからpdfファイルをDLし、PCに保存がしたいです。
□投稿者/ おぐおぐ -(2019/06/08(Sat) 14:10:30)
    No91248 (774RR さん) に返信
    > 各種脆弱性が発見された関係で SSL3 や TLS1.0 は、普通にセキュリティ更新されている windows10 では
    > 無効化されています。ここでいう無効化の意味は、プログラム上 SSL3 が有効になっていても
    > windows 内部でこの指定を無視する、です。
    >
    > SSL3 / TLS1.0 は一時期騒がれた「ケータイ XP で見えなくなるページが出ます」でほぼ廃止済み状態。
    > TLS1.1 は今のところまだ有効ですが、そのうち無効化される予定。今もまだ使っているサイトがあります。
    > TLS1.2 は IE/Edge/Chrome 等でサポート済み、今日この時点での安全な標準プロトコルとされています。
    > TLS1.3 のサポートはまだ不完全 (IE/Edge が未対応)
    > https://www.itmedia.co.jp/enterprise/articles/1810/16/news077.html
    >
    > あなたのシステムが Win10 で動かない理由は
    > - 取引先サイトが古いプロトコルしかサポートしていない
    > - Win10 が古いプロトコルを使わない設定だから
    > です。
    > windows10 のコントロールパネル→インターネットオプション→詳細設定の下のほう「セキュリティ」で
    > どのプロトコルレベルが有効になっているか確認。

    774RR様

    ご返信ありがとうございます。また分かり易い解説で色々得心しました。
    それと同時に、あまり時間的余裕が無い事も分かりました。

    プロトコルレベルを確認しましたところ

    Win10
    TLS 1.0
    TLS 1.1
    TLS 1.2

    Win7
    TLS 1.0
    TLS 1.1
    TLS 1.2

    Windows XP
    SSL 3.0
    TLS 1.0

    が有効にチェックが入っています。

    > その「取引先」がイントラネットであるならこれらの古いプロトコルを有効にしても良いんだけど
    > いわゆる「インターネット」であるなら SSL3 や TLS1.0 は無効にしておかないと、
    > あなたのマシンでほかのサイトを見に行く際の危険が危ないです。
    > (今日の時点では SSL3 は絶対に無効になっているはず。 TLS1.0 は有効であるかもしれない)

    ご推察の通りでした。なお、取引先とはインターネットで接続されています。

    > WinXP は逆に SSL3 や TLS1.0 にのみ対応であって TLS1.1 や TLS1.2 には非対応であり、なおかつ
    > ルート証明書の更新がなされていないので、
    > - セキュリティに問題のあるサイトには繋がる(そこからいろいろ感染する可能性がある)
    > - 今どきの安全な https サイト (TLS1.2) には繋がらない
    > - TLS1.0 であっても新しいルート証明書が必要なサイトには繋がらない
    > ので、まともに「インターネット」につなげることはできないと考えてください。
    >
    > なので、あなた(サイトユーザー)のほうでできることはほとんどなくて
    > - 取引先サーバのほうで SSL1.2 以後を有効化 SSL3 TLS1.0 を無効化してもらう
    > - すると WinXP では繋がらなくなる
    > - 逆に Win10 では繋がるようになる
    > わけです。
    > 取引先の管理者の考えが [XP ユーザーを切り捨てられない] であって故意に SSL3 等を有効にしたままなのかも
    > しれませんが、それは現代的セキュリティの確保を放棄していることになり、あまりよろしくないですね。

    なるほど・・・近い将来、XPでダウンロード出来なくなった際には大騒ぎせずに済みそうです。


    あと申し訳ありません。環境説明の補足をさせて頂きます。

    当社と取引先とは端末直接格納型証明書というものを使用して、クライアント認証を行っています。
    セキュリティ確保としては一定の保証があると思います。

    また取引先URLもhttpsサイトです。

    それのおかげなのでしょうか?WinXPを使用してTLS1.0でも https サイトを操作できています。

    さて、先ほどWin10のブラウザを開き、プロトコルレベルをSSL3.0〜TLS1.2を1つずつ有効にして取引先と接続して
    みました。

    SSL3.0のみ:このページを表示できません
    TLS1.0のみ:接続OK、pdfファイルダウンロード可。
    TLS1.1のみ:接続OK、pdfファイルダウンロード可。
    TLS1.2のみ:接続OK、pdfファイルダウンロード可。

    という結果となりました。

    このため、取引サイトが古いプロトコルしかサポートしてない様子はなさそうですが・・・

    そうなると、なおさら開発中のシステムに

    Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls or ・・・

    を入れてもエラーが改善しないのは何故?となってしまいます。


    Win10、7、XP共にIE経由でなら問題なく動作するし、pdfファイルのダウンロードもできている。
    IEキャッシュにもファイルが一時保存されているので、何かしら方法がある筈とは思っています。


    本当ならプロトコルレベルで改善できるのがベストなのですが、次の手段として、IEキャッシュから直接取り
    出そうとしてみたのが直近です。ところが

    Dim SystemPath As String = System.Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)

    でパスを取得できるのに、その中身までは確認出来ないとしたら、何のために用意されている関数なんだろうと
    思っています。

    それでもシステムファイルを覗きこむ事には無理があるのでしょうか?
記事No.91238 のレス /過去ログ157より / 関連記事表示
削除チェック/

■94932  Re[3]: 二段階でのソートをするには
□投稿者/ ぶなっぷ -(2020/06/04(Thu) 14:25:02)
    ソートには安定性という概念があります。
      https://ufcpp.net/study/algorithm/sort.html
    安定なソートであれば、同じ値をもったレコード同士の順序が元のまま保たれます。
    
    それを利用して、2回ソートを行えばいいわけです。
    > 先ずある条件にてのソートをし、その結果に基づきそれを優先しての、
    > 次の条件にてのソートをするにはどうのようにすれば良いのでしょうか?
    ある条件にてのソートを行い、次の条件にてのソートを行います。
    それだけで、うまくいくはずです。
    OrderBy, ThenBy, ... とかがそのコーディング例の一つになります。
    
    ただし、安定なソートの欠点として、ソート速度が遅いというのがあります。
    クイックソートなどの高速ソートアルゴリズムを使って、同じことを行うにはどう
    したらよいか?
    答えはソートキーを複数フィールドの混合にしてしまうことです。
    
    (例) 以下のようなレコードをソートすることを考えます
    学年 クラス 名前
     3    4     佐藤
     2    1     鈴木
     6    3     田中
     1    5     鈴木
     2    1     田中
     4    2     佐藤
    
    クラスは5組までしかないものとします。
    そしたら、ソートキーを例えば、
      ソートキー = 学年 * 10 + クラス
    として、ソートをかけます。
    
    LINQを使うなら、以下のような感じ。
      Array.Sort(ary,
        (x, y) => (x.学年 * 10 + x.クラス).CpmpareTo(y.学年 * 10 + y.クラス));
    
記事No.94923 のレス /過去ログ164より / 関連記事表示
削除チェック/

■94933  Re[4]: 二段階でのソートをするには
□投稿者/ ぶなっぷ -(2020/06/04(Thu) 14:28:34)
    ソート結果は以下のようになります。
    
    学年 クラス 名前
     1    5     鈴木
     2    1     鈴木
     2    1     田中
     3    4     佐藤
     4    2     佐藤
     6    3     田中
    
    安定じゃないソート(クイックソートなど)では、2年1組の鈴木さんと
    田中さんの順序は不定です。
    
記事No.94923 のレス /過去ログ164より / 関連記事表示
削除チェック/

■98686  仮想ディスプレイの座標を取得する方法
□投稿者/ 餃子 -(2021/12/17(Fri) 19:17:51)

    分類:[.NET 全般] 

    VB.NET2015を使用しております。


    マルチモニターで且つスケーリングがディスプレイ毎に異なる環境で
    フォームのスクリーンショットを取得するために
    フォームのある位置を取得したいと考えています。


    仮想ディスプレイと呼ばれるものなので、

    https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/1bfd425f-b153-4079-bb51-8d525dc2937b/35079259681239812514124911247912487124511247312503125241245212?forum=vcgeneralja
    http://www.vbaccelerator.com/home/vb/tips/Working_with_Multiple_Monitors/article.html


    これらのページにあるように、
    EnumDisplayMonitorsを使えば良いのではないかと思います。



    <DllImport("user32.dll")>
    Private Shared Function EnumDisplayMonitors(ByVal hdc As IntPtr, ByVal lprcClip As IntPtr, ByVal lpfnEnum As EnumMonitorsDelegate, ByVal dwData As IntPtr) As Boolean
    End Function

    <StructLayout(LayoutKind.Sequential)>
    Public Structure Rect
    Private Left As Integer, Top As Integer, Right As Integer, Bottom As Integer
    End Structure

    Delegate Function EnumMonitorsDelegate(hMonitor As IntPtr, hdcMonitor As IntPtr, ByRef lprcMonitor As Rect, dwData As IntPtr) As Boolean


    Sub main()

    EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, AddressOf EnumMonitorsDelegate, IntPtr.Zero)

    End Sub

    こんな感じでコードを書いてみたのですが、


    エラー BC30577 'AddressOf' オペランドはメソッドの名前でなければなりません。かっこは不要です。
    というエラーが出てしまいます、


    どのようにすれば、エラーが出なくなりますか?




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



<< 0 >>

パスワード/

- Child Tree -