Unity5: マスクされずにScrollviewからドラッグアンドドロップする
Scrollviewからドラッグアンドドロップする場合ViewportのMaskでマスクされる為、ドラッグ中のオブジェクトが隠れてしまう。これを解決するには、
①IBeginDragHandlerのOnBeginDrag時にSetParentでドラッグ中のオブジェクトを一時的にScrollViewの子にする。
parentObject = transform.parent; transform.SetParent (scrollviewObject.transform, false);
②IEndDragHandlerのOnEndDrag時にSetParentでドラッグ中のオブジェクトを元の親の子にする。
transform.SetParent (parentObject, false);
マスクされずにドラッグ中のオブジェクトをdrag and dropできた。
Android(アンドロイド)Eclipseエラー&警告対応
エラー
Incorrect line ending: found carriage return (\r) without corresponding newline (\n)
レイアウトのxml画面で「Ctrl + Shift + F」を押してから保存すればOK。
エラー
Failed to load the LayoutLib: com.android.layoutlib.bridge.Bridge$PostInflateException
クリーンしてEclipseを再起動すればOK。
コンパイルエラー
Your project contains error(s),please fix them begore running your application
クリーンしてEclipseを再起動すればOK。
Eclipse起動時にクリーン(cleanコマンド)を実行する方法
C:\eclipse\eclipse.exe -clean
アイコンを右クリックし「プロパティ>ショートカット(タブ)>リンク先」を上記のように変更してから実行。
エラー
Failure 5 (database is locked) on 0x[6桁の16進数] when executing 'BEGIN EXCLUSIVE;'
同一メソッドでの書き込み処理が衝突しないように修正すればOK。
Lintエラーチェック
is not translated in
Export aborted because fatal lint errors were found.
string.xmlを各国語用にも作ってよというエラー。Lintのエラーチェックを緩めればOK。
エラー
NotFoundException: null Exception details are logged in Window > Show View > Error Log The following classes could not be found: - TextView (Change to android.widget.TextView, Fix Build Path, Edit XML)
グラフィカルレイアウトのAPIバージョンを(古いバージョンに)下げればOK。
警告
This ScrollView layout or its LinearLayout parent is possibly useless
このスクロールViewか親のViewが無駄。消すべき。
警告
This LinearLayout layout or its LinearLayout parent is useless
無駄に何度もLinearLayoutで括ってる。無駄を省けばOK。
警告
Use a layout_height of 0dip instead of wrap_content for better performance
"wrap_content"ではなく、"0dip"にすればOK。
警告
Missing contentDescription attribute on image
画像が表示できない場合の代わりの文字列を定義してないと出る。
android:contentDescription="@string/desc"
上記のようにstring.xmlに定義または直接記入すればOK。
メモリ不足警告
Unable to execute dex: Java heap space Java heap space
eclipse.iniの一番下の数値を増やせばOK(512mから1024mなどにする)
Oracle(オラクルSQL)
標準出力
DBMS_OUTPUT.PUT_LINE('出力文字列');
日付Format
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD') FROM DUAL;
カラムや項目名を取得する
SELECT C.* FROM USER_TAB_COLUMNS C, USER_TABLES T WHERE C.TABLE_NAME = T.TABLE_NAME ORDER BY C.TABLE_NAME
含む場合
CODE_STR IN ('001', '002')
含まない場合
CODE_STR NOT IN ('003', '004')
条件(EXISTS以下)が一致する場合、SELECT文を実行する
※表EMPの列DEPT_IDがD03であるレコードが存在する場合、表DEPTを検索する
SELECT * FROM DEPT WHERE EXISTS(SELECT 'X' FROM EMP WHERE DEPT_ID = 'D03')
TO_CHARによるFormat
999,999,999.999ではなく999,999,990.999
TO_CHAR(NVL(ROUND(SCORE_VAL), 0) / 1000, '999,999,990.999')
CASE文
CASE WHEN A.KBN = 1 THEN '区分1' WHEN A.KBN = 2 THEN '区分2' ELSE '区分その他' END AS KBN
NVLでNULL関連のエラーをなくす
NVL(A.CODE_STR, '') AS CODE_STR 'VARCHAR2なら NVL(SUM(NVL(B.SCORE_VAL, 0)), 0) AS SCORE_VAL 'NUMBERなら
複数のINSERT文を実行する
INSERT ALL INTO MASTER_A VALUE(30, 1) INTO MASTER_A VALUE(30, 2) SELECT * FROM DUAL
複数のUPDATE文を実行する
※スラッシュで区切る
UPDATE TABLE_A SET CODE_VAL = 100 ,NAME_STR = '松本' WHERE TYPE1_STR IN('1', '2') AND TYPE2_STR = '001' / UPDATE TABLE_B SET CODE_VAL = 200 ,NAME_STR = '彦根' WHERE TYPE1_STR IN('3', '4') AND TYPE2_STR = '002' / COMMIT /
※Oracleのテーブル名は30バイトまで
正規表現
空行を選択する
^\r\n
4文字以下の英数字の行を選択する
^[a-zA-Z0-9]{1,4}$
指定文字列を含まない行を選択する
^(?!.*指定文字列).+$
漢字以外を選択する
[^一-龠]
1文字ずつ改行する
- 置換前
(.+?)
- 置換後
$1\r\n
ブログ開始(どうぞよろしく)
当サイトの閲覧及び使用は、自己責任でなされるものであり、当サイトの作成や公開等に関わった関係者は、当サイトへのアクセス又は使用によって発生したいかなる損害やその修理費用等に関して、一切の責任を負いません。