サルにもわかる・・・・
メモ・・・
サルにもわかるRSA暗号
http://www.maitou.gr.jp/rsa/
サルにもわかる正規表現入門
http://www.mnet.ne.jp/~nakama/
サルでもわかる高校英語教室
http://eigokyousitsu.nomaki.jp/
| 固定リンク
| コメント (0)
| トラックバック (0)
|
メモ・・・
サルにもわかるRSA暗号
http://www.maitou.gr.jp/rsa/
サルにもわかる正規表現入門
http://www.mnet.ne.jp/~nakama/
サルでもわかる高校英語教室
http://eigokyousitsu.nomaki.jp/
| 固定リンク
| コメント (0)
| トラックバック (0)
|
gcc でコンパイル時に"stdio.hが見つからない"のエラーとなる
場合は、libc6-devをインストールする。
| 固定リンク
| コメント (0)
| トラックバック (0)
|
[Windows][VC6][OpenGL][GLUT][GLEW]
WindowsでOpenGLの拡張機能を使用する方法
OpenGL+GLUT+GLEWの導入
[動機]
OpenGL1.5のAPIを使えるようにする。
redbook(version2)のexampleをWindows上で動作可能にする。
[前提]
Windowsの標準で直接使用できるOpenGL APIはOpenGL 1.1まで。
Windowsで拡張機能を使用するには、間接的にwglGetProcAddress を使用する。
OpenGL 1.5用のgl.hやDLLは、ネット上には転がっていない。
GLEWを導入すると、拡張機能が使えるらしい。
[環境]
Windows XP (SP2)
Visual Studio 6.0
[導入]
・GLUTのインストール
- http://www.xmission.com/~nate/glut.htmlからバイナリを入手。
- glut.h を C:\Program Files\Microsoft Visual Studio/VC98/include/GL にコピー。
- glut32.lib を ~/VC98/libにコピー。
- glut32.dll を C:\WINDOWS\system32 にコピー。
・GLEWのインストール
- http://glew.sourceforge.net/ からバイナリを入手。
- glew.h と wglew.h を C:\Program Files\Microsoft Visual Studio/VC98/include/GL にコピー。
- glew32.lib と glew32s.lib を ~/VC98/libにコピー。
- bin\glew32.dll を C:\WINDOWS\system32 にコピー。
・コードの追加
- ヘッダファイルのインクルード
#pragma comment(lib, "glew32.lib")
#include <GL/glew.h>
#include <GL/glut.h>
- 初期化処理
int
main(int argc, char** argv)
{
glutInit(&argc, argv) ;
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB) ;
glutInitWindowSize(640, 480) ;
glutCreateWindow(argv[0]) ;
glewInit() ;
: :
}
[補足]
- 関数名やラベルにARBが付いていても付いていなくても使える。
参考
| 固定リンク
| コメント (0)
| トラックバック (0)
|
症状
tk_getOpenFileでデスクトップを表示し、
一旦キャンセルもしくはファイル選択した後、
再びtk_getOpenFileを実行して操作を行うと、
Wish85自体が落ちる。
運用環境
WindowsXP SP3
(ただし、同環境、同バージョンでも症状が起きないPCあり)
バージョン
ActiveTcl 8.5.2~8.5.5で同じ
手順
デスクトップに新規フォルダを作成
Wish85を起動
tk_getOpenFileを実行
ファイルダイアログで、デスクトップに移動
新規フォルダにマウスカーソルを移動し、ポップアップを表示させる
ファイルダイアログをキャンセル
再びtk_getOpenFileを実行
同じく、新規フォルダにマウスカーソルを移動し、ポップアップを表示させる
Wish85自体が落ちる。
| 固定リンク
| コメント (0)
| トラックバック (0)
|
あらかじめリストボックスのエントリを選択する方法
.lb selection set 0
リストボックスの選択を解除する方法
.lb selection clear 0 end
| 固定リンク
| コメント (0)
| トラックバック (0)
|
execコマンドで直接HTMLファイルを指定すると、FireFoxがデフォルトアプリケーションの場合、開きません。(IEは未確認)
また、終了待ちとなるので、ブラウザを終了するまでアプリケーションは操作できなくなります。
以下の記述により、別アプリケーションとしてHTMLをブラウザで起動することができます。
set helpCmd "cmd /C start index.html"
set pipe [open "| $helpCmd" r]
tkwait variable pipe
close $pipe
| 固定リンク
| コメント (0)
| トラックバック (0)
|
¥や空白が含まれる文字列を、lappendやlinsertでリストに追加すると、追加した文字列全体がリストになる。({}で括られる)
set a {}
set b "a\\b"
a\b
set c [linsert $a 0 $b]
{a\\b}
空白や¥を含むファイル名を扱う場合に有効に働く。
| 固定リンク
| コメント (0)
| トラックバック (0)
|
HINSTANCE hInst = AfxGetInstanceHandle() ;
char path_buffer[MAX_PATH] ;
::GetModuleFileName( hInst, path_buffer, MAX_PATH ) ;
| 固定リンク
| コメント (0)
| トラックバック (0)
|
/*
* @brief CComBSTR(unicode)からCString(shiftJIS)への文字列変換
* @param[in] bstr CComBSTR型の2バイトコード文字列
* @return CString型マルチバイト文字列
* @par 解説
* 文字列を、ワイド文字からマルチバイトコードに変換します。
* VC6において、unicodeからshiftJISへ変換するのに使用します。
*/
CString
BSTRToMultiByte
(
const CComBSTR &bstr
)
{
CString s ;
int len = ::WideCharToMultiByte(CP_THREAD_ACP, 0, bstr, -1, NULL, 0, NULL, NULL ) ;
char *name = new char[len] ;
::WideCharToMultiByte(CP_THREAD_ACP, 0, bstr, bstr.Length()+1, name, len, NULL, NULL );
s = name ;
delete name ;
return s ;
}
■マクロを使用
#include "atlbase.h"
CString
BSTRToMultiByte
(
const CComBSTR &bstr
)
{
USES_CONVERSION;
CString s = W2CA( bstr ) ;
return s ;
}
| 固定リンク
| コメント (0)
| トラックバック (0)
|