過去の桐井戸端BBS (桐ver.8)
8812 変数宣言とは? 老人と桐 2000/12/02-20:49
一括を覚えて、桐をもっと有効に使いたいのです。
「桐なら出来る」の本も、全巻を買いそろえました。
で、第二巻の376ページの、変数宣言と云う所で???
何の為に変数宣言をすれば良いのかが分かりません。
多分、宣言した変数に文字とか数字を入れると、何かが実行されるのでしょうが
どうやって変数に文字か数字を入れるのかも分かりません。

私のやりたい仕事は、例えば次の事です。
1:領収.TBLのフォーム編集で納品書を書き、印刷する。
2:印刷が終わったら、「処理」のコマンドボタンを押す。
3:領収.TBLの整数型項目[PRINT]:初期値ゼロを絞り込む
4:予め作っておいた「売掛.TBL」にデータを書き出す。
5:領収.TBLの[PRINT]のデータを1に置換する。
6:領収.TBLを閉じて、売掛.TBLを開く。
7:売掛.TBLの、計算式/通貨型項目[残高]を、置換で再計算する。

こんな時、どんな変数を宣言して、その変数ボックス?に何を入れればどうなるかそれが分かりません。

それと、これは桐に関係ないのですが、質問に対してお答え頂いた方に、お礼の返事などをしたためたいのですが、
どれを操作すればお礼の返事がツリーに出せるのか分かりませんので、教えて頂けませんでしょうか。
何しろ、通信は桐以上に初心者で、このページにたどり着くのに1ヶ月以上もかかってしまった老人ですので・・・。

宜しく御願い申し上げます。

8813 Re:変数宣言とは? 【多遊】 2000/12/02-22:04
記事番号8812へのコメント
>多分、宣言した変数に文字とか数字を入れると、何かが実行されるのでしょうが
>どうやって変数に文字か数字を入れるのかも分かりません。

一番簡単な変数の説明

老人と桐 さんへ>
こんにちは。ご存じかもしれませんが一番簡単な例をご紹介いたします

数式や算数などでは、「2+3=5」と書いてたと思いますが、
桐の一括や大半のプログラム言語では「5=2+3」というようにかきます。
まず基本ですからこのことを頭に入れて下さい。

したがって、a+b=cとは書きません。c=a+bです。
これをふまえて、


例1.一括処理の中で、
c=a+b
a=2
b=3

このような一括処理が在った場合、「c」はいくつですか?

答えは、「c」は5・・・いえ、c=0です。そんな馬鹿な?と思いますか

説明1
c=a+b  この時点では、aもbも何ら値が設定されてません
c=0+0  と、同じです。
その後に、a・bにそれぞれ数字を代入してもcの答えは変わりません。従って、

cに答えを求める場合は

a=2
b=3
c=a+b
このように書きます。


補足:上記を行う為には事前に、
 変数宣言 整数{&a,&b,&c} と記載しておく必要があります
 また変数の前には必ず&を記入して下さい

例2.文字列の足し算

変数宣言 文字列{&aa,&bb,&cc}
&aa="東京"
&bb="駅"
&cc=&aa+&bb

ではこれは・・・そうです。&ccは、「東京駅」となります。

説明2
文字も足し算できます。
でも数字と違って、先頭からつながって行くだけです。(引き算や、かけ算わり算はできません)
簡単な関数を使用すれば文字+数字もできます。

win+95・・・このままではエラーになりますが
"win"+#文字列(95)・・・このように書くだけで可能です

>どうやって変数に文字か数字を入れるのかも分かりません。
答えだけ書くと変数宣言をして、その変数に必要な値を代入するだけですがなにを変数にするかを考えて下さい。

一括処理だからと言って、別に変数が必要なわけではありません。
たとえば
A表を開く・・・編集する・・・終了する
B表を開く・・・編集する・・・終了する
C表を開く・・・編集する・・・終了する

これだけでしたら、そのまま一括処理に書いてもかまいません。
またその方がわかりやすいです。

しかし、なにかの条件で、条件判断や繰り返し等を行うときなどは便利と思います。
最初はやりたいことを全部一括処理に書いて同じ様な処理をするところが数回発生したら、
その時その部分を変数にしてみるのも一つの方法とおもいます。


>私のやりたい仕事は、例えば次の事です。
これにお答えしたがったのですが、とりあえず上記を書かせて頂きました

8814 Re:変数宣言とは? くるみ 井上 2000/12/03-00:26
記事番号8812へのコメント
老人と桐さんこんばんわ。
私も変数とは?変数宣言とは?となかなか理解できず、このコーナーで配列変数とか教えてもらいました。
もちろんこのコーナーでお教えできるような知識もないのですが、同じ様に悩んだことがありましたので、少し書かせて頂きます。

>何の為に変数宣言をすれば良いのかが分かりません。
一括処理の場合必ず必要になります。
例えば、領収.TBLに[領収年][領収月][領収日]という項目が有る場合に、12年12月2日のレコードを選択する場合、
会話処理ですと、それぞれで絞りこみをしていけばいいのですが、
一括処理の場合だと

変数 数値{&選択,&領収年,&領収月,&領収日}

というようにまず、変数宣言をして

 キー入力(04,02),プロンプト=”領収年:”,¥
モード=半角,終了状態=&選択,&領収年
選択 [領収年]_&領収年
キー入力(04,02),プロンプト=”領収月:”,¥
モード=半角,終了状態=&選択,&領収月
選択 [領収月]_&領収月
キー入力(04,02),プロンプト=”領収日:”,¥
モード=半角,終了状態=&選択,&領収日
選択 [領収日]_&領収日

と書けば、画面上につぎつぎに[領収年][領収月][領収日]にキー入力するようにでますので、
それぞれ12 12 2 と入力すれば12年12月2日のレコードが選択されるわけです。
&領収年という変数はこの時点で12という数字が書き込まれている状態になっているわけです。
これは、うちで領収証を発行する時に桐5の時から使っている一括処理の一部ですので、
もっといいやり方があるとは思いますが。

>3:領収.TBLの整数型項目[PRINT]:初期値ゼロを絞り込む

初期値が0であれば

選択 [PRINT]=0
でいいような気がしますが・・

>4:予め作っておいた「売掛.TBL」にデータを書き出す。
>5:領収.TBLの[PRINT]のデータを1に置換する。
>6:領収.TBLを閉じて、売掛.TBLを開く。
>7:売掛.TBLの、計算式/通貨型項目[残高]を、置換で再計算する。

このへんは、会話処理で履歴を使い、やってみてから、その履歴を一括処理の該当する部分に読み込むと簡単ですよ。
わたしも、桐をずっと使っていますが、知識は初心者ですので、しょっちゅうこの方法をつかっています。
8816 有り難うございます。 老人と桐 2000/12/03-09:00
記事番号8814へのコメント
ご親切に有り難うございました。
御教示頂いた内容を見て、すぐにピンと来るほど柔軟な歳ではないので、
皆様からの文書を一太郎などに保存して、参考にさせて頂きます。
これでキチンと御礼として、表示される事を祈りつつ まずは御礼まで。

追伸 私もいつか、皆様の疑問にお答え出来る様になりたいと思います。

戻る