ざざ虫ロゴ


なでしこ入門

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

なでしこ


▲なでしこ目次へ戻る


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

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


例6-1 簡易ワープロを作成してみる。
下記簡易メモ帳プログラムを参考に、好みの機能を追加してみよう。
参考プログラム
#メモの作成.nako メインメモとはメモ。 そのレイアウトは「全体」 //////////////////////////////////////////////////////////// #開くメニュー.nako 『#親,部品名,テキスト,ショートカット,チェック,イベント なし,ファイルメニュー,ファイル(&F) -,新規メニュー,新規(&N),Ctrl+N,,新規処理 -,- -,開くメニュー,開く(&O),Ctrl+O,,読込処理 -,保存メニュー,保存(&S),Ctrl+S,,保存処理 -,- -,終了メニュー,終了(&C),Ctrl+C,,終了処理』を、 メニュー一括作成。 //////////////////////////////////////////////////////////// #メモの新規処理.nako メインメモとはメモ。 そのレイアウトは「全体」 #●新規処理   「編集中のテキストを初期化しても良いですか?」と二択。   もしそれがはいならば     メインメモのテキストは「」。 //////////////////////////////////////////////////////////// #ファイル読込.nako メインメモとはメモ。 そのレイアウトは「全体」 #●読込処理   「.txt」のファイル選択   ファイル名はそれ。   もしファイル名が「」ならば戻る。   ファイル名を読む。   メインメモのテキストはそれ。 //////////////////////////////////////////////////////////// #ファイル保存.nako メインメモとはメモ。 そのレイアウトは「全体」 #●保存処理   「.txt」の保存ファイル選択   ファイル名はそれ。   もしファイル名が「」ならば戻る。   メインメモのテキストをファイル名へ保存。 //////////////////////////////////////////////////////////// #メモの終了処理.nako #●終了処理   「本当に終わりますか?」と二択。   もしそれがはいならばおわり //////////////////////////////////////////////////////////// #機能メニュー.nako メインメモとはメモ。 そのレイアウトは「全体」 メインメモは「機能めにゅー」 # メニューの作成(文字数カウント処理前の改行取る) 『#親,部品名,テキスト,ショートカット,チェック,イベント なし, 機能メニュー, 機能 -,文字数カウントメニュー, 文字数カウント,,, 文字数カウント処理 -,- -,カタカナ変換メニュー, カタカナ変換,,, カタカナ変換処理 』を、メニュー一括作成 ●文字数カウント処理   メインメモの文字数。   Aはそれ。   (メインメモの選択文字列)の文字数。 Bはそれ。   「総文字数は、{A}文字   選択文字数は、{B}文字です。」と言う。 ●カタカナ変換処理 変換対象はメインメモの選択文字列。 もし、変換対象が「」ならば   「変換対象を選択してください。」と言う。 戻る。 変換対象をカタカナ変換。 メインメモの選択文字列はそれ。 //////////////////////////////////////////////////////////// #母艦のタイトル.nako 母艦のタイトルは「簡易メモ帳」 //////////////////////////////////////////////////////////// #編集メニュー.nako メインメモとはメモ。 そのレイアウトは「全体」 メインメモは「編集メモ」 # メニューの作成 『#親部品名,部品名,テキスト,ショートカット,チェック,イベント なし,編集メニュー,編集(&E) -,コピーメニュー,コピー(&C),Ctrl+C,,コピー処理 -,貼付けメニュー,貼付け(&V),Ctrl+V,,貼付け処理 -,- -,全選択メニュー,全て選択(&A),Ctrl+A,,全選択処理 』を、メニュー一括作成。 #編集メニュー ●コピー処理   元文字列は「」。   スタックはメインメモの選択文字列。 ●貼付け処理   元文字列はメインメモのテキスト。   メインメモの選択文字列はスタック。 ●全選択処理   メインメモを全選択。
簡易メモ帳.nako
'--------------------------------------------------------- ' 簡易メモ帳プログラム '--------------------------------------------------------- 母艦のタイトルは「簡易メモ帳」 '--------------------------------------------------------- 文字書体は「MS Pゴシック|10」。 メインメモとはメモ。 そのレイアウトは「全体」 # メニューの作成(文字数カウント処理前の改行取る) 『#親,部品名,テキスト,ショートカット,チェック,イベント なし,ファイルメニュー,ファイル(&F) -,新規メニュー,新規(&N),Ctrl+N,,新規処理 -,- -,開くメニュー,開く(&O),Ctrl+O,,読込処理 -,保存メニュー,保存(&S),Ctrl+S,,保存処理 -,- -,終了メニュー,終了(&C),Ctrl+C,,終了処理 なし,編集メニュー,編集(&E) -,コピーメニュー,コピー(&C),Ctrl+C,,コピー処理 -,貼付けメニュー,貼付け(&V),Ctrl+V,,貼付け処理 -,- -,全選択メニュー,全て選択(&A),Ctrl+A,,全選択処理 なし, 機能メニュー, 機能 -,文字数カウントメニュー, 文字数カウント,,, 文字数カウント処理 -,- -,カタカナ変換メニュー, カタカナ変換,,, カタカナ変換処理 』を、メニュー一括作成。 ●新規処理   「編集中のテキストを初期化しても良いですか?」と二択。   もしそれがはいならば     メインメモのテキストは「」。 ●読込処理   「.txt」のファイル選択   ファイル名はそれ。   もしファイル名が「」ならば戻る。   ファイル名を読む。   メインメモのテキストはそれ。 ●保存処理   「.txt」の保存ファイル選択   ファイル名はそれ。   もしファイル名が「」ならば戻る。   メインメモのテキストをファイル名へ保存。 ●終了処理   「本当に終わりますか?」と二択。   もしそれがはいならばおわり #編集メニュー ●コピー処理   元文字列は「」。   スタックはメインメモの選択文字列。 ●貼付け処理   元文字列はメインメモのテキスト。   メインメモの選択文字列はスタック。 ●全選択処理   メインメモを全選択。 ●文字数カウント処理   メインメモの文字数。   Aはそれ。   (メインメモの選択文字列)の文字数。 Bはそれ。   「総文字数は、{A}文字   {改行}選択文字数は、{B}文字です。」と言う。 ●カタカナ変換処理 変換対象はメインメモの選択文字列。 もし、変換対象が「」ならば   「変換対象を選択してください。」と言う。 戻る。 変換対象をカタカナ変換。 メインメモの選択文字列はそれ。
なでしこ関連
インターフェイスに関する機能
◆ダイアログ
「○○」と言う。
「○○」と尋ねる。
ダイアログ初期値の設定:ダイアログ初期値は「○○」
キャンセルボタンを押したときの値を設定:ダイアログキャンセルの値は「○○」
二択、三択、ボタンで選択:「○○」と、二択。「○○」と、三択。 ------------------例文02-01 二択.nako
ボタンで選択:「○○」を「△△{〜}□□{〜}××」でボタン選択。 -----------例文07-02 ボタン選択.nako
色選択。
フォント選択。
ファイル選択。
保存ファイル選択。

◆WindowsらしいGUIインターフェイス
GUI部品の作り方:(部品の名前)とは(部品の種類)----------------------例文05-01 挨拶ボタン.nako
位置・大きさを変える方法:gui部品の位置変えるには『X』と『Y』、大きさ変更するには『幅』と『高さ』使う
  --------------------------------------------------------例文05-01 サイズ指定メモ.nako
画面いっぱいに配置する:そのレイアウトは「全体」---------------------例文05-01 レイアウトメモ.nako
一時的に見えないようにする『可視』:○○の可視はオン、オフ -------------例文05-01 可視を変更.nako
一時的に使えないようにする『有効』:○○の有効はオン、オフ -------------例文05-01 有効を変更.nako
マウスを指すとヒントを表示する『ヒント』:そのヒントは「○○」--------------------例文05-01 ヒント.nako
ボタン部品:○○ボタンとはボタン。 -----------------------------------例文05-02 動くボタン.nako
      そのテキストは「○○」
      これをクリックした時は〜
画像ボタン部品:○○ボタンとは画像ボタン。 ---------------------------例文05-02 画像ボタン.nako
        その画像は「○○」
エディタ部品:○○エディタとはエディタ。 ----------------------------例文05-03 エディタとメモ.nako
       そのテキストは「○○」
       その変更した時は〜 ------------------------------例文05-03 エディタ変更した時.nako
       これをダブルクリックした時は〜 ----------------------例文05-03 ダブルクリックメモ.nako
       選択文字列、選択文字数 ----------------------------------例文05-03 装飾メモ.nako
       (部品名)を全選択、(部品名)をコピー、(部品名)へ貼り付け -例文05-03 エディタでコピー.nako
メモ部品でスクロールバーをつける:そのスクロールバーは「縦横」-------例文05-03 メモのスクロール.nako
リスト部品:○○リストはリスト ------------------------------------------例文05-04 リスト.nako
      そのアイテムは「○○{〜}△△{〜}××」
      これをクリックした時は〜
      これをダブルクリックした時は〜 ----------------------例文05-04 リストダブルクリック.nako
      これに「○○」を配列追加
グリッド部品:○○グリッドとはグリッド ----------------------------------例文05-05 グリッド.nako
       そのアイテムは「○○,△△,××」
       そのクリックした時は〜
       選択行は○○グリッドの行
       その行選択はオフ→任意のセルを選択可能にする ----------例文05-05 グリッドの行列.nako
       選択列は○○グリッドの列
       その編集はオン→グリッドを直接編集できるようにする -------例文05-05 グリッドの編集.nako
       その自動ソートはオン
        →ヘッダをクリックした時自動的に文字コード順にソート -例文05-05 グリッドの自動ソート.nako
メニュー部品:「親部品名,部品名,テキスト ------------------------例文05-06 メニュー一括作成.nako
       -,○○メニュー,○○,,○○処理
       -,-          ←メニュー一区切り線入れる --------例文05-06 メニュー一区切り線.nako
            :      」をメニュー一括作成 ------------例文05-06 メニュー一括作成省略.nako
       ●○○処理
         実行するイベント
メニューの作成:『なでしこエディタ』の『行動タブ』の中のメニューエディタを使ってメニュー項目を編集
        メニュー一括作成のデータ例は別表に表示
フォーム部品:
       母艦のタイトルは「○○」---------------------------------例文05-11 母艦タイトル.nako
       母艦のクライアント幅は○○ -------------------------例文05-11 クライアントサイズ.nako
       母艦のクライアント高さは○○
       母艦の幅、高さ
新規フォームの作り方:○○フォームはフォーム ------------------例文05-11 新規フォーム作成.nako
その他:
ツリー部品  ------------------例文05-07 簡単ツリー.nako、画像ツリー.nako、ツリー変更した時.nako
ブラウザ部品  ---------例文05-08 簡単ブラウザ.nako、簡単ブラウザ2.nako、表示中の情報を得る.nako
タイマー部品  --------------------------------------------例文05-09 timer.nako、clock.nako
イメージ部品  --------------例文05-10 簡単イメージ.nako、イメージからイメージ.nako、画像処理.nako
別表 メニュー一括作成のデータ例
親部品名 部品名 テキスト ショートカット オプション イベント
なし ファイルメニュー ファイル(&F)      
- 新規メニュー 新規(&F) Ctrl+N   新規処理
- 終了メニュー 終了(&C) Ctrl+F4   終了処理


 課題 6
 メモ帳プログラムを考えなさい。「例6-1 簡易ワープロを作成してみる。」に「簡易メモ帳.nako」があります。
これにいくつかの機能(メニュー)等追加して高機能なメモ帳を作りなさい。メモ帳にどの様な機能を追加するかは自由です。
ユーザーインターフェースにこだわり、個性的なメモ帳を目指して下さい。
目的、機能、使用方法など1枚程度の簡単な仕様、取説書を作成しよう。

下記にプログラムを表示しましたが、あくまで参考のための例であり、「例6-1 簡易ワープロを作成してみる。」が基本(出発点)です。
参考までに機能とプログラムの概要(斜体部分は評価対象外、太字下線部分は例示と異なるプログラムの場合評価対象とします。)示します。
母艦タイトルにファイル名の表示、フォントの初期設定、終了時の編集有無の確認など…
メニューの種類は、ファイル、フォント、表示、編集、実行、変換、機能、ヘルプの7種(あくまで参考、配置・組合わせは自由)
・ファイル :新規作成ファイル開く、上書き保存、別名保存、終了
・フォント :標準、斜体、太字、太字斜体、ゴシック、明朝、文字サイズフォント文字色
・表   示:背景色、透明度の変更
       透明度(半透明 40%← →100% 非透明)リストから選択
・編   集:戻す切り取りコピー貼り付け置換全選択
       切り取り・コピー 文字列選択→編集メニュー
       置換にて変換文字列登録 文字列選択→置換メニュー
・実   行:単置換部分置換全置換の実行
       単置換 最初の1つを置換
       部分置換は選択エリアの置換 文字列選択→置換メニュー
・変   換:ひらかなカタカナ半角全角英数半角大文字小文字の各変換
       文字列選択→変換メニュー
・機能・ヘルプ:ヘルプの表示、漢字読み、文字数カウント行数カウント
       漢字読み・文字数・行数カウント 文字列選択→機能メニュー
・時刻表示 :時刻のタイトル表示
記述例
書体の設定(例):文字書体は「MS Pゴシック|10」。 処理の待機(例):5秒待つ。 メモの初期化(例):メインメモのテキストは「」。 読込ファイル選択(例):「.txt」のファイル選択。 ファイル読込  :○○(ファイル名)を読む。 保存ファイル選択(例):「.txt」の保存ファイル選択。 ファイル保存(例):△△を○○(保存ファイル名)へ保存。 フォント選択(例):フォント選択。 フォント等色選択:色選択。 フォントの色指定:メインメモの文字色は○○。 背景の色指定  :メインメモの背景色は○○。 母艦の透明度指定:母艦の透明度は○○。<b>←20(%)以下にしないこと。</b> 切取り処理(例):メインメモの選択文字列は「」。 貼付け処理   :メインメモの選択文字列は○○。 置換処理    :○○はメインメモの選択文字列。 全選択処理   :メインメモを全選択。 単置換実行   :メインメモのテキストの○○を△△に単置換 部分置換実行  :メインメモの選択文字列の○○を△△に置換。 全置換実行   :メインメモのテキストの○○を△△に置換 ひらかな変換処理:変換対象をかな変換。 カタカナ変換処理:変換対象をカタカナ変換。 半角変換処理  :変換対象を半角変換。 全角変換処理  :変換対象を全角変換。 英数半角変換処理:変換対象を英数半角変換。 大文字変換処理 :変換対象を大文字変換。 小文字変換処理 :変換対象を小文字変換。 文字数カウント :○○の文字数。 行数カウント処理:○○の行数。 高機能プログラムの例
'------------------------------------------------------------------------------- ' 簡易メモ帳プログラム '------------------------------------------------------------------------------- 母艦のタイトルは「簡易メモ帳」 '------------------------------------------------------------------------------- #メモの作成 メインメモとはメモ。 そのレイアウトは「全体」 # メニューの作成 『#親部品名,部品名,テキスト,ショートカット,チェック,イベント なし,ファイルメニュー,ファイル(&F) -,新規メニュー,新規,,,新規処理 -,- -,開くメニュー,開く(&O),Ctrl+O,,読込処理 -,保存メニュー,保存(&S),Ctrl+S,,保存処理 -,- -,終了メニュー,終了,,,終了処理 なし,表示メニュー,表示(&V) -,文字サイズメニュー,文字サイズ,,,文字サイズ処理 -,文字フォントメニュー,文字フォント,,,文字フォント処理 -,- -,文字色メニュー,文字色,,,文字色処理 なし,編集メニュー,編集(&E) -,戻すメニュー,元に戻す(&Z),Ctrl+Z,,戻す処理 -,- -,切取りメニュー,切取り(&X),Ctrl+X,,切取り処理 -,コピーメニュー,コピー(&C),Ctrl+C,,コピー処理 -,貼付けメニュー,貼付け(&V),Ctrl+V,,貼付け処理 -,- -,置換メニュー,置換,,,置換処理 -,- -,全選択メニュー,全て選択(&A),Ctrl+A,,全選択処理 なし, 実行メニュー, 実行 -,単置換メニュー,単置換(&N),Ctrl+N,,単置換実行 -,- -,部分置換メニュー,部分置換,,,部分置換実行 -,全置換メニュー,全置換,,,全置換実行 なし, 変換メニュー, 変換 -,ひらかな変換メニュー, ひらかな変換,,, ひらかな変換処理 -,カタカナ変換メニュー, カタカナ変換,,, カタカナ変換処理 -,- -,半角変換メニュー, 半角変換,,, 半角変換処理 -,全角変換メニュー, 全角変換,,, 全角変換処理 -,- -,英数半角変換メニュー, 英数半角変換,,, 英数半角変換処理 -,大文字変換メニュー, 大文字変換,,, 大文字変換処理 -,小文字変換メニュー, 小文字変換,,, 小文字変換処理 なし, 機能メニュー, 機能 -,文字数カウントメニュー, 文字数カウント,,, 文字数カウント処理 -,行数カウントメニュー, 行数カウント,,, 行数カウント処理 』を、メニュー一括作成。 #ファイルメニュー ●新規処理   「編集中のテキストを初期化しても良いですか?」と二択。'---(*1)   もしそれがはいならば     メインメモのテキストは「」。'---(*2) ●読込処理   「.txt」のファイル選択'---(*1)   ファイル名はそれ。   もしファイル名が「」ならば戻る。'---(*2)   ファイル名を読む。   メインメモのテキストはそれ。'---(*3) ●保存処理   「.txt」の保存ファイル選択   ファイル名はそれ。   もしファイル名が「」ならば戻る。   メインメモのテキストをファイル名へ保存。 ●終了処理   「本当に終わりますか?」と二択。   もしそれがはいならばおわり #表示メニュー ●文字サイズ処理   ダイアログタイトルは「文字のサイズは?」   「8{〜}9{〜}10{〜}11{〜}12{〜}14{〜}16{〜}18{〜}   20{〜}22{〜}24{〜}28{〜}36{〜}48{〜}72」でリスト選択。   もしそれが「」ならば     戻る。   メインメモの文字サイズはそれ。 ●文字フォント処理   ダイアログキャンセルの値はメインメモの文字書体。   フォント選択。   メインメモの文字書体はそれ。 ●文字色処理   ダイアログキャンセルの値はメインメモの文字色。。   色選択。   メインメモの文字色はそれ。 #編集メニュー ●戻す処理   もし元文字列が「」ならば     「元に戻す処理はありません。」と言う。     戻る。   メインメモのテキストは元文字列。   元文字列は「」。 ●切取り処理   元文字列はメインメモのテキスト。   スタックはメインメモの選択文字列。   メインメモの選択文字列は「」。 ●コピー処理   元文字列は「」。   スタックはメインメモの選択文字列。 ●貼付け処理   元文字列はメインメモのテキスト。   メインメモの選択文字列はスタック。 ●置換処理   検索文字列はメインメモの選択文字列。   もし検索文字列が「」ならば     「検索文字列を選択してください。」と言う。     戻る。   「検索文字列は{検索文字列}{〜}置換文字列は」と尋ねる。   もしそれが「」ならば     戻る。   置換文字列はそれ。 ●全選択処理   メインメモを全選択。 #実行メニュー ●単置換実行   元文字列はメインメモのテキスト。     メインメモのテキストの検索文字列を置換文字列に単置換   置換済文字列はそれ   メインメモのテキストと置換済文字列を文字列比較。   もしそれが0ならば     「検索文字列はありません」と言う。     戻る。   メインメモのテキストは置換済文字列。 ●部分置換実行   もしメインメモの選択文字列が「」ならば     「検索範囲を選択してください。」と言う。     戻る。   元文字列はメインメモのテキスト。     メインメモの選択文字列の検索文字列を置換文字列に置換   置換済文字列はそれ   メインメモの選択文字列と置換済文字列を文字列比較。   もしそれが0ならば     「検索文字列はありません」と言う。     戻る。   メインメモの選択文字列は置換済文字列。 ●全置換実行   元文字列はメインメモのテキスト。   メインメモのテキストの検索文字列を置換文字列に置換   置換済文字列はそれ   メインメモのテキストと置換済文字列を文字列比較。   もしそれが0ならば     「検索文字列はありません」と言う。     戻る。   メインメモのテキストは置換済文字列。 #変換メニュー ●ひらかな変換処理 変換対象はメインメモの選択文字列。'---(*1) もし、変換対象が「」ならば'---(*2)   「変換対象を選択してください。」と言う。 戻る。   元文字列はメインメモのテキスト。 変換対象をかな変換。'---(*3) メインメモの選択文字列はそれ。 ●カタカナ変換処理 変換対象はメインメモの選択文字列。'---(*1) もし、変換対象が「」ならば'---(*2)   「変換対象を選択してください。」と言う。 戻る。   元文字列はメインメモのテキスト。 変換対象をカタカナ変換。'---(*3) メインメモの選択文字列はそれ。 ●半角変換処理 変換対象はメインメモの選択文字列。'---(*1) もし、変換対象が「」ならば'---(*2)   「変換対象を選択してください。」と言う。 戻る。   元文字列はメインメモのテキスト。 変換対象を半角変換。'---(*3) メインメモの選択文字列はそれ。 ●全角変換処理 変換対象はメインメモの選択文字列。'---(*1) もし、変換対象が「」ならば'---(*2)   「変換対象を選択してください。」と言う。 戻る。   元文字列はメインメモのテキスト。 変換対象を全角変換。'---(*3) メインメモの選択文字列はそれ。 ●英数半角変換処理 変換対象はメインメモの選択文字列。'---(*1) もし、変換対象が「」ならば'---(*2)   「変換対象を選択してください。」と言う。 戻る。   元文字列はメインメモのテキスト。 変換対象を英数半角変換。'---(*3) メインメモの選択文字列はそれ。 ●大文字変換処理 変換対象はメインメモの選択文字列。'---(*1) もし、変換対象が「」ならば'---(*2)   「変換対象を選択してください。」と言う。 戻る。   元文字列はメインメモのテキスト。 変換対象を大文字変換。'---(*3) メインメモの選択文字列はそれ。 ●小文字変換処理 変換対象はメインメモの選択文字列。'---(*1) もし、変換対象が「」ならば'---(*2)   「変換対象を選択してください。」と言う。 戻る。   元文字列はメインメモのテキスト。 変換対象を小文字変換。'---(*3) メインメモの選択文字列はそれ。 #機能メニュー ●文字数カウント処理   メインメモの文字数。'---(*1)   Aはそれ。   (メインメモの選択文字列)の文字数。'---(*2) Bはそれ。   「総文字数は、{A}文字{改行}選択文字数は、{B}文字です。」と言う。 ●行数カウント処理   メインメモの行数。'---(*1)   Aはそれ。   (メインメモの選択文字列)の行数。'---(*2) Bはそれ。   「総行数は、{A}行{改行}選択行は、{B}行です。」と言う。 回答


▲なでしこ目次へ戻る


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


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