2019年12月20日

日本語プログラミング言語「なでしこ」を使ってみる(14) - 関数


今回は関数についてです。

なでしこにおける関数の設定は「●」を使い、処理内容は1段インデント下げをして記述します(こちら)。呼出す処理の途中に置く事もできます。

なでしこ_1401_s.jpg

助詞の活用で「文字列接続方法2」を呼出す時の様に、引き渡すデータの指定順序を変更できます。しかし、パラメータで指定した変数に処理結果を受ける事はできません。



こちらでは一つの処理例として(初歩的なロジックですが・・・)ソート処理の関数を設定しています。

なでしこ_1402_s.jpg


上掲のアプリ確認をしている時に分かったのですが、こちらでは配列の作り方によって、(関数とは関係なく・・・)比較結果が異なる事を示していて注意が必要です(ソートする要素を文字列観るか数値として処理するかの違い)。

なでしこ_1403_s.jpg

「配列比較テスト2」と「配列比較テスト3」では「戻る」命令の違う使い方を示しています。



尚、上掲ではソート処理の関数を設定していますが、なでしこ自体に「配列数値ソート」と「配列ソート」という命令があります(こちら)。この場合には配列の作り方による結果の違いは出ません。

なでしこ_1404_s.jpg


二次元配列(表)でも「表数値ソート」と「表ソート」という命令があります(こちら)。

なでしこ_1405_s.jpg


posted by 鎌倉太郎 at 18:00| 神奈川 ☀| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年12月18日

日本語プログラミング言語「なでしこ」を使ってみる(13) - ファイル操作(4)


今回はファイル(又はその内容)を操作するユーティリティ(又はシステム機能)の起動などがテーマの中心です。



最初はテキストエディターの起動がテーマですが、内部生成したテキスト群をファイルに出力した後、そのファイルを再度読込む時に「ファイル選択」命令を使っています(こちら)。

なでしこ_1303_s.jpg

その際に母艦のフォームで内容が無いのに表示されるのを「可視はオフ」としています。


読み込んだファイルのテキストを「メモ記入」で表示します(こちら)。

なでしこ_1304_s.jpg


「メモ記入」ではテキストの編集が自由にできます(こちら)。

なでしこ_1305_s.jpg


23行以降はテキスト編集した内容をファイルに(上書き)保存し、更にテキストレコードを追加しています。再度読み直して内容確認しています(こちら)。

なでしこ_1306_s.jpg

これらの命令を使えば、簡単なテキスト編集アプリになります。



次のテーマはエクスプローラの起動です。

14行までは準備作業です。jpgファイルをコピーする際にファイル名変更しますが、その拡張子を事前に認識して変更ファイル名のリクエストをしています(こちら)。

なでしこ_1301_s.jpg

デフォルトのファイル名を指定しますが、そこにコピー先のフォルダまで指定する事に注意してください。


エクスプローラを起動する時も、フォルダ指定しておくとそのフォルダの表示を行います(こちら)。

なでしこ_1302_s.jpg

「変更ファイル.jpg」とは別に「画像ファイル.jpg」が作られているのが分かります。



posted by 鎌倉太郎 at 14:00| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年12月14日

日本語プログラミング言語「なでしこ」を使ってみる(12) - ファイル操作(3)


今回はファイルの内容を操作するのではなく、エクスプローラでファイルの削除やリネームをする操作と同じ事が、なでしこからプログラムで行えます。



フォルダの新規作成(既存なら無効)・削除、ファイルのコピー・削除・リネームなどができます(こちら)。

なでしこ_1201_s.jpg



「フォルダ列挙」から得られる配列を用いて、順次にそのフォルダに対する操作を行えます(こちら)。

なでしこ_1202_s.jpg

フォルダのパスを指定しないと、カレントフォルダがデフォルトになります。また、「変数分配」も便利な命令です。



ワイルドカードを使って、特定拡張子だけのファイルを一覧表示したり、コピー・削除できます(こちら)。

なでしこ_1203_s.jpg

「全ファイル列挙」命令では、サブフォルダにあるファイルの列挙も行います。「ファイル抽出コピー」命令では、サブフォルダに対象の拡張子のファイルがあれば、そのファイルもサブファイルに含まれる形でコピーされる事に注意してください。



posted by 鎌倉太郎 at 14:00| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年12月07日

日本語プログラミング言語「なでしこ」を使ってみる(11) - ファイル操作(2)


前回は1行(1レコード)単位でのファイル入出力でしたが、今回はストリームとして扱います。



こちらで前半はデータ作成であり、ストリームとして読む所からが本題です。26バイト単位で読み込みます。単純には日本語としての13文字ですが、行(レコード)の区切りとなる所でCR+LFが入りますので、14文字や15文字になります。

なでしこ_1101_s.jpg

変数"ストリーム"はハンドルです。



ファイルストリームで書く場合も、一行を意識して書く事もできます。ストリームとして書く場合は直前の書き込みテキストの最後に付加しますが、1行を意識する場合はテキスト+改行を付加します(こちら)。

なでしこ_1102_s.jpg


ストリーム2"でファイルストリーム一行書くの場合は、上掲の"表示"命令と同じですが、「ファイルストリーム書く」命令の場合に出力した例(file003の内容)がこちら。読んだテキスト内に改行が入っているので、行(レコード)として分かれる事になります)。

なでしこ_1103_s.jpg



posted by 鎌倉太郎 at 14:00| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年12月06日

日本語プログラミング言語「なでしこ」を使ってみる(10) - ファイル操作(1)


少し長い間休憩(?)が続きましたが、今回からファイルの取り扱いで再開します。



先ずファイルの環境として基本的な点を確認します。フォルダ&ファイルのパスは既に「D\フォルダ名\ファイル名.拡張子」として使いました。更にフォルダの役割を明確化する為の簡易形で使う事ができます。こちらは「マイピクチャ」を示した例ですが、「マイドキュメント」・「マイミュージック」・「デスクトップ」も可能です

なでしこ_1001_s.jpg


「ファイル列挙」は、ファイルを配列形式で返します。



「母艦」はメインフォームを指しますが、それはソースファイルと同じとして(PHPと似たコンセプトで)考えれば、「母艦パス」でソースファイルのあるフォルダを指すとするのは自然です(こちらを参照)。

なでしこ_1002_s.jpg



さて本題のファイル操作ですが、こちらの例はレコードを1件づつ出力します。

なでしこ_1003_s.jpg


「一行出力」では"文字列"+改行(\n)を追記します。「毎行読む」は「反復」と組合せて使います。ファイルのオープン/クローズに対応する命令はありませんので、「出力先設定」で指定or無効化("空"などで)で制御します。出力後に同じファイルに読み込みアクセスする時、無効化していないとI/Oエラーになります。



ファイルを切替えて出力できます(こちらを参照)。

なでしこ_1004_s.jpg


「出力」は本来、「一行出力」と同様に"文字列"+改行(\n)を追記する事になっていますが、現状は「改行」が付加されていません。



posted by 鎌倉太郎 at 14:00| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月31日

日本語プログラミング言語「なでしこ」を使ってみる(9) - ダイアログ(3)


ダイアログで入力するデータの要求属性により、属性を意識した入力手段を用意している件の続きです。



入力項目の表形式で入力をする事ができます。例がこちら.

なでしこ_0901_s.jpg


コードで”操作メッセージに「入力件数:{入力件数}」を代入”の時点では、”{入力件数}”が表示すべき値になっている事に注意してください。


実行の状況がこちら

なでしこ_0901_Gif.gif



分類できる選択項目の場合、入力欄で絞込みの操作ができます(コードはこちら)

なでしこ_0902_s.jpg


実行の状況がこちら

なでしこ_0902_Gif.gif


入力欄への入力と”OK”クリックではなく、直接に選択項目をダブルクリックするとこちらの様な入力となるので、処理上で何らかの対応が必要です。

なでしこ_0902_xx_s.jpg



数値の入力欄にこちらの様に電卓機能を持たせる事ができます。

なでしこ_0903_s.jpg


実行の状況がこちら

なでしこ_0903_Gif.gif


posted by 鎌倉太郎 at 16:24| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月30日

日本語プログラミング言語「なでしこ」を使ってみる(8) - ダイアログ(2)


ダイアログで入力するデータの属性を意識した入力手段を用意しています。



先ず、パスワード入力の例がこちら

なでしこ_0801_s.jpg


実行の状況がこちら

なでしこ_0801_Gif.gif


新パスワードの確認、パスワード認証では各1度の誤り入力の操作をしています。



日付の入力ではこちらの例の様にカレンダーを表示して、指定で容易な操作になります。

なでしこ_0802_s.jpg


実行の状況がこちら

なでしこ_0802_Gif.gif


「今日」の日付入力でループ終了となります。



ボタンによる入力操作がこちらの例の様にできます。

なでしこ_0803_s.jpg


実行の状況がこちら

なでしこ_0703_Gif.gif



未だありますが次回にします。



posted by 鎌倉太郎 at 14:00| 神奈川 ☀| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月24日

日本語プログラミング言語「なでしこ」を使ってみる(7) - ダイアログ(1)【改訂】


これまでは処理の結果を表示するだけでしたが、今回はダイアログ機能(コンソール入出力)により入力データを反映する処理とします。

先ず、ダイアログへの表示("言う"命令を使用)と前回までの処理結果表示("表示"命令を使用)とは区別されます。こちらでは処理結果表示をした事をコンソール表示し、「OK」のクリックで複数表示しています。

なでしこ_0701_s.jpg


表示だけの場合も「OK」のクリック待ちになります。



コンソールからの入力を促す命令は”尋ねる”です。データ入力を促すダイアログ及び「はい」か[いいえ]を問う「二択」のダイアログにおける表示例(コード)がこちら

なでしこ_0702_s.jpg


実行の様子がこちら(Gifファイル)。

なでしこ_0702_Gif.gif


最後は数量を入れる所で「取消」により終了しています。



「はい」か[いいえ]に加えて、「キャンセル」を問う「三択」も利用できます(コードがこちら)

なでしこ_0703_s.jpg


プログラミング記法で余り好まれない事ですが、「飛ぶ」命令を使っています。



実行の様子がこちら(Gifファイル)。

なでしこ_0703_Gif.gif


三択の操作では、1回目が[いいえ]、2回目が「キャンセル」としています。



【改訂】 2019年10月25日 14:00 追記



posted by 鎌倉太郎 at 13:00| 神奈川 ☁| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月23日

日本語プログラミング言語「なでしこ」を使ってみる(6) - ハッシュ


配列変数では要素を指定するのに整数を使いますが、要素に文字をキーとして指定するハッシュ変数(いわゆる連想配列)を使う事ができます(こちら)。配列の場合と同様で、ハッシュ変数の宣言は明確にしておきます。

なでしこ_0601_s.jpg


「@」の後ろにキーとなる文字を指定します。
ここでは”ハッシュキー列挙”や”ハッシュ内容列挙”や”要素数”などの機能命令を使っています。
また直前に表示した後、同じ行に情報を表示するのに”継続表示”を使いますが、表示の改行に使っています。



「反復」を使って繰り返して処理を行う事ができます(こちら)。

なでしこ_0602_s.jpg


”ハッシュキー削除”で要素の削除ができます。”継続表示”の例を示していますが、使った後は”基本X”が移動してしまうので、基本Xを戻す必要があります。
コードの後半は指定するハッシュキーがない時はどのようなのかを(少し分り辛いですが)示しています。
尚、これまでのコード例でも複数行に亘って類似のコードを書く時に、半角・全角を意識して異なる様に記述していますが、許容度を確認する為です。



配列の時と同様に、バッシュ変数でも内容の分解をする事ができます(こちら)。

なでしこ_0603_s.jpg


文字列の操作として”追加”で文字の後ろに別の文字を追加できます。
”もし、”の条件で否定は”ない”を使います。



posted by 鎌倉太郎 at 14:00| 神奈川 ☀| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする

2019年10月22日

日本語プログラミング言語「なでしこ」を使ってみる(5) - 配列


「なでしこ」では配列も使う事ができます。配列変数の指定形式は”配列”[n]又は”配列”\nです。nは通常0から始まる整数ですが、変数を使う事ができます(こちら)。

なでしこ_0501_s.jpg


配列の要素に対する各種命令が揃っています。上掲では「配列合計」と「配列要素数」を使っています。カウントの配列要素数を表示した所では、配列は \0 から始まる事に注意してください。
”{改行}”は1行の改行になります。



2次元配列の場合は表として操作する命令が各種あります(こちら)。

なでしこ_0502_s.jpg


上掲では「表列合計」を使っています。”配列”[n]又は”配列”\nといった指定形式を使って時点で、暗黙的に配列変数の宣言をした事になります。

価格表[回数、3]の比較で ”” は 「空」 と表記する事ができます。



上掲の価格表は、こちらの様なリスト形式で作る事もできます。

なでしこ_0503_s.jpg



こちらはリスト形式で指定する時の悪い記述例です(空白を入れてはいけない。先頭の半角空白は無視する場合もありますが、特に全角空白は指定した空白と解釈する場合が多い)。

なでしこ_0504_s.jpg



「反復」で得られた要素を「対象」で取り込み、「対象」を”=”で区切って得られたものを配列として「それ」で参照できます(こちら)。

なでしこ_0505_s.jpg



配列変数を使う時は明確に宣言する事をお勧めします。配列で要素を明確に指定する使い方だけをしている時は問題ありませんが、配列に関する評価命令などを使う場合に予想しない数値が埋め込まれている可能性があります。



posted by 鎌倉太郎 at 13:00| 神奈川 ☔| Comment(0) | 体験利用-プログラミング言語 | 更新情報をチェックする