kr_ryo 徒然日誌 <2004年10月17日分>

三國志製作記78〜舞台裏が見えちゃう!〜

今日は穏やかな秋晴れのいい天気です(^O^)けれどもまた台風ができているようで…(~_~;)今回はどうなるんでしょうねえ〜もうさすがにいらんっ!って感じで(T-T)最近晴の日が続いたのでようやく乾燥してきたところなのに…乾燥がいきすぎて、もう静電気の季節ですけど(*_*)

さてさて、涼しくなってきても冷え冷えクーラーは活躍していて(^O^)かなりノートパソコンの底面を冷やしてくれます(^-^)CPU自体も熱伝導で冷えています。放置しておいた状態で、冷え冷えクーラーを使わなければ47度だったのが、使えば39度になってたりします。効果ありますねえ〜(^O^)

冷え冷えクーラーの予想外の有効性に対して、予想外の難関がデータベースです(~_~;)いや、操作は簡単なんですよね〜(^^;;あまりに簡単すぎて拍子抜けするくらいです(@_@)ところが、簡単なものは応用が利きづらいといったもので、ここをこう、もうちょっと、というところがうまくいかなくてあれやこれやいじりたおしています。

まあ、昔はじめてWindows95パソコンを買ったとき、レジストリを含めいじりたおして(^^;;それでかなり使えるようになった経験からも、興味に任せていろいろいじくりたおすのは勉強になることはなるのです。とはいえ、思っていたことができないので、ううむう……(x_x)というところ(--;)いくらいじくりたおすのが好きとはいえ、思い通りに動かないでえんえんいらっているとさすがに疲れてきます(*_*)

どういうことかというと、大量の武将データをとりあえずプログラムに放り込むことまでは前回でできるようになりました(^-^)その受け入れ先、クライアントデータセットというやつなんですが、こいつがなかなか曲者なのです(T-T)データを保存、読込するためにファイルを作るんですけど、そのファイルを開くと字が見えちゃうんですよね( °O °;)

普通は色々なファイルなんぞ開かないとは思いますが(^^;;市販のソフトであっても、ファイルをエディタで開くと日本語は読めたりします。もちろんいわゆる自己責任という奴ですが(^^;;単純に開いてみたら中身が見えるっちゅうのもねえ…(^^;;;世の中には開いてみる人はいないと思っているのかしら…?

もちろん私は開いてみる人なんで(^^;;開いて見えないようにしたいのですが、どうも、見えます(T-T)圧縮やらややこしいことをしていないせいでしょうか、それとも難しく考えてないせいでしょうか、あっさり見えるのはどうもいただけない(~_~;)

かといって、そんなに大きくもないデータベースのために強力データベースエンジンを使うのも馬鹿げています(^^;;データベースがなければないで変数の束でがんばるつもりでしたからね。しかし一度データベースで結果があっさり表示されるのを見ると、変数の束をこねくりまわすのもどうかという気がしてきたのです。

さらに、前回もちょろっと書いていたように、クライアントデータセットでは、データベースとして単独のファイルで様々なデータ集(テーブルといいます)を扱えるわけでなく、色々なテーブルごとに別々のファイルで扱うことになります。少なくとも城のデータテーブルと武将のデータテーブルは分けたいと思いますので(^^;;これだけでもデータファイルが2つになります。他にも色々とつけたしていくと、ファイルは増える一方です(~_~;)

とはいえ、増えたファイルのパラメータは、アクセスやエクセルで作ることができるんですよね〜(^-^)それはかなり大きなメリットです。さすがにプログラム上でいちいち武将のデータ内容を編集することに比べたら…(T-T)

それに、将来の追加シナリオに備えて(^^;;;ファイルを別立てしている方が便利な面もあります(^-^)追加シナリオ搭載ごとに、全プログラムデータを入れ換えて配布するのは、送る方も受ける方もぞっとしませんからね(^^;;まあ、バグならどうしようもないものの(~_~;)皆さんも変更されるファイルの入れ換えだけで済むことができるならそれにこしたことがありませんよね(^^;;武将データなど色々変更したくなるデータはできるだけ外部ファイル化したいところではあります(^-^)

そういう意味でも、外部データファイルにはメリットがありますが、いかんせん、中身が見えちゃあ、舞台裏を覗かれてしまってるようでいただけない(~_~;)なんとかならんもんかいな……?せっかく今回の三國志は、不如帰風に、武将の能力も内政状況も数値では示さず、実績などから判断してもらおうとしているのに、データベース上から武力20とかわかっちゃったらかっちょわるい(--;;まあもちろん、呂布や関羽やらが強いのはわかるとして、麋芳と馬忠はどっちが強いかとか…マイナーっすね(^^;;そういうのはわからない方が馬忠君も使ってもらえるかもしれませんし(^^;;

まあ、データベース機能はいわばお仕着せ、その機能をそのまま使うだけでは芸がない、ということでしょうか?(~_~;)たとえば、データファイルを2つ作り、それぞれをリンクして使うのがよいとします。というのも、武将の名前データと、能力他の数値データと、同じファイルにしてもよいんですが、そうするとセーブする際に、ほとんど変わらないのに毎回武将の名前データもセーブしなきゃなんなくなります。そこで2つにわけたい、と考えます。

2つのデータファイルとも、わざとID項目をつけておきます。このID項目は両ファイルで同じ人物のものには同じ番号を振ります。そうしておいて、このファイルをIDをもとにリンクします。クライアントデータセットではその機能を参照といいますが…参照する対象は、ほんとに参照するだけなんですよね(~_~;)たとえばこれをちょっと変えようとしても変えれません。これが標準機能です。別になんの工夫もないかわりに、何か変えたいとか思ってもできません。

昔MSアクセスでテーブルとテーブルをクエリという機能で同じようにくっつけたときも、これまた同じように変更がききませんでした。この時はヘルプを繰るなどしてなんとか設定を変えることで変更がききました。同じように、Delphiのデータベースでもできないものかと探していますが……まだ見つかりません。どうもないのかもしれません(T-T)

これを書きながらも思いついた内容をもとにプログラムに戻っては試し、戻っては試し、しているんですがどうもうまくいかない(~_~;)それで…標準機能を探すのではなく、プログラムで作ってみようか、と(@_@)ファイルの受け入れ先のクライアントデータセットをファイルごとに作り、別のデータ統合のためのクライアントデータセットを作ってそこにデータをプログラムとして取り出しては詰め込み、取り出しては詰め込みしてみます……!!(^O^)うまくいきました!\(^O^)/

って、いやあ、よくよく考えたら当たり前の話なんですよね(^^;;単にデータを取り出して別の入れ物に入れただけです。変更をセーブする時はまた戻したらいい、と。と、そうすると、もともとのデータ項目はなんだかわからないようにしておいて、統合するデータセットは使いやすい形に変更すれば、おお、ばればれデータではなくなります(^O^)いやあ、考えてみるもんですねえ〜(^^;;標準機能でなんとかしようという思い込みが問題でした(^^;;プログラムなんだから、発想の転換が必要ですよね(^^;;

ということで、ようやくデータ処理のベースができました(^^;;これでなんとか強力な武器を手に入れた上で元のルートに復帰できそうです(^O^)

index

〔TopPage〕

このページへのリンクはフリーです。
このページについてのご意見、ご質問などは、kr_ryo_green@yahoo.co.jpまでお願いします。
Copyright 2004© kr_ryo All rights reserved.
訪問件数