我家でIT製品をどのように使っているか、我家で使う事を前提にIT製品やWebサービスの使い勝手を体験して結果をまとめています。(07/15)このブログの更新情報をメールで受け取ることができます。今回は関数についてです。なでしこにおける関数の設定は「●」を使い、処理内容は1段インデント下げをして記述します(こちら)。呼出す処理の途中に置く事もできます。助詞の活用で「文字列接続方法2」を呼出す時の様に、引き渡すデータの指定順序を変更できます。パラメータで指定した変数に処理結果を受ける事はできません。こちらでは一つの処理例として(初歩的なロジックですが・・・)ソート処理の関数を設定しています。ファイル操作(4)今回はファイル(又はその内容)を操作するユーティリティ(又はシステム機能)の起動などがテーマの中心です。最初はテキストエディターの起動がテーマですが、内部生成したテキスト群をファイルに出力した後、そのファイルを再度読込む時に「ファイル選択」命令を使っています(こちら)。その際に母艦のフォームで内容が無いのに表示されるのを「可視はオフ」としています。読み込んだファイルのテキストを「メモ記入」で表示します(こちら)。ファイル操作(3)今回はファイルの内容を操作するのではなく、エクスプローラでファイルの削除やリネームをする操作と同じ事が、なでしこからプログラムで行えます。フォルダの新規作成(既存なら無効)・削除、ファイルのコピー・削除・リネームなどができます(こちら)。「フォルダ列挙」から得られる配列を用いて、順次にそのフォルダに対する操作を行えます(こちら)。フォルダのパスを指定しないと、カレントフォルダがデフォルトになります。「変数分配」も便利な命令です。ファイル操作(2)前回は1行(1レコード)単位でのファイル入出力でしたが、今回はストリームとして扱います。こちらで前半はデータ作成であり、ストリームとして読む所からが本題です。26バイト単位で読み込みます。単純には日本語としての13文字ですが、行(レコード)の区切りとなる所でCR+LFが入りますので、14文字や15文字になります。変数"ストリーム"はハンドルです。ファイルストリームで書く場合も、一行を意識して書く事もできます。ファイル操作(1)少し長い間休憩(?)が続きましたが、今回からファイルの取り扱いで再開します。ファイルの環境として基本的な点を確認します。フォルダ&ファイルのパスは既に「D\フォルダ名\ファイル名.拡張子」として使いました。フォルダの役割を明確化する為の簡易形で使う事ができます。こちらは「マイピクチャ」を示した例ですが、「マイドキュメント」・「マイミュージック」・「デスクトップ」も可能です「ファイル列挙」は、ファイルを配列形式で返します。ダイアログ(3)ダイアログで入力するデータの要求属性により、属性を意識した入力手段を用意している件の続きです。入力項目の表形式で入力をする事ができます。例がこちら.コードで”操作メッセージに「入力件数:{入力件数}」を代入”の時点では、”{入力件数}”が表示すべき値になっている事に注意してください。分類できる選択項目の場合、入力欄で絞込みの操作ができます(コードはこちら)実行の状況がこちら。ダイアログ(2)ダイアログで入力するデータの属性を意識した入力手段を用意しています。パスワード入力の例がこちら。新パスワードの確認、パスワード認証では各1度の誤り入力の操作をしています。日付の入力ではこちらの例の様にカレンダーを表示して、指定で容易な操作になります。「今日」の日付入力でループ終了となります。ボタンによる入力操作がこちらの例の様にできます。ダイアログ(1)【改訂】これまでは処理の結果を表示するだけでしたが、今回はダイアログ機能(コンソール入出力)により入力データを反映する処理とします。ダイアログへの表示("言う"命令を使用)と前回までの処理結果表示("表示"命令を使用)とは区別されます。こちらでは処理結果表示をした事をコンソール表示し、「OK」のクリックで複数表示しています。表示だけの場合も「OK」のクリック待ちになります。コンソールからの入力を促す命令は”尋ねる”です。ハッシュ配列変数では要素を指定するのに整数を使いますが、要素に文字をキーとして指定するハッシュ変数(いわゆる連想配列)を使う事ができます(こちら)。配列の場合と同様で、ハッシュ変数の宣言は明確にしておきます。「@」の後ろにキーとなる文字を指定します。ここでは”ハッシュキー列挙”や”ハッシュ内容列挙”や”要素数”などの機能命令を使っています。直前に表示した後、同じ行に情報を表示するのに”継続表示”を使いますが、表示の改行に使っています。「なでしこ」では配列も使う事ができます。配列変数の指定形式は”配列”[n]又は”配列”\nです。nは通常0から始まる整数ですが、変数を使う事ができます(こちら)。配列の要素に対する各種命令が揃っています。上掲では「配列合計」と「配列要素数」を使っています。始まる事に注意してください。”{改行}”は1行の改行になります。2次元配列の場合は表として操作する命令が各種あります(こちら)。フロー制御(繰り返し)今回はフロー制御で、条件を満たしている間繰り返し処理を行う構造です。第1の構造として条件を満たしている[間」は同じ処理を行います(こちら)。「の間」に続く処理の範囲は、同じインデントにする必要があります。2つ目の構造は指定の「回」数だけ繰り返しますが、途中でループを抜ける手段(「抜ける」)も用意しています(こちら)。その「回数」を使用する事もできます。フロー制御(条件による分岐)今回はフロー制御で、その1つが「もし・・・違えば・・・」で条件により分岐する構造です。こちらでは今日の日付を入手して日付と曜日を表示します。今日という変数はシステム変数です。’もし’と’違えば’の下位の記述は同じインデント位置にする必要があります。[もし・・・違えば・・・」は入れ子ができます。同じように今日の日付を入手して日付と曜日を表示するのであれば、[条件分岐」も使えます(こちら)。最初から少し堅い話しで始まります。プログラミング言語の教科書ではデータの型と変数の宣言の話しから始まりますので、今回は「なでしこ」のデータの型と変数の宣言についてです。データの型は、数値と文字列があります。挟んで、「こんにちは」や`秋晴れ`の様に使います(こちら)。数字は全角でも半角でも同じ扱いです。v1.577の導入プログラミングも日本語でできるようになりました。(2019/06/05公開)があります。最近Windows版がこれまでのデラックス版をフリー版に統合して利用できるようになったので、使ってみる事にしました。幾つかのプログラミング言語を使いましたが全て英語をベースにしていました。15:00広告Seesaaブログ。