ざざ虫ロゴ


ひまわり入門

日本語プログラミング言語

ひまわり


▲ひまわり目次へ戻る


 簡易ワープロ(メモ帳を作成する)

○ ファイル、編集、変換メニューの作成

例 簡易ワープロを作成してみる
ひまわりに付属の簡易メモ帳プログラムを参考に、好みの機能を追加してみよう。
参考プログラム
// 6_4_01.hmw メインメモを、作る。 その、レイアウトは、「全体」 // 6_4_05.hmw ファイルメニューを、作る。  新規メニューを、メニュー追加。  線1を、メニュー追加。その、テキストは、「-」  開くメニューを、メニュー追加。  保存メニューを、メニュー追加。  線2を、メニュー追加。その、テキストは、「-」  終了メニューを、メニュー追加。 // 6_4_06.hmw 新規メニューの、イベントは(  「編集中のテキストを初期化しても良いですか?」と、二択。  もし、それが、はいならば(   メインメモの、テキストは、「」。  ) ) // 6_4_07.hmw 開くメニューの、イベントは(  「.txt」の、読込ファイル選択して、ファイル名に、入れる。  もし、ファイル名が、「」ならば、戻る。  ファイル名を、メインメモに、開く。 ) // 6_4_08.hmw 「.txt」の、読込ファイル選択。 それを、表示。 // 6_4_09.hmw 保存メニューの、イベントは(  「.txt」の、書込ファイル選択して、ファイル名に、入れる。  もし、ファイル名が、「」ならば、戻る。  メインメモを、ファイル名へ、保存。 ) // 6_4_10.hmw 終了メニューの、イベントは(  「本当に終わりますか?」と、二択。  もし、それが、はいならば、おわり。 ) // 6_4_11.hmw 編集メニューを、作る。 元に戻すメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+Z」。 その、イベントは、メインメモの、元に戻す実行。 線3を、メニュー追加。その、テキストは、「-」 切り取りメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+X」 その、イベントは、メインメモの、選択文字列切り取り。 コピーメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+C」 その、イベントは、メインメモの、選択文字列コピー。 貼り付けメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+V」 その、イベントは、メインメモの、選択文字列貼り付け。 線4を、メニュー追加。その、テキストは、「-」 全て選択メニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+A」 その、イベントは、メインメモの、全て選択を実行。 // 6_4_12.hmw 母艦の、タイトルは、「簡易メモ帳」 // 6_4_13.hmw 機能メニューを、作る。 ' 文字数のカウント 文字数カウントメニューを、メニュー追加。 その、イベントは(  メインメモの、文字数。  Aは、それ。  (メインメモの、選択文字列)の、文字数。  Bは、それ。  「総文字数は、{A}文字\n選択文字数は、{B}文字です。」と、 言う。 ) // 6_4_14.hmw ' カタカナ変換 カタカナ変換メニューを、メニュー追加。 その、イベントは(  変換対象は、メインメモの、選択文字列。  もし、変換対象が、「」ならば(   「変換対象を選択してください。」と、言う。   戻る。  )  変換対象を、カタカナ変換。  メインメモの、選択文字列は、それ。 )
簡易メモ帳.hmw
'--------------------------------------------------------- ' 簡易メモ帳プログラム '--------------------------------------------------------- 母艦の、タイトルは、「簡易メモ帳」 '--------------------------------------------------------- ' メニューの作成 ファイルメニューを、作る。 新規メニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+N」 その、イベントは(  「編集中のテキストを初期化しても良いですか?」と、二択。  もし、それが、はいならば(   メインメモの、テキストは、「」。  ) ) 線1を、メニュー追加。その、テキストは、「-」 開くメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+O」 その、イベントは(  「.txt」の、読込ファイル選択して、ファイル名に、入れる。  もし、ファイル名が、「」ならば、戻る。  ファイル名を、メインメモに、開く。 ) 保存メニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+S」 その、イベントは(  「.txt」の、書込ファイル選択して、ファイル名に、入れる。  もし、ファイル名が、「」ならば、戻る。  メインメモを、ファイル名へ、保存。 ) 線2を、メニュー追加。その、テキストは、「-」 終了メニューを、メニュー追加。 その、イベントは(  「本当に終わりますか?」と、二択。  もし、それが、はいならば、おわり。 ) ' メモの作成 メインメモを、作る。 その、レイアウトは、「全体」 '--------------------------------------------------------- ' 編集メニューの作成 編集メニューを、作る。' 親となるメニュー 元に戻すメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+Z」。 その、イベントは、メインメモの、元に戻す実行。 線3を、メニュー追加。その、テキストは、「-」 切り取りメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+X」 その、イベントは、メインメモの、選択文字列切り取り。 コピーメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+C」 その、イベントは、メインメモの、選択文字列コピー。 貼り付けメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+V」 その、イベントは、メインメモの、選択文字列貼り付け。 線4を、メニュー追加。その、テキストは、「-」 全て選択メニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+A」 その、イベントは、メインメモの、全て選択を実行。 '--------------------------------------------------------- ' 独自機能の追加 機能メニューを、作る。 ' 文字数のカウント 文字数カウントメニューを、メニュー追加。 その、イベントは(  メインメモの、文字数。  Aは、それ。  (メインメモの、選択文字列)の、文字数。  Bは、それ。  「総文字数は、{A}文字\n選択文字数は、{B}文字です。」と、 言う。 ) ' カタカナ変換 カタカナ変換メニューを、メニュー追加。 その、イベントは(  変換対象は、メインメモの、選択文字列。  もし、変換対象が、「」ならば(   「変換対象を選択してください。」と、言う。   戻る。  )  変換対象を、カタカナ変換。  メインメモの、選択文字列は、それ。 ) '---------------------------------------------------------
ひまわり関連
インターフェイスに関する機能
◆ダイアログ
「○○」と、言う。
「○○」と、尋ねる。
ダイアログ初期値の設定:ダイアログ初期値は、「○○」
キャンセルボタンを押したときの値を設定:ダイアログキャンセルの値は、「○○」
二択、三択、ボタンで選択:「○○」と、二択。「○○」と、三択。
ボタンで選択:「○○」を、「△△\n□□\n××」の、ボタンで選択。
どれか尋ねる:(質問)が、選択肢)の、どれか尋ねる。
色選択。
フォント選択。
読込ファイル選択。
書込ファイル選択。

◆WindowsらしいGUIインターフェイス
部品の作り方:○○を、作る。
標準イベントの記述:○○の、イベントは(
             ‥‥
          )
ボタン部品:○○ボタンを、作る。
エディタ部品:○○エディタを、作る。
エディタイベント:その、キー押した時は(
            ‥‥
         )
         その、クリックした時(
            ‥‥
         )
         その、変更した時(
            ‥‥
         )
バー部品:○○バーを、作る。
     その、最小値は、××。
     その、最大値は、××。
     その、向きは、「○○」 たとえば、「縦」
コンボ部品:○○コンボを、作る。
      その、アイテムは、「○○\n△△\n□□」
リスト部品:○○リストを、作る。
      その、アイテムは、「○○\n△△\n□□」
ラジオ部品:○○ラジオを、作る。
      その、アイテムは、「○○\n△△\n□□」
メモ部品:○○メモを、作る。
グリッド部品:○○グリッドを、作る。
       その、レイアウトは、「全体」。
       その、アイテムは、「項目0、項目1
       データ0,データ1
           …
           …    」
ラベル部品:○○ラベルを、作る。
      その、××は、△△。
           …
チェック部品:○○チェックを、作る。
メニュー部品:○○メニューを、作る。
       △△メニューを、メニュー追加。
       その、イベントは(
           …
       )

その他:
イメージ部品、トラック部品、ブラウザ部品、パネル部品、タブページ部品、ツリー部品、 スプリッター部品


 課題 6
 メモ帳プログラムを考えなさい。 参考までに、サンプルProgramフォルダに「簡易メモ帳.hmw」があります。 これにいくつかの機能(メニュー)等追加してメモ帳を作りなさい。 メモ帳にどの様な機能を追加するかは自由です。
 メニューの例(ただし、斜体部分は、簡易メモ帳に盛り込み済み。)
 ・ファイル:新規、開く、保存、終了
 ・表示:文字フォント、文字サイズ、
 ・編集:元に戻す、切り取り、コピー、貼り付け、全て選択
 ・変換:文字列置換、カタカナ置換、ひらかな置換、半角置換、全角置換
 ・機能:文字数カウント、行数カウント

作成へのアドバイス(ヒント)
-------------------------------------------------------------------------------
表示メニューの作成
フォントを変える→メモを破壊し新しいフォントで、メモを再表示する
(1)メインメモの内容を配列に保存する。
  例 ○○は、メインメモの、テキスト。
(2)フォント選択により選んだフォントを文字書体に代入する。
  例 フォント選択。
    文字書体は、それ。
(3)メインメモを部品破壊し、再度メインメモを作成。
  例 メインメモの、部品破壊。
    メインメモを、作る。
    その、レイアウトは、「全体」。
(4)配列に一時保存した内容を、メインメモに戻す。
  例 メインメモの、テキストは、○○。

文字サイズを変える→メモを破壊し新しい文字サイズで、メモを再表示す
  文字サイズを入力して、以下フォント変える場合と同じ

フォント色を変える
(1)色選択する。
(2)メインメモのフォント色を変える。
  例 メインメモの、フォント色は、○○。
-------------------------------------------------------------------------------
変換メニューの作成
文字列を置換する
(1)選択文字列を配列に代入する。
  例 ○○は、メインメモの、選択文字列。
(2)置換文字列を配列(△△)に入力する。
(3)選択文字列を置換文字列に置換する。
  例 メインメモの、○○を、△△に、置換。

カタカナ変換、ひらがな変換、半角変換、全角変換
(1)選択文字列を各種変換する。
  例 選択文字列を、××変換。
    メインメモの、選択文字列は、○○。
回答
'------------------------------------------------------------------------------- ' 簡易メモ帳プログラム '------------------------------------------------------------------------------- 母艦の、タイトルは、「簡易メモ帳」 '------------------------------------------------------------------------------- ' メニューの作成 ファイルメニューを、作る。 新規メニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+N」 その、イベントは(  「編集中のテキストを初期化しても良いですか?」と、二択。  もし、それが、はいならば(   メインメモの、テキストは、「」。'---(*1)  ) ) 線1を、メニュー追加。その、テキストは、「-」 開くメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+O」 その、イベントは(  「.txt」の、読込ファイル選択して、ファイル名に、入れる。'---(*1)  もし、ファイル名が、「」ならば、戻る。'---(*2)  ファイル名を、メインメモに、開く。'---(*3) ) 保存メニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+S」 その、イベントは(  「.txt」の、書込ファイル選択して、ファイル名に、入れる。  もし、ファイル名が、「」ならば、戻る。  メインメモを、ファイル名へ、保存。 ) 線2を、メニュー追加。その、テキストは、「-」 終了メニューを、メニュー追加。 その、イベントは(  「本当に終わりますか?」と、二択。  もし、それが、はいならば、おわり。 ) ' メモの作成 入力書体は、「MS Pゴシック||12」。 入力サイズは、12。 メインメモを、作る。 その、レイアウトは、「全体」 表示サイズは、文字サイズ。 表示書体は、文字書体。 '------------------------------------------------------------------------------- ' 表示メニューの作成 表示メニューを、作る。 文字サイズメニューを、メニュー追加。 その、イベントは(  文字書体は、入力書体。  文字サイズは、入力サイズ。  ダイアログキャンセルの値は、表示サイズ。  「文字サイズ」を、「8|9|10|11|12|14|16|18|20|22|24|28|36|48|72」の、   リストから選択。  表示サイズは、それ。  メモ記憶は、メインメモの、テキスト。  メインメモの、部品破壊。  文字書体は、表示書体。  文字サイズは、表示サイズ。  メインメモを、作る。  その、レイアウトは、「全体」  メインメモの、テキストは、メモ記憶。  メモ記憶は、「」。 ) 文字フォントメニューを、メニュー追加。 その、イベントは(  ダイアログキャンセルの値は、表示書体。  フォント選択。  表示書体は、それ。  メモ記憶は、メインメモの、テキスト。  メインメモの、部品破壊。  文字書体は、表示書体。  メインメモを、作る。  その、レイアウトは、「全体」  表示サイズは、文字サイズ。  メインメモの、テキストは、メモ記憶。  メモ記憶は、「」。 ) 文字色メニューを、メニュー追加。 その、イベントは( ダイアログキャンセルの値は、表示色。 色選択。 メインメモの、フォント色は、それ。 ) 線3を、メニュー追加。その、テキストは、「-」 入力文字フォントメニューを、メニュー追加。 その、イベントは(  文字書体は、入力書体。  ダイアログキャンセルの値は、入力書体。  フォント選択。  入力書体は、それ。 ) '------------------------------------------------------------------------------- ' 編集メニューの作成 編集メニューを、作る。' 親となるメニュー 元に戻すメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+Z」。 その、イベントは、メインメモの、元に戻す実行。 線4を、メニュー追加。その、テキストは、「-」 切り取りメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+X」 その、イベントは、メインメモの、選択文字列切り取り。 コピーメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+C」 その、イベントは、メインメモの、選択文字列コピー。 貼り付けメニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+V」 その、イベントは、メインメモの、選択文字列貼り付け。 線5を、メニュー追加。その、テキストは、「-」 全て選択メニューを、メニュー追加。 その、ショートカットキーは、「Ctrl+A」 その、イベントは、メインメモの、全て選択を実行。 '------------------------------------------------------------------------------- ' 変換メニューの追加 変換メニューを、作る。 ' 文字列置換ト 文字列置換メニューを、メニュー追加。 その、イベントは(  変換文字列は、メインメモの、選択文字列。  もし、変換文字列が、「」ならば(   「変換文字列を選択してください。」と、言う。   戻る。  )  「置換文字列は」と、尋ねる。  置換文字列は、それ。  「【{変換文字列}】を【{置換文字列}】に変換します。」を、   「OK\nキャンセル」の、ボタンで選択。  もし、「OK」ならば、(   メインメモの、変換文字列を、置換文字列に、置換。   メインメモは、それ。  )。でなければ、(  戻る。  ) ) ' カタカナ変換 カタカナ変換メニューを、メニュー追加。 その、イベントは(  変換対象は、メインメモの、選択文字列。  もし、変換対象が、「」ならば(   「変換対象を選択してください。」と、言う。   戻る。  )  変換対象を、カタカナ変換。  メインメモの、選択文字列は、それ。 ) ' ひらがな変換 ひらかな変換メニューを、メニュー追加。 その、イベントは(  変換対象は、メインメモの、選択文字列。  もし、変換対象が、「」ならば(   「変換対象を選択してください。」と、言う。   戻る。  )  変換対象を、ひらがな変換。  メインメモの、選択文字列は、それ。 ) ' 半角変換 半角変換メニューを、メニュー追加。 その、イベントは(  変換対象は、メインメモの、選択文字列。  もし、変換対象が、「」ならば(   「変換対象を選択してください。」と、言う。   戻る。  )  変換対象を、半角変換。  メインメモの、選択文字列は、それ。 ) ' 全角変換 全角変換メニューを、メニュー追加。 その、イベントは(  変換対象は、メインメモの、選択文字列。  もし、変換対象が、「」ならば(   「変換対象を選択してください。」と、言う。   戻る。  )  変換対象を、全角変換。  メインメモの、選択文字列は、それ。 ) '------------------------------------------------------------------------------- ' 独自機能の追加 機能メニューを、作る。 ' 文字数のカウント 文字数カウントメニューを、メニュー追加。 その、イベントは(  メインメモの、文字数。  Aは、それ。  (メインメモの、選択文字列)の、文字数。  Bは、それ。  「総文字数は、{A}文字\n選択文字数は、{B}文字です。」と、言う。 ) ' 行数のカウント 行数カウントメニューを、メニュー追加。 その、イベントは(   (メインメモの、テキスト)の、行数。 Aは、それ。   (メインメモの、選択文字列)の、行数。 Bは、それ。   「総行数は、{A}行\n選択行数は、{B}行です。」と、言う。 ) '-------------------------------------------------------------------------------


▲ひまわり目次へ戻る


このホームページはLightiningHTMLで作成しました。


Copyrights(c) 2000 ザザ虫. All rights reserved.