2007年12月19日水曜日

C++2005 大文字混在文字列のバイト数を求める方法

文字数を求めたいのなら、以下に示すように簡単です。
int len = timedate->Length;

しかし、バイト数を求めるメソッドがありません。

以下の例では、test.txt に文字列を書込む処理ですが、
Write()の第1引数は、arrayなので、大文字・小文字が混在した文字列の場合、
文字数=バイト数とはならないので書込文字数が少なくなるときがあるため、バイト数を求める必要があるのです。


FileStream textfile( test.txt , FileMode::Append); // 追記モードでファイルを開く

System::String^ moji = "私(A)は何バイトだと思います?";

char pbuf[1024];
sprintf_s( pbuf , sizeof(pbuf) , "%s" , moji ); // char型変換

array ^ar = gcnew array(1024);
pin_ptr str = &ar[0];

System::Text::Encoding ^sjisEnc = System::Text::Encoding::GetEncoding("Shift_JIS");
int len = sjisEnc->GetByteCount( moji ); // バイト数取得

for(int ii=0 ; ii<len ; ii++ ){
str[ii] = pbuf[ii];
}
textfile.Write( ar , 0 , len ); // ファイルに書込み

2007年12月8日土曜日

DirectX SDK November 2007 の注意事項

DirectX SDK November 2007 には
dmusic.h が入っていません。
dmusic.h を使用したいときは、
DirectX SDK August 2007
を使用する必要があります。

詳しくは、以下を参照してください。
http://www.microsoft.com/japan/msdn/directx/Releasenotes/dxreadmeAug07J.aspx

2007年12月3日月曜日

Webアプリケーション新規作成のエラー対処

ASP.NET Webアプリケーションを新規作成しようとすると、以下のエラーが出現するときがあります。

"指定されたWebサーバーでASP.NET Version 1.1が実行されていません。ASP.NET Webアプリケーションまたはサービスを実行することはできなくなります。"

対処法は以下の通り。

1)コマンドプロンプト画面に以下のフォルダにある "aspnet_regiis.exe"をドラッグ&ドロップする。
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe

2)インストールオプション /i を入力してリターンを押す。
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe /i

すると、以下の文章が表示します。

ASP.NET(1.1.4322.0)のインストールを開始します。
ASP.NET(1.1.4322.0)のインストールが完了しました。

2007年10月24日水曜日

WindowsXP HOME EditionではWPF環境をインストールできない

WindowsXP HOME EditionでWPF環境をインストールできるものとできないものがあります。
以下に詳細を示します。

(可能)Visual C# 2005 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

(可能)Microsoft .NET Framework 3.0 再頒布可能パッケージ
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043

(可能)Microsoft® Visual Studio® 2005 Express Editions Service Pack 1
http://www.microsoft.com/downloads/details.aspx?familyid=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E&displaylang=ja

(可能)Microsoft® Windows® Software Development Kit for Windows Vista™ and .NET Framework 3.0 Runtime Components
http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b1e300-f358-4523-b479-f53d234cdccf&DisplayLang=en

(不可能)Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF), November 2006 CTP
http://www.microsoft.com/downloads/details.aspx?FamilyID=f54f5537-cc86-4bf5-ae44-f5a1e805680d&DisplayLang=en

※WindowXP Professional Edition ならインストールできます。

2007年10月17日水曜日

Platform SDK で Orcaインストール

Platform SDK で Orcaインストール

以下を実行します。
C:\Program Files\Microsoft Platform SDK\Bin\Orca.msi

これは統合作業の一部です。

VC++2005 新規プロジェクトで「Win32プロジェクト」を追加する方法

VC++2005 新規プロジェクトで「Win32プロジェクト」を追加する方法

1)C:\Program Files\Microsoft Visual Studio 8\VC\Express\VCProjects にある、Win32Console.vsz をコピーして、Win32Wiz.vsz に変更する。
2)テキストエディタでファイルを開き、以下 の2行を行ごと削除する。
Param="CONSOLE_TYPE_ONLY = true"
Param="WIZARD_ID = 75"
3)好きなアイコンを同じフォルダに Win32Wiz.ico という名前で用意する。

詳細は、以下を参照してください。
http://blogs.wankuma.com/tocchann/archive/2006/05/18/25272.aspx

2007年10月15日月曜日

MFC VC++ CString に char* をセットする方法

MFC VC++ CString に char* をセットする方法

char buf[] = "あいうえお";

CString strText(buf);