Skip to main content

日本語入力ツールで半角スペースを入力する方法

日本語入力ツールで文書を入力する際に、一時半角スペースを入力したい場合がよくあります。そのとき日本語入力ツールを英語に変換し、キーボードのスペースを押せば半角スペースを入れることができますが、この方法では若干手間が掛かります。ネコ技術がそれで悩んでより速い方法があるかと試したところ、たまたまこの方法を見つけました。 (more…)

SQLite使用説明(VC++言語)(3)

4.パラメータ設定

SQLにパラメータを渡すには、二つの方法があります。

1. SQL文を組み立てて、値を埋める

CString sql;
sql.Format( _T("SELECT name FROM Names WHERE name = '%s'"), _T("Tom") );

CStringを使用するためUnicodeに対応するsqlite3_prepare16を使用します。

int rc = sqlite3_prepare16( db, sql, -1, &stmt );

この方法でSQL文を組立てる場合、SQLインジェクションという不正利用がおこる可能性がありますので、以下の方法2を推奨します。 (more…)

SQLite使用説明(VC++言語)(1)

1.入手&準備

1.1. 入手

sqlite3本体はC言語で作成されたため、VC++のMFCプログラム、Win32プロジェクト、
及びWin32コンソールプログラムに適用します。本文ではMFCのダイアログプログラムを使用します。

サンプルの作成環境は以下の通りです。

  • Microsoft Visual Studio 2008 Professional Edition 英語版
  • Windows 7 英語評価版

SQLiteの公式サイトから以下二つのファイルをダウンロードしてください。

  • sqlite-amalgamation-3_6_22.zip コンパイラ用のSQLiteソースコード
  • sqlite-3_6_22.zip WindowsプラントフォームでのSQLite管理用コンソールツール

1.2. 準備

Microsoft Visual Studio 2008で、下図のようにMFCのダイアログのプログラムを作成してください。 (more…)

SQLite使用説明(VC++言語)(2)

3.SQL操作

3.1. INSERT操作

以下の手順で操作を行います。

  1. SQL文をコンパイルする(sqlite3_prepare)
  2. 値を設定する(sqlite3_bind)
  3. SQLを実行する(sqlite3_step)
  4. SQL文を破棄する(sqlite3_finalize)

イメージは:

sqlite3_prepare_repeat_using

UPDATE、DELETE、SELECTも同じ手順です。

まずデータベースオブジェクトを作成します。

sqlite3* db;
int rs = sqlite3_open( "test.db", &db );

そしてSQLをコンパイルしてコンパイラステートメントを作成します。

sqlite3_stmt* stmt;
rc = sqlite3_prepare( db, "INSERT INTO Names ( Name ) VALUES ( ? )", -1, &stmt, NULL );

(more…)

3方向加速度センサーを使って手の動きをPCで表示する

秋月電子で3方向加速度センサー(Kionix KXR94-2050)を遊びました。このセンサーはX、Y、Z三つの方向での検出した変動値をアナログとして出力できるため、ArduinoやAVRマイコンのAD変換端子付のPINに接続し、そのままデータを読み込めます。さらにArduinoの場合COM接続もArduinoボードに搭載されているため、PC側はCOMポートの入力内容を分析し動きを画面に描画できます。

3axle_com_pc

(more…)

Strong Name厳密名付きプロジェクトを他のPCでビルドする際のエラー

Strong Name厳密名付きプロジェクトをその厳密名証明書作成以外のPCでビルドする際に下記のようなエラーが出ます。

Cannot import the following key file: companyname.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_0123451234567890

修正方法

スタートメニューから「Visual Studio 2012」⇒「Visual Studio Tools」⇒「Developer Command Prompt for VS2012」を起動しコマンド入力画面が表示されます。以下のコマンドを実行してください。

sn -i certificate.pfx VS_KEY_0123451234567890

要求されるパスワードを入力し以下のような結果が表示されたらエラーが解消します。
(more…)

AVRマイコン+VS1011E 自作MP3プレーヤー

秋月電子VS1011EのMP3デコーダーを見て、MP3プレーヤーを自作できそうだと思いました。ネットで調べたら既に先輩たちが作成した例をみつけて、データシートやネット文書などを参照しながら自分のMP3プレーヤーも作成できました。 VS1011EはMP1、MP2、MP3、WAV、PCMのフォーマットを320 kbit/sまで再生することができます。AVRマイコンからSPI通信回路でVS1011Eに繋いで、コマンドバースでVS1011Eへの制御が可能です。コマンドで主に以下のことを制御することができます。

  • 再生開始
  • 音量制御
  • 低音、高音の強調

構成

再生するMP3ファイルは事前にパソコンからSDカードに保存して、AVRマイコンがSDカードから読込んでVS1011Eに転送します。SDカードのファイルを読込するためにChaN氏のPetit FAT File System Moduleを利用しています。プレーヤー全体の構成は下図のようです。

outline

(more…)

C#文字列の簡単可逆暗号化アルゴリズム

今回では文字列をより安全に保存したり、インターネットで転送したりするための簡単暗号化アルゴリズムを紹介いたします。

発想

Base64は8ビットエンコーディングを6ビットエンコーディングに変換するアルゴリズムです。Base64ではデータを生成する際にプレーンテキストのプロトコルでもデータの転送可能のため、プレーンテキストのみを利用しデータの文字列を生成しています。その利用可能なアルファベットはBase64のエンコーダーとデコーダーに事前定義されています。WikipediaのBase64の「変換表」のところをご参照ください。

ネコ技術は6ビットエンコーディングを5ビットエンコーディングに変更し、内蔵のアルファベットの変換表もBase64標準の変換表以外の内容に変更します。この方法で自分だけのプログラムしか認識できない暗号化アルゴリズムを作成します。 (more…)

3Dの画像のJAL航空機を作ってみました

十年前から3D画像の制作に興味がありましたが3DMAXソフトを買うお金がありませんでしたT_T、最近Blenderという無料の3Dソフトを使い始め、非常に使いやすくて感動しました。インターネットやYouTubeにある勉強の資料を見ながらある絵も作ってみました。JALの飛行機ですが、如何でしょうか。

flight_5

高解像度と背景透明の画像も作成できますのでほしい方がいらっしゃいましたらどうぞお気軽にご連絡ください。

flight_3

他の作品はギャラリーをご覧ください。