プログラミング」タグアーカイブ

ActionScriptでPNG, JPEGの生成

今さら気づいたのだけど、ActionScript で BitmapData から PNG や JPEG を生成するときは BitmapData の encode メソッドを使えばよかったのか。
ずっと PNGEncoder や JPEGEncoder を使っていたのだけど、処理が遅いなぁと思っていたのだ。
BitmapData.encoder を使ったら、めっちゃ早かった。
知らんかった・・・。

ionic のアップデートでエラー

ionic をアップデートしようと思い npm install -g ionic を実行すると

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
node.js:720
var cwd = process.cwd();

みたいなエラーが発生したので

npm install -g cordova ionic –unsafe-perm quickscrape

とすると問題なくアップデートできた。

参考→ http://forum.ionicframework.com/t/ionic-install-issue-osx/13850

Cordova で Xcode を 7.1 にアップデートしたら…

Cordova でアプリを開発しているのだが、Xcode を 7.1 にアップデートしたらビルドに失敗するようになった。
例えば “ file not found” とか MainViewController.xib に internal error とか。

調べた結果、Xcode で “Build Settings” > “Search Paths” > “Header Search Paths” にある
$(OBJROOT)/UninstalledProducts/include

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
に書き換えれば上手くいった。

追記。
MainViewController.xib の件は関係なかった。
これでは解消されていなかった。
ビルドできたりできなかったりで、よくわからない。
Xcode の不具合なのかな。

Word の .doc ファイルをテキストファイルに変換する

Word の .doc ファイルからテキストを抽出したいと思い、何かいいツールはないかと探したのだけれど、これというのが見つからなかったので自分で作ってみました。

要件としては
1.複数のファイルを一括変換したい。
2.フォルダを指定すると、サブフォルダも再帰的に処理したい。
3.抽出したテキストはテキストファイルとして保存したい。

調べた中ではこちらの VBScript が希望するものに近かったので、これを元に作成させて頂きました。
http://www.geocities.co.jp/SiliconValley-Bay/1992/vbs/doc2txt.html

で、出来たのがこちら。
doc2txt.zip

zipファイルを解凍すると doc2txt.vbs という VBScript がありますので、それに変換したいファイルなりフォルダをドラッグ&ドロップするだけ。
.doc の拡張子を .txt に変えたものが、元のファイルと同じフォルダに生成されます。
なお、すでに .txt ファイルがある場合は、処理をスキップするようにしてあります。

VBScript を書くのはこれが初めてで、見よう見まねで書いたのでおかしなところがあればご指摘ください。

Cordovaでリンクをブラウザで開く

Cordova製のiOSアプリで、リンクタグによるリンク先のページを、アプリ内ではなく別にブラウザ(Safari)を立ち上げて開く方法。

cordova-plugin-inappbrowserプラグインを用いる方法が一般的なようだが、なぜかうまく扱えなかった。
そこで、http://koyoy-lab.blogspot.jp/2012/05/cordovasafari.htmlのページにあるように、MainViewController.mを書き換える方法で実現させた。

- (BOOL) webView:(UIWebView*)theWebView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSURL *url = [request URL];
    if( [[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"])
    {
        [[UIApplication sharedApplication] openURL:url];
        return NO;
    }
    else
    {
        return [super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType];
    }
}

「httpもしくはhttpsで始まるリンクは、別途ブラウザを立ち上げて開く」という処理になる。
アプリ内のコンテンツとしてのページはfileで始まる(らしい)ので、これで外部リンクのみが別ブラウザで開くというわけだ。