C#でメールを受信するコンソールアプリを作成
C#でメールを受信するコンソールアプリを作成 はじめに C#でメール受信したときに不要なメッセージを削除したくなり、 まずは受信するアプリを作成しました。 環境 Windows 11 Pro Visual Studio 2022 取得方法 調べたら、 ・OpenPop.net ・MailKit の2種類があります。 NuGetでOpenPopをインストールしました。 作成したプログラムコード...
View Article[Unity]2D牧場ゲームを作ってみる その4[キャラクターの移動・会話処理を切り分け]
前置き 前回の記事で、他のキャラクターに話しかけたときにメッセージを表示をするように実装しました。 [Unity]2D牧場ゲームを作ってみる その3[メッセージ表示] 今回作成するものは大きく分けて以下の2つになります。 主人公のキャラクターが会話している時は移動処理をしない。 会話が終了したら移動処理に切り替えるようにする。 前回までの実装した動きは以下になります。...
View Article【C#】関数から2つ以上の戻り値を返す方法
結論 Taple型もしくは自作(カスタム)クラスを使います。 解説 簡単に関数から2つ以上の戻り値を返したい場合はTaple型を使用します。 使用方法は下記になります。 Taple型で返す /// <summary> /// ユーザーの名前と年齢を返します。 /// </summary> /// <returns>item1:ユーザー名,...
View Article【C#】Head First デザインパターン5章 Singletonパターン
シングルトンパターン 今回は5章シングルトンパターンをC#で勉強していきます Head Firstデザインパターン https://www.oreilly.co.jp シングルトンパターンはクラスのインスタンスの単一性を保証するデザインパターンです。...
View Articleインターフェースに静的メソッドを作りたくなったら
インターフェース ガチのinterfaceだと無理なのでclassをインターフェースとして作成する public class ISomething { protected delegate void StaticFuncDelegate(string arg); protected static StaticFuncDelegate func; public static void...
View Article2D線分計算Class
線分と線分の交差判定や交差点、線分と点との最短距離、外積と法線を求める等の2Dでよく使う処理をまとめたClass ClassLine.cs using System.Collections; using System.Collections.Generic; using UnityEngine; //線分class public class ClassLine { public Vector2...
View ArticleWPFをWindowsFormsのOwnerに設定する
問題 WPFのウィンドウ(System.Windows.Window)を WindowsFormsのフォーム(System.Windows.Forms.Form)のOwnerに設定したい。 検索すると一番上に↓が出てきたが欲しい答えではなかったので別解をメモしておく。 WPFウィンドウをWindowsフォームの親に設定する - MSDN 解法...
View ArticleGtk3アプリ Gtk.Scaleを利用する
Gtk.Scaleを利用する Gtk.Scaleを利用するにはGtk.Adjustmentを追加しないといけない。 GladeからGtk.Adjustmentを追加する 追加されると左のツリーにAdjustmentが追加されます。 Adjustmentのパラメーターを設定する 初期値 増減値などが設定できる プログラムからAdjustmentを追加する scale1.Adjustment =...
View Article【C#】非同期で処理を実施する方法
結論 Task.Run、async、awaitを使います。 非同期ソース例(Task.Run) Console.WriteLine("処理を開始"); var task = Task.Run(() => { //時間がかかる処理 for (int i = 0; i < 5; i++) { Console.WriteLine("非同期処理中...");...
View Articleゴッドファーザー風の画像の作り方。
この記事はリンク情報システムの「TechConnect!2022年2月」のリレー記事です。 engineer.hanzomon のグループメンバによってリレーされます。 (リンク情報システムのFacebook・Twitterもヨロシクです!) TechConnect!2022年2月のインデックスはこちら 1.はじめに...
View ArticleGtk3アプリ 画像を表示する
Gtk.Imageに表示する DisplayからGtk.Imageを選択 EmbededResourceから画像を取得し表示する 画像をアプリケーションの中でバンドルした状態で取得し表示できます 画像のプロパティからBuildActionをEmbededResourceに変更する必要があります...
View ArticleC#製の静的サイトジェネレータ「Statiq」でブログを書く
この記事は、C#製の静的サイトジェネレータ「Statiq」を使ってブログを作る記事です。 Statiqは、Razor構文でサイトのレイアウトを作って、MarkDownで記事を書いて、dotnet run!!でHTMLを出力してくれる便利ツールです。 タグや公開日などのメタデータも管理できます。...
View Article[懺悔] すごい久しぶりにリハビリプログラム作ったら .NET の良さを台無しにした件(docs をちゃんと見よう…!)
皆さんごきげんよう。今日は、懺悔です。 予定していた偉い人へのレビューがリスケになって、ちょっと時間が空いたので、そうだ担当製品(※)をたまにはちゃんとさわらなきゃ!と思いついて、Visual Studio 2022 でちょっとリハビリがてら、フォントを列挙するプログラムを C++ と .NET で作ったんですが…。すごい久しぶりだったんで、.NET...
View ArticleC#でSqlConnectionの後片付けをする時のusingの使い分け
背景 保守してたら、try-finallyでDBのコネクションの接続をクローズして管理しているコードを発見しました。 ぱっと見usingを使った方が良さげに思え書き換えたけど、例外が発生することに…。 ※. usingはJavaでいうtry-with-resourcesという認識 結論 コネクションの再利用する前提なのにusingで破棄していたことが原因...
View ArticleTexture2Dにドット単位で線を引く
前回のClassLineを応用して ブレゼンハムのアルゴリズムをUnity用に改変したものです。 全ての線を引いたあと、 Texture2D.Apply(); でテクスチャに反映されます private Color DrawColor = Color.white; private void DrawLine(Texture2D tex, ClassLine line) { Vector2 v =...
View ArticleWIFI パスワード確認(C#)
概要 今日は家で使っているWIFIのパスワードを調べるコマンドを作成しました。 普段WiFiパスワードを調べるにはWEBで検索して画面操作でパスワードを確認しまたが、 今回はパソコンからアクセスしたことがあるWIFIのパスワードを表示するコマンドを実行でパスワードが分かるようになります。 事前準備 ①WIFIをアクセスしたことがあるノートパソコンまたはデスクトップPCを用意します。...
View Article.NET nanoFrameworkでマイコンプログラミング(LEDとボタン)
.NET nanoFrameWorkのサンプルプログラム2つ目です。 今回はM5ATOM MatrixのボタンとLEDを使ったプログラムです。 使用するハードウェア ・M5ATOM Matrix 使用するソフトウェア ・VisualStudio2019 ・ファームウェア ESP32_PICO 1.7.4-preview.45 追加するNuGetパッケージ...
View Article「このCSVファイルのココとココをちょっと変更して。簡単でしょ。30分で」といわれた時の便利なc#テンプレコード
状況 「このCSVファイルのココとココをちょっと変更して。簡単でしょ。30分で」という依頼をうっかり引き受けてみたら、自由なルールの CSV のために手こずったので、備忘録もかねて記載します。 ちなみに、受け取った CSV はこんな内容でした。 CSVサンプル 1,"029","奈良県","ようこそ!",2021/2/10 2,"013","東京都","本日の面会者は、 ・山田 ・田中...
View Articleイベントを await で受け取る
なぜイベントを await で受け取りたいか C# プログラミングではイベントのハンドリングが欠かせません。ボタンをクリックした時のイベント、画面が表示された時のイベントなど、様々なイベントに応じて呼び出されるコードを書く方式を、イベント駆動プログラミングと言います。...
View ArticleUWPのプロジェクトでxamlとxaml.csが同じレベルで表示されてしまう。
はじめに UWPのプロジェクトを編集していたらxamlとxaml.csが 同じレベルで表示されてしまいました。 ボタンのイベントを追加しようとしてもコード編集できません。それを直す方法を調べました。 変更 参考ページの方法でプロジェクトのアンロードを実施し、 csprojファイルを編集しましたが、ボタンのイベントが 紐づきませんでした。...
View Article