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

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

記事リスト ( )内の数字はレス数
NomalExcel Com オブジェクトの増殖(13) | NomalRichTextBoxのテキストをpictureBOXへ(12) | NomalPictureBoxの画像を連続保存(11) | NomalVB.NetでVB6.0と同じFontを指定しても同様に印刷されない(9) | Nomal作成した白黒画像をWordに貼り付けてから「図として保存」(8) | Nomal重なったPictureBox同士を透過する方法(7) | Nomalvb.netでExcelファイル操作(7) | NomalTreeViewの現在位置とDataGridViewの現在位置を合わせたい(7) | Nomalラジオボタンの一括設定(7) | NomalLabelで文字単位の背景色(7) | NomalTEXTBOXのプロパティを文字列に(7) | NomalDataAdapter.Updateで構文エラー(6) | Nomalキーボード+バーコードでキーボード入力を無効にしたい(6) | Nomaljumbo icon(256x256)が存在するか知る方法(6) | Nomal画像のスクロール(6) | Nomalタイマーの一括処理(6) | Nomal先頭に空白(スペース)があるファイルを読み込んでRichTextBoxへ書き出すとスペースが削除える(6) | NomalタッチキーボードでIMEを自動で切替えたい(6) | NomalPDFをフォーム上で表示させる方法につきまして(6) | Nomal特定のPCだけ発生する「パディングは無効なので削除できません」のエラーの原因(6) | Nomal全角シフト中にアクセスキーが効かない(5) | NomalVB.NETからcmdでpingを実行した時の結果(5) | NomalTabPageの背景色(5) | Nomalstyle.displayだと効率悪いから違うやり方をしたいです。(5) | Nomalグリッド表示レコードをJSONに変換(5) | NomalSeleniumで開いているページのTableを編集したい(5) | NomalMP4動画を再生する方法について(5) | NomalLableのカラー色を文字変数から変更したい(5) | NomalDatagridViewでファンクションキーを止めたい(5) | Nomalフォーム背景のみを半透明にしたい(5) | NomalCommandBuilderによって作られるCommandTextの内容(5) | NomalDataGridViewの特定セルにボタンを配置する方法(5) | 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) | NomalASP.NET WebApi内でXmlReader.Create(url)がタイムアウトする(4) | 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) | NomalRichTextBoxへのドラッグ&ドロップしたExcelファイルの扱い(3) | Nomal表示動作が重くなる(3) | NomalLoadOptionのパラメータの意味(3) | Nomal1行で書くことできますか?(3) | 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) | NomalUrlにアクセスするとダウンロードされるファイルを捕まえる(2) | Nomalタブレット等でスワイプによるスクロールを実装(2) | Nomalbitmapを複数スレッドで処理したい(2) | Nomal読み出し元フォームの位置取得方法(2) | Nomalコンストラクターに続く{}の意味(2) | Nomalvb.netで7zの圧縮・解凍をしたい。(2) | Nomalツールボックスにtableadapterが表示されない(1) | Nomalアセンブリ情報が載らない(1) | Nomal二次元マップから値の取得(1) | NomalDataGridViewのドロップダウンリストの表示と選択後の値を分けたい(1) | NomalVSTOによるエクセルアドインのインストーラーでのアップデート(1) | Nomalクリスタルレポート 明細部のサブレポート(0) | Nomalインストーラにて、ローミングフォルダにファイルを配置したい(0) | NomalChart X軸上の描画を切り替えたい(0) |



■記事リスト / ▼下のスレッド
■35458 / 親記事)  エクセルのみ監視ができない
□投稿者/ たた 一般人(1回)-(2023/06/20(Tue) 20:07:08)
  • アイコン環境/言語:[VB.NET Freamwork4.8.1 VisualStudio2019] 
    分類:[.NET] 

    こちらのサイトのフォルダ、ファイルの変更を監視するを使って特定のエクセルを監視しようとしています。
    しかしながら、watcher.Filter の部分を
    watcher.Filter = "hoge.xlsx"
    としていますがhoge.xlsxが変更されても変更と認識されません。

    試しに watcher.Filter = "" としてみたところ
    changedResult の Name 部分が
    "FBF70100"
    のようになっており、"*.xlsx"の形になっていません。

    hoge.txt で試してみたところ正常にNameは hoge.txt になっていました。
    どのようにすれば hoge.xlsx を監視できるようになるでしょうか。
違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35459 / ResNo.1)  Re[1]: エクセルのみ監視ができない
□投稿者/ Azulean 大御所(538回)-(2023/06/20(Tue) 21:38:03)
  • アイコンNo35458に返信(たたさんの記事)
    > こちらのサイトのフォルダ、ファイルの変更を監視するを使って特定のエクセルを監視しようとしています。

    Excel はおそらく、一時ファイルに書き込んで、正常に終了してから、名前の変更と削除で「上書きのように見せかけている」のが実情だと思います。

    新規作成・名前の変更・削除も拾えるようにして観察してみてください。
違反を報告
引用返信
■35460 / ResNo.2)  Re[2]: エクセルのみ監視ができない
□投稿者/ たた 一般人(2回)-(2023/06/21(Wed) 17:57:19)
  • アイコンいくつか疑問が残る結果になりましたが、とりあえず解決しました。

    備忘録もかねて
    最初に動作確認をした際には "hoge.xlsx" ですべて確保できていた。何故できていたのか不明だが、Azuleanさんの仰るように一時ファイルへの書き込みに対応しておく必要がある。
    "FBF70100" や "hoge.tmp" のように一時ファイルへの書き込み名が統一されていないため対応したプログラム作成を行わなければならない。
    場合によってはファイル名が "~$hoge.xlsx" となっている。
    これらをクリアしたプログラムを作成(スッキリとしませんが)すれば解決する。
解決み!
違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35449 / 親記事)  Excelの数値 -> 日付みたいな関数?
□投稿者/ はな 一般人(1回)-(2023/06/11(Sun) 22:08:57)
  • アイコン環境/言語:[Windows10 .NET 6.0] 
    分類:[.NET] 

    毎度お世話になります。

    Excelで数値:0.020833 を セルの初期設定を(hh:mm)にすると「00:30:00」に
    なりますよね?
    これをC#でしたいのですが、TimeSpanを使用しても思うようにできません

    初歩的なことで申し訳ありませんが、ご指導願えませんでしょうか。


違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35450 / ResNo.1)  Re[1]: Excelの数値 -> 日付みたいな関数?
□投稿者/ Hongliang 大御所(642回)-(2023/06/12(Mon) 08:47:46)
  • アイコンDateTime.FromOADate(Double)
    で、1899/12/30からの経過日数をDateTime型に変換できます。
    ほぼExcelと同等ですが、61未満の間は日付にズレが生じます(Excelだと0が1900/1/0、60が1900/2/29という存在しない日付になります)。時刻部分は変わりません。
    // あとExcelには1904年から計算するというオプションもあるみたいですが…。

    そこからTimeSpanを取り出すには、以下のようにします。
    TimeSpan span = DateTime.FromOADate(...) - new DateTime(1899, 12, 30);

    あと、30分を意味する 1/48 は循環小数なので厳密には 0.020833333333... と3が無限に続きます。
    0.020833だと00:29:59.971...となって、
    Excelだとミリ秒以下を四捨五入して0:30:00と表示されますが、
    DateTime.FromOADateはミリ秒まで計算して29分59秒971扱いになります。
    DateTime.FromOADateに渡す値として0.02083333まで桁を伸ばすと正確な30分に変換されます。
違反を報告
引用返信
■35456 / ResNo.2)  Re[2]: Excelの数値 -> 日付みたいな関数?
□投稿者/ はな 一般人(2回)-(2023/06/12(Mon) 21:53:40)
  • アイコンNo35450に返信(Hongliangさんの記事)

    なるほど!できました。ありがとうございました。
解決み!
違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■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]






Mode/  Pass/


- Child Tree -