2013年6月9日日曜日

inkscapeをmacにインストールする

macbook airにinkscapeをインストールした。

OS X 10.8.3
XQuartz 2.7.4 (xorg-server 1.13.0)
まずhttp://track05.seesaa.net/article/23472660.htmlを見ながらinkscapeをインストール。でもx11は対応していないのか動かない。

次にhttp://memo.yomukaku.net/entries/SKNgCdPを発見。XQuartzをインストール、起動。その後inkscapeを起動すると上手くいった。

2013年3月27日水曜日

vb6 ファイル番号ってなんだよ・・・

昨日仕事でvb6のコード読まなきゃいけなかったんだけど、FreeFileって関数でファイル番号ってのを取得してたんですよ。

ファイル番号って概念は初めてだったのでまず関数で調べたんだ。
でもどこ行っても「FreeFileは空いているファイル番号を取得する」としか書いて無くてファイル番号にわかの僕には冷たい感じだったんだ。

msdn探すけどvb6とかもうないですって言われるし、OpenしてるとこではAsでつないでるから型なの?とかいろいろ泣きそうだった。

というわけで備忘録。
ファイル番号とはファイルのオープン時に重複をさけるためにある0から511までの正の整数をしめします。
したがって、あるファイル(A.txt)にファイル番号1を割り当てたら他のファイル(b.txt)にファイル番号1を割り当てる事はできません。この時は0、2から511までの任意のファイル番号を指定する必要があります。
 FreeFile関数は未使用のファイル番号を取得してくれる人でした。


参考にした記事の人に感謝を。

ファイル番号
http://www6.plala.or.jp/MrHomepage/lecture/vblecture/vb17.html
ついでに読み書きについて
http://www.red.oit-net.jp/tatsuya/vb/Open.htm


できればvb6は触りたくないなw

vb6 .selectってなんなのさ!?

どうやらexcelのシートを選択するメンバだったようです。
xlapp.sheets(シート名).select()
しかしselectといいinputといい嫌な名前ばかりだ...


http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1136700931

2013年3月26日火曜日

構造体の要素を動的に操作する

ポインタの話。
c言語使う機会があるので調べなおして備忘録。

以下のような構造体があったとして、セルの値を動的に参照したいですよ。
struct SAMPLE_TABLE {
    char[] name;
    int cell0;
    int cell1;
    int cell2;
    int cell3;
    int cell4;
    int cell5;
}

これを下記の様なループで回すと初期化できる。
SAMPLE_TABLE  sample_table;
int* p_cell = &sample_table.cell0;
int i;
for (i = 0; i < 6; i++ ) {
    *p_cell = i;
    p_cell ++;
}

1.変数を定義するとその値はメモリのどこかに保存される。
ポインタは定義された変数の保存先のメモリ領域(アドレス)だ。
int* p_cellはアドレスを格納するための変数(ポインタ変数)を定義している。

2.変数の前に&(アンパサンド)を付けることでその変数のアドレスを取得することができる。
&sample_table.cell0ではsample_tableのcell0のアドレスを取得する。

3.ポインタ変数の前に*(アスタリスク)を付けることでそのポインタ変数に格納されたアドレスを参照する。
*p_cell = iはp_cellに格納されたアドレスが参照するメモリ領域にiを代入している。

4.一回目のループではsample_table.cell0 = 0、
二回目のループではsample_table.cell1 = 1と同じ意味だ。
c言語の変数は定義された順にアドレスに領域が確保される。
そのためcell0~cell5は連続したアドレスに保存されることとなる。
次の行のp_cell ++でアドレスの参照先を一つ進める。


...程度の理解(現状)。
間違ってたり誤解を招く表現してたら指摘ください。

byte長なんかの詳しい話は参考サイトへ
http://www5c.biglobe.ne.jp/~ecb/c/01_04.html

2013年3月20日水曜日

オブジェクトを動的にキャストしたい vb2010

仕事で必要になったので、全ては時の中に...さんを参考に型変換を動的に行ってみた。

作業中にコンパイルエラーが出たが、下記の項目をOffにすることで実行できました。
プロジェクトのプロパティ>コンパイル>コンパイル オプション>Option Strict(S):
遅延バインディングの可否を設定する項目だった。デフォルトではOn(不許可)に設定してあったためコンパイルエラーが出たようです。参考にした記事では触れられていないが、あまりOffにしない方が良い。

最終的に以下のようなコードになりました。

Sub Export(ByVal obj As Objct)  '何受け取るかわかんないけどobjの型に変換したい
  Dim t As Type = obj.Type '変換後の型を取得
  Dim after As Object = Convert.ChengeType(anyObj, t) 'anyObjをobjの型に変換
End Sub


仮想環境の容量拡張したいんだが

vmware使ってたら仮想環境に入れてるwindows7がwinupdateかかりまくって容量が真っ赤で大変である。
サビ残してパーティションの容量を拡張することにする。

以下環境によって読み替えてください。

1.仮想環境をシャットダウンして VM>設定 を開く。
2. ハードウェアタブ>ハードディスク>ユーティリティ から拡張を選択。
    この時スナップショットを取っていると拡張できないので削除した。3.パーティション容量を拡張して適用する。
4.ここからGpartedのLive版をダウンロードする

5.VM>設定>ハードウェアタブ>CD/DVDを選択
    デバイスのステータス>起動時に接続 にチェック
    接続>ISO イメージ ファイルを使用する にチェックし、参照からダウンロードした.isoを指定する。
6.仮想マシンを再起動し、BIOSが起動したところでF2を押す
    ブートの優先順位をCD-ROM Driveに設定し、save and Exit!
7.仮想マシンを起動し、Gpartedを起動する。(ここまで書いて帰りたくなるw)
    Gparted Live (Default settings)を選択する。
8.ここでキー配列を聞いてくるがDon't Touch Keymapで変更しなかった。作業に問題はなかったようなのでよしとするw

9.ここでさらに使用する言語を聞いてくるので日本語ならば15を入力してEnter.

10.最後にGUIで起動するかCUIで起動するか聞いてくる。もちろんGUIだ。0を入力してEnter.
    これでGpartedが起動するはずだ。

11.LiveOS(Debianダタヨ-^^)が起動するとGpartedも自動で立ち上がる。増やしたいパーティションを選択し、[リサイズ/移動]ボタンを押す。
   後は先程拡張した容量をあてがって[OK].[Apply]ボタンを押せば完了だ。
12.Gparted(Debian)を終了し、VM>設定>ハードウェアタブ>CD/DVD を選択。
    接続>物理ドライブを使用する にチェックを戻し[OK]
13.仮想マシンを起動する。
    増えたー^^!!


参考にさせていただいた記事の人に感謝:
http://usefulnetwork.blog57.fc2.com/blog-entry-810.html
http://pctrouble.lessismore.cc/software/gparted.html



ホストOSに関係なく使えそうなので覚えておくことにする。
帰ろう!帰ろう!ww

2013年3月18日月曜日

Android開発環境構築

いまさら書くまでもないと思うけど、先日入れなおしたので備忘録。
環境はwin7 64bit。

1.Eclipseを取得
MergeDoc ProjectからJavaのFull Editionをダウンロード、展開、任意の場所に置く。

2.AndroidSDKを取得
Android DevelopersからSDK Tools Onlyのzip版をダウンロード、展開、任意の場所に置く。


3.EclipseからAndroidSDKを使うためのPluginをインストール
Eclipse起動>ヘルプ>新規ソフトフェアのインストール
[追加ボタン]クリック>[名前]に適当な名前を入力(androidSDK pluginとか)
[ロケーション]に"https://dl-ssl.google.com/android/eclipse/"を入力>[OK]ボタンクリック
[Developer Tools]を選択し[次へ]ボタンクリック
後は指示に従ってインストールする。
plugin落とせないって言われたらここ
インストール後はそれぞれ必要なAPIやドライバ等をインストールする。

4.パースペクティブの設定
このままでは[ウィンドウ]に[Android SDK マネージャー]と[Android 仮想デバイス・マネージャー]が表示されていないと思う。
表示するには[ウィンドウ]>[パースペクティブのカスタマイズ]>[コマンド・グループ可用性]タブ表示
使用可能なコマンド・グループの[Android SDKおよびAVD マネージャー]を選択し[OK]をクリック

これでEclipseを再起動すると[ウィンドウ]に[Android SDK マネージャー]と[Android 仮想デバイス・マネージャー]が追加されていると思う。



参考にさせてもらったブログの人に感謝を。
http://izeef.web.fc2.com/develop/android/env_eclipse.html
http://www.garunimo.com/program/p14.xhtml
http://www.devlog.alt-area.org/?p=547