年越しカウントダウンするページ作ってみます?

今年も残すところあとわずか。

年越しカウントダウンしてみませんか?

・・・ということで(?)HTML+JavaScriptで,年越しカウントダウンするウェブページを作ってみました。ご自由に使ってください(。。

<html>

<head>
<script language="JavaScript" type="text/javascript">
<!–
var tid = 0;
var newYear = new Date(2008,1,1);

function update_time() {
var today = new Date();

var s_time = newYear.getTime() – today.getTime() ;
var s_time_obj = new Date();
s_time_obj.setTime(s_time);
if(s_time > 0){
document.f.d.value = "2008年まであと"+s_time_obj.getDate()+"日"+s_time_obj.getHours()+"時間"+s_time_obj.getMinutes()+"分"+s_time_obj.getSeconds ()+"秒";
tid = setTimeout(‘update_time()’, 1000);
}else{
clearTimeout(tid);
document.f.d.value = "Happy New YEAR!";
alert("Happy New YEAR!");
}
}
// –>
</script>
<title>2008年1月1日までのカウントダウン</title>
</head>

<body onload="update_time();">

<form name="f">
カウントダウン:<br />
<input type="text" name="d" SIZE="60" />
</form>

</body>
</html>

comments

ネットワーク対戦ゲームがVB6とかブラウザで簡単に出来るActiveXコントロール

ネットワーク対戦ゲームがVB6とかブラウザで簡単に出来るActiveXコントロールの紹介。

誰かネットワーク対戦ゲームを作ってみませんか?
若干バグありですが,結構使えます。

ネットワーク対戦ゲーム作成入門・勉強にどうぞ。

これは,私が2000年から2001年頃にVisual C++を使って ATL COMで作成したActiveXコントロールです。ActiveXなので,インターネットエクスプローラとかで実行できます。あのころは若かった(何)

ソースはどこかにあると思うので(まだ非公開),ご希望の方にはあげます。

ダウンロード先: さとーしのソフトウエア
http://www2s.biglobe.ne.jp/~satosi/soft/#sinet

このActiveXは、なんと、ネットワークゲームを簡単が簡単に作成できる
システムです
方式は、TCP/IPネットワークで、TCP接続のサーバ – クライアント型です
ネットワークを使用しているという意識を出来る限り、取り除きました
簡単に作れて、かつ、強力である。というのを目標に設計しました
Visual Basic 6.0(SP4)でチャットができるサンプルプログラムが、付いています。
(DirectPlayではありません。オリジナルのプロトコルです)

これと同じコードが使われているネットワーク対戦ゲームも公開しています。(ActeiveXじゃなくて,純粋なC++コード部分だけ。)
サブマリン・デスマッチ for Win32 Version 1.01
INET25ゲーム Version 1.01
Inet 5Balls Version 1.01a
INET○×ゲーム Version 1.01
等です。いずれも学生時代に作ったネットワーク対戦ゲームです。

マニュアルとか
http://www2s.biglobe.ne.jp/~satosi/soft/SInet/SInet.txt (付属テキスト)
http://www2s.biglobe.ne.jp/~satosi/soft/SInet/sinet.doc (ワードの図付き説明)
http://www2s.biglobe.ne.jp/~satosi/soft/SInet/index.html (HTMLでの説明)

今は,VB.NETだよねぇ・・・。
コードが違うので,マニュアル作り直さないといけないのかなぁ・・・。
.NET用のコンポーネントをそのうち作らなきゃねぇ。

参照:
VB 6.0 ユーザーのための VB .NET 移行ガイド – ActiveX コントロールhttp://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter5/chapter5_6.aspx

.NET からの COM コンポーネントの呼び出し
Microsoft .NET へのアップグレード
http://www.microsoft.com/japan/msdn/net/upgrade/callcomcomp.aspx

comments

ATL/WTL C++ Windowsプログラミングの紹介

WTL

ATL/WTL C++ Windowsプログラミングの紹介

C++を使ったWindowsプログラミングといえば,MFCを使ったものが標準ですが,DLLとかが必要だったり,プログラムサイズが大きくなったり,使用するメモリ量が多いので,軽量な配布しやすいプログラムを作成しにくい。

ATLは,COMプログラミングのために用意されたテンプレートクラスライブラリ。
(COMとは・・・下記参照)
Visual C++標準のATLではウインドウアプリケーションを作成できない。しかし,WTLというのをダウンロードしてVisual C++に入れてやると,ATLにウインドウアプリケーションの作成部分の機能が追加される。

C++を使って軽量なWindowアプリケーションを作れる様になる。

Win32APIをC言語で書くよりもコードが少なく,C++のオブジェクト指向でプログラムが作成できる上に,プログラムサイズもMFCを使うよりもコンパクトに仕上がる。

知っていると結構得します。C++でWindowsプログラムを気軽に書きたい。という人におすすめ。もちろん,大規模なアプリケーションの作成も出来ますよ。

ちなみに,ATLは,C++の悪名高き多重継承を当たり前の様に使う。
テンプレートも多様されています。
※多重継承やテンプレートの知識が少なくても十分使えます。
 COMが分からなくても,使えます。

WTL自体は,結構昔からあるのですが,マイクロソフトの正式サポートではないので情報が少ない。そのため多少苦労しますが,それでもWin32APIをC言語で使うよりはましな感じがします。

クラスはMFCとそっくりなので,クラスのメンバ関数の使い方はMFCのリファレンスマニュアルでいけるでしょう。
MFCプログラミングをしたことがあるひとならば,すぐに使いこなせるでしょう。

詳しくは,WTLで検索をかけてください。
わずかですが,WTLについて解説したページがあります。

参考・詳細URL:
http://msdn.microsoft.com/msdnmag/issues/07/12/WindowsCPP/default.aspx?loc=jp

ダウンロード:
Windows Template Library (WTL) 7.1 (VC++ 6.0のウイザード用)
http://www.microsoft.com/downloads/details.aspx?familyid=1BE1EB52-AA96-4685-99A5-4256737781C5

Windows Template Library (WTL)最新( 8.0 )
http://sourceforge.net/projects/wtl

—————
補足:

COMとは・・・
Windowsで用意されたプログラム部品の仕組み。
オブジェクト指向がとりいれらていて,プログラミング言語に依存しないオブジェクト(プログラムの部品)である。
IUnknowインターフェースを継承したインタフェースを実装するオブジェクト。
いまいち分かりにくいので,具体的には以下の様なものがCOMで提供されている。

DirectXのラインタイム。
Webページ組込みオブジェクトのActiveXオブジェクト(自作を含む)
Visual Basicで使えるコンポーネント(フォームの部品。ボタンとか)

APIみたいなものだが,APIは関数なのに対して,COMは,オブジェクトを作成取得して,別のプログラムの部品(オブジェクト)として使える。

comments