C#樹林– category –
プログラミング言語のC#を勉強したときのノートです。
-
C#樹林
画像リサイズアプリ【C#】
経緯 デジカメで撮った画像をExcelに貼り付けようとするときに、1枚5MBもあって Excelファイルが重くなってました。 ペイントアプリでリサイズすることは可能ですが、めんどくさいので、 今回,C#でWindowsアプリを作ってみました。 レイアウト まず、アプ... -
C#樹林
ファイル仕分けアプリ【C#】
経緯 ルーティンワークでファイルを別々のフォルダに仕分けする作業があった。 ファイルをいちいち貼り付ける作業がめんどくさいので、 C#でファイルを仕分けするアプリをつくってみました。 仕様 仕様は以下の通りです。 ファイルを選んで、実行ボタンを... -
C#樹林
【C#】PNG画像をPDFに変換するWindowsアプリを作成してみた【iTextSharp】
経緯 C#を使って、PNG形式の画像ファイルをPDF形式に変換したいと考え、今回、簡単なWindowsフォームアプリを作成してみました。 変換処理には、PDF作成ライブラリの「iTextSharp」を使用しています。この記事では、実際の実装手順から、使用したコードま... -
C#樹林
【C# × MigraDoc】PDF出力時に使用できるフォント一覧をすべて調べてみた【完全保存版】
経緯 C#でデータを加工し、それをPDF形式で出力するアプリケーションを作成している中で、どんなフォントがPDFで使えるのかが気になりました。 使用ライブラリは**MigraDoc(PDFsharp連携)**です。特に日本語フォントや装飾フォントを扱う際、文字化けや... -
C#樹林
【C#】テキストボックスにファイルをドラッグ&ドロップする方法|.txtファイル限定の実装例あり
経緯 あるWebサイトで、ファイルをドラッグ&ドロップして処理するUIを見かけ、「これをC#のWindowsフォームでも実現できないか?」と思い調べてみました。 結果として、C#でも非常にシンプルなコードで実装可能であることが分かったので、その方法を共有... -
C#樹林
【C#】指定した時刻にWindows PCを自動でシャットダウンするアプリの作り方
経緯 パソコン作業中、「この時間になったら自動でシャットダウンしてくれたら便利だな」と感じることはありませんか?そこで今回は、指定した時刻にWindowsを自動シャットダウンするC#製アプリを作成してみました。 テキストボックスに入力した時刻にシャ... -
C#樹林
【C#】最大値・最小値・平均値・中央値・1σ・2σを求める方法|MathNet.Numericsを使った統計処理
経緯 CSVファイルからデータを読み込む処理ができたので、次のステップとして、統計情報(最大値・最小値・平均値・中央値・1σ・2σ)を自動的に計算したいと思い、今回学習しました。 C#では、ライブラリ「MathNet.Numerics」を使うと、統計解析の実装が非... -
C#樹林
【C#】CSVファイルから特定の行と列を読み取る方法|17行目の2列目・3列目・4列目の値を取得
経緯 C#でCSVファイルを読み込む処理ができたので、次に特定の行・特定の列の値を抽出する方法を学びました。実務では「何行目の何列目にあるデータを取り出したい」というケースは非常に多いため、汎用的に使えるコードを作っておくと便利です。 今回は、... -
C#樹林
【C#】相対パスでCSVファイルを読み込む方法|絶対パス不要で他PCでも動くコード
経緯 これまでCSVファイルを読み込む際に**絶対パス(フルパス)**を使っていましたが、他の人が同じコードを実行する際に、環境依存でエラーが発生しやすいと感じました。 そこで今回は、相対パスでCSVファイルを読み込む方法を学習しました。相対パスを... -
C#樹林
【C#】CSVファイルを読み込む方法|File.ReadAllLinesとSplitでシンプルに実装
経緯 C#を使って、CSVファイルのデータを読み込む処理を実装してみました。今回はデータの加工や分析の前段階として、「CSVファイルを読み込む処理」だけに絞って学習しています。 CSV読み込みは、業務アプリや個人ツールでも非常に頻出の操作であり、基本... -
C#樹林
【C#】.tsvファイルを読み込み、指定行と列だけを抽出・加工して保存する方法
経緯 業務で扱うことが多い .tsvファイル(タブ区切り形式のテキストファイル)を、C#を使ってプログラム的に加工したいと考えました。特に今回は、 351行目以降を5行ごとに間引き 347〜350行目を先頭に追加 特定の列だけを抽出 加工後のデータを新たなフ... -
C#樹林
【C#】.tsvファイルを.xlsxに変換する方法(Microsoft.Office.Interop.Excel 版)
はじめに 業務などで .tsv ファイル(タブ区切りテキスト)を扱っていると、Excel形式(.xlsx)に変換したい場面が多々あります。今回は、C#を使って.tsvファイルを.xlsxファイルに変換する方法についてご紹介いたします。 使用ライブラリと構成 本記事で... -
C#樹林
Unityのスコアやユーザー名をデータベースに送ったり、取得する【php】【C#】【Unity】
経緯 Unityでゲームを作っている時に、「スコアをランキング形式にできたらいいな。」と思っていました。 「ゲーセンでもスマホゲーでもランキングがあるとユーザーも燃えるかな」とも、思いました。 正直、めちゃくちゃ時間がかかってしまいどのような手... -
C#樹林
【C#】VBAマクロをC#から実行する方法|xlApp.Runの使い方と具体的な実装手順
はじめに 複雑なVBAコードをC#に移植しようとしたとき、「移植するより、C#から直接マクロを呼び出したほうが早いのでは?」と思ったことはありませんか? 私自身も、長くて複雑なVBAコードをC#で再構築するのが面倒になり、C#から直接Excelマクロ(VBA)... -
C#樹林
【C#】フォルダ内のすべてのPDFファイルを一括結合する方法|iTextSharpの活用
はじめに 複数のPDFファイルを結合する作業、手動でやっていると地味に時間がかかりますよね。私もC#でPDF処理の自動化を考えていたところ、フォルダ内のPDFファイルをまとめて1つのPDFに結合する処理を実装してみました。 今回はその方法を詳しく紹介いた... -
C#樹林
【C#】取得したフォルダパスの末尾に「¥(バックスラッシュ)」を自動で付ける方法
はじめに C#でフォルダパスを取得する際、FolderBrowserDialogを使って選択されたパスを受け取ることは簡単にできます。しかし、プログラムでそのパスを処理しようとしたときに、末尾に「¥」が付いていないためにうまく動作しないというケースがありまし... -
C#樹林
【C#】double型の使い方まとめ|floatとの違いや使用例も紹介
はじめに C#のコードを読んでいて、「double」というデータ型が登場したので、今回はこのdouble型の意味や使い方、floatとの違いについて勉強しました。 実際に調べてみると、小数を扱う上で非常に重要なデータ型であることが分かったので、備忘録的にまと... -
C#樹林
【C#】.datファイルのデータを取得する方法|BinaryReaderで読み込み処理を実装
はじめに C#を使って開発している中で、.datファイルに保存されたバイナリデータを読み込みたい場面がありました。 今回は、C#で.datファイルの中身を取得する方法について勉強したので、その基本的な実装方法をまとめておきます。 使用するクラス:Binary... -
C#樹林
【C#】.thdファイルのデータを取得する方法|StreamReaderで2次元配列に取り込む実装例
はじめに C#を使って開発を進めている中で、.thdファイルのデータを取り込みたいという場面がありました。今回は、.thdファイルを開いてデータを2次元配列に格納する方法を勉強したので、実装例とともにまとめておきます。 使用するクラス:StreamReader .... -
C#樹林
【C#】.thdファイルを.csvに変換したら文字化けした話|エンコーディング指定で解決【Shift_JIS】
はじめに C#で.thdファイルを.csvファイルに変換するプログラムを作っていたとき、出力されたCSVファイルに含まれる「カタカナ・ひらがな・漢字」がすべて文字化けして困りました。 今回はその原因と、文字化けを防ぐエンコーディング指定の方法を勉強した... -
C#樹林
【Unity】アイテム取得でポイントを加算する方法|タグとTextMeshProを活用【C#初心者向け】
経緯 Unityでゲームを制作する中で、「アイテムに触れたらポイントが増える」仕組みを実装したいと考え、今回学習と実装を行いました。スコア制のゲームではよくある要素ですが、タグによるオブジェクト検出とTextMeshProによるUI表示を組み合わせることで... -
C#樹林
【C#】DataGridViewの列に日付を追加する方法|DateTimeで簡単実装
経緯 C#でDataGridViewを使用している中で、「各列に日付を表示したい」と考える場面がありました。Excelのように、1列ごとに日付を並べて表示する形式です。今回は、DateTime構造体を使って日付の列を自動生成する方法を学びましたので、その実装方法を紹... -
C#樹林
【C#】DataGridViewの行に連続した値を追加する方法|名前リストをループで設定
経緯 C#でDataGridViewを使ったアプリケーションを作成している中で、「行に連続して名前を追加したい」と考え、今回その方法を学習しました。具体的には、「森」「小森」「中森」「大森」といった文字列を、1行に繰り返し並べる処理を作成します。 行に文... -
C#樹林
【C#】ボタンを押して別のフォームを開く方法|Show()の基本的な使い方
経緯 C#のWindowsフォームアプリケーションを作成している中で、「ボタンをクリックしたら別のフォームを表示したい」と考えました。たとえば、設定画面やサブ画面を別ウィンドウとして開きたい場合に必要になる処理です。今回はその実装方法を学習し、動... -
C#樹林
【C#】新しいフォーム(Form)を追加する方法|Visual Studioでの手順
経緯 C#で「ボタンを押すと新しいフォームが開く」ようなアプリケーションを作成しようとした際、そもそも新しいフォームをプロジェクトにどう追加すればよいのかが分からず、今回その方法を学びました。 初心者の方にも分かりやすいよう、手順を整理して... -
C#樹林
【C#】アプリが別のPCで実行できない原因と対処法|フルパス指定に注意
経緯 C#で.txtファイルを読み込むWindowsアプリケーションを作成し、自分のPCでは正常に動作していました。しかし、他の人のPCで同じアプリを実行してみたところ、ファイルが読み込まれずアプリが動作しないという問題が発生しました。 原因を調べた結果、... -
C#樹林
【C#】Randomを使っても毎回同じ数値になる原因と対処法|正しいシード値の設定
経緯 C#でランダムな数値を生成したいと思い、Randomクラスを使って実装しました。しかし、実際に動作させてみると毎回同じ数値が生成されてしまうという現象に直面しました。今回はその原因と、毎回異なるランダムな値を生成するための正しい方法について... -
C#樹林
【C#】Form起動時に自動で.txtファイルを読み込む方法|InitializeComponent()の活用
経緯 C#で単語帳のようなWindowsフォームアプリケーションを作成しており、これまで.txtファイルを読み込む際にはダイアログ(OpenFileDialog)を使っていました。しかし、フォームを開いた時点で自動的にテキストファイルを読み込んでおきたいと思い、そ... -
C#樹林
C#でコマンドプロンプトでいう「cd」の操作がしたい【C#】
経緯 C#でカレントディレクトリの操作がしたくて、今回その方法を勉強しました。 「Directory.SetCurrentDirectory("")」を使う まず、プログラムを書きます。 using System.IO; //カレントディレクトリを変更する Directory.SetCurrentDirectory("C:\\***... -
C#樹林
【C#】Windowsアプリの実行ファイルアイコンを変更する方法|.icoファイルを設定する手順
経緯 C#でWindowsアプリケーションを完成させた際、見た目の仕上げとして気になったのがアプリケーションのアイコンでした。デフォルトのままでは味気なく、見た目も整っていないため、今回は実行ファイル(.exe)にオリジナルのアイコンを設定する方法を...