HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
ファイル一覧
検索
過去ログ
[ スレッド内全32レス(10-19 表示) ]
<<
0
|
1
|
2
|
3
>>
■14276
/ ResNo.10)
Re[4]: 加工開始日を求めたい
▼
■
□投稿者/ ジェダイの桐
-(2024/04/10(Wed) 17:28:47)
ONnojiさん
プログラミングテキスト非常に読みやすいです。
>プログラミングの書籍などでは変数とは[名前が付いた箱]といった比喩(例え話)が見受けられますが、
>このような比喩(例え話)は頭の中が混乱するだけなので忘れてください。
ネットで変数の事を調べると必ずと言って良いほど みかん箱 の話が出てきました。
確かに みかん箱 で例える必要もないですね。
>変数宣言 局所,文字列{ &variableName }
いつも疑問に感じる事が、(桐に関しては?)変数名は漢字でもOKなはずなのに
何故英語が書くのかが分からないのです。
この英語は 任意のキーワード なのか プログラムの世界では一般的なキーワード なのか??
任意だとしら、なにか命名法則があるのか??
初心者目線の疑問でした。
知れて良かった事は 代入 を省略して記入してあると言う事です。
これを 知っているか いないかは 個人的にはかなり大きいと思います。
代入しているんだろうな と想像してプログラムを見るより、代入を省略しているけど代入していると確信してプログラムを見る方が理解度が高くなるからです。
初心者向けのプログラミングの読み物が完成してHPにアップされた暁には、必ず読ませて頂きます(^^ゞ
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■14277
/ ResNo.11)
Re[9]: 加工開始日を求めたい
▲
▼
■
□投稿者/ ONnoji
-(2024/04/10(Wed) 17:34:12)
2024/04/10(Wed) 19:00:39 編集(投稿者)
> 桐で使えるガントチャートで最大に良いと感じるのは、
> スケジュール管理が出来る事も重要ですが、データベースとして蓄積出来る事だと思いました。
> 例えば、
> ガントチャートで可視化して量産品生産スケジュール管理をすると共に、
> 1年程度データを蓄積する。
> 蓄積したデータを分析した時、いつも超過している工程があったとしら改善策を考える事が出来ます。
> また、備考欄 を 難易度欄に置き換えて使用した場合、初期設定が高難度だとしても、実際の完了日が予定完了日より常に短縮して終了している場合、
> 難易度設定の見込みが甘かった or 人材が育って来ている 等 検証する事も出来ると思います。
> エクセルでも、書き込みした事が対応可能なのかもしれませんが、やっぱり餅は餅屋じゃないですが、データベースソフトで分析できた方が良いと思います(^^)/
そうですね。
データベースの方がワークシートよりも保管しやすいですよね。
今回のガントチャート用の表(.tbl)の定義は次の内容です。
番号 項目名 データ型
1 カテゴリ 文字列
2 タスク1 文字列
3 タスク2 文字列
4 担当 文字列
5 開始日 日時
6 終了日 日時
7 超過完了予定日 日時
8 完了日 日時
9 超過対策 文字列
10 備考 文字列
11 1 文字列
12 2 文字列
13 3 字列
14 4 文字列
:
途中省略
:
96 86 文字列
97 87 文字列
98 88 文字列
99 89 文字列
100 90 文字列
101 カレンダ開始日 文字列
ここで重要なのは、
1 カテゴリ 文字列
2 タスク1 文字列
3 タスク2 文字列
4 担当 文字列
5 開始日 日時
6 終了日 日時
7 超過完了予定日 日時
8 完了日 日時
9 超過対策 文字列
10 備考 文字列
の項目だけなんですよね。
残りの項目は、単に視覚化するだけの項目なんですね。
拙作では、任意の日付からカレンダを生成して、90日分の視覚化が可能というわけです。
ちなみにカレンダ機能は、先日アップデートした INF_DatePicker のエンジンを流用しています。(*^^)v
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■14278
/ ResNo.12)
Re[5]: 加工開始日を求めたい
▲
▼
■
□投稿者/ ONnoji
-(2024/04/10(Wed) 18:05:28)
2024/04/10(Wed) 22:56:23 編集(投稿者)
> プログラミングテキスト非常に読みやすいです。
> >プログラミングの書籍などでは変数とは[名前が付いた箱]といった比喩(例え話)が見受けられますが、
> >このような比喩(例え話)は頭の中が混乱するだけなので忘れてください。
>
> ネットで変数の事を調べると必ずと言って良いほど みかん箱 の話が出てきました。
> 確かに みかん箱 で例える必要もないですね。
みかん箱じゃ余計に分からなくなりますよね。
下手くそなテクニカルライターが始めた例え話だと思いますが、ネットで蔓延していますよね。
その他に、桐ではもちろんオブジェクト指向プログラミングは出来ないのですが、
Javaなどのオブジェクト指向プログラミング言語でも、ものすごい例え話を並べて読者を煙に巻いています。
あまりにも変な比喩(例え話)が世の中に蔓延したので、とうとう「なんでもオブジェクト」だと言い出す人まで現れました。
こうなると、ChatGPT に勝るとも劣らないデタラメな議論が巻き起こったりしますね。
レストランで出されたメニューに書かれている料理名を見て、これを「オブジェクト指向メニュー」だと誰も言わないでしょう。
噴飯ものですよね。
まったく呆れ果てたものですねぇ〜。アハハha
> >変数宣言 局所,文字列{ &variableName }
> いつも疑問に感じる事が、(桐に関しては?)変数名は漢字でもOKなはずなのに
> 何故英語が書くのかが分からないのです。
例えば #文字列関数のヘルプには次のようなシンタックス(文法)が掲載されています。
#文字列( 【 num | num , n | tmst | itvl 】 )
このように、桐のヘルプでも英語的なキーワードがたくさんあります。
コンピュータの世界では、英語圏が中心で発達してきたんですよね。
だから、英語や英語的なキーワードがどうしても多くなります。
これは仕方ないと思って慣れてください。
余談ながら、かつての日本IBMの5550というPCでは、キーボードとは呼ばずに鍵盤装置と呼称していたんですよ。
日本IBMが頑張ってなんでも日本語で表記していたのですが、さすがにマウスは鼠とは呼ばなかったと記憶しています。(^^ゞ
> この英語は 任意のキーワード なのか プログラムの世界では一般的なキーワード なのか??
> 任意だとしら、なにか命名法則があるのか??
> 初心者目線の疑問でした。
私( ONnoji )の著作では非常に英語風の変数名が多いと思います。
これは私( ONnoji )が漢字が使えない8ビットPC(当時マイコンと呼んでいた)からプログラミングをしていたからです。
また桐ver.2 と出会う前までは、dBASE2/3/3+ といったデータベースでプログラミングしていましたが、
やはり日本語の変数は誤動作の元になることがあるので、日本語は極力使わないようにしていましたよ。
桐では日本語の変数名でも何の問題はありませんが、これは桐が最初から日本語対応だったからですよ。
Windows が発売されたころのオフィスでも日本語の変数名は忌避されていたと思います。
もちろん、今ではOKでしょうけれど・・・※怖さを知っている人はやはり避けますけどね。アハハha
> 知れて良かった事は 代入 を省略して記入してあると言う事です。
> これを 知っているか いないかは 個人的にはかなり大きいと思います。
桐の[代入]コマンドや、VB/VBAの[Let] ステートメントは、まず、いや絶対に書きませんね。
でも、入門書やヘルプでは、その事を教えてくれないようですね。
> 代入しているんだろうな と想像してプログラムを見るより、代入を省略しているけど代入していると確信してプログラムを見る方が理解度が高くなるからです。
> 初心者向けのプログラミングの読み物が完成してHPにアップされた暁には、必ず読ませて頂きます(^^ゞ
だから、数学の等式と勘違いして頭の中が混乱する人が多いんですよ。アハハha。
テキストはごく最初の部分だけを添付しました。
現在鋭意執筆中ですので、完成したら拙作HPに掲載しますのでお楽しみにしてください。
p.s.
> この英語は 任意のキーワード なのか プログラムの世界では一般的なキーワード なのか??
桐の関数に #文字列、#条件選択 がありますね。
しかし、私( ONnoji )は、それぞれの関数の別名 #str #cond を好んで使うわけです。
また、ちぇっ!また英語かぁ〜という声が聞こえてきそうですが・・・(^^ゞ
実は、これらの別名は、多くのソフトウェアでも一般的なものなのです。
思い付くまま列挙すると
#文字列 → #str 意味:string 文字列
#部分列 → #sstr 意味:sub string 部分列
#条件選択 → #cond 意味:条件
#終端行 → #eof 意味:End Of File ファイルの終わり
#文字置換 → #s 意味:stuff の s だと思われます 詰め込む ※アルファベット1文字の関数名は一般的ではありません。
他にもあると思いますが・・・この辺で(^^ゞ
なお、
#連結 → #cat は 語源として catalog だっと思いますが今ではこの関数を使う人はまず居ないと思います。
なぜならば #cat( [名前], "様" ) は、関数を使わずに [名前] + "様" という式で書けるからです。
余談ついでに(^^ゞ
#計算 の別名は #PROGN。
この別名って、プログラミング言語 Common Lisp の progn関数からきているようですね。
prog1 prog2 というのもあるから、 n は n番め=最後という意味なのでしょうかね。
そういえば、K3殿は Lisp の開発もしてましたっけ。
ちなみに、#SETQ も Lisp 由来かもしれない。
#TRIM や #STR など、桐の関数の別名はプログラミング言語でお馴染みのものから来ていますね。
私は dBASE言語を使っていたので、桐のコマンド・関数の別名の大部分の見当がすぐに付きました。
なお、[コマンド]コマンドの別名 eval はエバリュエーション(Evaluation)でしょうね。
eval をイーバルと読む技術者も多いようですね。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■14279
/ ResNo.13)
Re[6]: 加工開始日を求めたい
▲
▼
■
□投稿者/ うにん
-(2024/04/10(Wed) 21:09:31)
> 桐では日本語の変数名でも何の問題はありませんが、これは桐が最初から日本語対応だったからですよ。
>
> Windows が発売されたころのオフィスでも日本語の変数名は忌避されていたと思います。
>
> もちろん、今ではOKでしょうけれど・・・※怖さを知っている人はやはり避けますけどね。アハハha
WindowsXPだったかなあ、ユーザ名を日本語にすると、何かとトラブルのもとになってました。(インストール時にIMEが使えるので日本語で入れてしまう人が多数いた)
最近でも、FileMakerというデータベースソフトで、ファイル名を日本語にするとサーバからダウンロードできなくなるトラブルとかありました。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■14280
/ ResNo.14)
Re[7]: 加工開始日を求めたい
▲
▼
■
□投稿者/ ONnoji
-(2024/04/10(Wed) 21:56:11)
> WindowsXPだったかなあ、ユーザ名を日本語にすると、何かとトラブルのもとになってました。(インストール時にIMEが使えるので日本語で入れてしまう人が多数いた)
> 最近でも、FileMakerというデータベースソフトで、ファイル名を日本語にするとサーバからダウンロードできなくなるトラブルとかありました。
桐のユーザは恐怖体験が無いんですよね。アハハha
普通のソフトならデータベースのフィールド名だって漢字を使いませんよね。オッカナクッテね(^^ゞ
ファイル名だって、変数名だって、etc. でもこれは元が舶来品のソフトウェアの場合ですね。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■14281
/ ResNo.15)
Re[6]: 加工開始日を求めたい
▲
▼
■
□投稿者/ ジェダイの桐
-(2024/04/11(Thu) 08:59:44)
ONnojiさん
> やはり日本語の変数は誤動作の元になることがあるので、日本語は極力使わないようにしていましたよ。
>
> 桐では日本語の変数名でも何の問題はありませんが、これは桐が最初から日本語対応だったからですよ。
>
> Windows が発売されたころのオフィスでも日本語の変数名は忌避されていたと思います。
>
> もちろん、今ではOKでしょうけれど・・・※怖さを知っている人はやはり避けますけどね。アハハha
>
なるほど。
そう言う歴史があるんですね!
そのような歴史(過去は漢字が使えなかった。そもそも日本語を想定していないので、日本語を使うとトラブルが起こる可能性がある。)があると言う前段をしっていれば、すんなり英語が入ってきます。
うにんさん と ONnojiさんのコメントで、よりリアルに知る事が出来ました(^^♪
>>代入しているんだろうな と想像してプログラムを見るより、代入を省略しているけど代入していると確信してプログラムを見る方が理解度が高くなるからです。
>>初心者向けのプログラミングの読み物が完成してHPにアップされた暁には、必ず読ませて頂きます(^^ゞ
>
> だから、数学の等式と勘違いして頭の中が混乱する人が多いんですよ。アハハha。
>
=は等式じゃなく 代入 していると言う事ですもんね。
知識が無ければ数学に感じてしまいます・・・(私も 明らかに代入に意味だなと読めない物以外は 数式 だと思っていました・・・)
>
> #文字列 → #str 意味:string 文字列
>
> #部分列 → #sstr 意味:sub string 部分列
>
> #条件選択 → #cond 意味:条件
>
> #終端行 → #eof 意味:End Of File ファイルの終わり
>
> #文字置換 → #s 意味:stuff の s だと思われます 詰め込む ※アルファベット1文字の関数名は一般的ではありません。
>
> 他にもあると思いますが・・・この辺で(^^ゞ
>
> なお、
>
> #連結 → #cat は 語源として catalog だっと思いますが今ではこの関数を使う人はまず居ないと思います。
>
> なぜならば #cat( [名前], "様" ) は、関数を使わずに [名前] + "様" という式で書けるからです。
>
> 余談ついでに(^^ゞ
>
> #計算 の別名は #PROGN。
> この別名って、プログラミング言語 Common Lisp の progn関数からきているようですね。
> prog1 prog2 というのもあるから、 n は n番め=最後という意味なのでしょうかね。
> そういえば、K3殿は Lisp の開発もしてましたっけ。
> ちなみに、#SETQ も Lisp 由来かもしれない。
>
> #TRIM や #STR など、桐の関数の別名はプログラミング言語でお馴染みのものから来ていますね。
> 私は dBASE言語を使っていたので、桐のコマンド・関数の別名の大部分の見当がすぐに付きました。
> なお、[コマンド]コマンドの別名 eval はエバリュエーション(Evaluation)でしょうね。
> eval をイーバルと読む技術者も多いようですね。
この解説はかなり助かますm(__)m
財産にさせて頂きます!
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
ここで一つ疑問があります。
今回作成して頂いたプログラムの変数名の中に
変数宣言 自動,日時 { &加工日1, &加工日2 }
があります。
コメントを頂いた流れで言えば
&加工日1 → &dom1 (date of manufacture)
&加工日2 → &dom2
と言う変数名になった方が自然な印象です。
表に定義のある項目名を変数名にする時は、表の言葉に合わせると言う事なのでしょうか??
う〜ん。
プログラムは奥が深いですね(^^ゞ
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■14282
/ ResNo.16)
Re[7]: 加工開始日を求めたい
▲
▼
■
□投稿者/ ONnoji
-(2024/04/11(Thu) 09:46:45)
2024/04/11(Thu) 11:07:21 編集(投稿者)
> =は等式じゃなく 代入 していると言う事ですもんね。
> 知識が無ければ数学に感じてしまいます・・・(私も 明らかに代入に意味だなと読めない物以外は 数式 だと思っていました・・・)
初級者の最初の挫折がこの部分である人って案外と多いと思いますね。
> ここで一つ疑問があります。
> 今回作成して頂いたプログラムの変数名の中に
> 変数宣言 自動,日時 { &加工日1, &加工日2 }
> があります。
> コメントを頂いた流れで言えば
> &加工日1 → &dom1 (date of manufacture)
> &加工日2 → &dom2
> と言う変数名になった方が自然な印象です。
> 表に定義のある項目名を変数名にする時は、表の言葉に合わせると言う事なのでしょうか??
流れとしては次のようになりますね。
手続き定義開始 cmdテストClick( )
変数宣言 自動,文字列{ &title = "cmdテストClick( )", &msg }
変数宣言 自動,日時 { &加工日1, &加工日2 }
:
:
行訂正 [加工日1] = &加工日1, [加工日2] = &加工日2
:
:
手続き定義終了
ということで、項目[加工日1]に対応する変数が &加工日1 で、項目[加工日2]に対応する変数が &加工日2 という事です。
これを
行訂正 [加工日1] = &dom1, [加工日2] = &dom2
と書いてしまうと、もちろん動きますが・・・(^^ゞ
一番の問題は、後で読み返す際に直感的に分かりにくいんですね。
・・・・・・・・・・・・・・・・・・
行訂正 [加工日1] = &加工日1, [加工日2] = &加工日2
としていれば、一目瞭然です。※最小限の思考で済みますから・・・(^^ゞ
それに項目名と変数名が同じならば、イベント処理を検索する時に都合がいいでしょう。※後々のことを考えましょう。アハハha
添付のテキストには
> 桐のようなデータベースソフトでは、データベースで指定できる[項目のデータ型]と[変数のデータ型]は1対1で対応するものなのです。
> なので、任意のレコード(行)の[項目の【値】]を任意の名前の[変数の【値】]として入れることが出来ます。
という文言があると思います。
変数の最も大事な目的は、データベースの項目の値の一時的な格納先(バッファ)ということです。
そして、もう一つの変数の目的は、プログラムの流れを制御することです。
例えば、変数 &recordNum は、プログラムの流れの選択制御に使われています。
手続き定義開始 prc加工日探索( 参照 日時 &加工日1, 参照 日時 &加工日2 )
変数宣言 自動,文字列{ &title = "prc加工日探索( )", &msg }
変数宣言 自動,長整数{ &recordNum }
:
:
&recordNum = #行番号
ジャンプ 行番号 = &recordNum
if ( &recordNum > 5 )
ジャンプ 行番号 = -5
&加工日1 = [日付]
end
:
:
手続き定義終了
話が戻りますが・・・
> &加工日1 → &dom1 (date of manufacture)
> &加工日2 → &dom2
> と言う変数名になった方が自然な印象です。
&dom1 &dom2 といった短い英語風の変数名は、意味が明瞭ならばOKですが、この場合には好ましくないでしょう。
&dateOfManufacture1 &dateOfManufacture2 の方が全然素直です。
・・・・
ネットをご覧になると、変数名がアルファベット3文字というのが多いと気が付くでしょう。
これも昔のPCのレガシー(遺産)なんですよ。
昔のPCのメモリーが少なかったので、変数名を長くできなかったんですよ。
それと、暗号のような変数を使っていても本人が判れば良しだったり、開発チームで暗号を共有していたりしたのです。
そもそも、ソフトウェアに添付されているマニュアルのプログラミング例が暗号のような変数名だったのですから・・・
桐のプログラミング例も同じく、妙に変数名を短くしているケースを見ると思いますが、これはDOS桐の文字数制限の影響でしょうね。
いずれにしても、短い変数名を良しとするのはレガシーです。MS-DOS時代は何かと窮屈だったんですよ。アハハha
かといって長すぎるのも読み下しが大変ですから、程々にしておくのが肝心だと思いますよ。
> う〜ん。
> プログラムは奥が深いですね(^^ゞ
問題意識を持っていれば大丈夫です。
後は経験を積んで慣れるしかありません。ガーン (*^^)ok
p.s.
私( ONnoji )の場合には、項目名が基本的に漢字なので、対応する変数名も漢字になります。
そして、それ以外の変数名は基本的に英語または英語風です。
・・・・
なお、アルファベットは小文字を基本とします。
ソフトウェアによっては大文字を基本とするものもあります。
例えば、VB/VBAは大文字が基本だったと思います。※歴史的な経緯がありますけれど・・・
しかし、それ以外のソフトウェアでは小文字を基本とするものが多いです。
ちなみに、私( ONnoji )の場合には、キャメルケースを常用しています。
こちら
↓
キャメルケース フリー百科事典『ウィキペディア(Wikipedia)』
https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%A1%E3%83%AB%E3%82%B1%E3%83%BC%E3%82%B9
名称 表記例 備考
ローワーキャメルケース、または単にキャメルケース getInputReader 複合語の先頭を、小文字で書き始める。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■14283
/ ResNo.17)
Re[8]: 加工開始日を求めたい
▲
▼
■
□投稿者/ ジェダイの桐
-(2024/04/11(Thu) 14:15:11)
ONnojiさん
> ということで、項目[加工日1]に対応する変数が &加工日1 で、項目[加工日2]に対応する変数が &加工日2 という事です。
>
> これを
>
> 行訂正 [加工日1] = &dom1, [加工日2] = &dom2
>
> と書いてしまうと、もちろん動きますが・・・(^^ゞ
>
> 一番の問題は、後で読み返す際に直感的に分かりにくいんですね。
> ・・・・・・・・・・・・・・・・・・
>
> 行訂正 [加工日1] = &加工日1, [加工日2] = &加工日2
>
> としていれば、一目瞭然です。※最小限の思考で済みますから・・・(^^ゞ
>
> それに項目名と変数名が同じならば、イベント処理を検索する時に都合がいいでしょう。※後々のことを考えましょう。アハハha
解説有難うございますm(__)m
疑問が解決しました!!
分かりやすさは重要ですよね(^^♪
> &dom1 &dom2 といった短い英語風の変数名は、意味が明瞭ならばOKですが、この場合には好ましくないでしょう。
>
> &dateOfManufacture1 &dateOfManufacture2 の方が全然素直です。
> ・・・・
>
> ネットをご覧になると、変数名がアルファベット3文字というのが多いと気が付くでしょう。
>
> これも昔のPCのレガシー(遺産)なんですよ。
>
> 昔のPCのメモリーが少なかったので、変数名を長くできなかったんですよ。
>
> それと、暗号のような変数を使っていても本人が判れば良しだったり、開発チームで暗号を共有していたりしたのです。
>
> そもそも、ソフトウェアに添付されているマニュアルのプログラミング例が暗号のような変数名だったのですから・・・
>
> 桐のプログラミング例も同じく、妙に変数名を短くしているケースを見ると思いますが、これはDOS桐の文字数制限の影響でしょうね。
>
> いずれにしても、短い変数名を良しとするのはレガシーです。MS-DOS時代は何かと窮屈だったんですよ。アハハha
>
> かといって長すぎるのも読み下しが大変ですから、程々にしておくのが肝心だと思いますよ。
こちらもありがとうございます。
決行 3文字 のアルファベットが出てくる印象なので、そう言うものなのかなと思ってしまいました。
やっぱり、経緯を知る事は勉強する上で理解度に差が出ると思うので教えて頂いて良かったです!
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■14284
/ ResNo.18)
Re[9]: 加工開始日を求めたい
▲
▼
■
□投稿者/ ONnoji
-(2024/04/11(Thu) 17:06:10)
2024/04/11(Thu) 17:50:49 編集(投稿者)
蛇足を少々・・・
> いずれにしても、短い変数名を良しとするのはレガシーです。MS-DOS時代は何かと窮屈だったんですよ。アハハha
> かといって長すぎるのも読み下しが大変ですから、程々にしておくのが肝心だと思いますよ。
いくつかの例外がありますの・・・
それは「遠い昔、遥か彼方の銀河系でコンピュータ言語が発明された時以来」の習慣です。
次の1文字の変数名は普通に使いますよ。
それは、アイ、ジェー、ケー つまり i j k です。
桐の場合には、変数を直接(リテラル)記述する場合には、接頭辞のアンパサンド記号(&)を付けますので
つまり、&i &j &k ですが、これはプログラミングに慣れている人には違和感がありません。
これらの変数は整数のカウンタとして使うんですよ。
すなわち、&i が 1、&i が 2、&i が 3、… &i が n のように値が増加していくケースです。
これは「ヒツジが一匹、ヒツジが二匹・・・」というやつです。(^^ゞ
例えば、
&step = 1
&loop = 10
繰り返し &i = 1, &loop, &step
** &i の値が、1から10になるまで1(&step)増分して繰り返す
繰り返しい終了
ちなみに、&j &k は、さらに繰り返しが入れ子になる場合に使いますね。
・・・・・・・・・・・・・・・・・・・・・・・・・・
1文字の変数名ではありませんが、私( ONoji )はカウンタとして &cnt をよく使います。
本当は &count でも良いのですが、やはり3文字のレガシーで &cnt です。アハハha (^^ゞ
例えば、
&cnt = 0
繰り返し ( &cnt <= 10 )
** &i の値が、1から10になるまで1増分して繰り返す
&cnt = &cnt + 1
繰り返し終了
とかですね。
ところで、&cnt = &cnt + 1 もヘンテコに見えるでしょう。
でもこれは、&cntに1加算した結果を &cnt 自身に代入するという意味です。
つまり、加算(インクリメント)のコマンドになるわけです。
ちなみに、桐以外のコンピュータ言語でも基本的に同じですが、
i = i + 1 と書かずに i++ と書く言語が多いですよ。
もしも、i++ なんて見るとますます頭の中が混乱しますよね。
でもね、プログラマーは i++ を i = i + 1 とは絶対に書かないんですよ。アハハha
p.s.
[繰り返し ... 繰り返し終了]という繰り返しコマンドはワカリニクイでしょう。
初級者が最も苦手とするのが、この繰り返し処理なんですよ。
そうそう、サンプルにも繰り返し処理がありましたね。
:
:
ジャンプ 行番号 = 先頭
繰り返し ( .not #eof )
:
分かり易さのために途中のコマンドを省略しています
:
ジャンプ 行番号 = 次行 /* これを忘れると無限ループになります */
繰り返し終了
:
:
Did you understand? (^^)ok
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■14285
/ ResNo.19)
Re[10]: 加工開始日を求めたい
▲
▼
■
□投稿者/ ジェダイの桐
-(2024/04/12(Fri) 09:31:19)
ONnojiさん
> 次の1文字の変数名は普通に使いますよ。
>
> それは、アイ、ジェー、ケー つまり i j k です。
>
> 桐の場合には、変数を直接(リテラル)記述する場合には、接頭辞のアンパサンド記号(&)を付けますので
>
> つまり、&i &j &k ですが、これはプログラミングに慣れている人には違和感がありません。
これば疑問に思っていました。
ネットでプログラムの事を見ている時に i って頻繁に目にしました。
これも過去からの流れなんですね!
但し、 j と k は初めて知りました。
> 本当は &count でも良いのですが、やはり3文字のレガシーで &cnt です。アハハha (^^ゞ
初級者目線(私だけかもしませんが・・・)で言えば、正にこういう事がしりたかったのです。
&count でも良い けど 3文字のレガシーで &cnt
なんでもない事かもしれないですが、変数名は自由にしていいのに
何故英語? 何故3文字? (?_?)
過去からの流れで 英語 を使用した方がトラブル回避になる、項目に代入する時は 見た目に分かりやすい方が良い。(結果 漢字を使用する or 一般的に理解出来れば 3文字英語 そうでなければ 素直に英単語 にした方が分かりりやすい)
この知識が前段で無いと、プログラミングの門が狭く感じてしまうのです・・・(^^;
> ところで、&cnt = &cnt + 1 もヘンテコに見えるでしょう。
確かに見えましたが、
↓の開設のおかげで
>
> でもこれは、&cntに1加算した結果を &cnt 自身に代入するという意味です。
>
> つまり、加算(インクリメント)のコマンドになるわけです。
&msg = "Start"
&msg = &msg + "\n\nこれはテスト用のメッセージボックスです"
&msg = &msg + "\n\n不要になったらコメントアウトしてください"
メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する
&msg = &msg + "\n\n文字列"
の意味が非常に良く分かりましたm(__)m
> p.s.
>
> [繰り返し ... 繰り返し終了]という繰り返しコマンドはワカリニクイでしょう。
>
> 初級者が最も苦手とするのが、この繰り返し処理なんですよ。
>
> そうそう、サンプルにも繰り返し処理がありましたね。
>
> :
> :
> ジャンプ 行番号 = 先頭
> 繰り返し ( .not #eof )
>
> :
> 分かり易さのために途中のコマンドを省略しています
> :
>
> ジャンプ 行番号 = 次行 /* これを忘れると無限ループになります */
> 繰り返し終了
> :
> :
自分で完璧に作れるかは怪しいですが、
私の理解が正しければ・・・
ジャンプ 行番号 = 先頭 ←最初は先頭行にジャンプする
繰り返し ( .not #eof ) ←このプログラム以下から 最終行 になるまで繰り返す
:
:
やりたい事の命令
:
:
ジャンプ 行番号 = 次行 ←これは ジャンプ 行番号 = 先頭 に対して 次行なので 2行目 最終行になるまで加算させる。
だから注釈の様に ジャンプ 行番号 = 次行 を忘れると 永遠に 先頭行 を繰り返す事になる
という事だと認識していますm(__)m
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
昨日プログラムを見ていて気付いた事があります。
多重化
&multiTblNum = #is表 /* 多重化した表の表番号を取得 */
:
:
行訂正 [加工日1] = &加工日1, [加工日2] = &加工日2
:
:
終了 表 &multiTblNum /* 多重化した表を閉じる */
編集表 &hwindow
これを見ると、 多重化 した表に 求めたいデータを最終行まで代入していると理解しています。
最終行までいって繰り返しが終了しらたら 多重化 した表を閉じて、編集対象表に戻る。
これ自体は理解の通りであれば、納得出来るのですが
代入している表が 多重化 した表です。
それが何故編集対象表に求めた結果があるのか??
これは、 多重化した表 と 編集対象表は リンクしていると言う事なのでしょうか??
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
このツリーは本当に私の財産です。
初級者に対しての講義と言っても過言じゃないと思っています。
本当に助かっています!
ありがとうございますm(__)m
引用返信
[メール受信/OFF]
削除キー/
編集
削除
このスレッドをツリーで一括表示
<前のレス10件
|
次のレス10件>
スレッド内ページ移動 /
<<
0
|
1
|
2
|
3
>>
このスレッドに書きこむ
入力内容にタグは利用できません。
他人を中傷する記事は管理者の判断で予告無く削除されます。
半角カナは使用しないでください。文字化けの原因になります。
名前、コメントは必須記入項目です。記入漏れはエラーになります。
入力内容の一部は、次回投稿時の手間を省くためブラウザに記録されます。
削除キーを覚えておくと、自分の記事の編集・削除ができます。
URLは自動的にリンクされます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
使用例:
No123 → 記事No123の記事リンクになります(指定表示)。
No123,130,134 → 記事No123/130/134 の記事リンクになります(複数表示)。
No123-130 → 記事No123〜130 の記事リンクになります(連続表示)。
■お願い−−−−−−−
質問には、できるだけ「OS・桐 Ver」等ご記入願います
将来ここに掲載されました内容を、桐のファイルへ変換予定です。
できましたら、3,500文字以内位での投稿お願い致します
■ご注意(Comment)−−−−−
通常モード・・・通常文章等
図表モード・・・等幅表示(イベントや数字等を記入したとき:
初期設定
)
■
解決しましたら最下段にチェックを入れてください
■
引用文は、最小限に、お願いいたします
Name
/
E-Mail
/
└> 関連するレス記事をメールで受信しますか?
NO
YES
/ アドレス
非公開
公開
Title
/
メッセージ中には下記URLと同じURLを書き込まないで下さい
URL
/
Comment/ 通常モード->
図表モード->
(適当に改行して下さい/半角10000文字以内)
■No14285に返信(ジェダイの桐さんの記事) > ONnojiさん > > >>次の1文字の変数名は普通に使いますよ。 >> >>それは、アイ、ジェー、ケー つまり i j k です。 >> >>桐の場合には、変数を直接(リテラル)記述する場合には、接頭辞のアンパサンド記号(&)を付けますので >> >>つまり、&i &j &k ですが、これはプログラミングに慣れている人には違和感がありません。 > > > これば疑問に思っていました。 > ネットでプログラムの事を見ている時に i って頻繁に目にしました。 > > これも過去からの流れなんですね! > > 但し、 j と k は初めて知りました。 > > > >>本当は &count でも良いのですが、やはり3文字のレガシーで &cnt です。アハハha (^^ゞ > > > 初級者目線(私だけかもしませんが・・・)で言えば、正にこういう事がしりたかったのです。 > > &count でも良い けど 3文字のレガシーで &cnt > > なんでもない事かもしれないですが、変数名は自由にしていいのに > 何故英語? 何故3文字? (?_?) > > 過去からの流れで 英語 を使用した方がトラブル回避になる、項目に代入する時は 見た目に分かりやすい方が良い。(結果 漢字を使用する or 一般的に理解出来れば 3文字英語 そうでなければ 素直に英単語 にした方が分かりりやすい) > > この知識が前段で無いと、プログラミングの門が狭く感じてしまうのです・・・(^^; > > >>ところで、&cnt = &cnt + 1 もヘンテコに見えるでしょう。 > > > 確かに見えましたが、 > ↓の開設のおかげで > >> >>でもこれは、&cntに1加算した結果を &cnt 自身に代入するという意味です。 >> >>つまり、加算(インクリメント)のコマンドになるわけです。 > > &msg = "Start" > &msg = &msg + "\n\nこれはテスト用のメッセージボックスです" > &msg = &msg + "\n\n不要になったらコメントアウトしてください" > メッセージボックス &title, &msg, アイコン = i, ボタン指定 = 1, 制御文字展開 = する > > &msg = &msg + "\n\n文字列" > の意味が非常に良く分かりましたm(__)m > >>p.s. >> >>[繰り返し ... 繰り返し終了]という繰り返しコマンドはワカリニクイでしょう。 >> >>初級者が最も苦手とするのが、この繰り返し処理なんですよ。 >> >>そうそう、サンプルにも繰り返し処理がありましたね。 >> >> : >> : >> ジャンプ 行番号 = 先頭 >> 繰り返し ( .not #eof ) >> >> : >> 分かり易さのために途中のコマンドを省略しています >> : >> >> ジャンプ 行番号 = 次行 /* これを忘れると無限ループになります */ >> 繰り返し終了 >> : >> : > > > 自分で完璧に作れるかは怪しいですが、 > 私の理解が正しければ・・・ > > ジャンプ 行番号 = 先頭 ←最初は先頭行にジャンプする > 繰り返し ( .not #eof ) ←このプログラム以下から 最終行 になるまで繰り返す > : > : > やりたい事の命令 > : > : > ジャンプ 行番号 = 次行 ←これは ジャンプ 行番号 = 先頭 に対して 次行なので 2行目 最終行になるまで加算させる。 > > だから注釈の様に ジャンプ 行番号 = 次行 を忘れると 永遠に 先頭行 を繰り返す事になる > > という事だと認識していますm(__)m > > > ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇ > > 昨日プログラムを見ていて気付いた事があります。 > > > 多重化 > &multiTblNum = #is表 /* 多重化した表の表番号を取得 */ > : > : > > 行訂正 [加工日1] = &加工日1, [加工日2] = &加工日2 > > : > : > 終了 表 &multiTblNum /* 多重化した表を閉じる */ > 編集表 &hwindow > > > これを見ると、 多重化 した表に 求めたいデータを最終行まで代入していると理解しています。 > > 最終行までいって繰り返しが終了しらたら 多重化 した表を閉じて、編集対象表に戻る。 > > これ自体は理解の通りであれば、納得出来るのですが > 代入している表が 多重化 した表です。 > > それが何故編集対象表に求めた結果があるのか?? > > これは、 多重化した表 と 編集対象表は リンクしていると言う事なのでしょうか?? > > ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇ > > > このツリーは本当に私の財産です。 > 初級者に対しての講義と言っても過言じゃないと思っています。 > > 本当に助かっています! > > ありがとうございますm(__)m > >
File
/
アップ可能拡張子=> /
.gif
/
.jpg
/
.jpeg
/
.png
/.txt/.lzh/.zip/.mid
圧縮ファイル[lzh,zip]は、事前に解凍してご利用下さい。
1) 太字の拡張子は画像として認識されます。
2) 画像は初期状態で縮小サイズ250×250ピクセル以下で表示されます。
3) 同名ファイルがある、またはファイル名が不適切な場合、
ファイル名が自動変更されます。
4) アップ可能ファイルサイズは1回
100KB
(1KB=1024Bytes)までです。
5) ファイルアップ時はプレビューは利用できません。
6) スレッド内の合計ファイルサイズ:[0/500KB]
残り:[500KB]
パスワード
/
半角小文字で「ケイ・アイ・アール・アイ」を入力
削除キー
/
(半角8文字以内)
解決済み!
BOX/
解決したらチェックしてください!
プレビュー/
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
ファイル一覧
検索
過去ログ
-
Child Tree
-
-
Antispam Version
-