アプリケーションランチャーを使っていて登録したアプリケーションの数が増えるとスクロールするのが大変になってきました。対策として、Homeキーでで最初の行に移動する機能と、アプリケーションをダブルクリックするたびに1つ上の行に移動する機能を付...
前回WinFormsで作成しましたが、どうもうまく動作してない感じがするのでWPFで再度作成してみました。 ソースコード ファイル名:MainWindow.xaml <Window x:Class="ExecuteButto
OpenCVのフィルターを任意の順番で実行するUIを作っていて、データソースで悩んでいます。 実行順番のことを考えるとListなどの要素の順番をもつ構造のコレクションが良さそうですが、要素となるフィルターをオブジェクト化しようとすると、異な
C#のSystem.Text.Jsonでオブジェクトをシリアライズしてみる。
Objet using System.Text; using System.Text.Json; string path = "JsonSample01.json"; var encoding = Encoding.Ge
C#のWPFでドライブの一覧とカレントディレクトリの階層を選択するコンボボックスを作る。
カレントディレクトリを変更するために、コンボボックスを使ってドライブの一覧を選択するUIがあります。 また、ドライブだけではなくカレントディレクトリとその上位階層も選択するようになっていると便利です。 実際作れるか挑戦してみました。 以下7
C#のListをJSON形式でシリアライズ・デシリアライズする2。「型を確認する」
前回インターフェイスのデシリアライズに失敗しましたので対策を考えてみたいと思います。 まずListの要素の型を確認します。TはISampleBaseですが各要素に対してGetType()メソッドを実行しどの型になるか確認します。 using
C#のList<T>をJSON形式でシリアライズ・デシリアライズする。
List&lt;T&gt;のTをインターフェースにしたオブジェクトをJSON形式でシリアライズ・デシリアライズ出来るのか確認してみます。 予想ですがシリアライズは出来てもデシリアライズは無理そうな気がします。 まずはシリアライズしてみます。
C#ではzipファイルを扱うライブラリがありますが、今回はzipファイルをバイナリデータとして読み込んんで中身をのぞいいてみようと思います。 wikipediaでZIPファイルのページを眺めていたところZIPファイルの構造の情報がありました
Python-OpenCVで図形の縁を検出するルーチンを考える
全てのピクセルの左右上下を検査し縁に当たる部分か調べる方法で縁取りをしてみます。 import cv2 import numpy as np def createBaseImage(): # 黒色のキャンバス(512x512)作成 img
WPFで動画ファイルを再生するサンプル「イベントの動作確認」
MediaElementはWPFで動画を再生することが出来るコントロールです。 今回は動画を再生した際どのようなイベントが発生するか確認してみます。 サンプルプログラム ファイル名:MainWindow.xaml &lt;Window x:
インターフェイスを使ったことはあっても自分で作る機会ほどんどないのですが、たまたま使わざるをえない状況になりましたので、サンプルプログラムを書いてみたいと思います。 using System.Collections.Generic; nam
「Border」の名称から罫線を引くコントロールと予想しますが、実際どのような代物なのか試してみます。 XAMLにborderをセット &lt;Window x:Class=&quot;BorderSample.MainWindow&quo
C#でWPF学習中「WPFプロジェクトを作成するスクリプト3」
前回にクラスライブラリとコンソールプロジェクトを使えるようにしましたが、今回はシンプルにWPFのアプリケーションを作成するプロジェクトを作成します。 WPFプロジェクトを作成しMicrosoft.Xaml.Behaviors.WpfとRea
ZipFileをUpdateモードで開いてzipファイル内のファイル(Entry)を取得Delete()メソッドで削除します。 ソースコード using System.IO.Compression; const string zipfile
C#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。
WPFでINotifyPropertyChangedを使ってみたことがありました。 その後にもっと便利なReactiveProperyを知ったため、長らく忘れていました。 正直MVVMなWPFは小規模なプログラミングだと面倒を感じ、WinF
オープンソース系のソフトで動画出力部分にffmpegが使われている場合が多いのですが、最近とあるアプリケーションで動画を書き出した所、イベントログにffmpeg.exeがクラッシュした旨ログが出力されていることがありました。 .AVIでは成
ファイルをバイト配列に読み込む実験「FileStream.ReadとParallel.For」
SSDに保存されたファイルサイズが216MBのPNG形式画像ファイルがありまして、これをWinFormsのPictureBoxで表示するプログラムを書きます。 // パターン0 using FileStream fs = new(fileN
C#のWinFormsでSystem.DrawingとMagick.NETとOpenCVSharpでPNGファイルのデコード速度を比較
手作りのソフトなので計測なので精度は今一つですが、System.Drawingが一番速い結果になりました。 System.Drawing:22ms Magick.NET:39ms OpenCVSharp:33ms Windows環境で実行し
C#のWinFormsでファイルマネージャを作る3。「サムネイル表示の高速化」
ListViewの動作が遅い原因を探ってみたところ、オーナードローでの描画にサムネイル画像の用意が間に合っていないことが原因でした。 VirtualModeで表示部分だけの描画される動作も、そもそも描画の準備が間に合っていないためスクロール
C#のWinFormsでToolStripなToggleButtonのサンプル
スライドスイッチみたいな見た目を想像しましたが、押しボタンタイプの見た目です。 ソースコード namespace ToolStripToggleButtonSample1; public partial class Form1 : Form
C#のWinFormsでファイルマネージャを作る2。「大きいサムネイル」
前回作成した内容で使ってみたのですが、目的が画像や動画の選択ですので、ファイルの一覧で画像の内容が目視出来たほうが良いことに気が付きました。 ついでにGIMPの.xcfやPhothoShopの.psd及び動画の.aviや.mp4などの内容も
C#のWinFormsでファイルマネージャを作る。「試作編」
少しずつ調べていた機能がだいぶ溜まったので、以前から作ろうと思っていたファイルマネージャ(劣化版エクスプローラー)を作成したいと思います。 アプリケーションのファイルの一覧からGIMPなどの画像加工のアプリケーションに画像ファイルをドラッグ
PowerShellでダウンロードが失敗した場合再試行するスクリプトを試作する。
複数のURLを順番にダウンロードするスクリプトがあるのですが、ダウンロードするURLを配列で管理しているとエラーが発生した際、どこまで実行したか不明になってしまいます。例外処理が行われていないのが原因なのですが、問題点には目をつむってエラー
C#のWinFormsでリストビューを試す。「アイテムにアイコンを表示」
カレントディレクトリのファイルの一覧をリストビューで表示するプログラムを作成しました。 リストビューのアイテムがファイルの場合とディレクトリの場合で別のアイコンが表示されるようになっています。 namespace ListViewSampl
Windows10(11)で絵文字を入力したい場合「Win」+「.」を押す。
自分の環境ではIMEの文字変換では絵文字は出現しませんが、「Win」+「.」でフォームが表示され絵文字を選択することが出来ます。 いつからこの機能が組み込まれたのか知りませんが、自分の生活の中で絵文字を使う機会に恵まれず、最近たまたまWin
C#のWPFのListViewを使って画像の一覧を表示するサンプル。
画像が保存されたディレクトリで、大き目の画像でサムネイル表示が出来ないか調べてみました。 プロジェクトの作成 mkdir プロジェクト名 cd プロジェクト名 dotnet new wpf dotnet add package Micros
GIMPのPython-Fuでディレクトリを引数にプラグインを実行する。
GIMPのプラグインの実行時、ディレクトリを選択しスクリプトへ引数として渡すことが出来るようなので試してみました。 スクリプト #!/usr/bin/env python # coding: utf8 from gimpfu import
C#のWinFormsでコンボボックスのイベントを確認する2。「バリデーション」
コンボボックスはプルダウンメニューの様な選択肢を選択する機能と文字を入力するテキストボックスのような機能が複合されたコントロールです。選択と入力で保持する値が別の方法で変更される可能性があり、イベントの処理を考えると思考を放棄したくなります
C#のWinFormsで絵文字を描くサンプル。「フォルダを描く」
System.Drawing.GrapihcsのDrawStringメソッドを使うと画像に文字書くことが出来ます。 その際フォントを指定することになりますが、絵文字を持っているフォントを指定し、描きたい絵文字を文字コードに指定すると、絵文字
C#のWinFormsでファイルのアイコンを取得するサンプル
C#でエクスプローラーのようなファイルマネージャを作ろうと思い、ファイル表示されているアイコンの取得する方法を調べてみました。 namespace FileIcon; public partial class Form1 : Form {
C#でMagick.NETを使って画像ファイルの幅と高さを取得する。
画像ファイルの幅と高さを取得する方法として、Sysmte.Drawing.Bitmapのオブジェクトを生成し、プロパティのWidthやHeightを参照すれば良いのですが、ファイルサイズが大きな画像ファイルが多量にある場合、毎回Bitmap
WPFに依存するオブジェクトやライブラリをConsoleプロジェクトから呼び出したい。 以前WPFのクラスライブラリを作成しConsoleプロジェクトから参照する方法を試しました。 consoleプロジェクトのcsprojファイル内でTar
C#でWPF学習中「WPFプロジェクトを作成するスクリプト2」
WPFのクラスライブラリを作成し、WPFアプリケーションのプロジェクトとConsoleアプリケーションのプロジェクトから参照するソリューションを作成するスクリプトを作成しました。 スクリプト スクリプト名:Create-WPFSolutio
以前ツリービューでフォルダ構造を表現するサンプルを作成しました。エクスプローラーの左側のような動作をするように作成しましたが、機能的に外部から指定のフォルダーに移動する機能も必要では?と思い試作してみました。 namespace TreeS
PowerShellでカレントディレクトリを一時保存と復帰する「Push-LocationとPop-Location」
PowerShellで一時的にカレントディレクトリを移動させたい場合があります。そのような時「Push-Location」と「Pop-Location」が役に立ちます。 カレントディレクトリが&quot;C:\Users\karet\Doc
パソコンと液晶タブレットの接続方法を確認する。「XPPEN Artist 10」
以前から液晶タブレットというものに興味がありまして、動画などを見て液晶部分に下絵を表示しながらイラストを描くことが出来るガジェットであることは知ってはいたのですが、パソコンとの接続方法を知りたいと思っていました。 入手した「XP」のケーブル
C#リストビューで画像ファイルのサムネイル表示5「サムネイルをzipファイルに保存」
前回作成したプログラムで、サムネイル用の縮小画像を毎回作成するとレスポンスが悪くなるので、一度生成した縮小画像をファイルとして保存し、2回目以降はそれを読み出すようなキャッシュルーチンを組み込んでいました。保存した縮小画像のファイルは不可視
「ブログリーダー」を活用して、84さんをフォローしませんか?
アプリケーションランチャーを使っていて登録したアプリケーションの数が増えるとスクロールするのが大変になってきました。対策として、Homeキーでで最初の行に移動する機能と、アプリケーションをダブルクリックするたびに1つ上の行に移動する機能を付...
LiteDBはSQLを書かずにC#のマネージドオブジェクトとして扱えるデータベースです。アプリケーションのバックエンドに良さそうなので試してみました。プロジェクトの作成mkidr LiteDBSamplecd LiteDBSampledot...
NMeCabを使うと日本語の文章を単語ごとに分割してくれるようなので試してみました。プロジェクトの作成 mkdir MeCabSample cd MeCabSample dotnet new console dotnet add packa...
mallocでメモリを確保する処理を確認したいと思います。ソースコード#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main() { int *arr; int size = 10; // メモリ確保 a...
WinFormsでシンプルなアプリケーションランチャーを作成しました。プロジェクトの作成mkdir ApplicationLauncher01cd ApplicationLauncher01dotnet new winformsソースコード...
名前とファイルパスのコレクションを管理するサンプル プロジェクトの作成mkdir jsonsaveloadcd jsonsaveloadgo mod init example.com/jsonsaveloadソースコードファイル名:json...
文字入力ダイアログボックスのサンプルです。プロジェクトの作成mkdir dialogmemocd dialogmemoMake-GoWalk.ps1Make-GoWalk.ps1は次の記事を参照ソースコードファイル名:dialogmemo....
ウィンドウにファイルをドラックアンドロップするサンプルコードです。プロジェクトの作成mkdir dragdropdemocd dragdropdemoMake-GoWalk.ps1Make-GoWalk.ps1は次の記事を参照ソースコードフ...
はじめに2025年現在、PCのパーツ選びにおいて「どれを交換すると快適になるのか?」は多くの人が一度は考えるテーマです。CPUやGPUのような高価なパーツもありますが、今回はあえて体感の快適性に直結するパーツとして、「SSD」、とくにNVM...
PowerShellのパイプラインはコマンドレット間でオブジェクトを渡す仕組みで、各オブジェクトで処理を組み合わせることで、複雑な処理流れを1行で表現することが出来ます。エクスプローラなどでファイルを操作する場合など、手作業で行うことに比べ...
ウィンドウにボタンをレイアウトし、ボタンを押すことでボタンの文字が変化するサンプルプログラムを作成しました。ソースコードファイル名:datasource.h#ifndef DATASOURCE_H#define DATASOURCE_H#i...
書籍「MSX-BASICでゲームを作ろう」を電子書籍で購入しました。書籍は後でじっくり読むとして、MSX公式エミュレーターMSXPlayerのダウンロード用のリンクとパスワードがあるので試してみました。起動時MSXのタイトル、RAMは豪華に...
C++のスマートポインタを学習したのですが、モダンな初期化方法があるとのことですので、試したいと思います。また、Qt6でGUIプログラミングを学習する予定あり、Qtにもスマートポインタがあり、其の中でQPointerを学習したいと思います。...
C++のスマートポインタを学習したのですが、モダンな初期化方法があるとのことですので、試したいと思います。また、Qt6でGUIプログラミングを学習する予定あり、Qtにもスマートポインタがあり、其の中でQPointerを学習したいと思います。...
XAMLを使わないWPFでListViewとコレクションのバインディングを試して見ます。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML05cd NoXAML05rm *.xamlrm ...
全てのコントーロルがコマンドを持つわけではないので、イベントからコマンドに変換してとバインドする方法を試してみます。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML04cd NoXAML...
全てのコントーロルがコマンドを持つわけではないので、イベントからコマンドに変換してとバインドする方法を試してみます。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML04cd NoXAML...
XAMLを使わないWPFでプロパティとのバインドを前回試しました。今回はICommandのオブジェクトとのバインドを試してみたいと思います。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAM...
XAMLを使わないWPFでプロパティとのバインドを前回試しました。今回はICommandのオブジェクトとのバインドを試してみたいと思います。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAM...
XAMLを使わない状態でデータバインディングはどのようにするか調べてみました。サンプルコードプロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML02cd NoXAML02rm *.xamlrm MainWi...
UbuntuでAnimeEffectsというソフトを使っていて、こちらのソフトは静止画から動画を作成するソフトなのですが、動画の書き出しで失敗しアプリケーションが強制終了することがありました。再現性があるので原因を調べてみることにしました。
住宅事情により、ワイヤレスヘッドフォン(ヘッドセット)を使っていましたが、バッテリーが持たなくなってきたので、ネックスピーカーを試してみました。 よくない点 少し重い。肩がこるほどでは無いので許容範囲。 たまに振動する。鎖骨のあたりがムズム
システムドライブ(C:)の空き容量が少なくなってきた場合、ストレージを増設しドキュメントフォルダなどの場所を移動させると、容量不足を解消することが出来ます。 手順 ドキュメントフォルダ上で右クリック⇒「プロパティ」⇒「場所」のタブ 「移動」
コマンドラインからGoogle翻訳を実行することが出来るようなので試してみました。 インストール sudo apt install translate-shell aptパッケージで楽々インストール 実行例 echo Jacket tr
IOPaintをインストールしたのでその作業ログを残しておきます。 IOPaintは画像の一部をいい感じに消去してくれるソフトでLama Cleanerの後継ソフトになります。 pythonの仮想環境を作成 cd ~/git mkdir i
IOPaintをインストールしたのでその作業ログを残しておきます。 IOPaintは画像の一部をいい感じに消去してくれるソフトでLama Cleanerの後継ソフトになります。 pythonの仮想環境を作成 cd ~/git mkdir i
ASP.NETが稼働しているサーバーの特定のディレクトリ下にあるファイルの一覧をJSON形式で返すサンプルプログラム。 プロジェクトの作成 mkdir AspMvcFileList cd AspMvcFileList dotnet new
ソースコード using System; using System.Windows.Forms; using System.Drawing; /* **************************************** リストビュ
monoは.NET Frameworkの互換ですのでDirectory.GetLogicalDrives()でドライブの一覧が取得できるはずです。 ただ、ドライブはWindowsの概念でUbuntuには存在しません。実行するとどのような結果
たまたまUbuntuのデスクトップ環境があるのでPowerShellをインストールしてみたいと思います。 サポート情報 インストールしようとしているUbuntu22.04はサポートされているようです。 Ubuntu 22.04 (Jammy
Ryzen7 5700XでWindows11なメインPCとRyzen5 7600でUbuntu22.04のサブPCで常設するデスクトップPCが2台となりました。 PCケースは手製のPCデスクの足元にミニタワーケースが2台設置出来るようにして
ディレクトリ:/usr/lib/mono/4.7.1-api/ Accessibility.dll Commons.Xml.Relaxng.dll CustomMarshalers.dll Facades I18N.CJK.dll I18N
ファイルアイコンをパスを使って描画してみます。 ソースコード ファイル名:Form1.cs using System.Drawing.Drawing2D; namespace FileIcon; public partial class F
フォルダーアイコンをパスを使って描画してみます。 ソースコード ファイル名:Form1.cs using System.Drawing.Drawing2D; namespace FolderIcon; public partial clas
Windows10には「Microsoft Print to PDF」という仮想プリンターが標準でインストールされています。 使い方は、アプリケーションの印刷機能で印刷先のプリンターに「Microsoft Print to PDF」を選ぶと
Ubuntu22.04のデスクトップを使っていてアプリケーションなどのソフトをソースコードからビルドした実行ファイルを起動することがあります。ターミナルから実行するスクリプトを組むようにしていますが、少し面倒なのでWindowsの様にデスク
注文した翌日パーツが届きました。 すぐに組んであげないとパーツの旬が過ぎてしまいますので、休日の早朝AM3:00から組み始めました。 既存のパソコンからケースと電源、グラフィックボード、M.2-SSDを流用しました。 比較的古い設計のマイク
ListViewでShiftキーやコントロールキーを使って複数アイテムを選択した状態を検出する方法調べてみました。 プロジェクトの作成 ソースコード ファイル名:FileEntity.cs public class FileEntity {
昨日、Ryzen5 7600を注文した記憶がうっすらあり、注文履歴をみてみたら以下の商品を注文しているようです。 AMD Ryzen 5 7600, Wraith Stealth Cooler ASRock マザーボード B650M PG
SHELL32.dll内にシステムアイコンが埋め込まれているので、そちらからアイコンを取り出して表示するサンプルになります。 プロジェクトの作成 mkdir SystemIconSample cd SystemIconSample dotn