[PHP]Bakeでコード生成する時の下準備[CakePHP]

cookBookにあるブログのチュートリアルの後、ACLを制御するシンプルなアプリケーションへ進んだらハマったのでメモ。

1.とりあえずデータベースにテーブル作成
CREATE TABLE users (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
	username VARCHAR(255) NOT NULL UNIQUE,
    password CHAR(40) NOT NULL,
    group_id INT(11) NOT NULL,
    created DATETIME,
    modified DATETIME
);

 
CREATE TABLE groups (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    created DATETIME,
    modified DATETIME
);


CREATE TABLE posts (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    user_id INT(11) NOT NULL,
    title VARCHAR(255) NOT NULL,
    body TEXT,
    created DATETIME,
    modified DATETIME
);

CREATE TABLE widgets (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    part_no VARCHAR(12),
    quantity INT(11)
);

2.コンピューターを右クリックしてプロパティを開き、システムの詳細設定から環境変数を選択。

3.cake.batまでのパスを追加(私の場合はC:VertrigoServwwwcakephpcakeconsole)

4.php.exeまでのパス(に/cliをくっつけたもの)を追加(私の場合はC:VertrigoServwwwPhpcli)

5.パソコン再起動

6.cmd立ち上げて cake を実行。

[C#]フォームを最大化・最小化

    //フォームを最大化して開く
    this.WindowState = FormWindowState.Maximized;

    //フォームを最小化して開く
    this.WindowState = FormWindowState.Minimized;


個人的な使い所

MDI親フォームからForm1を子フォームとして呼び出す。
で、Form1をロードした時点で最大化。

        private void Form1_Load(object sender, EventArgs e)
        {
            //フォームを最大化して開く
            this.WindowState = FormWindowState.Maximized;
        }

ちなみに子フォームとして呼び出すForm1のFormBorderStyleをnoneにして最大化すると、親フォームを最大化するまで子フォームの上の方がちょっとだけ表示されないので注意。
Form1にタブコントロールを配置して子フォームをして呼び出して最大化すると、タブの部分が隠れちゃってて悩んだ事があります。

[C#]SQLiteをVisualStudio2010のデータベースエクスプローラーから使う

VS2010のデータベースエクスプローラーからSQLiteを使いたいのだけど、使えなかったので1ヶ月ぐらい悩んでた。

出て来るエラーは以下のようなもの。

ファイルまたはアセンブリ ‘Microsoft.VisualStudio.Data, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。(HRESULT からの例外: 0×80131040)
Read more

[C#] 混合モード アセンブリはバージョン ‘v2.0.50727′ のランタイムに対して作成されており、追加の構成情報がないと 4.0 ランタイムでは読み込めません。

あー・・・えー?上位互換じゃないの?

って事で、App.configファイルを作って(プロジェクト(P) → 新しい項目の追加(W) → アプリケーション構成ファイル)編集。

<?xml version='1.0' encoding='utf-8'?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

[C#] フォームのタイトルバーを消す

フォームのタイトルバーを消す方法は2通りあります。
用途に合わせて使い分けができるので、割と重宝してます。

境界線を消さず、サイズ変更可のままタイトルバーだけ消す

プロパティウィンドウで操作する場合
 ≫ ContlorBox を False にする
 ≫ Text を空欄にする

ソース
this.ControlBox = false;
this.Text = "";

境界線を消してサイズ変更不可にする場合

プロパティウィンドウで操作する場合
 ≫ FormBorderStyle を None にする

ソース
this.FormBorderStyle = FormBorderStyle.None;

eclipse 3.6 HeliosにVisualEditorをインストールする

Helios対応バージョンが出たの知らなかった。 http://www.ehecht.com/eclipse_ve/ve.html

  1. 一番上のve_eclipse_36_win32_201008292115.zipをダウンロードして解凍。
  2. eclipse起動 → ヘルプ →新規ソフトウェアのインストール
  3. 下の方にある「項目をカテゴリー別にグループ化」のチェックを外す[重要]
  4. 作業対象コンボボックスの横にある「追加」ボタンをクリック
  5. 名前の横にある「ローカル」ボタンをクリック
  6. さっき解凍したVisualEditorのフォルダを選択してOKをクリック
  7. VisualEditorが出るので、チェックして次へ
  8. 使用条件の条項に同意して、再起動

今までGalileo使ってたけど、今日からHelios使う。

[Java]二次元配列

構文
変数型 配列名[][] = new 変数型[要素数][要素数];
整数型配列(3行4列)で宣言
int num[][] = new int[3][4];
イメージ
num[0][0]num[0][1]num[0][2]num[0][3]
num[1][0]num[1][1]num[1][2]num[1][3]
num[2][0]num[2][1]num[2][2]num[2][3]
配列の初期化
配列名[行番号][列番号];
初期化して処理を行い表示
public class Main {

	public static void main(String[] args){

		//2次元配列の宣言
		int num[][] = new int[3][4];
		
		//全ての要素に0を代入
		for (int i = 0; i < 3; i++) { //縦(行)ループ
			for (int j = 0; j < 4; j++) { //横(列)ループ
			num[i][j] = 0;
			} 
		}
		
		//num[0][0]に10を代入
		num[0][0] = 10;
		
		//num[1][1]に20を代入
		num[1][1] = 20; 
		
		//num[2][2]にnum[0][0] + num[1][1]の値を代入
		num[2][2] = num[0][0] + num[1][1];
		
		//num[0][3]にnum[1][1] - num[0][0]の値を代入
		num[0][3] = num[1][1] - num[0][0];
		
		
		//全ての要素を表示
		for (int i = 0; i < 3; i++) {
			for (int j = 0; j < 4; j++) {
				System.out.print(num[i][j] + ",");
			}
		}
		
	}
}

[C#]MenuStripのアクセスキー

eclipseっつーかJava?だとmnemonicに設定するやつ。 例えば「ファイル(F)」にFを割り当てると「ファイル(F)」ってなる。 どうすんだろうなーと思ってたら、超簡単だった。 Textの所の「ファイル(F)」を「ファイル(&F)」でOK! 終了(X)だったら終了(&X)で。 こんな簡単だったのか。

天体望遠鏡を買った。

天文病をこじらせて、子供用と言いつつ、ついに買った。

スコープテックのラプトル50
http://scopetown.jp/prod_st_raptor_1.html

私用は、冬のボーナスでアトラス60を買うつもり。
って言うか買ってしまうと思う。

お店に電話して色々と聞いたのだけど、超親切でビビッた。

[eclipse] EclipseME

携帯アプリを作るのに必要。
EclipseMEのインストールURLをいっつも忘れるからメモ

http://www.eclipseme.org/updates/