文字コードのメモ

Posted on Mon 03 December 2007 in Windows

ASCII文字以外の知識があいまいなのでメモ

ASCII 0x00-0x7fの値で表される文字コード

マルチバイト文字 1ビットと2ビットが混じっている形式
Shift-JIS
EUC-JP
ISO-2022-JP
UTF-8
一バイト目が0x80-0xffで始まる。
int isleadbyte(int c) マルチバイトの一文字目を判定する。
これが0以外の値を返すとき後ろの値も一緒に扱うとうまくいくようだ。

ワイド文字 すべて2ビット(Windowsでは)の形式 wchar_tであらわす。
UTF-16

TCHAR 状況にあわせてマルチバイト・ワイドに切り替わってくれる型


tftpboot成功

Posted on Sun 18 November 2007 in サーバー管理

余り物のCPUとマザーボードをtftpbootで起動するようにしてみた。 DHCPの設定でpxebootで対称のマシンが起動するようにしておく。
IPv6が動作していると上手くいかないようなので切っておく。
ここのカーネルのオプションでルートファイルシステムnfsでマウントするようにしておく。
カーネルは2.6.22.10でnfsrootをサポート、NICドライバを組み込むようにした。
ルートファイルシステムはdebootstrapでつくり、chrootでいろいろ設定。

動いてるのはCPUのファンだけなので結構静か。


DirectShowムービー表示

Posted on Fri 09 November 2007 in DirectX

ただムービを再生するだけだと別ウィンドウで表示されてしまうのでこれをIvideoWindowで操作して子ウィンドウとすれば任意のウィンドウ内でムービーを再生させることができる。

IGraphBuilder::QueryInterface()でIVideoWindowを作れるのだが上手くいかない。。。

IGraphBuilder::RenderFile()の後に
IGraphBuilder::QueryInterface()でIVideoWindowを作らないとダメなようだ。

次に
音は出るが画像は出ない状態に。。。
しかし、タイトルバーをクリックし続けると、表示される。

ムービーは子ウィンドウとして表示されるので、
親ウィンドウとなるウィンドウスタイルに
WS_CLIPCHILDREN
を指定しなければならなかった。 考えてみたら当然だったが・・・

参考リンク
http://www.geekpage.jp/programming/directshow/renderfile.php


sambaが。。

Posted on Sat 03 November 2007 in サーバー管理

いろいろいじってたら
SambaDHCPが調子悪くなった・・・・

DHCPは何とか復旧したものの
Sambaの方は。。。orz

ついでにようやくsargeからetchへアップグレードした。。


デバッグ用のウィンドウ

Posted on Wed 31 October 2007 in Windows

デバッグ情報の表示用にウィンドウをもう1つ作ろうと思って
もう1つCreateWindowでつくってみたが・・・

タスクバーに表示はされるが、肝心のウィンドウが出てこない・・・
同一プロセスではだめなのか。。。と考えてしまったが

CW_USEDEFAULT + 600
とかやってたのがまずかったみたい、ウィンドウがどっかに行ってたみたいだ・・・・

CW_USEDEFAULT
にしたら出てきた。

f:id:hiroki0:20071101005339p:image


DHCPサーバー構築

Posted on Mon 29 October 2007 in サーバー管理

いままでルーターDHCPサーバー機能を使っていたのだが
nfsboot環境を構築するために、玄箱DHCPサーバーを立ててみた。

aptでdhcpをインストールしてdhcpd.confをいじる。 編集後はこんな感じになる。

shared-network KURO-DHCP{
default-lease-time 6000;
max-lease-time 72000;
    subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.100 192.168.1.200;
        option domain-name-servers (ルーターのIP);
        option routers (ルーターのIP);
        option broadcast-address 192.168 …

Continue reading

スクリプトエンジン

Posted on Tue 28 August 2007 in 未分類, 開発者ブログ

xml形式のスクリプトを処理するエンジンを作ってみる。 パーサーにはxercecをつかって、デバッガでさぐりさぐり組んでみた。
とりあえず、文字列と画像の表示が出来るようになった。。。

<?xml version="1.0" encoding="Shift_JIS"?>
<simplebox>
  <page>
    <text>Hello World</text>
    <img path="img\test.png" x="100" y="100"/>
  </page>
</simplebox>

f:id:hiroki0:20070828082205j:image


Debian etchへバージョンアップ

Posted on Tue 14 August 2007 in サーバー管理

Debianのバージョンをsargeからetchへあげたくなったので、

apt-get upgrade  

してみたけど、エラーが出た。

http://90h.dip.jp/archives/2007/05/hgetch.html
↑の方法でいけるみたいだ。
カーネルが2.6じゃないとだめなのか?


Vista用のアイコン

Posted on Sat 16 June 2007 in Windows

Windows Vistaでは、256x256までのPNG圧縮の、アイコンを扱える。
これは、普通にコンパイルしようとすると
error RC2176 : old DIB in・・・
というエラーになるので、別の方法をとる必要があります。
下の2つの方法があります。

・VisualStadioのパッチを当てる
・ダミーのアイコンでコンパイルしておき、後に入れ替える

2番目のダミーのアイコンを使用する方法を、解説します。

まず、IcoFXなどでVista用のアイコンの作製を行います。
『IcoFX』http://icofx.xhost.ro/
自分は、このとき256x256と46x46,32x32,16x16のサイズも一緒に作っておきました。
こうするとXPでもアイコンが表示されるようです。

次に、ReplaceVistaIcon.exeをつかってアイコンを入れ替えました。
『ReplaceVistaIcon.exe』http://www.rw-designer.com/compile-vista-icon …


Continue reading

IEコンポーネント

Posted on Thu 14 June 2007 in Windows

IEコンポーネントを使う場合の注意

VC++2005の場合
CreateWindow( \"AtlAxWin80\", \"Shell.Explorer.2\", ・・・・

VC++2003.netの場合
CreateWindow( \"AtlAxWin71\", \"Shell.Explorer.2\", ・・・・