このページはIE6.0で表示確認しました。




tips top  ひまわりのススメ top  top


プログラム中に


  1. "z"を押した時にイベントを起こしたい。
  2. 「コメントとして扱う」ってどういうこと?
  3. カッコっていつ、どこにつけたら良い?
  4. INIファイルを使いたいけど、気をつけることってある?
  5. 一文一文がすごく長くなっちゃいます…
  6. プログラムの動きが遅い…


  1. "z"を押した時にイベントを起こしたい。

    母艦の、キー押した時は、もし押されたキー=XXならば、○○。
    これが、キーを押した時にイベントを発動させるやり方です。
    XXに入る数字は、各キーのsjis番号だそうです。
    zの番号を知るには、何も考えずに、「ASC(Z)と、言う。」を、ひまわりで実行してみましょう。
    その、番号が、zのsjis番号です。
    気をつけなければならないのは、( )の中は大文字でなければならないということです。
    小文字にすると、違う数が出てきてしまい、それではイベントが実行されません。
    また、Ctrlキー、Shiftキー、Altキーを押した時にイベントを発動させたい場合は、押されたキー=XXのところを、押された特殊キー=Ctrlまたは、Shiftまたは、Altと書きます。
    BackspaceやSpaceキーは?というあなたに朗報。
    キー番号を調べるソフト、作ってしまいました。使ってあげてください。

  2. 「コメントとして扱う」ってどういうこと?

    { }の中はコメントとして扱われますって質問掲示板の答えでたまに見かけます。
    アレは初心者にはちょっと分かりづらいですね。(反省)
    コメントとはプログラム中にプログラマが書いたちょっとしたメモのこと。
    メモを命令と勘違いされるとエラーだらけになるので、コメントは無視されます。
    つまり、なかったことにされる、と言うことです。
    だから、以下のサンプルではエラーが出ます。
    //サンプル1
    ’( )と{ }を間違えている例。
    エディタを、エディタとして、作成。
    こんにちはをボタンとして、作成。
    その、イベントは、もし、{エディタの、テキスト}=「」でなければ、「こんにちは。」と、言う。

    //サンプル2
    ’「」を書き忘れた例
    変数=ばなな
    {変数}を、表示。

    //サンプル3
    ’コメントのつもりで使ったのに失敗した例

    「{それ}=77」を、ひまわりする。

    サンプル1は{ }を( )に直せばきちんと動きます。
    サンプル2の場合は{ }を外した方がいいです。
    サンプル3の場合はコメント内に}があると、そこでコメントが終了だと思われてエラーが出ます。
    このような場合はマクロタブの「コメント追加削除」を使っておきましょう。

  3. カッコっていつ、どこにつけたら良い?

    「」と『』の違いについてはマニュアルにありますが、{}の使いどころについては、いまいちわかりません。
    また、「」と()の違いも使っているうちにごちゃごちゃになってしまったり。
    サンプルを交えて説明します。
    へんすう=21
    へんすうを、表示。
    「21」と、表示されました。
    では、これはどうでしょう。
    へんすう=21
    「へんすう」を、表示。
    「へんすう」と、文字がそのまま表示されてしまいました。
    「」の中は、普通の文字列として、処理されます。なので、
    「{へんすう}」を、表示。
    のように、{}でくくる必要があります。
    今度は変数を使って計算してみましょう。
    へんすう=21
    へんすう+9を、表示。
    エラーが出ます。
    記号をはさむと、変数が余分にあると解釈されるようです。
    へんすう=21
    (へんすう+9)を、表示。
    これで、オッケーです。
    次に、21+9と、表示させて見ましょう。
    へんすう=21
    「{へんすう}+9」を、表示。
    かんたんです。
    ここが本題。
    へんすうと、+9だけを使って、21+9=30と、表示されて見ましょう。
    へんすう=21
    「{へんすう}+9=({へんすう}+9)」を、表示。
    思ったとおりに表示できません。
    これは、「」の中が文字列として、処理されるためだと思われます。
    正解は、
    へんすう=21
    「{へんすう}+9={へんすう+9}」を、表示。
    {}のなかは、「」がないのと同じに扱われます。
    ちょっと待って、それならどうして()がいらないの?と思うかもしれません。
    さきほどの()は、「へんすう+9」で、ひとつの変数ですよー。と、コンピュータに教えてあげるためにつけました。
    ところが、今回は、{}の外側に、「」がついています。
    「」は、「」の中身はひとつの文字列ですよー。と、コンピュータに伝える役目です。
    つまり、一つの引数だ、と伝える役目を持ったやつが外側にいるから、()はいらないのです。

  4. INIファイルを使いたいけど、気をつけることってある?

    INIファイルのセクション名には、記号が使えません。
    また、文末の「。」も無視されます。
    気をつけましょう。

  5. 一文一文がすごく長くなっちゃいます…
    『』や「」の中身が長いとどうしても一文一文が長くなってしまいます。
    が、エディタの設定を「右端で折り返す」ようにするとデバッグ時に行数の表示がずれちゃうし…
    というあなたに朗報。
    命令を書く時、「。」だけでなく、「、」や「,」が行末にあれば改行して良いんです。
    もちろん、「、」で改行した後、タブを入れても大丈夫。
    以下のような、極端な書き方ができます。
    //極限まで改行してみたサンプル
    エディタを、
    作る。
    その、
    ダブルクリックした時は、(
    //部品のステータスを参照する場合等で( )を使ったときは改行できません。
     もし、(エディタの、テキスト)=「」
      ならば、
       (
        戻る。
       )。
      違えば、
       (
        (エディタの、テキスト)と、
        言う。
       )。
     )
    その、
    位置は、(
    50,
    50)
    但し、二つだけ気を付けなければならないことがあります。
    一つ目。「もし」を使ったときは「もし、XXならば、」の「XX」にあたる部分まで改行してはいけません。
    「、」があるからと言って「もし、」のすぐ後で改行してしまうとどこまでが一文なのか区別できなくなるようです。
    もう一つ。
    部品のステータス(イベントやテキストなど)を設定するときは「XXは、OO」を1行で書かなければなりません。
    但し、『「』や『(』が行末に来れば改行できるようです。

    ソースは見やすく書きましょう。

  6. プログラムの動きが遅い…
    作ったプログラムを実際に動かしてみると、非常に動きが遅いときがあります。
    ひまわりは文書作成が得意な反面、映像を扱うのは少し苦手。
    でも、映像を扱っていないのに、なんだか止まってしまっているようなときがある、なんてことはありませんか?
    そんなときは以下のことをチェックしてみてください。

    • 「反復命令」を多用していませんか?
    • いくつもファイルを開いていませんか?
    • 大きなファイルを扱っていませんか?
    • 変数の数は適正ですか?