ActiveBasic で CGI。
受け売りの知識もありますがまとめておきたいと思います。
まず CGI は標準出力という通り道へデータを放ちます。
放たれたデータはサーバー アプリケーションへたどりつき、そこから
クライアントへ放たれます。
基本的にサーバーはヘッダを含めてデータをいじったりしないので、
ヘッダも CGI が作り出してやらないといけません。
Perl でいうと、
print "Content-Type: text/html; charset=EUC_JP\n"
print "\n"
というように文字コードの種類などの情報を含めます。
ヘッダの最後は改行で締めます。
あとは HTML なら HTML を、そうじゃないならそうじゃないのを CGI が創造するだけ。
ActiveBasic の場合、
#console
このディレクティブを置いておけば、
Print Ex"Content-Type: text/html; charset=Shift-JIS\n"
Print Ex"\n"
これでさっきの例と同じことが出来ますね。
で、HTML の場合、いちいち
Print Ex"<html lang=\qja\q>\n"
みたいに
Print Ex" と
\n" が決まり文句になるので
行毎に一々書いていくのはもう見たまんま面倒ですね。
こういうのは、Perl でも出来るような「複数行を一気に出力する」手立てを
利用したら良さそうです。もちろんエスケープ シーケンスも有効で。
さてその手立てはどうすればいいのでしょうかねぇ...(ぉ
ActiveBasic の文法では複数行の文字列リテラルを書けませんから、
テンプレートになるファイルを読んでくるか。
でもそうすると臨機応変なデータを作れませんね。
コードの中に直接埋め込めると一番いいですね。考え考え。
スポンサーサイト