c#

コンピュータ

WinFormsで画像ファイルを先読みしキャッシュファイルとして保存する。

画像ファイルをキャッシュする方法としてSQLiteのBlobを使う方法を試しましたが、マルチスレッドでlock処理をはさむと、メリットが薄い感じがしました。今回はシンプルにキャッシュをファイルとして保存しています。キャッシュの有無は、オリジ...
コンピュータ

WinFormsでファイルマネージャの部品

ファイルマネージャのファイルとディレクトリの一覧部分をリストビューで作成しました。ファイル名:FolderManager.cs// ファイスシステムアイテムusing Microsoft.VisualBasic;public class F...
コンピュータ

C#で画像ファイルをキャッシュするプログラム(SQLite)

画像ファイルを読み込んでキャッシュとしてSQLiteのデータベースにBlobとして保存するコードになります。プロジェクトを作成cd (mkdir ImageCacheStore01 -Force)dotnet new winforms -f...
スポンサーリンク
コンピュータ

C#でサムネイル用Bitmapオブジェクトを生成するメソッド

サムネイル用に所定サイズにBitimapオブジェクトを生成します。namespace Thumbnail01;using System.Drawing;using System.Drawing.Drawing2D;public static...
コンピュータ

C#でLRUを使ったキャッシュのサンプルコード

キャッシュ機能を実装する場合、メモリが無限に使える場合を除き、キャッシュとして保存する要素数を制限する必要があります。今回試した方式はLRU(Least Recently Used)と言いまして、直近に参照した要素が一番古いものを捨てること...
コンピュータ

C# WinFormsで画像読み込みをバックグラウンド処理する(スレッド分離と非同期実装)

画像ファイルからBitmapオブジェクト取得するコードなのですが、ファイルの読み込みとデコードを別スレッドで行いたいと思い作りました。スレッドセーフなキューに画像ファイルのパスと、結果を処理するコールバックのコードを渡すと、処理されるような...
コンピュータ

C#とSerilogで例外ログをファイル出力する最小構成

クラスで例外時ログを記録する機能を付与してみますプロジェクトの作成mkdir ILoggerSample01cd ILoggerSample01dotnet new console -f net8.0dotnet add package M...
コンピュータ

C#だけでHTTPサーバーをGUIアプリ(WinForms)に組み込む方法

C#から比較的簡単にhttpサーバーを作ることが出来るとのことですので、WinFormで作るGUIアプリにhttpサーバーを組み込むサンプルを試しました。プロジェクトの作成mkdir WinFormsHttpServerSamplecd W...
コンピュータ

WinFormのタブコントロール(TabControl)のサンプル

タブコントロールを使い方を確認してみました。プロジェクトの作成mkdir TabControlSample01cd TabControlSample01dotnet new winforms -f net8.0ソースコードファイル名:For...
コンピュータ

C#サイズの大きなクラスをPartial Classでcsファイルを分割する機能の使い道

C#ではpartial classを使うと、ひとつのクラスを複数のcsファイルに分割して保存することが出来ます。機能といしては知ってはいたのですが、使う場面を考えて見たいと思います。基本的に1クラス1ファイル(.cs)にすると、ファイルを選...
コンピュータ

WinFormsで作るシンプルなアプリケーションランチャー2【.NET 9 / C#】

アプリケーションランチャーを使っていて登録したアプリケーションの数が増えるとスクロールするのが大変になってきました。対策として、Homeキーでで最初の行に移動する機能と、アプリケーションをダブルクリックするたびに1つ上の行に移動する機能を付...
コンピュータ

C#でLiteDBを試してみた。

LiteDBはSQLを書かずにC#のマネージドオブジェクトとして扱えるデータベースです。アプリケーションのバックエンドに良さそうなので試してみました。プロジェクトの作成mkidr LiteDBSamplecd LiteDBSampledot...
コンピュータ

C#で日本語形態素解析エンジンNMeCabを試してみる。

NMeCabを使うと日本語の文章を単語ごとに分割してくれるようなので試してみました。プロジェクトの作成 mkdir MeCabSample cd MeCabSample dotnet new console dotnet add packa...
コンピュータ

Qt6とC++でシグナルとスロット

ウィンドウにボタンをレイアウトし、ボタンを押すことでボタンの文字が変化するサンプルプログラムを作成しました。ソースコードファイル名:datasource.h#ifndef DATASOURCE_H#define DATASOURCE_H#i...