昔のWindows系OSで設定用のファイルとしてiniファイルがありました。Key1=Value1Key2=Value2AnotherKey=AnotherValueこちらの書式を連想配列に変換してみ...
C#でデザインパターン「Interpreterパターン」iniファイルから連想配列へ
昔のWindows系OSで設定用のファイルとしてiniファイルがありました。Key1=Value1Key2=Value2AnotherKey=AnotherValueこちらの書式を連想配列に変換してみ...
WPFのListViewでListViewItemを編集する方法をさがす
エクスプローラーF2キーでのファイル名が編集が出来るますが、ListViewで同じことができないか試行錯誤しています。プロジェクトの作成ソースコードファイル名:BooleanToVisibilityConverter.csusing Sys...
C#のWPFでEntity Frameworkを使いSQLiteのDBをCRUD処理するサンプルコード
DBのテーブルを編集するGUIフォームを作成するにあたり必要な情報を集めてコード化してみました。さらにコード量が多くなりそうなので一旦記事にしてみました。プロジェクトの作成dotnet new wpf -n プロジェクト名cd プロジェクト...
ペイントソフトのKritaでPythonスクリプトが実行出来るようなので試してみます。スクリプター(Pythonエディタ&実行)・Kritaを起動&画像を用意・メニューの「ツール」→「スクリプト」→「スクリプター」・文字を出力する以下のスク...
C#のリフレクションを使って異なるクラスのオブジェクトの同名プロパティの値をコピーしてみる。
異なるオブジェクトで同名プロパティの値をコピーすることがあり、プリミティブな形なのでリフレクションで上手いこと処理できないかと思いコードを書いて見ました。class MyClassA{ public string Name { get; s...
C#のオブジェクトで定義されているプロパティの一覧を取得する。
クラスのオブジェクトからプロパティ名を取得してみます。サンプルプログラムclass MyClassA{ public string Name { get; set; } = ""; public int Value {get; set; }...
C#のプロジェクトディレクトリのサブディレクトリは自由に作成出来る。
プロジェクトディレクトリにソースファイルが複数保存されることになりますが、そのファイルをサブディレクトリで分類することができます。基本的にエクスプローラーでサブディレクトリを作成し移動するだけで良いみたいです。ただ、WPFのMainWind...
ReactiveCollectionのClearOnSchedulerでTaskCompletionSourceを使いクリア完了を待つコード
WPFのリストビューなどのデータソースとしてReactiveCollectionを使うのですが、一度内容をクリアして再表示するような場合、クリアの終了を待つ必要があります。普通の配列やコレクションであれば、コレクションの要素数をCount(...
TeraPadとサクラエディタは単語移動のショートカットキーが日本語対応している
細かな機能ではありますが、テキスト入力でCtrl+→で次の単語の先頭へ移動する機能があります。同様にマウスのダブルクリックで単語選択が出来たりします。メモ帳など簡易のテキストエディタやブラウザのテキスト入力項目でも、同じショートカットキーが...
WPFでドラックアンドドロップをビヘイビア化しソースコードを再利用する。
WPFでアプリケーションを作成していると、エクスプローラーからファイルをドラックアンドドロップで開くコードをよく書きます。そのたびに当ブログ記事を検索して、必要なコードをコピー&ペーストしています。それでも良いのですが、ビヘイビアとして作成...
PowerShellでファイルの一覧をリストボックスで表示しGUIアプリへドラックアンドドロップするスクリプト
PowerShellでファイルを検索しGUIアプリで開けると便利かと思いスクリプトを作成してみました。はじめC#のWinFormsで作成してみましたが、標準入力(パイプライン)の部分が動作させることが出来ませんでした。PowerShellで...
Observerパターンはオブジェクトの変化を通知する仕組みとのこと。C#ではObserverパターン用にIObservable<T>とIObserver<T>というインターフェイスが用意されているので、これを使ったサンプルコードをGemi...
ゆっくりムービーメーカー4のプロジェクトを別PCで使える方法を考える。 – 20250408
ゆっくりムービーメーカー4の動画素材は絶対アドレスで記録されており、別PCにプロジェクトファイルを移動するとフォルダ構成が異なる為、素材ファイルが読み込むことが出来なくなります。その場合、リンク切れを起こした素材ファイルを再度割り当てするこ...
プログラミングを学習する方法としてプログラミング言語の書籍を購入し、それを教科書としてサンプルプログラムを実行したりしながら学習を進める方法があります。今の時代であれば書籍の代わりに配信されている動画で学習する方法もありますし、リモートで受...
基本的な文字列操作と正規表現について調べてたことを記事にしています。オブジェクトの文字列化オブジェクトに.ToString()メソッドが定義されている場合、呼び出すことで文字列化することが出来ます。Console.WriteLine(obj...
「VeraCrypt」はオープンソースのディスク暗号化ソフトウェアです。こちらのソフトを愛用しています。基本的にWindows環境で使用していますので暗号化されたストレージのイメージファイルを仮想ドライブとしてマウントして使っています。スト...
dotnet.exeでconsole,wpf,classlibを1つのソリューションで構築しvscodeでデバック実行する方法
コードを再利用することを考えるとクラスライブラリ(classlib)として作成するのが望ましい。dotnet.exeのでclasslibのプロジェクトは以下のコマンドで作成することが出来ます。クラスライブラリプロジェクトの作成コマンドdot...
PowerShellでpythonの「if __name__ == “__main__”:」のような直接と参照実行でコードを分ける
pythonでスクリプトで定義した関数を別のスクリプトで参照する場合、以下のようなコードを記述します。if __name__ == "__main__": // 直接実行の場合実行されるコードPowerShellで同じようなことが出来ないか...
イラストなどを描くことは無いですが、画像加工ツールとして他のペイントソフトには無い機能があるので、試したことを覚書として残しておきます。ベクターレイヤーベクター形式ですので線を拡大縮小、移動、回転、変形などしても歪みが少ない特性があります。...
PowerShellのPSCustomObjectの動作を確認する。
何気に使っていたPSCustomObjectの基本的な使い方を確認してみました。<#.SYNOPSISPSCustomObjectの操作を確認する。#># PSCustomObjectの生成$psco = @...
C#のWinFormsでReactivePropertyを使ってコントロールとデータバインディングしてみる。
「データバインディングというとWPFというイメージがありますがWinFormでも出来ますよ」という話バインドするオブジェクト(データソース)に成れるのは、INotifyPropertyChangedを継承しているクラスであることが条件。クラ...
WPFでボタンコントロールを配置しボタンを押すとメッセージボックスでメッセージを表示するサンプルプログラムです。プロジェクトの作成dotnet new wpf -n <プロジェクト名>cd <プロジェクト名>dotnet add packa...
PowerShellの-matchで正規表現を使い文字列を抽出する方法
以下のような感じで取り出せます。"対象文字列" -match "正規表現1(?<名前>正規表現2?)正規表現3"正規表現で抽出する部分は()内で?<名前>正規表現2?で名前を付けて$Matches.名前で取り出します。サンプル"BlackB...
エクスプローラーなどから画像ファイルをアプリへドラックアンドドロップで画像を表示。表示されている画像を別アプリへドラックアンドドロップすることが出来る。ちなみにエクスプローラーのフォルダへドラックアンドドロップするとファイルが移動する。(e...
C#のWinFormでクリップボードを使いCtr+Vで画像を貼り付けCtrl+Cで画像をコピー
GUIのアプリケーション間でデータの受け渡しをする場合、クリップボードを使いコピー&ペーストする方法があります。個人的に画像を扱うことが多いのでピクチャボックスへ画像の貼り付けと、同じくピクチャボックスの表示画像をコピーするサンプルプログラ...
Visual Studio 2022でcl.exeでc言語のソースコードをコンパイル出来るようにする。 – 20250325
Visual Studio 2022でVC関連を一通りインストールしましたが、cl.exeでc言語のソースをファイルをコンパイルするとstdio.hが無いと叱られました。原因としてPowerShell(pwsh.exe)で実行していたことが...
CSharpScriptとgo言語でHello World – 20250324
以前C#の単体のソースコードを実行できないか試行錯誤してみたことがあります。ただ、一時的にC#のコードを試したいだけであれば、CSharpのScriptという選択肢があることに気が付きました。CSharpScriptを使えるようにするには以...
WPFのListViewを文字検索で絞り込み2 – ListViewFilterBehavior
ListViewで文字フィルターをするビヘイビア版です。ソートのビヘイビアが出来たので、フィルターもビヘイビア化出来るだろうと試みました。ただ、フィルターの場合フィルター用の文字を入力するテキストボックスが必要で、それとリストビューをどのよ...
WPFのListViewでヘッダークリックでソート2 – ListViewSortBehavior
ListViewのヘッダークリックでソートするコードを確認しました。再利用する場合、コードビハインドだと中身を理解するのが大変なので、ListViewSortBehaviorを作ることで再利用しやすくしてみました。前回の記事ソースコードファ...
Windowsのファイルにコメントする方法を考える2 – 20250322
ファイルのコメントを保存するテキストファイルをnotepad.exeで開くスクリプトを作成しました。ソースコード<#.SYNOPSIS概要を保存するテキストファイルをノートパッドで開く.DESCRIPTION概要を保存するテキストファイルを...
C#のWinFormでアプリケーションアイコンを設定する方法
アイコンをリソースで埋め込むべきだと思いますが、dotnet.exeでリソースを扱う方法を知らないので、.exeファイルのアイコンを読み込むようにしてみました。まずプロジェクトファイル(.csproj)の<PropertyGroup>にアイ...
VSCodeスニペットなんとなく解説!明日から使える、私だけのコードひな型集
ひな型集と銘打っていますが今のところ一つだけ。スニペットの設定ファイル⇒ユーザー設定⇒スニペットの構成言語固有のスニペット例:JavasSriptのスニペットjavascript.jsonHTMLのスニペットhtml.jsonグローバルスニ...
C#のWinFormsで画像処理 – バケツ塗りつぶしを実装してみた
ペイントソフトなどによくある塗りつぶし機能をC#で作成してみました。使い方ペイントソフトから画像コピー当アプリでCtrl+Vで画像を貼り付けマウスをクリックするとクリックした座標から塗りつぶしが開始します。Ctrl+Cで画像がクリップボード...
Windows11でスクリーンショットを考える。「Win+PrtSc」
Windows10あたりから「PtrSc」(PrintScreen)キーで、スマートフォンの様にスクリーンショットが撮れるようになりました。手元にあるWindows11で「PtrSc」キーを押すと 「Snipping Tool」というスクリ...
Windows11でCドライブがパンクした話。原因と対策20250321
システムドライブのCドライブがパンクすると非常に厄介なことになるので、ユーザーデータなどの保存場所は極力他のでドライブで運用するよう心掛けていました。それなのにCドライブがパンクしてしまい、何がストレージを圧迫しているのか調査しました。世の...
Python標準ライブラリargparseでコマンドライン引数をパースしてみる
argparseをコマンドライン引数にオプション名をつけたり、必須項目やデフォルト値を扱うことが出来るようなので試してみます。import argparse# パーサーの作成parser = argparse.ArgumentParser(...
C# WinForms + NAudio:コマンドライン引数でオーディオファイルを再生するアプリを作る
C#で音声ファイルを扱うライブラリにNAudioがあります。今回はWinFomsで音声ファイルを再生するシンプルなアプリを作成しました。コマンドライン引数で再生するオーディオファイルのパスを受け取り、再生し再生が終了したらアプリケーションを...
ブラウザで動くJavaScript:DOM操作と開発環境構築
JavaScriptはたまにしか使わないので、コードを書くたびに基本から勉強しなおすことになりがちです。JavaScriptを学習したことを忘れてしまった未来の自分のために、記事として残しておきたいと思います。扱う内容として昔ながらのウェブ...
PowerShellからExcelを操作!ワークシートのセルに値を設定する方法
ひな形のエクセルファイルに値を入力する作業を自動化するために必要そうな処理を調べてサンプルスクリプトを書いてみました。サンプルに使ったエクセルファイル社会保険事務所に提出する賞与支払届セルに値をセットするサンプル。<#.SYNOPSISエク...
Windowsのファイルにコメントする方法を考える20250318
エクスプローラーでファイルやフォルダは名前で識別しますが、入力する都合上短めで英数字を使うことが多いです。英語圏で生まれた文化である点もありますが、アルファベットの方が変換などを含まないのでストレートに入力できる点もあると思います。そうなり...
PowerShell は、他のシェルスクリプト言語とは異なる独特の挙動を示すことがあり、一般的なシェル言語の感覚で実行すると、思わぬ落とし穴にはまることがあります。ここでは、PowerShell の罠となりうる要素をいくつかご紹介します。i...
WSL-Ubuntuで音声認識モデルWhisperを使って文字起こししてみた。20250316
音声ファイルが多量にあり中身を一つ一つ視聴し確認する作業をしていて、飽きてきたので音声ファイルを文字起こしが出来ないか調べてみました。Whisperといツールがヒットしましたので、WSL-Ubuntuでインストールしてみました。pipパッケ...
WSL-UbuntuでStyle-Bert-VITS2をインストールした記録
Style-Bert-VITS2をインストールしたので記録を残します。環境Ubuntu22.04Python 3.10.12gitクローンgit clone venv作成cd Style-Bert-VITS2python3 -m venv ...
WSL-UbuntuにDocker Engineを直接インストールした話
作業ログを記事として残しておきます。環境Ubuntuのバージョン22.04パッケージのインストールsudo apt updatesudo apt install ca-certificates curl gnupg lsb-releaseG...
独自のデータセットでReal-ESRGANをファインチューニングする。
Real-ESRGANのモデルに対し追加学習(ファインチューニング)することで、何かに特化したモデルを作成することが出来るとのことですので試してみたいと思います。以下のページの手順通りに進める。Real-ESRGANのインストール環境:Ub...
PowerShellで画像ファイルをjpg形式からpng形式に変換するスクリプト
.NetのImageオブジェクトをファイルから生成してPNG形式で保存します。使い方はスクリプトの.EXAMPLEを見てください。ワンライナー版<#.SYNOPSISJpegファイルをPngファイルへ変換.DESCRIPTIONJpegファ...
dotnet.exeでプリプロセッサのシンボルを定義するには。.csproj編集
.csprojにDefineConstantsでシンボルを定義します。csprojのサンプル<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputT...
dotnet.exeでC#の単独ソースファイルを実行できないか模索する
プロジェクトを作らずにdotnet runで単独のcsファイルが実行できると便利なので方法を調べましたが見つかりませんでした。仕方がないのでプロジェクトを自動作成するPowerShellスクリプトを作成してみました。ファイル名:Run-CS...
VMwareWorkstationのWindows10のイメージをWindows11にアップグレード20250314
結果を先に述べるとアップグレードは出来ましたがライセンス認証が通らなかったので使用は断念することになりました。Windows11のインストール要件にはTPM2.0が必須なので設定します。リアルPCでもマザーボードにTPM2.0対応モジュール...
Windows11の24H2をクリーンインストールしたらsambaで稼働するファイルサーバーにアクセスできなくなった20250313
Windowsで動く有償ソフトで無くなると困るソフトがいくつかありまして、メインPCがトラブルが起きた時のことを想定して、Windows11をインストールしたサブPCを作成しそちらに必要なソフトをインストールすることにしました。それらのソフ...
Stable DiffusionのLoRA学習20250312
Stable-Diffusionの画像生成modelに対し追加学習用の画像を用意しファインチューニングを行います。成功すると追加学習した画像の影響を色濃く反映した画像が生成されるようになります。沢山のパラメータがあり正直自分の手に余ると思い...
C#で単独ファイルで実行できるexeファイルをつくるdotnet.exeのオプション
C#のコンソールプロジェクトでコマンドプロンプト又はPowerShellから実行できる外部コマンドを作成しようと思います。通常にビルドを行うと、実行するバイナリファイルの.exe以外に実行に必要となる.dllファイルが生成されます。複数のフ...
超解像AIのSeeSRをローカル環境で構築することが出来ましたが、私の環境ではVRAM不足のせいか1枚の画像生成に数十分ほどかかります。マシンパワーが不足するのであれば、有るところから借りればよいと思いGoogle Colabで実行環境を構...
Ubuntu22.04DesktopでSeeSRをインストールした記録
画像の超解像ツールのSeeSRのインストールしたので手順を残します。実行した環境Windows11のWSL2でUbuntu22.04CUDAのバージョンは11.8githubからリポジトリをクローンcd ~/gitgit clone cd ...
入力候補としてサジェッションを表示する方法を探していますが、コンボボックスで作ってみました。ファイル名:MainWindow.xaml<Window x:Class="ComboboxSample01.MainWindow" xmlns="...
UbuntuデスクトップPCのOS再インストール20250308
生成AI系のソフト類を動かすためのUbutuをインストールしたPCを弄っていたら、pythonのパッケージやCUDAツールキット、nvidiaのドライバーなどバージョンの不整合を発生させ、自分のスキルでは解決が難しそうでしたので、クリーンイ...
PowerShellでファイルのパスからテキストファイルか判定する
function IsTextFile($filePath) { try { if (-not(Test-Path "HKCR:\")) { # HKCR登録 New-PSDrive ` -Name HKCR ` -PSPr...
沢山あるGoogleのサービスで便利だと思った用途の覚書です。GoogleドキュメントでOCRGoogleドライブにjpgやpngなどの画像ファイルをアップロードし、ドキュメントとして開く。画像内の文字列がOCRされてたドキュメントファイル...
PhotoShopは買えないが「コンテンツに応じた塗りつぶし」機能はつかいたい。
PhotoShopの「コンテンツに応じた塗りつぶし」と似たような機能を無償で入手する方法の話です。現在のところ使っているツールはGIMPのスマート消去プラグインです。こちらのプラグインはWindows版はどこから入手したか不明で、もしかする...
スキャンしたモノクロ画像の小傷のようなノイズを消す20250305
白と黒のモノクロの紙素材を一度カラーでスキャニングし、後からpythonのOpenCV2値化で白黒にします。閾値の調整は必要ですが、黒から白、白から黒へ切り替わるエッジ部分が閾値によって変化します。閾値超調整後、オリジナルが黒色でベタ塗りの...
昨日に続きLora学習に挑戦しています。環境構築でモジュールのバージョン違いが発生しているので、比較的新しい動画などを見ながら再度実行してみましたが、結果は同じでした。コンソールベースで最新環境を作ることは諦めて、昨年構築したGUI版が現在...
ThinkPad X270にChromeOS Flexをインストールしました。
x270にはlubuntuをインストールしていましたが、ChromeOSをインストールしました。インストールUSBを作成するのですが、GoogleChromeの拡張機能で作成します。必要メモリが8GBなので8GBのUSBメモリを刺しましたが...
ネーム印(通称シャチハタ)のキャップの役割をGeminiに聞いてみた。
ネーム印のキャップが行方不明になり、キャップが無くとも問題ないか、キャップの役割をGeminiに聞いてみました。ネーム印(通称シャチハタ)のキャップは、主に以下の2つの目的で使用されます。 インクの乾燥防止: ネーム印はインク浸透式のため、...
Pyside6の主要モジュールの一覧をGeminiに生成してもらった。
Qtには沢山モジュールがあり、pythonの実装の一つであるPysideでも、豊富なモジュールの恩恵をうけることが出来ます。各言語の標準となるライブラリに同等な機能があったりして何方を使うか迷う場面もありそうですが、他言語でもQtの知識を共...
ネックスピーカーの2台目を入手とUbuntuPCをWOLブート設定しました。
PCのモニター用にAmazonで購入した安価なネックスピーカーを使っていて、イヤホンと違い長時間着用していても肉体的ダメージを受けない点が素晴らしい。あまりに便利すぎて2代目2台目を購入しました。意識たつもりはないのですが、安い機種を探した...
スロットとシグナルを調べてみました。シグナルオブジェクトの変更を他のオブジェクトへ伝える仕組みスロットシグナルを受け取って動作する関数またはメソッドPysideのGUIアプリで使われるButtonなどのウィジェットでは、Buttonをクリッ...
PySide6のQSettingsでアプリケーションの設定ファイルとしてiniファイルの読み書き
アプリケーションでデータベースの接続文字などの設定データをiniファイルから読み込むサンプルコードを作成していました。import sys, osfrom PySide6.QtWidgets import QApplication,QMai...
WSL-Ubuntu環境でPySide6のウィンドウを作成したら日本語が文字化けした。
タイトルバーが文字化けしていたので、日本語フォントを読み込むようにしてみました。import sysfrom PySide6.QtWidgets import QApplication,QMainWindowfrom PySide6.QtG...
WSL2上のUbuntuでCUDAを有効にしたIOPaintをインストールする。
リアルPCにインストールされたUbuntuにIOPaintのインストールは過去に行いました。IOPaint今回はWSL2上のUbuntuにCUDAを有効にした状態でIOPaintをインストールした記録になります。CUDAを導入する前にGPU...
WPFでコンテキストメニューの項目をコレクションとバインドし項目を動的に追加する
メインメニューなどはあらかじめ定義された機能を呼び出すので、XAMLで静的に定義しても良いですが、最近使ったファイル(Recent)など動的に作っているメニュー項目がどのように作っているか調べてみました。ファイル名:MainWindow.x...
PowerShellでls(Get-ChildItem)の結果を更新日付順に並べ替える。
更新日付が新しいファイルやフォルダを見つけたい場合があるので並べ替えて表示する方法を調べてみました。カレントフォルダのファイルの一覧を取得する例Get-ChildItem Sort-Object LastWriteTime -Desce...
WPFのGrid上にコントロールを重ねて表示することでウォーターマーク(プレースフォルダ)機能を実装する
Gridにコントロールを複数配置するとコントロールが重なって配置されます。Grid上にTextBlockを配置<Window x:Class="GridOnTextBox01.MainWindow" xmlns=" xmlns:x=" xm...
ThinkPad X230にUbuntuをインストールした話
Window10のサポート終了を見越して、長年所有しています、ThinPad X230にUbuntuをインストールしました。インストールThinkPad X230には内部ストレージに2.5インチのSATAとmSATAの2つのストレージを内蔵...
Pythonでプログラミングするために学んだ内容を書き留めています。エントリーポイントPythonはプログラムの開始位置となるエントリーポイントは無く、スクリプトに記述した順番に実行されます。エントリーポイントがほしい場合に以下のようなコー...
手元にメモを取る筆記用具がないことがありますが、スマホは高確率で手元にあります。最近ではもっぱらスマホでメモをデジタル媒体として保存するようになりました。デジタルで取るメリットとしては、他のコンテンツの素材として流用しやすい点にあります。特...
chromeでGoogleKeep上のメモを開くショートカットをデスクトップに保存する方法
GoogleKeep上のメモにデスクトップから素早くアクセスするためにショートカットを作成しました。手順 アドレスバー右の縦に3点のアイコンをクリック(GoogleChormeの設定) 「キャスト、保存、共有」→「ショートカットを作成」をク...
WPFでTreeViewでデータバインドするサンプル2「エクスプローラーの左側」
Windowsのファイルエクスプローラーの左側のドライブやフォルダの階層構造をTreeViewで再現してい見たいと思います。ソースコードファイル名:FolderItem.csusing System.ComponentModel;using...
Interpreterパターンを検索すると、四則演算をしているサンプルが多く見つかったので、それに倣いなるべくシンプルに加算をするコードを作成してみました。// Interpreterパターン// インタフェースinterface IExp...
Pythonのforとrangeオブジェクトとlist(配列)
一定の回数を繰り返すFor文は様々なプログラミング言語に存在します。一般的な書式としてはfor(i=0; i < 10; i++) { ループ内の処理 }のような感じになります。変数iが繰り返す数のカウンタとなり、i=0で初期化しi<10で...
TreeViewでフォルダーを表現したいと思い試作してみます。ファイル名:FolderItem.csusing System.ComponentModel;using Reactive.Bindings;namespace TreeView...
Pythonでインストールされているバージョンを確認する方法。
コンソールなどでpythonのバージョンを確認したい場合コンソールで以下のコマンドを入力します。python --version 又は python3 --version複数のpythonがインストールされている場合、コンソール環境のデフォ...
C#のReactivePropertyを使い異なるコントロールで同じ値を保持するようにする。
テキストボックス2つとフォームのタイトルを同じ値になるようにしたい。各々コントロールで別のReactivePropertyをバインドし、Subscribeで値の変更の通知をうけ、ほかのコントロールソースになっている値も変更するようにコードを...
Pythonで配列(list)の要素を全て書き換えるコード3選
配列(list)で全ての要素を一括書換え方法のうち、よく使いそうな3つのコードを試してみました。forループを使う方法my_list = for i in range(len(my_list)): my_lis...
Pythonで配列(list)・連想配列(dict)・タプル(tuple)初期化
pythonのコンテナの配列・連想配列・タプルの初期化をする場合、括弧記号で初期化した記憶があるのですが、どの括弧がどのコンテナの初期化するか確認してみました。配列(list)pri...
PySide6でツールバーにSVG画像をアイコンとして配置したボタンのサンプル【QToolTip】
ツールバーにSVG画像をアイコンとして配置したボタンのサンプルimport sysfrom PySide6.QtWidgets import QApplication, QMainWindow, QToolBar, QPushButton,...
WPFのコンボボックスは文字入力が出来ないと思い込んでいました。<Window x:Class="ComboboxWithTextBox01.MainWindow" xmlns=" xmlns:x=" xmlns:d=" xmlns:mc=...
PowerShellで正規表現の文字置き換えを使いWindowsのローカルパスをLinuxのパスに変換
正規表現での文字の置き換えは便利なのですが、頻繁に使わないと使い方を忘れてしまいます。特に特定の文字列をキャプチャし、変換後の文字列にキャプチャした文字を組み入れるケースによく遭遇するので、確認してみたいと思います。今回はWSLなどで扱うL...
PySide6でメニューとステータスバーのサンプル【QAction】
メニューとステータスバーのサンプルスクリプトです。import sysfrom PySide6.QtWidgets import (QApplication, QMainWindow)from PySide6.QtGui import (Q...
C#でデザインパターン「Chain of Responsibility」
「Chain of Responsibility」要求を処理できるオブジェクトを連鎖させ、要求を順に渡していくパターンだそうです。サンプルプログラムで確認してみたいと思います。ソースコード// 要求を処理するインターフェースinterfac...
ExcelのVBAを使いShift-JISコードで半角文字を判定するユーザー関数「IsAllHankaku」
令和の世の中になってもSift-JISの半角全角に悩むことになるとは思いもしませんでした。準備VBAが実行可能な状態Excel⇒開発⇒VisualBasic⇒標準モジュールの追加⇒ソースコード貼り付けソースコードFunction IsAll...
当ブログサイトのサイドバーにサイト内検索のガジェットをセットしていす。主な目的は検索することで、記事のネタを過去に投稿していないか確認するためです。ブログ開設当初、サイト内検索であればGoogleでサイト内検索がおすすめ的な情報から、当サイ...
PySide6でタブウィジェットのサンプル【QTabWidget】
タブウィジェットを使ったサンプルです。import sysfrom PySide6.QtWidgets import QApplication, QWidget, QTabWidget, QVBoxLayout, QLabelclass M...
コマンドラインでシステム情報を取得する「fastfetch neofetch」をインストールした話
コマンドラインでシステム情報を取得するコマンドがあるようなので、すぐ試せるPCにインストールしてみたいと思います。Windows11インストールscoopでインストールscoop install fastfetch実行結果fastfetch...
unique_ptrについて学習しています。スタックに生成したオブジェクトnewではなくクラスを宣言だけするとオブジェクトはメモリのスタック領域に配置されます。スタックにクラスのインスタンスを生成するとスコープ(この場合main関数のブロッ...
PySide6で画像ファイルをドラックアンドドロップで表示する【QPixmap】
QPixmapのサンプルです。import sysfrom PySide6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayoutfrom PySide6.QtGui impo...
C#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。3
INotifyPropertyChangedを継承したクラスのオブジェクトをViewModelとしてWinFormのコントロールとバインドすることが出来ました。今回はジェネリッククラスの勉強がてら、ジェネリッククラスを使うコードに書き換えて...
C#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。2
前回はテキストボックスとラベルに同じプロパティをバインドしましたが、今回は別のオブジェクトをバインドし、変更通知で連動させてみます。前回の記事ソースコードファイル名:Form1.Designer.csnamespace VMsample01...
気が付くとPCを複数所有していることがあります。ようはPCを新調したのに古いPCを処分することが出来ないという、当人には止めることのできない謎の現象です。さらに、自作PCを行っていると、PC単位の更新ではなくPCパーツ単位での更新になるので...
PySide6でツリービューのサンプル【QTreeView】
ツリービューとリストビューでファイルマネージャーぽくフォルダを移動するサンプルプログラムです。import sysimport osfrom PySide6.QtWidgets import (QApplication, QWidget, ...
PySide6のリストビューのサンプル【QListView】
QListViewのサンプルスクリプトです。import sysfrom PySide6.QtWidgets import QApplication,QMainWindow,QVBoxLayout, QWidget,QHBoxLayoutf...
「ブログリーダー」を活用して、84さんをフォローしませんか?
昔のWindows系OSで設定用のファイルとしてiniファイルがありました。Key1=Value1Key2=Value2AnotherKey=AnotherValueこちらの書式を連想配列に変換してみ...
エクスプローラーF2キーでのファイル名が編集が出来るますが、ListViewで同じことができないか試行錯誤しています。プロジェクトの作成ソースコードファイル名:BooleanToVisibilityConverter.csusing Sys...
DBのテーブルを編集するGUIフォームを作成するにあたり必要な情報を集めてコード化してみました。さらにコード量が多くなりそうなので一旦記事にしてみました。プロジェクトの作成dotnet new wpf -n プロジェクト名cd プロジェクト...
ペイントソフトのKritaでPythonスクリプトが実行出来るようなので試してみます。スクリプター(Pythonエディタ&実行)・Kritaを起動&画像を用意・メニューの「ツール」→「スクリプト」→「スクリプター」・文字を出力する以下のスク...
異なるオブジェクトで同名プロパティの値をコピーすることがあり、プリミティブな形なのでリフレクションで上手いこと処理できないかと思いコードを書いて見ました。class MyClassA{ public string Name { get; s...
クラスのオブジェクトからプロパティ名を取得してみます。サンプルプログラムclass MyClassA{ public string Name { get; set; } = ""; public int Value {get; set; }...
プロジェクトディレクトリにソースファイルが複数保存されることになりますが、そのファイルをサブディレクトリで分類することができます。基本的にエクスプローラーでサブディレクトリを作成し移動するだけで良いみたいです。ただ、WPFのMainWind...
WPFのリストビューなどのデータソースとしてReactiveCollectionを使うのですが、一度内容をクリアして再表示するような場合、クリアの終了を待つ必要があります。普通の配列やコレクションであれば、コレクションの要素数をCount(...
細かな機能ではありますが、テキスト入力でCtrl+→で次の単語の先頭へ移動する機能があります。同様にマウスのダブルクリックで単語選択が出来たりします。メモ帳など簡易のテキストエディタやブラウザのテキスト入力項目でも、同じショートカットキーが...
WPFでアプリケーションを作成していると、エクスプローラーからファイルをドラックアンドドロップで開くコードをよく書きます。そのたびに当ブログ記事を検索して、必要なコードをコピー&ペーストしています。それでも良いのですが、ビヘイビアとして作成...
PowerShellでファイルを検索しGUIアプリで開けると便利かと思いスクリプトを作成してみました。はじめC#のWinFormsで作成してみましたが、標準入力(パイプライン)の部分が動作させることが出来ませんでした。PowerShellで...
Observerパターンはオブジェクトの変化を通知する仕組みとのこと。C#ではObserverパターン用にIObservable<T>とIObserver<T>というインターフェイスが用意されているので、これを使ったサンプルコードをGemi...
ゆっくりムービーメーカー4の動画素材は絶対アドレスで記録されており、別PCにプロジェクトファイルを移動するとフォルダ構成が異なる為、素材ファイルが読み込むことが出来なくなります。その場合、リンク切れを起こした素材ファイルを再度割り当てするこ...
プログラミングを学習する方法としてプログラミング言語の書籍を購入し、それを教科書としてサンプルプログラムを実行したりしながら学習を進める方法があります。今の時代であれば書籍の代わりに配信されている動画で学習する方法もありますし、リモートで受...
基本的な文字列操作と正規表現について調べてたことを記事にしています。オブジェクトの文字列化オブジェクトに.ToString()メソッドが定義されている場合、呼び出すことで文字列化することが出来ます。Console.WriteLine(obj...
「VeraCrypt」はオープンソースのディスク暗号化ソフトウェアです。こちらのソフトを愛用しています。基本的にWindows環境で使用していますので暗号化されたストレージのイメージファイルを仮想ドライブとしてマウントして使っています。スト...
コードを再利用することを考えるとクラスライブラリ(classlib)として作成するのが望ましい。dotnet.exeのでclasslibのプロジェクトは以下のコマンドで作成することが出来ます。クラスライブラリプロジェクトの作成コマンドdot...
pythonでスクリプトで定義した関数を別のスクリプトで参照する場合、以下のようなコードを記述します。if __name__ == "__main__": // 直接実行の場合実行されるコードPowerShellで同じようなことが出来ないか...
イラストなどを描くことは無いですが、画像加工ツールとして他のペイントソフトには無い機能があるので、試したことを覚書として残しておきます。ベクターレイヤーベクター形式ですので線を拡大縮小、移動、回転、変形などしても歪みが少ない特性があります。...
何気に使っていたPSCustomObjectの基本的な使い方を確認してみました。<#.SYNOPSISPSCustomObjectの操作を確認する。#># PSCustomObjectの生成$psco = @...
カレントディレクトリを変更するために、コンボボックスを使ってドライブの一覧を選択するUIがあります。 また、ドライブだけではなくカレントディレクトリとその上位階層も選択するようになっていると便利です。 実際作れるか挑戦してみました。 以下7
前回インターフェイスのデシリアライズに失敗しましたので対策を考えてみたいと思います。 まずListの要素の型を確認します。TはISampleBaseですが各要素に対してGetType()メソッドを実行しどの型になるか確認します。 using
List<T>のTをインターフェースにしたオブジェクトをJSON形式でシリアライズ・デシリアライズ出来るのか確認してみます。 予想ですがシリアライズは出来てもデシリアライズは無理そうな気がします。 まずはシリアライズしてみます。
C#ではzipファイルを扱うライブラリがありますが、今回はzipファイルをバイナリデータとして読み込んんで中身をのぞいいてみようと思います。 wikipediaでZIPファイルのページを眺めていたところZIPファイルの構造の情報がありました
全てのピクセルの左右上下を検査し縁に当たる部分か調べる方法で縁取りをしてみます。 import cv2 import numpy as np def createBaseImage(): # 黒色のキャンバス(512x512)作成 img
MediaElementはWPFで動画を再生することが出来るコントロールです。 今回は動画を再生した際どのようなイベントが発生するか確認してみます。 サンプルプログラム ファイル名:MainWindow.xaml <Window x:
インターフェイスを使ったことはあっても自分で作る機会ほどんどないのですが、たまたま使わざるをえない状況になりましたので、サンプルプログラムを書いてみたいと思います。 using System.Collections.Generic; nam
「Border」の名称から罫線を引くコントロールと予想しますが、実際どのような代物なのか試してみます。 XAMLにborderをセット <Window x:Class="BorderSample.MainWindow&quo
前回にクラスライブラリとコンソールプロジェクトを使えるようにしましたが、今回はシンプルにWPFのアプリケーションを作成するプロジェクトを作成します。 WPFプロジェクトを作成しMicrosoft.Xaml.Behaviors.WpfとRea
ZipFileをUpdateモードで開いてzipファイル内のファイル(Entry)を取得Delete()メソッドで削除します。 ソースコード using System.IO.Compression; const string zipfile
WPFでINotifyPropertyChangedを使ってみたことがありました。 その後にもっと便利なReactiveProperyを知ったため、長らく忘れていました。 正直MVVMなWPFは小規模なプログラミングだと面倒を感じ、WinF
オープンソース系のソフトで動画出力部分にffmpegが使われている場合が多いのですが、最近とあるアプリケーションで動画を書き出した所、イベントログにffmpeg.exeがクラッシュした旨ログが出力されていることがありました。 .AVIでは成
SSDに保存されたファイルサイズが216MBのPNG形式画像ファイルがありまして、これをWinFormsのPictureBoxで表示するプログラムを書きます。 // パターン0 using FileStream fs = new(fileN
手作りのソフトなので計測なので精度は今一つですが、System.Drawingが一番速い結果になりました。 System.Drawing:22ms Magick.NET:39ms OpenCVSharp:33ms Windows環境で実行し
ListViewの動作が遅い原因を探ってみたところ、オーナードローでの描画にサムネイル画像の用意が間に合っていないことが原因でした。 VirtualModeで表示部分だけの描画される動作も、そもそも描画の準備が間に合っていないためスクロール
スライドスイッチみたいな見た目を想像しましたが、押しボタンタイプの見た目です。 ソースコード namespace ToolStripToggleButtonSample1; public partial class Form1 : Form
前回作成した内容で使ってみたのですが、目的が画像や動画の選択ですので、ファイルの一覧で画像の内容が目視出来たほうが良いことに気が付きました。 ついでにGIMPの.xcfやPhothoShopの.psd及び動画の.aviや.mp4などの内容も
少しずつ調べていた機能がだいぶ溜まったので、以前から作ろうと思っていたファイルマネージャ(劣化版エクスプローラー)を作成したいと思います。 アプリケーションのファイルの一覧からGIMPなどの画像加工のアプリケーションに画像ファイルをドラッグ
複数のURLを順番にダウンロードするスクリプトがあるのですが、ダウンロードするURLを配列で管理しているとエラーが発生した際、どこまで実行したか不明になってしまいます。例外処理が行われていないのが原因なのですが、問題点には目をつむってエラー
カレントディレクトリのファイルの一覧をリストビューで表示するプログラムを作成しました。 リストビューのアイテムがファイルの場合とディレクトリの場合で別のアイコンが表示されるようになっています。 namespace ListViewSampl