コンピュータや音楽の事書いてます

プログラミング

Visual C++ からIWshRuntimeLibraryを使用したイベントログ出力

VC++でもVBScriptの様に、Wscript.Shellを使ってイベントログを出力出来ると思い、調べてみた所、LogEvent関数というのが用意されていたので、以下の様にしてイベントログを出力してみた。 #include <windows.h> #undef GetFreeSpace #define GetFreeSpace GetFreeSpace</windows.h>…

VC++でADSI

ADSIとはプログラムからActive Directoryへのアクセス方法を提供してくれるAPI。普通これを使う時はVBScript、VB、C# のいずれかだと思う。 今回、VC++でやって欲しいという仕事でえらい苦労したので、そのメモ。メインの使用インターフェイスはこちら。ヘッ…

ステップ数カウント

ステップ数を数えてください。ただし、何もソフトを入れてはいけません。と命令された時のVBScript。c/c++/Java/Javascript対応。拡張子vbsで保存・実行。 option explicit dim fso, ws, regex, msg, arg set fso = createobject("scripting.filesystemobjec…

ワードパッドの画像をExcelにコピー

ワードパッドしかない環境で仕方なく画面コピーをずらずら沢山とった後で、自分のPCでExcelにコピーしたい。そんなときのWordマクロ。 Excel Object Libraryの参照設定が必要。WordでALT+F11押してからツール→参照設定。 Dim ex As New Excel.Application Co…

perl-cgi - doctypeによってjavascriptが動いたり動かなかったり

CGIモジュール使用時、以下の-dtd指定をしないと use CGI qw/:standard/; print start_html( -dtd => '-//W3C//DTD HTML 4.01 Transitional//EN' ); 勝手にdoctypeが になり、javascriptでタグIDに直接 ".メソッド" や ".プロパティ" 記載が出…

perlのsystem関数の戻り値

意外と探すの大変だったので情報めもhttp://perldoc.perl.org/functions/system.html if ($? == -1) { print "failed to execute: $!\n"; } elsif ($? & 127) { printf "child died with signal %d, %s coredump\n", ($? & 127), ($? & 128) ? 'with' : 'wit…

c++11(c++0x)でcgi

c++11でテキスト処理が大分楽に出来る様になってきたので、そろそろcgiもc++で良いのではないか? 使うライブラリ候補 fastcgi++ 用途が合ってるのか不明 cgicc http://www.gnu.org/s/cgicc/ 良さげ CGI++ http://www.webthing.com/cgiplusplus なんか古そう…

VC/MFCメモ

MDI/SDIでOnSaveDocument時に独自の(Serializeを使わない)save処理をする場合は return CDocument::OnSaveDocument(lpszPathName); これを消さないと、せっかくセーブしたファイルを空ファイルで上書きしてしまう。

c++0xメモ initializer_list , 型推論 , range-based forなど

const char[] → initializer_list → string の暗黙型変換など #include <vector> #include <string> #include <iostream> using namespace std; template <class T> void outarray(initializer_list<T> list){ for(auto x : list){ cout<<"*--- number "<<x<<" ---*"<<endl; } } template <> void outarray(initializer_list</x<<"></t></class></iostream></string></vector>

VCメモ:DLL

DLL側のEXEから呼び出される関数の先頭にはこれが必要。 AFX_MANAGE_STATE(AfxGetStaticModuleState()) これが無いとAfxGetApp()などの結果がEXE側のアドレスになってしまう。

vbsでしゃべる

google翻訳を使ってたら、発音を喋る機能が気になったので。 googleさんのお力を借りて、文章をmp3に変換してしゃべっちゃうvbscriptです。拡張子を.vbsにして保存・実行。 set she = createobject("wscript.shell") set fso = createobject("scripting.file…

C++/CLR バンザイ...

C++/CLRを使えば、VCから.net Frameworkが使える。 無駄に難しいMFC・WTLももう勉強する必要はない。速度が必要な時はネイティブC++を、GUIには.netを使える、理想の環境が待っている・・・・ そう思っていた。っがしかし、最近仕事でVisual Studio 2010 Ult…

googleロゴ - pacmanの仕組みに感動

http://www.google.com/pacman/グーグルの「パックマン」ロゴができるまで http://japan.cnet.com/special/story/0,2000056049,20413964-2,00.htm オリジナルに忠実であることにこだわる姿勢は、パックマンのちょっとした癖にまで及んだとWichary氏は説明し…

Google ドキュメントのスプレッドシートにマクロがついた

こんなシートを作り、存在しない関数「くっつける」をセルに書く。 ツール→スクリプト→スクリプトエディタでこんなソースを書く。 function くっつける(values) { var str=""; for(var v in values[0]){ str = str + values[0][v]; } return str; }; くっつ…

Google chrome のデバッガでお勉強 - json

jsonというやつを勉強してみる。chrome右クリック→「要素を検証」→「>≡」ボタンをクリックして、以下を貼り付け、エンター。 j = { name:"sho", age:32, sex:"man", jikoshokai:function(){ alert("I am " + this.name + ", " + this.age + " years old, a …

Google - Code Playground - 試してみた

ページ左側からサンプルを選ぶとGoogle AJAX APIを使った色んなコード例が出てきて、その場で編集も実行も出来る。 http://code.google.com/apis/ajax/playground/試しにこれを http://code.google.com/apis/ajax/playground/#map_streetview_object この様…

関数型言語のヒントかも

Lispプログラマー ポール・グレアム のエッセイ。 http://practical-scheme.net/wiliki/wiliki.cgi?%E3%83%9C%E3%83%88%E3%83%A0%E3%82%A2%E3%83%83%E3%83%97%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0これを参考にやってい…

関数型言語のヒントかも

Lispプログラマー ポール・グレアム のエッセイ。 http://practical-scheme.net/wiliki/wiliki.cgi?%E3%83%9C%E3%83%88%E3%83%A0%E3%82%A2%E3%83%83%E3%83%97%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0これを参考にやってい…

Androidアプリを作る - 準備 -

JAVAの勉強も兼ねて。androidのアプリ開発は JAVAで作る → JavaバイトコードをDalvik VM用コードに変換 → androidで実行 というのが基本らしい。 SDKをインストール。 http://developer.android.com/sdk/index.html インストール中、「https://dl-ssl.google…

Google chromeによる 楽々htmlデバッグ css・javascriptなども

chromeにはfirefoxのfirebugのパクリみたいなのが標準装備されている。最近はIE8にも似たようなのが搭載されたり。 はてなのデザインの改良なんかに凄く重宝しているので、その使い方などを紹介。(もちろん普通のwebサイトでもOK) 改良したい部分(又はその…

Eclipse + CDT + MinGWでc++0x

c++0xをやりたいのでMinGW上にgcc4.4をインストール。それに伴いインクルードパスを変更。色々適当に試してうまくいったのがこれ。なぜかMinGW\lib\gcc\mingw32\4.4.0\includeとかが出来上がる。lib配下になぜヘッダ・ソースが???。まぁ意味的にはライブ…

ファイルのパス(複数可)一覧を簡単に取得

これを '<script language="VBScript"> set fso=createobject("scripting.filesystemobject") set she=createobject("wscript.shell") fname=fso.GetSpecialFolder(2) & "\" & fso.GetTempName() & ".txt" for each line in WScript.Arguments msg=msg & line & vbcrlf next set outfile=…

そうだ、関数型言語やらなきゃ

とりあえずここから http://www.i.kyushu-u.ac.jp/~bannai/ocaml-intro/ちょっと分かってきたらF#をやる予定。 F#にする理由 伝統的なMLを元にしたOCamlがベース ついでに.netも覚えちゃう マルチコア→メニーコア時代に向けて? F#のインストール F#のVS exp…

iTunesのcomインターフェイス

http://q.hatena.ne.jp/1252743398 の問題を考えてたら、iTunesはcom公開してないのかな?っと思ったので調べてみた。 WSH-vbsだと解析が面倒なのでEXCEL-VBAのIDEで下調べ。参照設定を見ると頭に"itunes"と付くライブラリが3つほど見えるのでチェックを入…

コードと歌詞の入り混じったテキストのコードを一括移調するスクリプト

次のような歌詞とコードの書いてあるテキストファイルがあった場合に 溝の口太陽族 Bbm F/C Db Bb/D Ebm C/E F Bbm Ebm ブルース 飛行機雲と河川敷 Ab Db F 多摩川沿いを股にかけたストーリー 次の様に変換してくれます。(希望のキーに上げ下げが出来る) …

C++0xのラムダ式のメモ

ラムダの意味がそもそも分からなかった。調べると数学の話になってメンドクサイのでC++的に言うと、「一度しか使わない様な関数オブジェクトは使う場所に書いちゃったほうが分かりやすい」という事だと思う。非ラムダ struct hyouji { void operator()(strin…

正規表現メモ

awk、秀丸、SAKURA、perl、egrep(grep -E)、VbScriptのregexpオブジェクト は''awk系'' ? | () {} を\でエスケープすると普通の文字になる sed、vim、grepは''sed系'' ? | () {} を\でエスケープすると正規表現の記号になる GNU sedは-rをつけるとawk系になる

EXCELメモ [テキストファイルを直接ピボットテーブルに出来る]

65536行超えてても大丈夫 EXCELに取り込まなくて済むので、元ファイルの変更があった場合、「更新」するだけで良い テキストの実験データなどに最適 フォーマットは、カンマ区切り・先頭行にフィールド名 読み込むファイルがあるフォルダにSchema.INIを作成…

EXCEL 2003→2007の変更点メモ(VBA)

activeChart.Axes(XlAxisType.xlCategory).categorynames*1 は2007では参照出来ない 変わりに.MinimumScaleと.MaximumScaleで両端の値は分る 2003ではAxes(XlAxisType.xlValue)*2の場合のみ使えたプロパティだが、2007ではAxes(XlAxisType.xlCategory)*3でも…

FILE構造体とfstream

std::fstreamの中にFILE構造体をラッピングしてあると思ったので、ヘッダファイルを辿って調べてみた。gcc 4.1.1gccのlibio.h struct _IO_FILE { int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ #define _IO_file_flags _flags /* The fol…