0
Help us understand the problem. What are the problem?

posted at

updated at

既存のアプリケーションに必要なデータを追加するプログラムを考えてみる

概要

メインとなるプログラムに必要なデータを後から追加する必要があるとき、ユーザー自ら当該のデータフォルダにコピーすることは、ユーザーにとって少々煩わしいかもしれません。そこで、データを追加するためのプログラムを考えてみました。

準備する物

追加するデータ
01.jpg
※画像は一部加工しています。
今回は、画像と音声ファイルを追加することにします。

作り方

1 ウィンドウに必要な部品を配置する

最低限必要な部品は「テキスト」(又はラベルでも可)×1、「ボタン」×2または3です。お好みのサイズや配置でどうぞ。
02.jpg

2 追加するデータを素材として利用する

プログラムの頭に追加するデータを素材として追加します。追加したいデータをすべて「素材として利用する」文で指定します。

「photo.jpg」を素材として利用する
「sound.wav」を素材として利用する

3 追加先を選択できるようにする

今度は追加する先を選べるようにします。「参照ボタン」を押すことで追加するexe形式(アプリケーション)ファイルを選択します。

参照がクリックされた時の手順
    開く画面のフィルタを、「プログラム本体|*.exe|すべてのファイル|*.*」に変える
    開く画面を表示する
    もし開く画面のキャンセルなら、終了する
    ファイル名は、開く画面のファイル名
    ファイル名テキストの内容を[ファイル名]に変える
終わり

4 素材を追加先へコピーする

2で指定した素材(つまり、追加したいデータ)を3で指定したプログラム(つまり、追加先)へコピーします。この時、追加先として指定するのは3で指定したプログラムを動作させるために必要なフォルダで、3で指定したプログラムとおなじディレクトリ以下にあるフォルダにしています。(下記の例では、「systemfile」というフォルダがあるということにしています。いろいろ指定はできますが、最もありえそうな環境にしてみました。)また、追加先のフォルダが見当たらない場合やすでに同じ名前のファイルがある場合はエラーを表示し追加をキャンセルします。

追加がクリックされた時の手順
        作成先フォルダは、「[ファイル名のフォルダだけ]systemfile」
        もし作成先フォルダというフォルダが存在するなら
            もし 「[作成先フォルダ]\photo.jpg」というファイルが存在するなら
              「photo.jpgはすでに登録されています。」を警告アイコンで表示する
            でなければ
                素材リストから「photo.jpg」を「[作成先フォルダ]\photo.jpg」へ保存する
                「追加が完了しました。」を情報アイコンで表示する
                閉じる
            もし終わり
            もし 「[作成先フォルダ]\sound.wav」というファイルが存在するなら
              「sound.wavはすでに登録されています。」を警告アイコンで表示する
            でなければ
                素材リストから「sound.wav」を「[作成先フォルダ]\photo.jpg」へ保存する
                「追加が完了しました。」を情報アイコンで表示する
                閉じる
            もし終わり
        でなければ
                「追加に失敗しました。[改行]●考えられる原因●[改行]・プログラム本体の選択を間違っている。[改行]・プログラム本体のあるフォルダやデータが移動されているか破損している。」を警告アイコンで表示する
        もし終わり
    終わり

同一のファイルがあるときに、名前を自動的に変更して登録したいときなどは適宜「もし」を追加してみてください。

最後に

今どきネットワークから直接ダウンロードして追加すればいいじゃないかという声が聞こえてきそうですが、インターネット環境にないPCへデータを追加するときなどに使えるかもしれません。

余談

はじめてプログラミングというのに触れたのは中学生の時でした。その当時はコンピュータを扱う科目がなく、プログラミングのことは数学の教科書の最後のほうに書いてあるだけだったように思います。(たしかCOBOLという言語だったような記憶があります。)めっぽう数学が苦手だった私は、「プログラム=数学」なんだと勝手に決めつけている部分がありました。そこで出会ったのが「TTSneo」という日本語プログラミング言語でした。そしてその後継である「プロデル」も触れることになったわけです。社会人になった今でもこうしてプログラムに触れていられるのは、母語である日本語でプログラムができるからということも言えると私自身感じています。つたない文章でしたが、最後までお読みいただきましてありがとうございました。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?