日記(1073)

<前 次>

椰子の日

旧HPMを可能な限り縮小しました。
502バイトまで小さくしましたけど、見に行かないでください。
見ている人がいるとファイル削除できませんので。
ちなみに、トップページ以外にはもう用はないので完全に削除しました。

「ByteEdit」をバージョンアップしました。
クリップボードもどきを加えてみました。
結局クリップボードは実装できませんでした。
DDEを使ったデータ共有もできませんでした。
なぜなら、面倒だったからです。
そこで、ローカルなクリップボードを使いました。
それは一つのプログラム内でのみ通用するものです。
今回はこれで妥協しました。
そこで、もうひとつ問題を発見しました。
それは、データサイズに関する問題です。
問題の原因はスクロールバーにありました。
スクロールバーのプロパティには32767までしか指定できないものがあります。
それはMaxプロパティです。
その値は計算式で表されます。
計算式は、「データサイズ÷一行の桁数」の整数部分です。
よって、エラーが起こります。
エラーが起きるのは「データサイズ÷一行の桁数」が大きくなったときです。
そのときの値は32768以上です。
エラーを起こさないためには必要なことがあります。
それは、計算式の値を32768以上にしないことです。
つまり、データサイズを「一行の桁数×32768」未満にすることです。
言い換えれば、上限が定まります。
それは、データサイズの上限です。

「ふにゃふにゃ」の改良案を更新予定に追加しました。
昔から考えていたことなのですが、今日思い出したので書いてみました。

曇り空と夕焼け。少し異様に感じた

父が新しいデジカメを買ってきていました。
どうも以前に注文したものが今日入荷されたらしく、電話がかかってきて、取りに行っていました。
既に24枚撮影した模様。

「マザー」をやっていて、とりあえずレベルアップは置いといてストーリー進行を急ごうとしたのですが、ダンカン工場であっさりミサイルを見つけるも帰り道がわからなくなり、ウロウロしながら結局全部の部屋を回り、そこそこレベルアップができ、電車も無事開通され、砂漠に到着したのですが、敵がPKフリーズγで危機的状態にしたりSMAAAAASH!して100以上のダメージを与えたり大爆発したりして、撤退を余儀なくされ、訪れた病院で風邪を移されて治療費を余計に取られたりして、そろそろ面倒になってきてセーブしてやめました。

「ByteEdit」のコピー&ペースト処理を作っていて、エラーが起こる原因は使用している変数がローカル変数であり瞬時に消えてしまうのが原因かと思い、モジュールレベルにして変数が生きてる時間を増やしたところ、コピー・ペーストともに正しく行われるようになりましたが、相変わらずVBからコピーしたものはぐちゃぐちゃになり、しかもしばらく使っていると他のプログラムでコピーを実行した瞬間に固まってしまったりとか、忘れたころにいきなりエラーが出たりとかして、全く安定していないので、そもそもクリップボードを使う必然性があるのかといわれると、たとえ使うにしてもクリップボードの形式にバイナリ形式がない以上、オリジナルの形式によって使わねばならず、そうなれば他のソフトとクリップボードの内容を共有できるメリットなんて皆無なわけですから、いっそのことこれまで調べてきた全てを捨ててDDEによって似たような機能を「ByteEdit」内だけで構築し、複数の「ByteEdit」のどれかがクリップボード代わりになってもらって、それが終了されたら最初に見つけた仲間にクリップボードの内容を託して、全部終了されたらクリップボードはなくなる、っていうのも悪くないかもしれません。

「Another HTML-lint Gateway」を入れてみました。
あれって文字コードJISだったんですね。
改行コードがLFだったのでエラー起こしてました。

ハニー

テスト終わりました。
とりあえず知ってることは書いたんでもうあとはなるようになります。
帰ってからは少しの間気分が悪くなっていました。
明日から2ヶ月間休みです。

灰の日

リンク集の編集をできるようにCGIを改良したりテストしたり何やらしていました。
リンク先の編集となると、編集項目の中にあるタグは一体どうすればいいのかというのを考えねばならず、例えば、「&lt;」はそのまま「&lt;」と解釈されるのか「<」と解釈されるのか、まあ実はこれは前者のほうでして、例えば<input type=text name=~ value="~">内に書くタグ可の項目に「" style="filter:Xray();」などと書くと編集フォームではコメントが表示されず入力フォームが面白いことになってしまい、それを回避するためにタグ可の項目ではタグを無効化し、タグ無効のものについてはそのまんまという少しややこしくもない仕様になっておりまして、一応そのテストのためにいろいろよく分からないものをリンクにいれたりいれなかったりしたとかしてなかったとかで、結局実際に変わったのはとほほだけということで、改良が完了しました。

ドラクエ7で、ダンビラムーチョ心(転職アイテム)を手に入れました。
これが敵を倒してしか手に入らない最後の心だったので、「ダンビラムーチョの心」ではなく「ダンビラムーチョ心」という表記にしたところに何か特別な意味があるのではないかと憶測してみたりもしてみたわけですが、よく考えなくても速い人だとグラコス倒す前にとっくに手に入れてたりするのでそれはないかと思いつつ、メルビンは呪いのランプに、マリベルはパラディンに転職して、とりあえず煉獄火炎吐けないのはガボとアイラだけらしいということです。

もしかして「バナー」を「バーナー」って呼んでる人って「banner」と「barner」を見間違えたのかな?
などと英和辞典を片手に考えつつ、明日テストがあることを思い出し、今更教科書を探し始めるのでした。

マグ・メル

ダウンロードとHP作成論のページを全てHTML4.01Tで置き換えました。
これでメインとなるコンテンツはほぼ置き換えられたのでとりあえず完了ということにしておきます。

「ByteEdit」のクリップボード周りを作ってみました。
最初のうちは戻り値をStringで無理矢理受けようとしてエラーを起こしたり実はVB6で使っているUNICODEはNT系でしかクリップボードに渡せなかったり(普通のテキストとは別物として扱われる)で、なかなか試行錯誤させられましたが、結局試行錯誤を諦めてネットでサンプルを探しに行き、C言語のサンプルを見つけて都合のいい部分だけとってきてとりあえずそれっぽいものはできたわけですが、VBの画面からコピーしてきた文字列は全く認識できなかったりコピーを2・3回繰り返すと酷い文字化けを起こしたり普通にコピーしたのに貼り付けられなかったりと思いっきりバグだらけなのですが、VBのClipboardオブジェクトも挙動が怪しく、というよりは独自のクリップボードを持っているのかSetTextメソッドでコピーしたものはどうやら自アプリの中でしか通用しない模様で、一応メモ帳とか他の種類のエディタとのデータやりとりはしないにしてもの自分以外のByteEditとは最低限データのやりとりができないといけないわけで、そうなるとVB製アプリ同士ならデータのやりとりができるという都合のいいことになってはくれないだろうかと考えるわけですが、反面そうなると分が今までしてきた苦労は一体なんだったんだという話になってやっぱりそりゃだめかなと思いつつ、もしかしたらReDimじゃなくてGlobalAllocでメモリ確保しなきゃいけなかったのだろうかとか、にしちゃサンプルでは対応するGlobalFreeがなかったぞと思い、メモリリークを気にしながら、そもそもOLEクリップボードとか従来のクリップボードの違いがよく分かっていなかったりする自分に気づき、でも動けばどっちでもいいやといういつもの投げ遣りな姿勢がまた垣間見られ、それでもやっぱり期待通りの挙動を示してくれないクリップボードに悪戦苦闘しています。
今度クリップボードを簡単に扱うライブラリなんかがあったら使ってみよう。

明々後日のテストで最後

「ふにゃ」のページを更新しました。
スタイルシートを適用して、マップのページを約4分の1に軽量化、フリーズの可能性を減らしました(本当にしないかどうかは環境依存)。
スタイルシートを使っていないブラウザだったらメチャクチャな表示になりますが、そういうブラウザだと多分前のマップでも上手く表示されなかっただろうからほっときます。

直リン排除研究をやってみようかと思ったのですが、ブラウザのキャッシュが効いてしまい、テストがなかなかうまくいきませんでした。
なんだかやっぱり.htaccessファイルの使い方がよく分かっていないようで、全部拒否されたり、意図しないものだけ許可したり、結局今は全部受け入れるようになってしまいました。

特許のテストがありました。
「知的財産の種類を述べよ」なんて問題、少なくとも1個はじめっからわかっているのがあるあたり、ナントカして点を取らせようとしているように見えます。
あっ、でも「述べよ」だから説明が要ったのかな?

やっぱりさっぱり

更新履歴とバナーのページと「Bomber丸World」のページを更新しました。
とはいっても、スタイルシートを適用しただけなので、内容に変更はありません。

「ByteEdit」のクリップボード周りをやってみたのですが、うまくいきません。
APIを使ってみたのですが、途中でエラーが起こってクリップボードが閉じられないまま強制終了され、クリップボードビューアは開けるはずのないクリップボードを際限なく開こうとし続けて、結局再起動せざるを得なくなりました。
OpenClipboard(hWnd)→GetClipboardData(CF_TEXT)→CloseClipboard()じゃダメなのかなぁ…

う~ん、幾何学の問題・・・2つの違う方法で求めた答えは違っていて普通だというのですが・・・・

  • 1088πと41πっていくらなんでも違いすぎ!

他の人は35πとか39πとか言ってましたが、きっとそっちのほうが正しいと思います…

授業中さっぱりわからなかった電子物理、テストではさっぱりわかりませんでした。
一応計算問題は適当に掛け算をやって単位をあわせて答えてみました。

<前 次>