見出し画像

【楽勝】ChatGPT ❌ソフトウェア開発 応用編

この記事は、初級編と応用編の2部構成の応用編です。

前回の初級編で、環境準備とハローワールドを開発しました。ここの応用編ではパスワード管理ツールを開発ししていきたいと思います。

まだ、応用編をされてない方は、まずそちらの方を御覧ください。

ここでも前回と同じでまず冒険に出る前にこの呪文を教えておきます。

迷子になったらChatGPT先生(https://chat.openai.com/chat)にこう聞いて下さい。この呪文さえわかってればなんとかなります。きっと

○○がわからないです。素人でも簡単にわかるように教えて

また、前回と同様この記事の最後にここでの専門用語集を絵文字付きで書きましたのでそちらも参考あれ。

まずは、アプリケーションの概要をご紹介します。このアプリケーションは、テキストファイルに保存された複数のパスワードから選択し、瞬時にクリップボードにコピーすることができます。開発環境は、C#言語を使ったWindows Formsアプリケーションです。

今回のコーディングはChatGPTに下記のようにお願いしました。ChatGPTの指示通り進めていきます。

https://chat.openai.com/chat

今日のアウトライン(骨組み)はざっくりとこんな感じです。

1.早速 開発しちゃいましょう

1.1 ListBoxを作る

Visual Studioで新しいC#プロジェクトを作成します。「Windows Formsアプリケーション」を選択し、プロジェクト名を入力します。プロジェクトが作成されたら、フォームにListBoxコントロールを追加します。ListBoxの名前を passwordListBox に変更します。

この辺りまでは、前回の初級編で詳しく解説してますのでサクッと来ました。 取り残された方は、下記を参照してください。

1.2 パスワード保管用テキストファイルを作る

まず、パスワードが保管されたテキストファイルを作成します。ファイル名は「pass.txt」にしましょう。 何行かテストとして適当なパスワードを書き出し、自分の好きな場所に保存しましょう。 (後に本物のパスワードをここに入れます。)

1.3 ChatGPTで作られたコードをぶちこむ

「Form1.cs」に下記のコードを追加して下さい。
using System;
using System.IO;
using System.Windows.Forms;

namespace PasswordPicker
{
    public partial class Form1 : Form
    {
        private const string PasswordsFilePath = @"パスワードファイルのパス"; // パスワードファイルのパスを設定

        public Form1()
        {
            InitializeComponent();
            LoadPasswords(); // パスワードを読み込む
            passwordListBox.DoubleClick += PasswordListBox_DoubleClick; // ダブルクリックイベントハンドラを追加
        }

        // パスワードを読み込み、ListBoxに追加
        private void LoadPasswords()
        {
            string[] lines = File.ReadAllLines(PasswordsFilePath);
            foreach (string line in lines)
            {
                string maskedPassword = MaskPassword(line);
                passwordListBox.Items.Add(maskedPassword);
            }
        }

        // パスワードをマスク(最後の2文字以外をアスタリスクに置き換え)
        private string MaskPassword(string password)
        {
            int length = password.Length;
            if (length <= 2)
            {
                return password;
            }
            return new string('*', length - 2) + password.Substring(length - 2);
        }

        // パスワードを選択してクリップボードにコピーし、アプリケーションを終了
        private void PasswordListBox_DoubleClick(object sender, EventArgs e)
        {
            int selectedIndex = passwordListBox.SelectedIndex;
            if (selectedIndex != -1)
            {
                string[] lines = File.ReadAllLines(PasswordsFilePath);
                string selectedPassword = lines[selectedIndex];
                Clipboard.SetText(selectedPassword);
                Application.Exit();
            }
        }
    }
}

1.4 パスワードファイルの場所を変更

「パスワードファイルのパス」に先程保存したパス(アドレス)を入力します。

パスとは、そのファイルやフォルダが保存されている場所を示すアドレスのようなものです。
C:\ は、ハードディスクの中で、最初にある場所です。 pass.txt は、C:\ の中にある pass.txt という名前のファイルです。よって、C:\pass.txt というのが、pass.txt の場所を示すパスです。

1.5 ビルド&実行

ビルドします。
実行します。

1.6 テスト

実行すると、上記のようなツールが飛び出てきます。 予定通り最後の2文字以外は***ってなってますね。ダブルクリックするとアプリケーションは終了します。
ノートパットに貼り付けてみます。 問題なく動いてるかのチェックをします。

1.6 ショートカットキーの設定をします。

ここで本来なら、ソフト開発完了です。下記のexeをダブルクリックをすればツールは使えますが、もっと簡単にツールを起動したいのでショートカットキーを設定しましょう。

アプリケーションのexeファイルを探し、右クリック
「ショートカットを作成」を選択しデスクトップにショートカットを作ります。
作成されたショートカットを右クリックし、「プロパティ」を選択してください。
「ショートカット」タブを選択し、「ショートカットキー」欄をクリックします。キーボードで任意のショートカットキーを入力してください。たとえば、「Ctrl + Alt + P」といった組み合わせが使用できます。「OK」をクリックして、設定を保存します。これで、選択したファイルやフォルダをショートカットキーで簡単に開くことができます。

これで、ChatGPTにサポートされながら、パスワードを簡単にコピーできるC#アプリケーションが完成しました!

最初は時間がかかったと思いますが、次やる時は、素人でも、わずか数分で作成できることがお分かりいただけたかと思います。

まとめ

今回「【楽勝】ChatGPT ❌ソフトウェア開発 応用編」のでは、ChatGPTを使ってWindows上でパスワードを簡単にコピーできるC#アプリケーションを作成する方法を紹介しました。

ChatGPTを活用すれば、さまざまなアプリケーション開発に挑戦してみることができます。次回も、ChatGPTを利用したプログラミングの楽しさをお伝えするために、今後ともいろんなアプリケーション開発のアイデアを紹介します。 お楽しみに!

このブログで使った専門用語達

📌 アプリケーション: プログラムやソフトウェアのこと。コンピュータやスマートフォンで機能を実行するために使われます。
🎓 ChatGPT: OpenAIが開発した人工知能で、プログラミングやアプリケーション開発に関する質問に答えることができる。
🌐 Visual Studio: マイクロソフトが開発した統合開発環境 (IDE) で、C#をはじめとするさまざまなプログラミング言語の開発ができる。
🔸 C#: プログラミング言語のひとつで、ウェブアプリケーションやWindowsアプリケーションの開発に使用される。
🔹 Windows Formsアプリケーション: Windows向けのアプリケーションで、ユーザーが操作できるグラフィカルな画面を持つもの。
🎨 Windows Formsアプリケーションでのコントロール: ウィンドウやボタン、テキストボックスなどの画面上で操作できる部品。
📂 ListBox: Windows Formsアプリケーションで使用される、リスト形式のデータを表示するためのコントロール(部品)。
📝 テキストファイル: 文字データを保存するためのファイルの一種。今回はパスワード情報を保存するのに使われる。
📍 パス: ファイルやフォルダが保存されている場所を示すアドレスのようなもの。
🔨 ビルド: プログラムのソースコードをコンピュータが実行できる形式に変換すること。
🚀 実行: プログラムをコンピュータ上で動かすこと。
🔗 ショートカットキー: キーボードのキーの組み合わせで、特定の機能やアプリケーションを素早く起動するために使われるキー操作。
📃 pass.txt: 今回のアプリケーションで使用されるテキストファイルで、パスワード情報が保存されます。
📝 テキストファイル: 文字データを保存するためのファイルの一種。今回はパスワード情報を保存するのに使われる。
🔍 クリップボード: コンピュータ上で一時的にデータを保存する場所。コピー&ペースト操作で使用されます。
🛠️ フォーム: Windows Formsアプリケーションで使用される、ユーザーが操作する画面のこと。
🔏 パスワード保管: パスワード情報を安全に管理するための方法。今回はテキストファイルにパスワードを保存しています。
🔑 ショートカット: キーボードのキー操作やアイコンをダブルクリックすることで、素早くアプリケーションや機能を起動する方法。


#ChatGPT #プログラミング #初心者向け #アプリケーション作成 #CSharp  

サポートをいただけたら、とてもハッピーになりもっと成長できます。