<form #form1="ngForm">
<ion-grid>
<ion-row>
<ion-col>
対象月:
<input type="text"
[(ngModel)]="targetMonth"
[ngModelOptions]="{standalone: true}"
#t_month="ngModel"
pattern="^20(0[1-9]|[1-9][0-9])(0[1-9]|1[0-2])" ngModel />
<p *ngIf="t_month.errors && t_month.errors.pattern" class="error">
値が不正です。西暦4桁+月2桁を入力してください。(例:201612)
</p>
</ion-col>
</ion-row>
<ion-row>
<ion-col width-10>
<button type="button" (click)="onSubmit()" [disabled]="!form1.form.valid">
データ取得
</button>
</ion-col>
</ion-row>
</ion-grid>
</form>
2016年12月26日月曜日
Angular2バリデーションの注意点
Angular2のバリデーションで躓いたのでメモ。
inputのerrorsプロパティはエラーの場合しかオブジェクトが生成されないため、
エラーメッセージを隠す際はngIfを使用する。
2016年12月20日火曜日
Wijmo5に関するサイト
■Wijmo公式ドキュメント
wijmoの各モジュールについて、プロパティ、メソッド、イベントがまとめられている。
■サンプルエクスプローラ
公式サンプル集。色々参考になります。
基本を押さえた上でないと使えない。
■Angular2マークアップ構文
Angular2のマークアップ構文の開設。Wijmoモジュールを例にしているので分かりやすい。
■FlexGrid入門
FlexGridの基本的な使い方の紹介。
wijmoの各モジュールについて、プロパティ、メソッド、イベントがまとめられている。
■サンプルエクスプローラ
公式サンプル集。色々参考になります。
基本を押さえた上でないと使えない。
■Angular2マークアップ構文
Angular2のマークアップ構文の開設。Wijmoモジュールを例にしているので分かりやすい。
■FlexGrid入門
FlexGridの基本的な使い方の紹介。
「Cannot read property 'directive' of undefined in Wijmo grid」の対応
【事象】
Wijmo5の以下のディレクティブを使用するとエラーが発生する。
・wj-flex-grid-column
・wj-flex-grid-filter
【エラー内容】
TypeError: Cannot read property ‘directive’ of undefined
【構成】
Angular2:2.2.1
Wijmo:5.20163.234
【対応】
Wijmo5.20163.239にバージョンアップする。
ダウンロードはここから
【参考】
http://wijmo.com/topic/error-when-upgrade-angular-2-2-1-cannot-read-property-directive-of-undefined/
さんきゅーAlex!!
Wijmo5の以下のディレクティブを使用するとエラーが発生する。
・wj-flex-grid-column
・wj-flex-grid-filter
【エラー内容】
TypeError: Cannot read property ‘directive’ of undefined
【構成】
Angular2:2.2.1
Wijmo:5.20163.234
【対応】
Wijmo5.20163.239にバージョンアップする。
ダウンロードはここから
【参考】
http://wijmo.com/topic/error-when-upgrade-angular-2-2-1-cannot-read-property-directive-of-undefined/
さんきゅーAlex!!
2016年11月22日火曜日
Oracle8iでEntityFrameworkを使う方法
表題の件、すっごい苦労しました。
1.SQLServerを用意
32bitのWindowsに、SQLServerをインストール。SQLServerは当然32bit。
なぜ32bitかというと、あの忌まわしき「Program Files (x86)」のせい。
インストールパスを変えてもSQLServerのインスタンスは「Program Files (x86)」に作成されていまうため、Oracleのライブラリがうまく使えなかったり。
2.レジストリ変更
OracleのDLLを使用するように書き換え。(バックアップを忘れずに)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI]
"OracleXaLib"="oraclient8.dll"
"OracleSqlLib"="orasql8.dll"
"OracleOciLib"="oci.dll"
3.リンクサーバ作成
以下のコマンドでリンクサーバ作成。
EXEC sp_addlinkedserver 'リンクテーブル名', 'Oracle', 'MSDAORA', 'TSN名'
EXEC sp_addlinkedsrvlogin 'リンクテーブル名', 'FALSE',NULL, 'ログインID', 'パスワード'
1.SQLServerを用意
32bitのWindowsに、SQLServerをインストール。SQLServerは当然32bit。
なぜ32bitかというと、あの忌まわしき「Program Files (x86)」のせい。
インストールパスを変えてもSQLServerのインスタンスは「Program Files (x86)」に作成されていまうため、Oracleのライブラリがうまく使えなかったり。
2.レジストリ変更
OracleのDLLを使用するように書き換え。(バックアップを忘れずに)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI]
"OracleXaLib"="oraclient8.dll"
"OracleSqlLib"="orasql8.dll"
"OracleOciLib"="oci.dll"
3.リンクサーバ作成
以下のコマンドでリンクサーバ作成。
EXEC sp_addlinkedserver 'リンクテーブル名', 'Oracle', 'MSDAORA', 'TSN名'
EXEC sp_addlinkedsrvlogin 'リンクテーブル名', 'FALSE',NULL, 'ログインID', 'パスワード'
4.VIEW作成
シノニムはEntityFrameworkで使えないのでVIEWを使う。
例)CREATE VIEW VIEW_1 AS SELECT * FROM [リンクサーバ名]..[スキーマ名].[テーブル名]
以上。
これでEntityFrameworkでアクセスできるOracle8iのできあがり。
【参考】
EntityFrameworkのEntityをJSONに変換
EntityFrameworkのEntityをWebAPIでJSON形式で返したかったので、変換してくれるライブラリを探してると、Json.NETというライブラリを見つけた。
サイトからダウンロードするか、NuGetで入手。
WebApplicationプロジェクトだと標準で入ってるかも。
■NuGetのインストールコマンド
PM> Install-Package Newtonsoft.Json
■使い方
string json = JsonConvert.SerializeObject(query);
とってもシンプル。
2016年8月31日水曜日
年月毎にファイルをフォルダに振り分けする方法
写真、ビデオのファイル名を撮影日時にする方法でファイル名を変更した後の処理として、
年月毎にフォルダ振り分けを行うバッチファイルを作成します。
1.バッチファイル作成
以下の内容でバッチファイルを作成します。
@echo off @setlocal enabledelayedexpansion REM 移動先のルートパス SET MOVE_ROOT=移動先パス ← 適宜修正。ファイルサーバも指定可能。 REM ファイル移動 for %%F in (%*) do ( echo 処理開始:%%F dir /s /b %%F FOR /F "usebackq delims=" %%I IN (`dir /s /b %%F`) DO ( ECHO ファイル処理開始:%%I SET F_NAME=%%~nI SET MOVE_DIR_NAME=!F_NAME:~0,6! SET /A CONF_F_NAME=!MOVE_DIR_NAME! IF "!CONF_F_NAME!" NEQ "!MOVE_DIR_NAME!" ( ECHO ファイル名がおかしいので処理をスキップします。 ) ELSE ( REM ディレクトリ存在確認 SET MOVE_DIR=!MOVE_ROOT!!MOVE_DIR_NAME!\ REM ディレクトリが存在しない場合作成する IF NOT EXIST "!MOVE_DIR!" MKDIR "!MOVE_DIR!" REM ファイルコピー MOVE "%%I" !MOVE_DIR! ) ) )
2.バッチファイル配置
1で作成したバッチファイルを適当な場所に配置します。
1で作成したバッチファイルを適当な場所に配置します。
これで、バッチファイルにフォルダをドロップすると、フォルダ内の画像、ビデオファイルの
ファイル名が撮影日時に変更されます。
送るメニューにショートカットを登録することで、もっと便利に使うこともできますよ。
■送るメニュー編集手順
https://www.microsoft.com/ja-jp/atlife/tips/archive/windows/tips/305.aspx
ファイル名が撮影日時に変更されます。
送るメニューにショートカットを登録することで、もっと便利に使うこともできますよ。
■送るメニュー編集手順
https://www.microsoft.com/ja-jp/atlife/tips/archive/windows/tips/305.aspx
写真、ビデオのファイル名を撮影日時にする方法
フォルダをドロップすると、フォルダ内の写真、ビデオのファイル名を
3.バッチファイル配置
2で作成したバッチファイルを適当な場所に配置します。
また、1でダウンロードしたexftool.を解凍すると「exftool.exe」というファイルができるので、
バッチファイルと同じフォルダに配置するか、パスが通っているフォルダに配置します。
これで、バッチファイルにフォルダをドロップすると、フォルダ内の画像、ビデオファイルの
ファイル名が撮影日時に変更されます。
送るメニューにショートカットを登録することで、もっと便利に使うこともできますよ。
■送るメニュー編集手順
https://www.microsoft.com/ja-jp/atlife/tips/archive/windows/tips/305.aspx
「撮影日_撮影時分秒」に変更するバッチファイルの作り方。
1.exftool用意
撮影日時の取得には、exftoolを使用します。
以下のURLから、Windows版をダウンロードしてください。
2.バッチファイル作成
以下の内容でバッチファイルを作成します。
ダウンロードはこちら
@echo off @setlocal enabledelayedexpansion REM ファイルリネーム for %%F in (%*) do ( echo 処理開始:%%F dir /s /b %%F FOR /F "usebackq delims=" %%I IN (`dir /s /b "%%F"`) DO ( FOR /F "usebackq tokens=4,5 delims=- " %%O IN (`c:\bin\exiftool.exe -datetimeoriginal -createdate "%%I"`) DO ( set F_DATE=%%O set F_TIME=%%P set NEW_FNAME=%%~dI%%~pI!F_DATE::=!_!F_TIME::=!%%~xI IF "!F_DATE!" NEQ "" IF "!F_TIME!" NEQ "" ( IF EXIST %%I ( call :RENAME_FILE %%I !NEW_FNAME! %%~dI%%~pI!F_DATE::=!_!F_TIME::=! 0 %%~xI ) ) ) ) ) pause @endlocal @echo on @goto :EOF :RENAME_FILE IF EXIST %2 ( SET /A NUM=%4+1 SET NEW_FNAME=%3_!NUM!%5 call :RENAME_FILE %1 !NEW_FNAME! %3 !NUM! %5 ) ELSE ( echo ファイル名変更:%1 ⇒ %2 echo move %1 %2 move %1 %2 exit /b 0 ) exit /b 0
3.バッチファイル配置
2で作成したバッチファイルを適当な場所に配置します。
また、1でダウンロードしたexftool.を解凍すると「exftool.exe」というファイルができるので、
バッチファイルと同じフォルダに配置するか、パスが通っているフォルダに配置します。
これで、バッチファイルにフォルダをドロップすると、フォルダ内の画像、ビデオファイルの
ファイル名が撮影日時に変更されます。
送るメニューにショートカットを登録することで、もっと便利に使うこともできますよ。
■送るメニュー編集手順
https://www.microsoft.com/ja-jp/atlife/tips/archive/windows/tips/305.aspx
登録:
投稿 (Atom)