2014年10月25日土曜日

iOS7 カラーパターン

アプリケーションのデザインを考える際に、色の組み合わせを考えることがありますよね。
自分はデザインセンスがからっきし無いので、何らかのデザインパターンを参考にしたいと切実に願うタイプです(^_^;)



ios7colors

ios7colors.com では iOS7 のカラーパターンを紹介してくれているので、これら色の組み合わせを使うとデザインになるんじゃないかと思います。
http://ios7colors.com/

文字列内のカンマを乗り除く方法

文字列から任意の文字を取り除くには、Replace メソッドを用いて取り除く対象の文字と空文字("")を引数に指定します。

// コンマを含む文字列
string valWithComma = "13,000";
// Replace メソッドでコンマを空文字に置き換え
string valWithoutComma = valWithComma.Replace(",","");

How to remove commas in a string in C# ??
http://bytes.com/topic/net/answers/650947-how-remove-commas-string-c

2014年10月12日日曜日

DataTable 行のセル値をキー指定で取得

DataTable の Field メソッドを利用することで行の持つセル値をキー指定で取得することができます。

例えば dataTable という DataTable インスタンスがある場合

DataRow row = dataTable.Rows[0];
// Field メソッドにキーとして "ID" を指定します。また、列のデータ型も指定します。(ここでは int)
string idText = row.Field<int>("ID").ToString();
// string 型のフィールドの場合
string categoryText = row.Field<string>("Category").ToString();

DataRowExtensions.Field メソッド
http://msdn.microsoft.com/ja-jp/library/system.data.datarowextensions.field%28v=vs.110%29.aspx

関連記事:
C# DataTable の作成

2014年10月11日土曜日

SQL Server 今日日付の数値を集計表示

SQL Server で数値列(Cost 列)から今日日付のレコードを集計して取得するクエリです。

SELECT           Date, SUM(Cost) AS TodaySum
FROM             BuyList
WHERE            (Date = DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())))
GROUP BY         Date


Comparing results with today's date?
http://stackoverflow.com/a/10395698

2014年10月10日金曜日

SQL Server 列の定義を変更

SQL Server のテーブルの列定義を変更するクエリです。

ALTER TABLE BuyList ALTER COLUMN Category nvarchar(50)

SQL Server からデータを取得した際に日本語部分が文字化けしてしまい、調べたところ Unicode に対応する
列タイプ(nvarchar)を設定すると日本語も文字化けせずに表示できるそうです。

SQL ALTER TABLE Statement
http://www.w3schools.com/sql/sql_alter.asp
→ Change Data Type Example

9.4.7 SQL Serverと接続する場合の前提条件と注意事項
http://itdoc.hitachi.co.jp/manuals/3020/30203M0360/EM030327.HTM
→ (2) SQL Serverと接続する場合の注意事項

2014年10月5日日曜日

Visual Studio 2010 のツールボックスが起動毎に初期化される事象への対処法

先日急に Visual Studio が起動時に必ずツールボックスの初期化を行うようになってしまいました(/_;)

下記メッセージが出力されておりました。(Visual Studio は英語版を利用しています。)

"Loading toolbox content from package Microsoft.VisualStudio.IDE.Toolbox.ControlInstaller.ToolboxInstallerPackage
'{2C98B35-07DA-45F1-96A3-BE55D91C8D7A}'"


色々調べたところ同じ事象を解決されている方がいたので、その情報を頼りに操作してみると事象が解消しました!

Fixing a broken toolbox (In Visual Studio 2010 SP1)
http://michaelcrump.net/fixing-a-broken-toolbox-in-visual-studio-2010-sp1

1.レジストリの全バックアップを作成
2.フォルダ「C:\Users\ユーザー名\AppData\Local\Microsoft\VisualStudio\10.0」に bk フォルダを作成し、同フォルダある *.tbd ファイルを bk フォルダに移動。
3.問題となるレジストリを削除
4.Visual Studio の再起動。

tbd ファイルを削除すると、次回 Visual Studio 起動時に自動的に再作成されます。このため次回起動時のみ初期化に若干時間がかかりますが、以降は事象が解消されています。

2014年10月4日土曜日

SQLDataSource.InsertParameters メソッドでパラメータに数値を割り当てる


パラメータに数値を渡すには、InsertParameters.Add メソッドの第 2 引数で数値型(DbType.Int32)を指定し、実際の登録する数値は第 3 引数で文字列型として渡します。また、下記例では値に含まれる ¥ マークを取り除くため、String.Trim メソッドを利用しています。

SqlDataSource1.InsertParameters.Add
(
    // this.Cost.Text は "¥700" のような文字列の値を保持しています。
    "Cost", System.Data.DbType.Int32, this.Cost.Text.Trim('')
);

文字のトリムと削除
http://msdn.microsoft.com/ja-jp/library/kxbw3kwc%28v=vs.110%29.aspx

2014年9月27日土曜日

SQLite でテーブルに複数レコードを追加するクエリ

Values に追加するレコード情報をカンマ区切りで複数記述することで OK です。

INSERT INTO BuyList
(Category, ItemName, ShopName, Date, Cost)
VALUES
('Category1', 'Item1', 'Shop1', '2014-09-15', 1980),
('Category2', 'Item2', 'Shop2', '2014-09-28', 570)

参考ページ
Is it possible to insert multiple rows at a time in an SQLite database?
http://stackoverflow.com/questions/1609637/is-it-possible-to-insert-multiple-rows-at-a-time-in-an-sqlite-database

jQuery trigger メソッドの使い道

jQuery には trigger メソッドを利用することで、開発者がイベントを動的に発生させることができます。
この trigger メソッドは、主にユニットテストに利用することができます。


Testing User Actions
http://qunitjs.com/cookbook/#testing-user-actions

あくまでもテスト目的で利用されるものであり、開発者がビジネスロジックを実行するために常用するものではないようです。

2014年9月23日火曜日

localStorage への JSON データ保存と復元

cookie 以外でブラウザ側にデータを保存することの出来る localStorage があります。
ここでは簡単に localStorage へ JSON データを保存し、復元する例を紹介します。
JSON データは文字列データではないため、JSON.stringify() メソッドでシリアライズし、
JSON.parse() メソッドでデシリアライズしています。

// JSON データ
var friend = { ID : 1, Name : "Kai" };

// localStorage に JSON データを保存
// JSON.stringify を用いて JSON をシリアライズ(文字列化)
localStorage.setItem('kai', JSON.stringify(friend));

// 確認:変数 friend は JSON データ
console.log("json data : " + friend);

// 確認:localStorage には文字列として保存されている
console.log("localStorage data : " + localStorage.getItem("kai"));

// JSON.parse を用いてシリアライズされている JSON をデシリアライズ
var friendRetreived = JSON.parse(localStorage.getItem("kai"));

// JSON データが復元されている
console.log("deserialized data : " + friendRetreived);

2014年9月22日月曜日

JavaScript と jQuery で cookie を生成する

ブラウザの cookie を生成する方法です。

1.JavaScript の場合
document.cookie = "key1=value1";


jQuery ではより簡潔に cookie を操作することができるプラグインが用意されています。

2.jQuery cookie plug-in の場合
// 戻り値として cookie を取得することができます。
var cookies = $.cookie("name", "Tim");

詳しくは下記 GitHub をご覧ください。

carhartl/jquery-cookie
https://github.com/carhartl/jquery-cookie

2014年9月7日日曜日

SQLite 今月の全件データを取得する SQL 文

今月の合計を取得したくて調べました。

BuyList テーブルの Date 列データが今月のリストを表示する SQL 文です。

'今月の全件データを表示
select * from BuyList where Date between date ('now', 'start of month') and date ('now', 'start of month', '+1 month', '-1 day')

'今月の集計データは SUM 関数を組み合わせて取得
select SUM(Date) from BuyList where Date between date ('now', 'start of month') and date ('now', 'start of month', '+1 month', '-1 day')

参考ページ
the sqlite common sql statement
http://www.databaseskill.com/1046790/

2014年9月1日月曜日

JavaScript Date(日付) データを yyyy/MM/dd 形式にフォーマットする


JavaScript の Date 型データはデフォルトでは下記の形式生成されます。

Mon Sep 01 2014 21:42:03 GMT+0900

これを yyyy/MM/dd の形式にフォーマットする場合、下記のように実装することができます。JavaScript の月は 0 からスタートしますので、1 を追加します。

var date = new Date();
var formattedDate = 
    date.getFullYear() + '/' + (date.getMonth() + 1) + '/' + date.getDate();

追記:
コメント欄にてご指摘いただいているように、上の実装ではゼロ埋めがなされません。ゼロを補完して必要な下二桁のみを取るように変更します。

var date = new Date();
formattedDate = [
    date.getFullYear(),
    ('0' + (date.getMonth() + 1)).slice(-2),
    ('0' + date.getDate()).slice(-2)
].join('/');

console.log(formattedDate);

動作サンプルのダウンロードはこちらから
http://kai.raindrop.jp/javascript/format-date/