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




ひまわりのススメ top  top


ひまわりメモ
メルマガのネタになったりするかもしれないこと。
気になった記事やイチ押しのプログラムへのリンク&コメント

  • NOTを使わずに0と1を反転させる方法。
    1を足して2で割った余り。

    ((0+1)%2)を、表示。
    ((1+1)%2)を、表示。

  • 四捨五入のやりかた。
    0.5を足して切り捨てる。

    (INT(3.1414+0.5))を、表示。
    (INT(3.567+0.5))を、表示。
    (INT(2.4362*10+0.5)/10)を、表示。
    (INT(1235/10+0.5)*10)を、表示。

  • 小技。
    「{数字}」と書くと数字は文字列として扱われます。

    //一見同じ結果が出そうだが、違う結果が出る。 a=10
    aに、20を、足す。
    言う
    aに、「{20}」を、足す。
    言う

  • 速さの話。
    「区切る」と「置換」では「置換」のほうが速いです。

    t=システム時間
    1000回(「ああ,あ,あああ,ああ,あ,ああ,ああ,あ」を、「,」で、区切る。)
    (システム時間-t)を、表示。

    t=システム時間
    1000回(「ああ,あ,あああ,ああ,あ,ああ,ああ,あ」の、「,」を、「\n」に、置換。)
    (システム時間-t)を、表示。

    t=システム時間
    1000回(それ=「ああ,あ,あああ,ああ,あ,ああ,ああ,あ」;『s#,#\r\n#kmg』で、正規表現置換。)
    (システム時間-t)を、表示。

    結果→497:378:388
    微妙すぎる差ですが、多用する場合は参考にしてください。

  • 母艦・フォームのスタイル
    へぇ〜へぇ〜へぇ〜へぇ〜へぇ〜へぇ〜へぇ〜へぇ〜(8へぇ)
    スタイル=5は便利かも。
  • メモ拡張命令集
    これは凄く便利そう。
    更に拡張してTエディタで出来ることをメモ部品で出きるようになったらすごいなぁ。

  • 頭の中でごちゃごちゃになりがちな用語。
    どうしてもこんがらがりがちなのが、命令・変数・引数・設定項目。
    っていうかこんなん間違えがちなのは私しかいないかもなので、メモに書いとくだけです。

    • 命令
      あんまり間違えない。
      命令パネルで四角いアイコンの奴が、「命令」。

    • 引数
      よくごちゃごちゃになる。
      読み方は「ひきすう」。
      ひまわりの場合、たいてい命令以外の文節を指す。
      たとえば、『「こんにちは。」と、言う。』の場合、『「こんにちは。」』が引数。
      また、普通の現代日本語文法で言うところの、「助詞」(「に」「と」「を」など)を指して「引数」ということもあるようだ。

    • 変数
      自分で設定する物の他に「システム変数」というのがある。
      システム変数とは、命令パネルの丸っこいアイコンの奴。
      「ウインドウ色」「デスクトップの幅」など。

    • 設定項目
      どうしても部品の設定項目を、引数と言ってしまう癖がある。
      だめです。
      設定項目とは、部品タブに書いてある、設定できる項目のこと。
      部品によって異なります。
      「幅」「高さ」「テキスト」など。

  • csvとtableタグ(リンク先消失)
    私の苦手なDLLを使えば可能らしいです。
    このプログラムができあがったら、是非、参考プログラム集をcsvファイルに。
    プログラムのできあがるのを楽しみにしています。

  • 置換・反復・回数。
    今は消失してしまった質問掲示板にmokaさんがかかれていたこと。
    プログラミングをするときにコピペの回数が多いな、と思ったら、この技を使おう。
    多分、ちょっとしたテクニックだと思われる。
    なお、mokaさんがおっしゃっていたのは置換のテクニックについてだけ。
    置換で文字列を配列に変換してそのまま反復する。
    反復の処理が長引くような場合は独自に変数を作らず、母艦は、「XX{回数}」などのようにシステム変数である「回数」を利用すると少しはプログラムが軽くなる?

  • 正規表現置換。
    こちらもログ消失によってリンクは張れないけど質問掲示板でSWinXさんがお答えになっていた話。
    先の置換・反復と似たテクニックだが、文字数が決まっているときは正規表現置換を使うと便利。
    例えば、「一文字表示して、一秒待つ」のを繰り返したい場合は
    『指定文字列』を、「s/(.)/$1\n/gk」で、正規表現置換。
    反復(表示。1秒、待つ。)
    こんな感じにすればよい。
    実際に拙作「AutoUP」内の「日本語チェック」ラベルで使用している。
    ちなみにパス名の中に2バイトの文字が入っているかどうかチェックするサブルーチン。

  • 正規表現
    mokaさんのサイトに正規表現お勉強用のサイトへのリンクが張ってある。
    こちらのページ

  • 描画処理反映
    この発言を読むまでずっと「待つ」を使っていた…

  • 「飛ぶ」と「呼ぶ」
    もっとも基本的な部類に入りますが最初はこの二つの命令の違いが分かっていませんでした。
    「戻る」必要のないときは「飛ぶ」ようにしましょう。
    また、ボタンなどのイベントでラベルを呼んだときは戻った方がいいです。
    どこかのラベルに行った後、「待機。」していてはプログラムがどこまで進んだのか分からなくなりがちです。
    これも、消失したログの中に書いてあったこと。
    どなたがおっしゃっていたかは忘れてしまいました…

  • 参考にしたプログラム。
    初めて作ったプログラムは「RPG風」でした。
    最初なんだから、マニュアルにあった物語に続きを書いてみよう。と思ったのがきっかけです。
    で、最初に躓いたのがセーブとロードでした。
    セーブとロードは「15パズル」が秀逸です。
    セーブファイルがあるかどうか、ちゃんと確かめているあたり、丁寧だな、と思います。
    「反復」の使い方が分からなかったらマニュアルの「単語帳を作ろう」がとても参考になります。

  • ファイル=配列。
    例えば、日記を書いてテキストファイルに保存したとします。
    それをプログラム上で開いたら、それはもう立派な配列になっています。
    つまり、配列とは文字の集合なら何でもいいわけです。
    ちなみに、二次元配列は「,」で区切られているファイル。
    もし、「,」(カンマ)がなくても列が一列しかない二次元配列として扱われるので「表検索」などの命令を普通の配列に使うこともできます。

  • 二次元配列ってかなり便利。
    これは自分で思いついて投稿したんだけど、自分的にかなりヒット。
    これを利用して自動的に部品を配置するプログラムを作れないものかな。
    設定項目が部品によってあまりに違いすぎるから無理か。
    いや、…三次元配列っぽくすればいけるか。
    つまり、セルの中に表を作るってことだけど。

  • コンボ・リスト
    コンボとリストをうまく使いこなすには「値」と「テキスト」をとことん使ってやると使いこなした気持ちになれる。

  • 明るさ判別サンプル
    ソースを理解することがまだ出来ないけれどすごいことだけがひしひしと伝わってきます。

  • カッコについて(リンク先消失)
    確かに、分かりづらい…
    ティップスに付け加えさせてもらおうかな…