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

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

記事リスト ( )内の数字はレス数
NomalExcel Com オブジェクトの増殖(13) | NomalRichTextBoxのテキストをpictureBOXへ(12) | Nomalリソースデザイナの開き方(11) | NomalPictureBoxの画像を連続保存(11) | NomalGetObjectでExcelファイルを加工するとExcelファイルが壊れる(9) | NomalVB.NetでVB6.0と同じFontを指定しても同様に印刷されない(9) | Nomal作成した白黒画像をWordに貼り付けてから「図として保存」(8) | Nomal重なったPictureBox同士を透過する方法(7) | Nomalvb.netでExcelファイル操作(7) | NomalTreeViewの現在位置とDataGridViewの現在位置を合わせたい(7) | Nomalラジオボタンの一括設定(7) | NomalDataAdapter.Updateで構文エラー(6) | Nomalキーボード+バーコードでキーボード入力を無効にしたい(6) | Nomaljumbo icon(256x256)が存在するか知る方法(6) | Nomal画像のスクロール(6) | Nomalタイマーの一括処理(6) | Nomal先頭に空白(スペース)があるファイルを読み込んでRichTextBoxへ書き出すとスペースが削除える(6) | NomalタッチキーボードでIMEを自動で切替えたい(6) | Nomalwebformでの制御(5) | Nomalftp接続してファイルアップロード後、別フォルダにコピー(5) | Nomalシステムドライブ以外へのページング設定が反映されない(5) | Nomal全角シフト中にアクセスキーが効かない(5) | NomalVB.NETからcmdでpingを実行した時の結果(5) | NomalTabPageの背景色(5) | Nomalstyle.displayだと効率悪いから違うやり方をしたいです。(5) | Nomalグリッド表示レコードをJSONに変換(5) | NomalSeleniumで開いているページのTableを編集したい(5) | NomalDataGridViewの特定セルにボタンを配置する方法(5) | Nomalロジックの実現お願い(4) | NomalAppActiveが正常に機能しない。(4) | Nomalブラウザでコピーした透過PNGを貼り付けたい(4) | NomalWebView2によるスクレ―ピング(4) | NomalC#でJpeg圧縮のTiffファイルを作成したい(4) | NomalDataGridViewのVirtualModeを有効した場合の実装方法(4) | Nomalテーブルを順番通りに直すプログラムを外部で読み込めるようにしたいです。(4) | Nomalソケット通信入門 ひらがな(4) | Nomal時間変数(文字列)の扱い(4) | NomalTreeViewとDataGridViewのスクロールを同期(シンクロ)させたい(4) | Nomalフォームのリサイズ時にDataGridViewが再描画されない(4) | NomalPDFをフォーム上で表示させる方法につきまして(4) | NomalアプリでHDMIへ出す解像度を変えたい(4) | Nomal画像の中心を基点に回転(4) | NomalDataGridViewの行ヘッダーに行番号を表示した時のエラー(4) | NomalC言語系で使用される書式をVBで使いたい(3) | Nomal抽象クラスで実装したクラスの情報を知る(3) | Nomal兆億万表記の文字列を数値に変換できる?(3) | NomalGetDirectoriesでルートを指定するとエラーになる(3) | NomalLinqにおける明示的型指定の方法(3) | Nomalデータベースからのテーブル名一覧の効率的な取得方法(3) | NomalC# Chart X軸上のグラフ表示(3) | NomalVB.NETでBluetoothデバイスの電池残量を取得する方法(3) | NomalWindowsフォームデザイナについて(3) | NomalDrawstringでの透過文字作成(3) | Nomalワンタイムパスワードのサイトに自動ログインしてアクセストークンを得る(3) | NomalJSONの複雑な入れ子内部の値を取りたい。(3) | Nomalシステム時計の設定(3) | NomalVisual Basicでエラーが出る(3) | Nomal継承元フォームで各フォームのボタン動作を検知したい(3) | Nomal.NET 4.5.2のVB.NETでのデスクトップ環境開発(2) | Nomaltextboxでmultilineでの改行削除について(2) | NomalDataGridViewのイベント中にデータを更新するとエラーが発生(2) | Nomalフォントに登録されていない文字の検出(2) | NomalDataGridViewの複数行選択で歯抜け選択を無効にしたい(2) | Nomalforeachでループ回数を取得(2) | Nomalbitmapが保存できない(2) | Nomal特定ピクセルで画像を読み込みたい(2) | NomalDataGridViewでAlt+Enterで改行したい(2) | NomalProcessクラスからbatファイル実行後、KILLできない(2) | Nomal画面遷移(モーダルとモードレス)(2) | Nomal2つのradの数値から1つの角度を求めるコードを改善できますか?(C++)(2) | Nomalコンソールアプリで、WebView2の利用(2) | NomalEntity Frameworkは、使えるか?(2) | NomalC#のlong型でオーバーフローになる(2) | Nomal正規表現のパターン表記方法(2) | Nomalこういた物を作れますか?(2) | Nomalvb.netでのExcelファイルそうさ(2) | Nomalファイルとして配置したマニフェストを優先したい(2) | NomalVB2022でクリスタルレポートが開けない(2) | Nomalエクセルのみ監視ができない(2) | NomalExcelの数値 -> 日付みたいな関数?(2) | NomalSpinWait()を使う理由(2) | Nomalantecedentってなんですか?(2) | NomalRGB値の所得(2) | NomalVB.net からAccessDBへの接続(2) | NomalテキストボックスのValidatingイベントよりも先に発生するボタン発生イベントは何でしょう?(2) | NomalWindowsエクスプローラからのドラッグ&ドロップ(2) | Nomalクリックイベントでexeを作成できるか(2) | Nomalc#で日付型の定義の仕方で質問があります。(2) | Nomal列車の時間ごとの位置情報を表示したいです。(2) | Nomaloledbでdatatableを取得するときにエラーになる(1) | Nomal証券会社へのログイン(1) | Nomalツールボックスにtableadapterが表示されない(1) | Nomalアセンブリ情報が載らない(1) | Nomal二次元マップから値の取得(1) | NomalDataGridViewのドロップダウンリストの表示と選択後の値を分けたい(1) | NomalVSTOによるエクセルアドインのインストーラーでのアップデート(1) | Nomalユーザーフォームに埋め込んだAutoCADの変化を捉える(0) | Nomalクリスタルレポート 明細部のサブレポート(0) | Nomalインストーラにて、ローミングフォルダにファイルを配置したい(0) |



■記事リスト / ▼下のスレッド
■35430 / 親記事)  SpinWait()を使う理由
□投稿者/ Wan 付き人(79回)-(2023/05/31(Wed) 10:26:19)
  • アイコン環境/言語:[VisualBasic2019 Windows10 Basic Framework4.7.2] 
    分類:[.NET] 

    MicroSoftの解説に、次のようなコードが記載されています。
    
    https://learn.microsoft.com/ja-jp/dotnet/standard/parallel-programming/how-to-cancel-a-task-and-its-children
    
    この中に、次のように、SpinWait()を使っている部分があります。
    
    For i As Integer = 0 To maxIterations
      Dim sw As New SpinWait()
        For j As Integer = 0 To 100
          sw.SpinOnce()
        Next
      (・・・省略・・・)
    Next
    
    多分?少し時間稼ぎしているだけのように思えますが、ワザワザSpinWait()を使う理由ってありますか?Thread.Sleep()でもいいような?気がします。
    
    詳しい方、教えて頂けませんか?
    

違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35431 / ResNo.1)  Re[1]: SpinWait()を使う理由
□投稿者/ Hongliang 大御所(641回)-(2023/05/31(Wed) 13:29:17)
  • アイコン' Do a bit of work. Not too much.
    とコメントにあるように、少しだけの仕事を表すダミーコードです。
    Sleep系の場合スレッドコンテキストの切り替えとかが起こるので、実際のアプリで書く「意味のあるコード」に対するサンプルコードとしての完全な代替にはなりません(完全な代替は必要ないというケースがほとんどですけども)。
違反を報告
引用返信
■35432 / ResNo.2)  Re[2]: SpinWait()を使う理由
□投稿者/ Wan 付き人(80回)-(2023/06/02(Fri) 17:36:13)
  • アイコン「スレッドコンテキストの切り替えとかが起こる」という部分など、私の理解できる
    を超えていますが、意味があって使われていることが判りました。

    ありがとうございました。

解決み!
違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35426 / 親記事)  antecedentってなんですか?
□投稿者/ Wan 付き人(77回)-(2023/05/22(Mon) 08:37:08)
  • アイコン環境/言語:[VisualBasic2019 Windows10 Basic Framework4.7.2] 
    分類:[.NET] 

    MicroSoftの解説に、次のようなものがあります。
    「継続タスクを使用したタスクの連結」
    https://learn.microsoft.com/ja-jp/dotnet/standard/parallel-programming/chaining-tasks-by-using-continuation-tasks
    この中に、次のようなコードの記載があり、taskA.ContinueWith(Sub(antecedent)の部分で、ラムダ式にantecedentという引数が渡されています。
    しかし、Main()の中に、antecedentという変数は宣言されていません。
    どこから?発生したのでしょうか?
    Imports System.Threading.Tasks
    Module Example
    Public Sub Main()
          Dim taskA As Task(Of DayOfWeek) = Task.Run(Function() DateTime.Today.DayOfWeek)
          Dim continuation As Task = taskA.ContinueWith(Sub(antecedent)
                                                              Console.WriteLine("Today is {0}.", antecedent.Result)
                                                          End Sub)
          continuation.Wait()
        End Sub
    End Module
    VisalStudioにコピペして、「antecedent」の部分にカーソルを当てると、antecedent As Task(Of DayOfWeek)となっており、
    taskAを指しているようです。
    メソッドチェンの親を指すのでしょうか?
    
    詳しい方、宜しくお願い致します。
    

違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35427 / ResNo.1)  Re[1]: antecedentってなんですか?
□投稿者/ Hongliang 大御所(640回)-(2023/05/22(Mon) 09:50:42)
  • アイコン
    そこはいわばメソッドの引数部分なので、変数が先行していないのは当然です。
    ラムダ式ではなく、メソッドとして独立させたら分かりやすいと思います。
    ラムダ式だとtaskAをキャプチャすればいいじゃん、となって、
    ContinueWithの引数として与えられる意味がよく分からなくなるでしょうしね。
    
    Sub Main()
        Dim taskA As Task(Of DayOfWeek) = Task.Run(Function() DateTime.Today.DayOfWeek)
        Dim continuation As Task = taskA.ContinueWith(AddressOf NextAction)
        continuation.Wait()
    End Sub
    
    Sub NextAction(ByVal antecedent As Task(Of DayOfWeek))
        Console.WriteLine("Today is {0}.", antecedent.Result)
    End Sub

違反を報告
引用返信
■35428 / ResNo.2)  Re[2]: antecedentってなんですか?
□投稿者/ Wan 付き人(78回)-(2023/05/23(Tue) 08:31:05)
  • アイコンHongliang様
    御指南ありがとうございます。
    デリゲートの理解不足が原因だと分かりました。
    今一度、勉強し直します。
    大変助かっております。ありがとうございます。
解決み!
違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35376 / 親記事)  RGB値の所得
□投稿者/ ま〜 付き人(60回)-(2023/02/10(Fri) 16:06:29)
  • アイコン環境/言語:[Vs2022 VB] 
    分類:[.NET] 

    また、ハマってます。

    画像のRGB値を取りたい思っています

    下記のコードで特定の画像でエラーとなります
    エラーにならない画像もあります
    また、何か間違ってますでしょうか?

    PictureBox1.Size = New System.Drawing.Size(320, 160)
    PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

    Dim X, Y As Integer
    Dim Picture00 As Bitmap
    Dim RGB As Long

    Picture00 = CType(PictureBox1.Image, Bitmap)

    For Y = 0 To PictureBox1.Height - 1
    For X = 0 To PictureBox1.Width - 1
    RGB = Picture00.GetPixel(X, Y).ToArgb()

    ’下記はエラー内容 この時のXの値は307です
    System.ArgumentOutOfRangeException
    HResult=0x80131502
    Message=パラメーターは正の値で、幅より小さい値を指定しなければなりません。
    パラメーター名:x
    Source=System.Drawing
    スタック トレース:
    at System.Drawing.Bitmap.GetPixel(Int32 x, Int32 y)

    以上、よろしくお願いします
違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35377 / ResNo.1)  Re[1]: RGB値の所得
□投稿者/ Hongliang 大御所(637回)-(2023/02/10(Fri) 16:45:57)
  • アイコン多分、Picture00.Widthが307になっていると思います。
    > PictureBox1.Size = New System.Drawing.Size(320, 160)
    > PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
    これはPictureBox1が表示する際に画像を引き延ばしているだけで、実際のBitmapオブジェクトの縦横が変わるわけではありません。

    Bitmapオブジェクト自体の縦横を変更したいなら、簡単には
    Dim 新ビットマップ = New Bitmap(元ビットマップ, 変更後のサイズ)
    みたいに書くことができます。
    // ちゃんと補間するとなるとGraphicsオブジェクトを使う必要が出てきますが。
違反を報告
引用返信
■35378 / ResNo.2)  Re[2]: RGB値の所得
□投稿者/ ま〜 付き人(61回)-(2023/02/13(Mon) 15:20:25)
  • アイコンNewの使い方が曖昧だったのですが
    使い方ようやく分かりました

    ありがとうございます

解決み!
違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35372 / 親記事)  VB.net からAccessDBへの接続
□投稿者/ うっきー 一般人(4回)-(2023/02/09(Thu) 17:55:29)
  • アイコン環境/言語:[VB.NET, Windows10,accdb] 
    分類:[.NET] 

    お世話になっております。

    VB.NETのアプリからAccessのDBにアクセスする場合
    アプリを使用するパソコンに、
    Accessランタイムをインストールしないでも
    接続できるような方法はありますでしょうか?


    現在使用しているVB.NETのアプリは
    Microsoft.ACE.OLEDB.16.0 を使用してAccessのDBにアクセスしており
    このアプリを使用するパソコンは、
    Accessランタイムのインストールが必要と聞いています。

    これを、アプリ側の設定変更かプログラムの変更(あるいはその両方)で
    Accessのインストール作業を不要にしたいです。


    例えば、Oracleとかだと、アプリ側にDLLがあれば
    各端末では設定不要だと思うので・・・

    初歩的な質問で申し訳ありませんが、どうぞよろしくお願いいたします。


違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35373 / ResNo.1)  Re[1]: VB.net からAccessDBへの接続
□投稿者/ 魔界の仮面弁士 大御所(1535回)-(2023/02/09(Thu) 18:27:39)
  • アイコン2023/02/09(Thu) 19:52:18 編集(投稿者)

    No35372に返信(うっきーさんの記事)
    > Accessランタイムをインストールしないでも
    > 接続できるような方法はありますでしょうか?

    現行 OS (Windows 10/11 など) では、追加インストールが必須です。
    古い OS だとしても、対 .accdb だと、インストール無しには無理ですね。


    対 .mdb なら、Jet 4.0 未満の世代なら、OS によっては
    標準で組み込まれているものがあったりしますが…。

    Jet 3.0/3.5x 世代の .mdb が相手の場合、
    Windows 2000 (32bit) であれば、標準で繋げられます。

    Windows 98/ME 世代の場合は、.mdb への接続は
     ・単体頒布版の JET データベースエンジン インストーラー
     ・JET 同梱世代の MDAC
     ・Access ランタイム(あるいは Office)
    のいずれかが必要です。

    まぁ現実的では無いですね。Windows 98〜2000 世代だと、
    対応する .NET Framework も 2.0 までですし…。


    > 例えば、Oracleとかだと、アプリ側にDLLがあれば
    > 各端末では設定不要だと思うので・・・
    Managed ODP.NET のことですね?

    JET / ACE エンジンについては、レジストリ登録が必須なので、
    いわゆる XCOPY 配置による動作はできません。
違反を報告
引用返信
■35374 / ResNo.2)  Re[2]: VB.net からAccessDBへの接続
□投稿者/ うっきー 一般人(5回)-(2023/02/10(Fri) 09:03:44)
  • アイコン魔界の仮面弁士さん、
    丁寧なご説明ありがとうございます。

    残念ながらインストールは必要とのことですが
    それすらよく分かっていなかったので、とても助かりました!


    本当にありがとうございます。

解決み!
違反を報告
引用返信

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



■記事リスト / ▲上のスレッド
■35314 / 親記事)  テキストボックスのValidatingイベントよりも先に発生するボタン発生イベントは何でしょう?
□投稿者/ saku 一般人(3回)-(2023/01/04(Wed) 13:18:24)
  • アイコン環境/言語:[C#] 
    分類:[.NET] 

    こんにちわ。前回は大変お世話になりました。
    また、一つ質問というか疑問がでてきました。

    フォーム上に、テキストボックスを一つあり、ボタンが一つあります。

    テキストボックスで入力後、ボタンを押すのですが、
    テキストボックスのValidatingイベントよりも先に発生するボタンのイベントって
    あるんでしょうか? (少し試してみたのですが、見つかりませんでした。)

    今作成しているものに必要になるかもしれない(必要ないかもしれない)ので、知識として持っておきたいため、お聞きしました。

    あいまいな質問で申し訳ありません。もし、良ければ教えてください。
    よろしくお願いいたします。

違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35315 / ResNo.1)  Re[1]: テキストボックスのValidatingイベントよりも先に発生するボタン発生イベントは何でしょう?
□投稿者/ Azulean 大御所(536回)-(2023/01/04(Wed) 14:26:41)
  • アイコンNo35314に返信(sakuさんの記事)
    > テキストボックスで入力後、ボタンを押すのですが、
    > テキストボックスのValidatingイベントよりも先に発生するボタンのイベントって
    > あるんでしょうか? (少し試してみたのですが、見つかりませんでした。)


    ないはずです。
    Validating はフォーカスを失うときに発生します。

    1. ボタンを押そうとする
    2. テキストボックスからフォーカスが外れる
    3. Validating/Validated イベント
    4. ボタンがフォーカスを得る
    5. ボタンのクリックイベントが起きる

    こういう流れとなりますので、ボタンクリックしたときだけ Validating の挙動を変えたいみたいなことはできません。


    > 今作成しているものに必要になるかもしれない(必要ないかもしれない)ので、知識として持っておきたいため、お聞きしました。

    必要となるかもしれないのであれば、Validating で検証するという設計・実装を辞めた方が良いと思います。

    Validating は一見、良い考えのように思えるかもしれませんが、「キャンセルするときにもチェックされて手間に感じる」などの弊害もあります。
    このため、OK ボタンなど、適切なタイミングでチェックするように実装することを考えた方が良いでしょう。
違反を報告
引用返信
■35336 / ResNo.2)  Re[2]: テキストボックスのValidatingイベントよりも先に発生するボタン発生イベントは何でしょう?
□投稿者/ saku 一般人(9回)-(2023/01/17(Tue) 13:32:02)
  • アイコンすいません。解決済にするのを失念していました。

    ご返答遅れて申し訳ございません。
    情報ありがとうございました。 管理者の方と仕様変更を含めてお話することにしました。感謝します。

解決み!
違反を報告
引用返信

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






Mode/  Pass/


- Child Tree -