先週来のウィルス発見&再インストール騒ぎが続き、しばらく再インストールしまくりでした。再インストールを続けている最中に、中途半端につないであったAC電源コードを抜かれて挙動がおかしくなり、結局Windows2000の再インストールからやり直したこともありました(T-T)
再インストールが無事すむと今度は欲がでてきて、いつも使っているソフトの最新版をインターネットで探したり、設定を見直してもっと便利になるようにしたり…しばらく遊んでしまいました(^^;そういえば昔Windows95の時代は、いかに早くできるかとか、いかに安定するかとか、いろんな点をいじってカスタマイズしたりしてよく遊んでいました。そのおかげか、Windowsパソコンはその挙動や特徴なんかもよくわかるようになりましたねえ〜WindowsNT系列は意外とカスタマイズできる点が少ないので、最近はあんまりさわってませんでしたが、再インストールすると、おお、この省電力機能は、このソフトを動かしてなきゃならんのね、とか、おお、このIMEの表示はスタートアップでこのソフトを動かしてなきゃならんのね、とかで、強制的に立ち上がらないようにしていたソフトの働きがよくわかるようになりました…なんだいじくりすぎてたんじゃん(^^ゞ
さて今週は、再インストールで緊張してたのか、単に寝不足が続いたからか、いや、職場で重度の風邪ひきさんが多かったからか、とうとう本物の風邪ウィルスに感染してしまいました(×□×)こっちもアンチウィルスがほしい今日この頃の三國志製作記です。ずいぶん長い前フリ、ようはあんまり進んでないんですm(__)mまあ1週間で急成長するわけはないんで(^^;長〜〜いめで見守ってやってください。
それでも多少は進んだりします。おっとそうそう、最近Delphiはバージョン7が出たようですね。Personal版の箱版が9000円強で売られてました(6のときは4000円台。なぜだ!)が、フリー版は出てるんでしょうかね…あんまり変わってないという噂ですが、またリサーチしてみます。
で三國志製作記。今週はいよいよ武将の能力の変数設定です。HSP版では何も考えずに配列変数を能力分用意すればよかったんですが、Delphiではレコード(CDの古いやつ…じゃなくて、変数のひとかたまり。成績レコードには数学点数変数と国語点数変数と英語点数変数とかがある)とかクラス(教室…じゃなくて、変数や手続や関数などのひとかたまり)とか面白そうな機能があります。例によってDelphiのヘルプをいかに読解しようとも初めての内容は理解しがたいので、座右の『カンタン!Delphiプログラミング』を眺めてお勉強です。城の設定は城数が固定なので変数の量も固定ですが、武将の能力値はユーザ作成武将やランダム武将なども登場させたいので、数が必ずしも一定しません。変数の総量を変えることのできる動的変数を使ってみたい!!
勢い込んで動的変数のレコードを作ってみたものの、どうもうまく動きません。むむ、これでは先に進めない…また渋滞か?(..;動かない原因のひとつは、画面レイアウトの表示のすべての部分を細かくラベルで表示しているため、ラベル使いまっせという宣言の部分がやたら長くなったため、武将の能力設定部分を別のプログラムとしようとしたためです。こうやってできないうちからいろんなことを試してたりするから渋滞するんですよね〜(^^ゞ
けれども、将来的にはどうせ長〜〜いプログラムになるんで、プログラムのリストを分割して、それでもちゃんと動くような変数設定にしておく必要があります。C系言語やHSPではinclude「ファイル名」って書いてコンパイル(プログラムをパソコンが動かせるファイルにすること)の時に一本化するはずですが、Delphiではuses「ファイル名」って書いて一本化するようです。そしてこういう複数のプログラムリストの一本化でもっとも複雑化するのが、変数の宣言です。宣言を書いた位置によって、その変数の使えるエリアが異なってきます。これをスコープっていうらしいです。有効範囲って意味らしいですが、同じ「X」って変数でも、宣言した位置によって中身も、使える範囲も違うものになるらしいです。もちろん武将の能力値や城のデータはどこでも使えるようにしておかないとまずい。
で、今まで学習してきたのが主に狭い有効範囲の変数宣言だったため、広い有効範囲の変数宣言がうまくいかない。こね繰り回したり、位置を変えたり、文章を変えたりして、ようやっと動きました。書く位置が悪い、レコードの書き方が悪い、なんだ全然できてないじゃないか(T-T)
という感じで、どうやら多少は動きだしましたが…「がんばりましょう」( °〜 °)
|index|
このページへのリンクはフリーです。