FlexでHTMLを取得してXMLとして扱おうとすると、「 」が「?」になっていたのを発見。
原因を調べる時間が取れないので取りあえず備忘録。
SQLiteにて特殊文字をエスケープする方法です。
Like句では特殊文字をエスケープする場合にESCAPEを使用できます。
しかしGLOB句ではESCAPEを使用できないようです。
で、調べていたらこれはという投稿を発見。
2chの「sqliteを語るスレ」にこうありました。
LIKEじゃなくGLOBを使って、*/?を[*]/[?]にしてみたらどうよ?
おぉー、[ ] で挟んだらエスケープ出来ました。
やり方として正解か分かりませんが、SQL文は問題なく動いています。
参考:
sqliteを語るスレ
sqlite3エスケープ処理
パターンマッチングで比較
普段は親ループは全て回して子ループでチェック、OKなら子だけbreakといった具合なので、
入れ子のループを一気に抜ける事はあまりないです。
でもいざという時の備忘録と言う事で。
ループにはラベルを付けれるので、
loop1: for( vari:int=0; i<5; i++)
と言うようにして、break時にラベル「loop1」を付加してあげればOK。
なお、breakだけでなくcontinueにもラベル付けを出来ます。
loop1:for (var i:int=0; i<10; i++)
{
loop2:for (var j:int=0; j<2; j++)
{
if ((i == 1) && (j == 1))
{
break loop1; // 親ループを抜ける
}
trace(i, j);
}
}
/*
0 0
0 1
1 0
*/
参考:
ステートメント、キーワード、ディレクティブ
知っていると得をするActionScript3.0新文法
仕事を引き継いだ時や過去案件の修正が必要な時に仕様書が無い場合がたびたびあるかもしれません。
そんな中「この関数はどこから呼び出されているか?」を知る方法ですが、
コードを1から追っていくのは非効率的なので、getStackTraceを使用して呼び出し元スタックを表示します。
trace(new Error().getStackTrace());
取りあえずこれでOK、そして難しい事は後から考える。
参考:
Errorクラス
初心者向け&シニア向けのパソコン講座が今日からスタートという事で講師をやってきました。
シニア向けという事で、最高齢は75才の方まで来られていましたが意外と若いのに驚き。
電源の入れ方からスタートを考えていましたが、
ネットを見たりメールを打つことは何とか出来るレベルだったので、
生徒さんのレベルを把握したうえで内容を軌道修正。
キーボード入力が不得意な方が多いので、今回は練習ゲームを用いてみっちりと行いました。
高齢者ばかりなので15分単位で息抜きをさせることを意識して、
パソコン講座では普通しないストレッチを交えながらリラックスして出来たと思います。
何事も1回目というのは緊張するものですが、まずまずの及第点かな。。
来週も来てくれる事を祈ってます(笑
FlashやFlexなどのサンプルを探すのに助かります。
HexoSearch
AIRとC#で連携してみる(1)に引き続きAIRとC#で連携してみます。
今回はソケット接続ではなく、ExternalInterfaceとLocalConnectionを用いて連携します。
◆◆◆ 参考サイト ◆◆◆
デバイス連動 AIR アプリケーション開発手法
C#とFlashの連携その5
例:ActiveX コンテナでの外部 API の使用
◆◆◆ 構成 ◆◆◆
Visual C# 2010 Express
Flex Builder3 (SDK3.5)
AIR2.0
上記でAIRアプリ、C#アプリ(swfを内包)を作成します。
◆◆◆ やる事 ◆◆◆
AIRとC#は双方の関数を直接実行する事が出来ないので、
それを仲介するswfをC#内に読み込んでswfを用いて相互にやり取りさせる。
これで互いの関数を呼び出す事が出来るようになる。
LocalConnection → AIRアプリとC#アプリに内包されたswf間での通信
ExternalInterface → C#アプリと内包されたswf間での通信
◆◆◆ 準備 ◆◆◆
C#アプリと内包されたswf間での通信にExternalInterfaceを用いるのですが、
C#側でExternalInterfaceProxyという物が必要になります。
Flash ActionScript 3 samplesのFlash CS3 Professional samplesからダウンロードできます。
直接落とす時は、
Programming_ActionScript3.0_samples.zip (ZIP, 42 MB)からどうぞ
これを解凍した中から、IntrovertIM_CSharp → ExternalInterfaceProxy の中にある、
・ExternalInterfaceCall.cs
・ExternalInterfaceCallEventArgs.cs
・ExternalInterfaceProxy.cs
・ExternalInterfaceSerializer.cs
の4ファイルをC#で使用します。
◆◆◆ 次回 ◆◆◆
今回は準備という事でここまでです。
次は、AIRプロジェクト、Flexプロジェクト(内包されるswf)、C#プロジェクト
のサンプルコードをどばっと書きたいと思います。
とにかく動かせ!をモットーに。。
この暑い中、クーラーという拠り所をなくしてはや1週間。
ようやく新しいクーラーが届きました、すっずしー!!
仕事の能率が復活ですな。
ジョーシン多治見店の対応が良かったんで感謝。
(ケーズは1カ月かかる何て言われガックシ。。)
そろそろ海釣りに行こうか。
AIRとC#の連携をやっている所で、C#からMySQLに接続できたらそれも良いかなと試してみました。
調べた感じでは、MySQL Connector/Net (ver 6.2.3) がやり易そうだったのでこれで行こうと思います。
※ ADO.NET からMySQLに接続するためのドライバーです。
Download MySQL Connector/Net (ver 6.2.3) からダウンロード(要MySQLアカウント)
※ソースはいらないのでmysql-connector-net-6.2.3.zipにしました。
ダウンロードしたファイルをインストールします。
Next

Typical

Install

インストール中

Finish

インストールが完了したらVisual C# 2010 Expressへ舞台は変わり、
ソリューションエクスプローラー内に先程インストールしたディレクトリ内にあるMySql.Data.dllをコピーします。

コピー後に参照設定を右クリックして参照の追加を選択。

コピーしたMySql.Data.dllを選択します。

以上でC#でMySQLを使用する準備が終了しました。
プロジェクトで接続する方法はまた今度。