SQLの窓 イラストAC フリー素材

2018年01月14日

VBScript : ディレクトリ内のディレクトリで使用している容量一覧

▼ このように実行されます(Windows10 での例です)
Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

D:\GIMPPortable

          6.766 M : 509620891
        179.393 M : App
        711.864 M : Data
          0.441 M : footprint
          0.039 M : gimp_effects_scripts
         11.003 M : IM00015850-01_RonsApocalypse
          0.040 M : Other
          8.061 M : photoshop

        917.609 M : 表示合計
        922.714 M : D:\GIMPPortable のサイズ
          5.104 M : D:\GIMPPortable 下のファイル

続行するには何かキーを押してください . . .
' ************************************************
' 除外フォルダ名を スペースで区切って並べる
' (簡易的な除外)
' ************************************************
Dim Exclude
Exclude = ".gem"
Exclude = Lcase(Exclude)

' ************************************************
' 管理者権限で実行用
' ************************************************
Set Shell = CreateObject( "Shell.Application" )

' ************************************************
' 管理者権限で再実行
' ************************************************
if Wscript.Arguments.Count = 0 then
	Shell.ShellExecute "cmd.exe", "/c cscript.exe " & Dd(WScript.ScriptFullName) & " next" & " & pause", "", "runas", 1
	Wscript.Quit
end if

' ************************************************
' 処理用
' ************************************************
Set WshShell = CreateObject( "WScript.Shell" )
Set Fso = CreateObject( "Scripting.FileSystemObject" )

Dim target

' ************************************************
' 対象ディレクトリ
' ************************************************
target = SelectDir( "対象フォルダを選択して下さい" )
if target = "" then
	Wscript.Quit
end if

Wscript.Echo target
Wscript.Echo

' ************************************************
' フォルダオブジェクト取得
' ************************************************
Set objFolder =  Fso.GetFolder(target)

' ************************************************
' サブフォルダコレクション取得
' ************************************************
Set colSubFolder =  objFolder.SubFolders

' ************************************************
' 一覧
' ************************************************
Dim TargetSize : TargetSize = 0
For Each obj in colSubFolder

	Do While true

		if InStr(Exclude,Lcase(obj.Name)) > 0 then
			Exit Do
		end if

		on error resume next
		Wscript.Echo Lpad(FormatNumber((Fix(obj.Size / 1024) / 1024),3)," ", 15) & " M : " & obj.Name
		if Err.Number <> 0 then
			Wscript.Echo "                  ( " & obj.Name & " : 処理できません )"
		else
			TargetSize = TargetSize + obj.Size
		end if
		on error goto 0


		Exit Do
	Loop


Next

Wscript.Echo

Dim AllSize
Dim er : er = 0
on error resume next
AllSize = objFolder.Size
if Err.Number <> 0 then
	er = 1
	AllSize	= TargetSize
end if
on error goto 0


Wscript.Echo Lpad(FormatNumber((Fix(TargetSize / 1024) / 1024),3)," ", 15) & " M : " & "表示合計"

if er = 1 then
	Wscript.Echo "                  ( " & target & " のサイズは取得できませんでした )"
else
	Wscript.Echo Lpad(FormatNumber((Fix(AllSize / 1024) / 1024),3)," ", 15) & " M : " & target & " のサイズ"
end if

Dim fsize : fsize = 0
For Each file in objFolder.files
	fsize = fsize + file.size
Next
Wscript.Echo Lpad(FormatNumber((Fix((fsize) / 1024) / 1024),3)," ", 15) & " M : " & target & " 下のファイル"

Wscript.Echo

' ************************************************
' ディレクトリ選択
' ************************************************
Function SelectDir( strTitle )

	Dim obj

	Set obj = Shell.BrowseForFolder( 0, strTitle, &H4B, 0 )
	if obj is nothing then
		SelectDir = ""
		Exit Function
	end if
	if not obj.Self.IsFileSystem then
		ErrorMessage = "ファイルシステムではありません"
		SelectDir = ""
		Exit Function
	end if

	SelectDir = obj.Self.Path

End Function

' ************************************************
' ダブルクォートで囲む
' ************************************************
Function Dd( strValue )

	Dd = """" & strValue & """"

End function

' ************************************************
' 指定数、指定文字列左側を埋める
' ************************************************
Function Lpad( strValue, str, nLen )

	Lpad = Right( String(nLen,str) & strValue, nLen )

End Function

Windows の都合で読み込めないフォルダはメッセージを表示して読み飛ばしています。その場合、合計に反映されないので注意して下さい。また、その場合は対象としたフォルダに対するサイズも取得に失敗するので、表示合計のみの表示となります


【VBScriptの最新記事】
posted by at 2018-01-14 03:23 | VBScript | このブログの読者になる | 更新情報をチェックする

2017年12月20日

Creators Update 後の Windows10 のコマンドプロンプト(管理者)

コマンドプロンプトが Windows PowerShell に変更されています。設定で元に戻せますが、このままでもコマンドプロンプトでの処理は可能です。



いったん PowerShell のウインドウを開いて、プロンプトから cmd と入力します。



ウインドウは青いままで、勝手が違いますがコマンドプロンプトとして動作します。PowerShell に戻るには、exit と入力します。

それでも黒いコマンドプロンプトが欲しい場合は、検索フィールドに cmd と入力して実行します。管理者として実行したい場合は、CTRL+SHIFT+ENTER で実行します。



余談ですが、PowerShell はスクリプトで .NET フレームワークを直接使えますが、とても難解です。alias で簡単な入力(従来のコマンドプロンプトや Linux のコマンド)が使えるので、プログラムの実行やコピーぐらいなら問題ありませんが、いったん cmd として切り替えたほうが無難です。




posted by at 2017-12-20 17:02 | Windows | このブログの読者になる | 更新情報をチェックする

2017年12月19日

Google Chrome で PDF を表示してテキストがコピーできない場合は、プレビューからテキストをコピーする



タイトルまんまです。

最近結構遭遇してて、Firefox でコピーしてたんですが、なんかオプションでもあるのかなぁと思って調べたら、PDF そのものに保護がかかってるとの事で、再度 PDF で保存するんだ!! みたいな記事がいっぱいあったんですが、なんか気にいらなかったのでいろいろやってたら、なんだ、できるじゃないか...

というお話。





タグ:CHROME PDF
posted by at 2017-12-19 20:35 | Google Chrome | このブログの読者になる | 更新情報をチェックする

2017年12月18日

DAZ3D : 100%オフ : Z Snowey - Snowman

使う気になるのは年に一度きりかもしれませんが、タダなのでダウンロードしました。

Z Snowey - Snowman and Poses for Genesis 3 & 8 Female


ですが、さすがにこのままでは芸が無いので、雪降らして Snowman 自体にも雪積もらせてレンダリングしてみました。



これは今からイラストAC にアップします。

アップしました


イラストAC よりフリーダウンロード




posted by at 2017-12-18 21:29 | DAZ3D プロダクト | このブログの読者になる | 更新情報をチェックする

2017年12月17日

自己責任ですが、DAZ3D のインストールマネージャがダウンロードした zip ファイルは消すとドライブが助かる。

一応調べて、フォーラムでは『消しても問題無い』と書いてあって、プログラマとして論理的に考えても必要無いと思われるので削除しました。
( メインは場所の移動方法ですが、最後に問題無いとの意見 )

C:\Users\Public\Documents\DAZ 3D\InstallManager\Downloads

25G くらい助かった。(かなり買ってるな...)

場所は、インストールマネージャの右上の設定から ダウンロードタブで確認できます。

ちなみに、その経緯でバグ発見。

メイン画面の真ん中のタブ(まだインストールできていないタブ)の下のほうに、『インストールしたら消す』みたいなチェックボックスあるけど、動作しない上にチェックしてると終了時に異常終了のダイアログ出る。( 相変わらずなクオリティ... )


(エントリ残ってるのも最近のバグ。インストールできてるのに何故かここにある)

そもそも、DAZ3D からダウンロードできるし、なんで zip ファイル置いておくのか謎。


posted by at 2017-12-17 22:58 | DAZ3D | このブログの読者になる | 更新情報をチェックする

2017年12月12日

ざっくりゴシック / フリーフォントで簡単ロゴ作成

⇩⇩⇩⇩ 配布サイトよりざっくりゴシック のダウンロード ⇩⇩⇩⇩
License
・商用利用可能です。
・リンクや利用報告の必要はありません。
・和文フォントは「M+ FONTS」を使用しております。
・再配布は認めておりません。
・ダウンロード・使用について、いかなる保証も行いません。
・発生したいかなる損害についても、提供側は責任を負いません。
メインのロゴ作成ページでは、このフォントは改行がやたら大きくなるのでデュアルページで飴鞭ゴシック-Uをいっしょに使って作成したものが上の画像です(画像をクリックするとデュアルページでこの画像を作成して表示します) 文字枠をこのフォントに使うととても面白いです。以下ははんこ画像ページであそんでみたものです。 結構見た事の無い絵が作れます。
posted by at 2017-12-12 20:53 | フリーフォントで簡単ロゴ作成 | このブログの読者になる | 更新情報をチェックする

2017年12月07日

解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (4)

Visual Studio

必要なウインドウを閉じてしまった場合、[     ] メニューの、ウインドウレイアウトのリセットを選択します。

デバッグの為に、ブレイクポイントをソースに設定するには、[     ] キーを使用します。

ブレイクポイントから一行づつ実行するには、[     ] キーを使用します。

[     ] ウインドウを使用すると、ブレークポイントで参照可能な変数を入力して内容を表示する事ができます

デザイナー表示をコードへ切り替えるのは、[     ] キーを使用します。SHIFT キーと同時に使用すると、コードからデザイナーへ表示を切り替える事ができます。

SQL

データーベースからデータを取り出すには、SQL 文を使用しますが、実際のデータを行単位で取り出す処理は [     ] 文という構文で行います。

この文は、列リストと対象テーブルと抽出条件を指定するのが一般的です。対象テーブルは、列リストの後ろに  [     ] キーワードを使い、さらにその後にテーブル名を指定します。

抽出条件は、テーブル名を指定した後、 [     ] キーワードを使い、その後に条件式を指定します。

抽出したデータが複数行の場合、[     ] 句を最後に追加してソートを行う事ができます。省略時は順ソートですが、ソートしたい列名の後に [     ] キーワードを書くと逆ソートされます

データの追加は、[     ] 文を使い、行の追加と言う形で一行づつ行います。対象テーブルは [     ] キーワードの後に記述して、次に対象となる列のリストを  (  ) の中にカンマで区切って並べます。それらの列に対してデータを記述するわけですが、データは [     ] キーワードを使用してから再び (  ) の中にカンマで区切って並べます。列リストデータリストの数は一致する必要があり、それぞれのデータ型に合わせたデータの記述をする必要もあります。

SQL の中での文字列の扱いは  [     ] という記号で文字列を挟んで表現します。数値はそのまま記述できますが、日付型は正しい日付文字列を文字列と同じ記号で挟む必要があります。SQL の中の値の部分は、上記のような記入方法の他に  [     ] と呼ばれる予約された処理を挿入することもできます

データの更新も行単位で [     ] 文を使って行います。対象テーブルは [     ] 文のすぐ後に続け、更新する列と代入する値のペアを SET キーワードの後にカンマで区切って並べます。

更新には条件を指定する事ができ、[     ] キーワードを使い、その後に条件式を指定します。この条件に一致した行は全て更新対象となり、条件に一致した行が無い場合はまったく更新されませんが、エラーとはなりません

推奨覚えろキーワード

cause [     ]

allow [     ]

modify [     ]

visible [     ]

opacity [     ]

show [     ]

position [     ]

search [     ]

column [     ]

row [     ]

exist [     ]

each [     ]

fill [     ]

multi [     ]

remove [     ]

delete [     ]

success [     ]

array [     ]

Initialize  [     ]

エイリアス [     ]

スコープ [     ]

メタデータ [     ]
関連する記事 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (1) 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (2) 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (3)
タグ:C#
posted by at 2017-12-07 20:26 | C# | このブログの読者になる | 更新情報をチェックする

解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (3)

機能

メッセージボックスを表示するには、[     ]クラス(System.Windows.Forms名前空間)の[     ]メソッドを使用します。メッセージボックスは、エラーメッセージを表示したり、ユーザーに確認を求める時などに便利です。

文字列変数の text の中に "1000円の商品を12個買う" とセットしたい場合の記述を完成させて下さい
string text = string.Format("[          ]", 1000, 12);


コンボボックス

コンボボックスはとても便利で良く使用される複数の選択肢をエンドユーザに提供する事ができるコントロールです。但し、C# ではデフォルトで入力可能になっているので、画面上で定義した場合は最初に [     ]を、DropDownList に変更する必要があります。

コンボボックスに登録されるリストは、[     ] に 0 以上の整数をセットする事によってプログラムから変更する事ができます。また、-1 をセットすると未選択になるので注意して下さい(なにも指定しなければ未選択になります)。

コンボボックスの名前(Name)が comboBox1 の場合選択された時に表示している文字列は、[     ] から取得する事ができます。さらに、コンボボックスに登録されているリストの一覧は、[     ] から取得する事ができます。

実際に全てのリストの内容を取得するには、foreach を使って以下のように記述する事ができます
foreach (string item in comboBox1.[     ])
{
	Debug.WriteLine(item);
}
コンボボックスに登録されているリストの数は、[     ] から取得できるので、上記処理と同じ処理を for 文で以下のように記述する事ができます
for (int i = 0; i < comboBox1.[     ].[     ]; i++)
{
	Debug.WriteLine(comboBox1.[     ]);
}
テキストボックス テキストボックスはエンドユーザが情報をキーボードから入力する為に使用します。デフォルトでは一行のみの入力になりますが、複数行を入力可能にするには、[     ] を True にする必要があります。また、複数行の入力では、スクロールバーが必要になって来るので、[     ] に、Both をセットします。Both の他には、Vertcal(垂直) と Holizontal(水平) がありますが、Holizontal スクロールバーを実際に使うには、WordWrap を False にする必要があります 入力を不可能にする方法には、二通りあり、[     ] をFalse にするか、[     ] をTrue にします。後者は、入力不可にはなりますが、内容の選択やコピーは可能になります。 関連する記事 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (1) 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (2) 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (4)
posted by at 2017-12-07 20:15 | C# | このブログの読者になる | 更新情報をチェックする

解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (2)

データ型 : 整数

C# で使用するデータ型は言語として一般的な基本データ型があります。その中でも最初に理解する必要があるのが、整数を表す [     ] 型です。これはクラスの定義としては、Int32 と言うクラスになりますが、C 言語と同じ表現で利用可能になっています。

この型は、計算に使用される基本的な型です。しかし、プログラミングでは表現として文字列としての見え方が必要になるので、この型を文字列型に変換して利用する必要が出て来ます。この場合、Int32 のメンバ(操作を定義した手続き)である[     ] メソッドを使用します。

さらに上記処理の逆の処理として、整数で表現された文字列を整数に変換する場合は、この型(クラス)の、[     ] メソッドに引数で文字列を渡して実行します。また、これは 静的メンバ でもあるので、 Int32 というクラスに対して一つだけ定義された、メモリ上常に存在するメソッドになります。

データ型 : 文字列

文字列変数が work とすると、work が null 以外の場合、文字列の文字数を知るには、work.[     ]  と記述して取り出す事ができます。そして、この文字数を使用して for 文によって一文字ずつ文字列を取得するコードは以下のようになります
string work = "日本語表示";

for (int i = 0; i < work.[     ]; i++)
{
	Debug.WriteLine(work.[     ](i,1));
}
C# では、文字列を表現するのにダブルクォーテーションを使用しますが、一般的な言語と同様に、\ 記号使用したエスケープシーケンスが使用可能ですが、見た目がわかり難いのが欠点です。しかし、C# では[     ] 記号をダブルクォーテーションの前に書く事によって、\ 記号を書かないそのままの文字で表現できます。例えば、Windows のパスの区切り文字である \ は、通常 \\ と書く必要がありますが、以下のように表現できます。
"C:\\Program Files\\Microsoft" と書く代わりに、[     ]"C:\Program Files\Microsoft" と書けます
文字列の連結には、[     ] 記号 が使用されます。同様の連結が、VBA では & が使われ、PHP では .(ピリオド)が使われますが、一般的にはこの記号です。文字列を指定した文字で分割するには、[     ] メソッドが使用されます。但し注意する必要があるのは、区切り文字の指定が文字なので、文字の指定には [     ] 記号を使用する必要があります 関連する記事 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (1) 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (3) 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (4)
タグ:C#
posted by at 2017-12-07 20:04 | C# | このブログの読者になる | 更新情報をチェックする

解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (1)

C# で Windows アプリケーションを作成する場合、Microsoft があらかじめ定義している [     ] というクラスを使用します。

そのクラスで一番最初に実行されるのはクラス名と同じ名前を持つ public なメソッドですが、一般的にそのメソッドは [     ] と呼ばれています。そして、その次に実行される処理はイベントのうちの一つで、その名前は [     ] イベントと呼ばれます。このイベントは、画面上に定義されたコントロールが全て使用可能になった後に実行されます。

画面は、上記イベントが実行された後に表示されますが、デフォルトでは表示される位置はデスクトップ上の任意の位置になります。これは StartPosition という画面のプロパティが WindowsDefaultLocation という値になっている為にそうなるので、値を [     ]  に変える事によって、デスクトップの中央に表示する事ができます。

Windows でアプリケーションのウインドウから別のウインドウを表示する事ができますが、このウインドウの事を [     ] と呼ぶ事があります。このウインドウには二つの種類があり、新しいウインドウが表示されている間は、元のウインドウを操作できない状態になるものを[     ] と呼びます。

これに対してもう一つの種類の場合は、元のウインドウを操作できます。このウインドウは [     ]  と呼ばれますが、プログラムでコントロールする事が難しくなるので特別な処理にのみ用いられる事が多くなります。

この二つのウインドウは、親子関係で比喩される事も多いですが、C# では、子供から見た親ウインドウを [     ] というプロパティで参照する事ができます。日本語の意味は『所有者』ですが、Windowsでは、権限関係の表現で良く使われています。

このプロパティを使うと、子供のウインドウから親のウインドウのコントロールにアクセスする事ができます。しかし、デフォルトではエラーになって使用できません。そこで、使用する為に 子供からアクセスする必要のあるコントロールの modifiers プロパティを [     ] に変更する必要があります。

クラス

C# のプログラムは、クラスという単位で構成されます。クラスは [     ] のようなもので、決め事を文書にしたものと考えて下さい。そうした場合、その決め事を元に実際に何かを実行するものが必要になります。その実行するものを [     ] と言い、一つのクラスから複数の実行単位を作成できます。

クラスはクラス名で識別します。このクラス名と [     ] 演算子を使って、実行単位をメモリ上に作成して処理を行います。


クラスを構成する要素は3つあり、[     ] と メソッド  と [     ]  と呼ばれ、これらはクラスのメンバであると表現します。

メンバには役割を与えて名前を付けます。そうする事によって、実行単位毎にその名前をピリオドでつないで名前を呼び出して使います。その中でも処理の主体となるのが 『操作を定義した手続き』である[     ] です。この中でC# の処理が行われ、その処理が参照する変数の定義もメンバのうちの一つである [     ]  です。

残りの一つは、他の二つの特性を両方持ったもので、set と get という概念を持った『操作を定義した手続き』で、外部からの使用方法は変数とだいたいにおいて同じになるものです。

クラスのメンバに [     ] キーワードを指定すると、そのメンバは『静的メンバ』と言う特別なクラスの要素となります。静的メンバは、常にメモリの中にあるように作成されるので、実行単位から使用するのでは無く、クラス名そのものから使用します。具体的には、プログラムの中でクラスに対して一つだけ作成されるメモリ領域にあるメンバとなります。

呼び出し方法は、クラス名.メンバ名() や、変数 =  クラス名.メンバ名 というような形になります。

関連する記事

解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (2)

解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (3)

解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (4)




posted by at 2017-12-07 17:23 | C# | このブログの読者になる | 更新情報をチェックする

Yahoo!メールをIE11 で表示して、エンコードを『自動選択』にすると起こる(左ツリーが化ける)不思議な仕様

そういう報告があり、再現しようとしてなった内容。実際なったご本人がとのような操作したかは不明ですが、確かに化けた。



これはいったん閉じると元に戻るので別にいいのですが、SHIFT_JIS になってしまってこうなるようで...



そもそも、『自動選択』でおかしくなるのは、Yahoo! の仕様がおかしいような気がする上に、こんなダイアログが出るわけです。


Yahoo! ブラウザのエンコーディングを変更すると、送信したメッセージが破損する可能性があります。
ブラウザのエンコーディング(通常はブラウザの[表示]メニュー)をUTF-8に設定することをお勧めします。
だから。自動だって。 ▼ 該当コード部分
var charset = (typeof document.charset === "undefined" || document.charset == null) ? document.characterSet: document.charset;
if (charset != null && charset != "UTF-8" && charset != "utf-8") {
    alert("In Yahoo! Mail, changing the browser's encoding may corrupt the messages you send." + "\n\n" + "It's recommended that your browser's encoding (usually under the browser's View menu) be set to UTF-8.");
}



posted by at 2017-12-07 15:59 | WEBサービス | このブログの読者になる | 更新情報をチェックする

2017年12月02日

DAZ3D のミスでディスカウント商品がフル請求されて、ジャパンネット銀行の Visa デビットに返金されるまでのお話

DAZ3D の WEBやアプリは正直言って過去あまり褒めたものでは無かったのが、常識と言うかみんな知ってるというか。でも、お金に関するトラブルは初めてで、ちょっとびっくりしてしまいました。

それは、時間の切れ目的に言えば、ディスカウントが始まった後です。もちろん、そういう表示が WEB にされているから購入したわけです。PayPal での確認時でもディスカウントされており、その点はいつも確認しています。(なんですが、PayPal は正直自信がなくなって『歳のせい..』きています : あれは、PayPal 側のシステムなので)

で、数日後、ジャパンネット銀行の残高見たら...
『なんだこの金額は!!』

となったわけです。

対象プロダクトは、以下です。

StarSlayer Outfit for Genesis 3 Female(s)
Melody 2.0
White Tiger for Melody2

▼ 下の二つで作ったイラスト


一番ディスカウント率の低い StarSlayer でも 50%オフだったので、とてもいい買い物と踏んで 2000円 ほどのはずが、5,211 円も引き落とされていたら、とてもショック。なんの為にディスカウントを選んでるのか、凄く悲しくなりました。

11/23 : 買い物した日
11/25 : 気が付いた日

11/25 : DAZ3D にクレームを入れる

Contact Us の 右下に here というリンクがあります。
https://helpdaz.zendesk.com/hc/en-us/requests/new

ここに、Order # と言う入力項目があるので、これだと思って、Google で翻訳して投稿しました。
It was counted by Shopping Cart and Paypal. However, the claim is not discounted

Melody 2.0 / -80% $14.95 $2.99
White Tiger for Melody2 / -80% $5.00 $1.00
StarSlayer Outfit for Genesis 3 Female(s) / -50% $24.95 $12.48
※ ディスカウントはまだその時続いてたので、実際の値引き状態を付加してます 11/27 6:22 => DAZ3D より返事
I have refunded the sale difference back to your PayPal account. Thank you for your patience.
--------------------------------------------
販売差額をPayPalアカウントに払い戻しました。 お待ちいただいてありがとうございます。
とまあ、一安心。し、しかし、PayPal はともかく、支払いは Visa デビットなんだけど... 11/27 6:36 => PayPal よりメール
DAZ Productions Inc様からお客さまに、一部返金$28.43 USDがありました。
この返金に関するご質問は、DAZ Productions Inc様にお問い合わせください。
返金先は、お客さまが支払い時に使用したカードになります。
そうです。Visa デビットですよ。通常 Visa デビットへの返金は、オーソリ云々で遅れる事が普通なんですが、どのくらい遅れるんだろうか。PayPal の経験は初めてなので、まず ジャパンネット銀行のヘルプ調べたら、『返金通知があり次第、遅くとも翌日営業日には返金します』とあったので、翌日まで待ったんだけど返金されない。 11/28 => いろいろ調べる なので、問い合わせ投稿無いか調べたら電話しかなかった。調べたのが夕方だったので、電話対応時間過ぎていたので、『LINEによる相談』とかあったので登録して聞いてみたら... AI が答えてリンクくれるだけだった。 なんじゃこりゃ。 11/29 9:23 => 【JNB】ご利用代金ご返金のお知らせ ▼ こんな記述があった
返品や取り消しなどに伴うご返金以外に、
以下のケースにおいてもご返金しております。
・ショップから最初に届く「取引情報」と後日届く「売上確定情報」の
 ご利用金額が異なる場合、金額の差額調整として、ご利用日以降にご返金が
 発生いたします。
・海外のショップをご利用になった場合、為替レートの影響で
 ご利用日以降にご返金が発生する場合があります。
・ショップから当社に売上確定の通知がないまま60日経過した場合や、
 当社側で取消処理をした場合ご返金が発生いたします。
この手の返金処理の内情はインターネット探してもまちまちで、実際問題としては『昔に比べて速くなった』というのが実感。楽天なんか、昔調べた時は最大2ヶ月とかあったり、ローソンでレジがミスした時は1ヶ月以上で、家具店では一週間ぐらいだった。 今回、インターネット取引である事や、PayPal が熟練しているせいなのか、DAZ3D が良かったのか解らないですが、日曜はさんで4日で返金されたと言う事です。 関連する記事 Visaデビットカード。といふもの
posted by at 2017-12-02 13:41 | 生活 : お金 | このブログの読者になる | 更新情報をチェックする

Visaデビットカード。といふもの

たぶん世間ではあまり実際を知られていないのでは無いかと思います。それもそのはず、そもそも、現時点で発行会社が3つしか無いのです。

※ 平成29年10月30日から、北海道銀行 : 道銀Visaデビットの利用が開始されました

※ 2017年12月現在、18の発行会社が存在します
( りそな・埼玉りそな・近畿大阪はグループ )
※ 2016年当時、13の発行会社
( りそな・埼玉りそな・近畿大阪はグループ )

Visaデビットカード

2010/9/13 当時 発行会社

楽天銀行:楽天銀行デビットカード
スルガ銀行:SURUGA Visaデビットカード
ジャパンネット銀行:JNBカードレスVisaデビット(ワンタイムデビット)

デビットカードとは

で、そもそも「他と何が違うかと言うと、全く一線を画していて」、クレジットカードが信用取引であるのに対して、Visaデビットカードは口座残高で取引されるというところが違います。つまり、ツケでは無く、銀行残高から即時決済なのです(多少の遅延の例外はあります)。

また、銀行残高があれば誰でも作れるというか、キャッシュカードの機能も持っています。

以下のような事が楽天ではオンラインでできます。
1) VISAデビットの利用停止・利用停止解除
2) 一日あたりのVISAデビット利用上限(1,000円〜100万円)の設定
3) ATMからの出金を停止
4) ATMから1日に預金を引き出せる金額(1000円〜300万円)を設定
自分は、性格上「クレジットカード」が性に合わないので、持っていませんが、昨今、インターネットでの決済に必要を感じつつ、自分のインターネットの取引銀行にあった願っても無い機能をずっと知らなかったのです。

いろいろ使えるかどうか調べましたが、Google ペイメント でも使えるようですし、PayPal では実際少額を使ってみましたもう、5年使っています

PayPal を使うと、カードの情報を入力するのも一度きりですし、楽天側で自由に制限できるので、自分のような疑い深いインターネット使いでも安心して利用できると思います。(特に海外のサイトの買い物に、安心して使えます)

ジャパンネット銀行は、キャッシュカードがそのままVisaデビットカードですが、カードレスVisaデビットを4枚作る事ができ、それぞれカード番号を自由にリセットできます。



これを利用すると、PayPal に対応していないサイトでも、カード番号が盗まれるという不安に対して、1回限りでリセットしてしまえば安心できると言う運用が可能です
楽天の年会費 楽天での年会費は、ゴールドと通常のがあって、ポイントのたまり方に差が出る程度です。通常のを利用しているので 1000円です。自分はボイント興味無いので(現在は、ポイントを重視して年会費なしで、1パーセントの還元率のJCBデビットカードに切り替えています) これで、好きな時にインターネットで買い物できる・・・ようにやっとなりました。性格に合った商品があって良かったです、マジで。 現在は、visa デビットカードをJCBデビットカードに切り替えて利用しています。JCBデビットカードは、還元率が1パーセントのポイントが付きます。またさらに、nanacoのカードとして登録(※ nanaco ではポイント対象外になったので、結局別のカードにしました)して税金や国民健康保険や国民年金を支払う事ができます。(Rポイントが1パーセント付きます) ※ 盗難保険は届出日より30日さかのぼって補償するそうです ※ 月会費:300円(税込)年払いの場合、3,000円(税込)/年 (▲これは、ゴールド。普通のは年1000円) 買い物の変更や取消時に注意すべき事 Visa デビットは、Visa のクレジットと同じシステムで運用されます。 本来は、「クレジットカード」は後払いの為、買った人とは関係無く、店舗はカード会社から代金を受け取ります。但し、店舗がすぐにカード会社( Visa ) へ請求するわけではありません。 クレジットカードの売上は、締め日が存在してその日までに売上票をカード会社に送って初めて売上処理が確定します。しかも、お金の引き落としはその処理で確定してから、カード会社が決めた期日でカードを使った人の口座から引き落とされます。 つまり、少なくとも売上票をカード会社に送る前ならば、書類上で簡単にキャンセルや変更が可能だという事です。その前提でシステムが作成されているところで「Visaデビット」を使って「キャンセル」や「変更」を行ってしまうと二重引き落としが発生します。 「Visaデビット」は、「即引き落とし」なので、処理が完了するとキャンセルを即時に行う事はできません。ですから、システム上「キャンセル」が可能でも、最初の処理は有効で銀行残高が引き落とされたままです。その上他の買い物をすると、さらにそれも引き落とされてしまいます。 買ったほうからすれば、最初のをやめて後のだけが必要なので後だけの請求だと思っていますが、「Visaデビット」ではそうはならずに、どちらも引き落とされます。 もちろん、最終的には「返金処理」がなされるのですが、買った時は即時なのですが、「返金処理」は一定のサイクルで行われる為、かなり遅れて返金される事になります 以下は、実際の楽天の店舗に書かれている注意事項のページです 【楽天市場】ARKnets [支払・配送方法] 店舗側ではクレーム処理がおそらくたいへんなので、「Visaデビット」を使わないようにうながしています。
posted by at 2017-12-02 12:56 | 生活 : お金 | このブログの読者になる | 更新情報をチェックする

2017年11月10日

ブラウザ判定 : String.prototype.browser に登録して、文字列と実際のブラウザが一致したら true を返す



特定のブラウザの処理を行いたいときに使用するといいと思います
if ( "ie".browser() ) {
	// IE の処理
} 
Edge や Safari のテストは、Google Chrome の スマホエミュレータで、Microsoft LumiaiPhone を選ぶといいです。
<script>
String.prototype.browser = function() {
	var userAgent = window.navigator.userAgent.toLowerCase();
	var appVersion = window.navigator.appVersion.toLowerCase();
	var target = this.valueOf();

	if (userAgent.indexOf("msie") > -1) {
		if (appVersion.indexOf("msie 6.0") > -1) {
			return ( target == "ie6" || target == "ie" );
		}
		else if (appVersion.indexOf("msie 7.0") > -1) {
			return ( target == "ie7" || target == "ie" );
		}
		else if (appVersion.indexOf("msie 8.0") > -1) {
			return ( target == "ie8" || target == "ie" );
		}
		else if (appVersion.indexOf("msie 9.0") > -1) {
			return ( target == "ie9" || target == "ie" );
		}
		else if (appVersion.indexOf("msie 10.0") > -1) {
			return ( target == "ie10" || target == "ie" );
		}
		else {
			return ( target == "ie" );
		}
	}
	else if (userAgent.indexOf("trident/7.0") > -1) {
		return ( target == "ie11" || target == "ie" );
	}
	else if (userAgent.indexOf("edge") > -1) {
		return ( target == "edge" );
	}
	else if (userAgent.indexOf("firefox") > -1) {
		return ( target == "firefox" );
	}
	else if (userAgent.indexOf("opera") > -1) {
		return ( target == "opera" );
	}
	else if (userAgent.indexOf("chrome") > -1) {
		return ( target == "chrome" );
	}
	else if (userAgent.indexOf("safari") > -1) {
		return ( target == "safari" );
	}
	else {
		return false;
	}
}

$(function(){
	$("#browser_check,#browser_check td")
		.css({ 
			"border-collapse": "collapse", 
			"border": "1px solid #444444",
			"padding": "10px"
		 });

	$("#browser_check tr").each(function(idx){

		if ( idx == 0 ) {
			$(this).find("td").each( function(){
				$(this).text( $(this).prop("id") );
			} );
		}
		else {
			$(this).find("td").each( function(){
				if ( $(this).prop("id").replace("_","").browser() ) {
					$(this)
						.text("当たり")
						.css({"background-color": "pink"})
						;
				}
			} );
		}

	});

});
</script>
<table id="browser_check">
<tr>
	<td id="ie6"></td>
	<td id="ie7"></td>
	<td id="ie8"></td>
	<td id="ie9"></td>
	<td id="ie10"></td>
	<td id="ie11"></td>
	<td id="ie"></td>
	<td id="edge"></td>
	<td id="chrome"></td>
	<td id="firefox"></td>
	<td id="opera"></td>
	<td id="safari"></td>
</tr>
<tr>
	<td id="ie6_"></td>
	<td id="ie7_"></td>
	<td id="ie8_"></td>
	<td id="ie9_"></td>
	<td id="ie10_"></td>
	<td id="ie11_"></td>
	<td id="ie_"></td>
	<td id="edge_"></td>
	<td id="chrome_"></td>
	<td id="firefox_"></td>
	<td id="opera_"></td>
	<td id="safari_"></td>
</tr>
</table>




posted by at 2017-11-10 21:50 | JavaScript | このブログの読者になる | 更新情報をチェックする

2017年11月08日

大阪ガスの製品は、年式別の取扱説明書ダウンロードがあるので、上新とコーナンの店頭安売り商品調べたら、2014年ものだった...

11/5 に注文しまた。注文したのは楽天で、こちらのページですがまだ到着していません(3営業日から4営業日でお届け予定)。
東京移動通信株式会社
以下はアマゾンで同型の商品ですが、2016年式で金額は同等。でも、上新とコーナンの安売り2014年式はこれより2000円以上高いんでびっくりしました。 家電はネットのほうが安いとは思っていましたが、年式をチェックしないと危ないんだなぁと今回思いました。ですが、年式で確認できるかどうかもものによっては怪しくって、少なくとも『リンナイ』の10年前の過去製品を確認する事はできませんでした。 その点、大阪ガスは以下のようなページがあるのですがここへの直接のリンクが無く、Google の検索経由でやっとたどり着いたという経緯もあります。 大阪ガス ガスファンヒーター 年式別 取扱説明書ダウンロード コーナンも上新も同じ建物内なので、値段はどちらも 24,000円でどちらも 2014年式。最新型がかなりお高いのでこれは安く見えますが、当然ネットではこんなもんですね。 中古しか無いです 上新もコーナンも、嫌いになりそう。
posted by at 2017-11-08 16:25 | 生活 | このブログの読者になる | 更新情報をチェックする

2017年11月06日

nifty があまりに遅いので v6プラスを申し込んだところ、即日利用可能になって100M 弱になった

様子を見てたんですが、家族からも言われて以前より調査は済んでいたので v6 プラス(無料)を申し込んだのが、11/3(祭日金曜)の 13:20。まあ、いつになるかはずっと先だと思ってたんですが、v6プラス利用開始通知もまだきていない 11/3 の20時の混雑時にすでに速くなってました。実際v6プラス利用開始通知来たのは 11/4 16:10 ですが、内容は『ご利用開始日:2017年11月03日』

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
          v6プラス ご利用開始のお知らせ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
○○○○様

 この度は、「v6プラス」をお申し込みいただき、誠にありがとうございます。

 「v6プラス」のお申し込み手続きが完了しました。

 これまでのIPv4によるインターネット接続に加え、IPv6によるインターネット
 接続が可能になります。

----------------------------------------------------------------------
  お客様の受付番号     :ipv699999999999999999
  ご利用開始日       :2017年11月03日
----------------------------------------------------------------------

速度 申し込む前 v6プラスが何なのかは調べると解りますが、結局とても解りにくい話なので注意するのはプロパイダ経由で申し込んで(自分の場合は nifty)、彼らに任せるという事です。条件に問題なければ v6 プラスで勝手に接続可能になり、v6プラスが無理ならば、IPv6接続オプションになりますが違いはこちらで書かれていますが説明にはなっていません。 要するに、v6プラスは 混雑している「網終端装置」を通らずにインターネット接続できるから速くなるという話なんですが、これもまた良くは解らない話ではあります。 こちらで解説していますが、イマイチです。 ここの理屈ですと、IPv6接続オプションではあまり速くはならないかもしれないとの事ですが、v6プラス にできる条件としての違いが、v6プラスに対応したルータかどうかだけのようなので、ひかり電話使ってれば v6プラスで問題無いように思われます。
posted by at 2017-11-06 12:22 | 生活 : トラブル・知恵 | このブログの読者になる | 更新情報をチェックする

2017年10月29日

Android のメニュー項目を条件が満たされた時のみ利用可能にする / onPrepareOptionsMenu

ちょっと検索しても出てこなかったのですが、onPrepareOptionsMenu が、メニューが表示される直前に実行されます。なので、最初に Disable にして、条件が合えば Enable にするという処理です。

▼ Android Studio での デザイン表示


▼ エミュレータでの表示


	@Override
	public boolean onPrepareOptionsMenu(Menu menu) {

		Log.i("lightbox","onPrepareOptionsMenu");

		menu.findItem(R.id.action_3).setEnabled(false);
		menu.findItem(R.id.action_4).setEnabled(false);
		menu.findItem(R.id.action_5).setEnabled(false);

		// 第二画面
		if ( helper.viewSwitcher.getDisplayedChild() == 1 ) {
			// 主キーが TextView で表示されているという事は、修正処理
			if (helper.getTextView(R.id.textViewCode).getVisibility() == View.VISIBLE) {
				// 削除処理以降を使用可能にする
				menu.findItem(R.id.action_3).setEnabled(true);
				menu.findItem(R.id.action_4).setEnabled(true);
				menu.findItem(R.id.action_5).setEnabled(true);
			}
		}

		return super.onPrepareOptionsMenu(menu);
	}




posted by at 2017-10-29 22:23 | Android | このブログの読者になる | 更新情報をチェックする

ComboBox : C# : Form アプリケーションで良く使うコントロール / VS2012 にて



コンンボボックス の注意事項



最も簡単な、テキストのみをコンボボックスに保存する方法。取り出すデータもテキストになるので、コード化された仕様を元に利用するのには向いていません。しかし、手っ取り早く表示するのは簡単です。

テキストのみであれば、プロパティより入力可能。



コンボボックス(ComboBox) という名前のクラスですが、デフォルトでは入力可能になってしまうので、一般的なコンボボックスとして使用したい場合は、プロパティで『DropDownList』に変更しておく必要があります。



初期状態で未選択にしてテキストを表示させないようにするには、comboBox1.SelectedIndex = -1; を実行します。

▼ 自動作成されるコード
			// 
			// comboBox1
			// 
			this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
			this.comboBox1.FormattingEnabled = true;
			this.comboBox1.Items.AddRange(new object[] {
            "男",
            "女"});
			this.comboBox1.Location = new System.Drawing.Point(51, 41);
			this.comboBox1.Name = "comboBox1";
			this.comboBox1.Size = new System.Drawing.Size(239, 20);
			this.comboBox1.TabIndex = 0;


ここでは、AddRange が使用されていますが、一般的なコードとテキストを登録したい場合は以下のようなクラスを作成して、comboBox1.Items.Add( オブジェクト ) とします。
        // ******************************
        // コンボボックスに追加情報
        // をセットする為のクラス
        // ******************************
        private class ComboData {

            public ComboData(string Text, string Data) {
                this.Text = Text;
                this.Data = Data;
            }

            public string Text { get; set; }
            public string Data { get; set; }

            public override string ToString() {
                return this.Text;
            }
        }

コンボボックスの選択が変更された場合は、SelectedIndexChanged イベントが実行されるので、以下のようにして Add されたオブジェクトの内容を取り出します
		private void Form1_Load(object sender, EventArgs e) {

			// ComboData を コンボボックスにセット
			comboBox1.Items.Clear();
			comboBox1.Items.Add(new ComboData("昨日", "0001"));
			comboBox1.Items.Add(new ComboData("今日", "0002"));
			comboBox1.Items.Add(new ComboData("明日", "0003"));

		}

		private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) {

			ComboBox cb = (ComboBox)sender;

			// コンボボックスのテキスト
			Console.WriteLine(cb.Text);
			// コンボボックスの選択インデックス
			int idx = cb.SelectedIndex;
			Console.WriteLine(idx);

			// 選択されていた場合は、Items コレクションでテキストとデータを表示
			if (idx != -1) {
				ComboData cdata = (ComboData)cb.Items[idx];

				Console.WriteLine(cdata.Text);
				Console.WriteLine(cdata.Data);
			}
		}



タグ:C# Combobox
posted by at 2017-10-29 17:07 | C# | このブログの読者になる | 更新情報をチェックする

2017年10月11日

DAZ3D : No such signal QObject::currentValueChanged() in properties\controllers\dzerclink.cpp:1487 で開かない『.daz』ファイルは DAZStudio4.0 で修正。

ウチでは、いまだに 32ビットの Windows7 でDAZStudio4.0 が動作する環境があるので、要するに .daz を読み込める環境があると言う前提のお話ですが。

何度も古いファイルをいろいろ試しているうち、ほんの一握りのファイルが開く事に気づいたんですが、なんの事は無い、カメラとライトを削除したら DAZStudi4.9Pro で読めるようになりました。

実際は、カメラだけなのか、ライトだけなのか、両方なのかは確認してませんが、読めればカメラやライトなんざどうでもいいので。

ただ、カメラとライトを削除して保存したファイルに View Port の背景色情報も入っており、当時使ってた白背景になっててひびりました。なにせ、バージョン毎に背景色の設定変わってたような記憶があったので、『どこだ...』となりましたが、結局 Window > Style > Customize に普通に使いやすいものがありました。

▼ .daz 変換後、Iray 仕様にした Aiko(A4)




posted by at 2017-10-11 23:15 | DAZStudio | このブログの読者になる | 更新情報をチェックする

DAZ3D : Millennium cat で子猫を作る



DAZ3D の Millennium Cat はとても良く出来たプロダクトなのですが、プロダクトページの画像に子猫が居るにもかかわらず、そういったオプションはありません。(ひょっとして他の Millennium cat プロダクトに混じってるのかもしれませんが)

で、いろいろ調べてみると『がんぱって自分で作る』というのが正解だそうです。たしかに、想像以上のモーフがあるので可能だとは思ったのですが、猫を飼ってるわけでは無く(好きだけど、飼いたいけど)、詳細の調整に自身がありません。

探しました

2010 Kitten MOR.pz2 というファイルでちょっとこのままでは日本的子猫では無いですが、ここからなら調整できると思い作ったのが画像の子猫です。

▼ readme より
This file cam be used in commercial or non commercial renders. The kitten MOR pose can also be redistributed as long as this readme remains with it. 

このファイルは商用または非商用レンダリングで使用できます。 子猫のMORポーズは、このreadmeが残っている限り、再配布することもできます。
ファイルは偶然残っている可能性もあるので、欲しい人はダウンロードしておいたほうが...(これ以外見つける事ができなかったし)
posted by at 2017-10-11 21:57 | DAZ3D プロダクト | このブログの読者になる | 更新情報をチェックする

2017年10月10日

DAZ3D : Genesis8 : Ktarya で美しい悪魔的ファンタジー



Ktarya Bundle for Genesis 3 and Genesis 8 は Genesis3 と Genesis8 両方あるし、いわゆる『欧米的』な容貌では無いのでじっくり使えそうです。

最初、Genesis8 で初めて入手したので(とは言っても今でも2種しか無い)、以下のようなイマイチなものを作成して DAZ3D のギャラリーに上げたのでした。



牙の影響で、思ったものが出来なかったので暗さでごまかしたものです。で、Iray 用の設置ライトでいい角度を見つけて作成したら、思いの他綺麗な悪魔が出来上がったのでした。

最近、Iray の 環境光ばかりをテストしていて、直接のライト使う機会が無かったんですが、やはり暗さと光と影のバランスで出来上がるもののほうがグっと来るものがあります。

ごく普通にレンタリングすると以下のようになりますね(まったく面白く無いですが)





タグ:DAZ3D DAZStudio
posted by at 2017-10-10 23:46 | Iray DAZ3D DAZStudio イラスト | このブログの読者になる | 更新情報をチェックする

2017年09月24日

スマートフォンウェストポーチ(ベルト装着部がプラスチック)があんのじょう3ヶ月目でぶっ壊れたので買い替え

世の中ではこういうウエストポーチタイプはマイノリティ(社会的少数者)なんですが、自分はこれでないと生活できないというか、歳とって大きい鞄持ちたくなくなったというか、どうでもいいか。



安いし最初これ買ったわけですが、とても便利でした。装着が楽でベルトの装着部がカチカチって感じで回るので。でも、その部分がプラスチックというのが不安がありました。レビューでもそこに言及していた方も居られたのです。

結論としてぶっ壊れた

ダメです。

で、これを買いました。



まー、適当ですわ、この写真。裏のベルト装着部の写真無いし、買った商品の説明内に『RBCA052』の型番の表記が無いし、たまにはずれが届くようですし(レビューより)。

ですが、これはいいものです

まず、安い。しっかりした作りで少々の外部からの力は跳ね返すし、ふたの部分は磁石で簡単に吸い付くようになってます。

実は、自分は『ヤマダ電機』で吊ってある商品を目で見て買ってます(何故か、SoftBank の商品棚にしか無いのですが)。で、この商品は前作があり、それを使っていました。しかし、前作はベルトに上から差し込むタイプだったので、その部分がボロボロになるという欠点がありました。が、今回はベルトは通すタイプになり、通す部分の下がボタンで止まっているというものになります。

力を使えば、クリップのようなその部分が開くようになっています。

そんな事この写真から解りません

金額は、ヤマダよりこちらのほうが安いですが、一発目として店頭で買いました。二回目あれば、アマゾンか楽天で買います(たぶんそのころにはヤマダにも無くなってそうです、このタイプ)

あ、もちろんアマゾンプライムは入ってますが、楽天でも送料無料で価格950円 (税込)でした。

▼ 裏側です






posted by at 2017-09-24 16:48 | 生活 | このブログの読者になる | 更新情報をチェックする

DAZ3D : 古いロンドンの町並みの風景と猫



以前イラストACに投稿したカメラ位置をすこし動かして、右下の階段をはっきり見えるようにして(そっちへ向かっている)、前からやりたかった『猫』を風景の一員として追加してみました。

いやぁ、もっとポーズと猫の体型をカスタマイズしたいという欲求が沸いて来ました... 時間無いよな、うん。

▼ イラストAC
古いロンドンの街並み



猫(Millennium Cat)はこないだ Fast Grab に偶然出てたので、速攻買いでした。


このコは耳とかちょっとカスタマイズしています。やはり、クローズアップすると体毛が無いのが気にかかりますが、遠目では特に問題無いです。


このコは、猫でありがち思われる『人の気配でそちらを凝視する』パターンとしてポーズしました。

これに関しては、ちょっと細工して『体毛』を追加する加工をしてみました(下のイラスト)。DAZStudio 界隈の人間なら解るはずです。アレです。フリー版です。プリセットをダウンロードして使うのですが、Iray では表示されないので 3Delight でレンダリングしてレイヤーとして使います。



まあまあ、の出来です。




posted by at 2017-09-24 01:37 | DAZ3D | このブログの読者になる | 更新情報をチェックする

2017年09月23日

DAZ3D : $48.95 のちょっとお高いアーマーを半額で買って、そのまま Genesis8 に装着しても面白く無いから、Genesis2 に着せて頑張ったイラスト





高いけど、解る人には解る価値あるプロダクト。迷ったけれど、あわせ技で半額になるので思い切って買いました。

The Legend for Genesis 3 and 8 Female(s)

詳細書いてると時間がいくらあっても足りないので要点だけ。

試したフィギュアは Giselle 6。これも超安値で買った、コスパのいい造形を持ったフィギュア。妖精系のモーフを持っていて、とても美しく可愛い。

結論から言うと、手足の末端が合わないです。
( Genesis3 用を Genesis2 に装着 )

胴体に近いパーツは普通にフィットしますが、パンツはおしりはみ出るのでコリジョンを強めにして合わせました。しかし、ブーツはブーツの上に足が突き出るので非表示で対応( とても良く使う処理 )。それでほぼ問題なしですが、デフォルトのコリジョンを 0 にしておかないと造形が崩れます。

袖の長いアームグローブは袖の上腕部分が全く合わないので、使えません。当然グローブも合いません。使いたかったら、Genesis2 を Genesis3 にコンバートして使うという手がありますが、まあ無くてもこれはこれで使えるわけです。

そもそも、こういうパーツ的な使い方のできるアーマーだからこそ惚れたわけですし。

上腕用のアーマーは合いませんが、Fit させずに直接あわせて Parent を上腕にすれば使えます。(イラスト左手参照)

もちろんというか、ソードも自分で合わせます( これは過去いっぱいやってきたしね )

▼ で、Genesis8 にヘルメット以外を フルで使用するとこんな感じです。





posted by at 2017-09-23 21:16 | DAZ3D プロダクト | このブログの読者になる | 更新情報をチェックする

2017年09月09日

PHP : curl で FTP サーバのファイル一覧( 結果は JSON )

これは ルートの一覧なので、対話式で階層を順番に読み出す必要があります。
<?php
error_reporting( E_ALL & ~E_NOTICE );
session_cache_limiter('nocache');
session_start();
header( "Content-Type: application/json; charset=utf-8" );

$server = "ftpサーバ";
$path = "";
$userpwd = "ユーザ:パスワード";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,"ftp://{$server}{$path}");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_FTP_SSL, CURLFTPSSL_ALL);
curl_setopt($curl, CURLOPT_USERPWD, $userpwd);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$error = 0;

$result = curl_exec($curl);
if ( !$result ) {
	$data = array();
	$error = 1;
	exit();
}
else {
	$data = explode("\r\n", rtrim( $result ) );
	foreach( $data as $value  ) {
		$col = preg_split( "/\s+/", $value );
		$namecol["flg"] = $col[0];
		$namecol["size"] = $col[4];
		$namecol["date"] = "{$col[5]} {$col[6]} {$col[7]}";
		$namecol["name"] = $col[8];
		$file[] = $namecol;
	}
}
// ***************************
// JSON データ作成
// ***************************
$json = new stdClass;

$json->row = $file;	// 行データ
$json->status = $error;		// エラー

print json_encode( $json, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE );


?>



テスト結果
{
    "row": [
        {
            "flg": "drwx---r-x",
            "size": "512",
            "date": "Sep 4 16:08",
            "name": "."
        },
        {
            "flg": "drwxr-xr-x",
            "size": "3072",
            "date": "Sep 4 21:31",
            "name": ".."
        },
        {
            "flg": "-rw-r--r--",
            "size": "773",
            "date": "Jan 7 2009",
            "name": ".cshrc"
        },
        {
            "flg": "-rw-r--r--",
            "size": "258",
            "date": "Jan 2 2009",
            "name": ".login"
        },
        {
            "flg": "-rw-r--r--",
            "size": "167",
            "date": "Jan 2 2009",
            "name": ".login_conf"
        },
        {
            "flg": "-rw-r--r--",
            "size": "3",
            "date": "Jun 28 13:35",
            "name": ".my.version"
        },
        {
            "flg": "-rw-r--r--",
            "size": "762",
            "date": "Jan 7 2009",
            "name": ".profile"
        },
        {
            "flg": "-rw-r--r--",
            "size": "980",
            "date": "Jan 2 2009",
            "name": ".shrc"
        },
        {
            "flg": "drwx------",
            "size": "512",
            "date": "May 10 10:31",
            "name": ".spamassassin"
        },
        {
            "flg": "drwx------",
            "size": "512",
            "date": "Mar 13 2009",
            "name": ".ssh"
        },
        {
            "flg": "drwx------",
            "size": "1024",
            "date": "May 10 14:09",
            "name": "MailBox"
        },
        {
            "flg": "drwx------",
            "size": "512",
            "date": "Mar 13 2009",
            "name": "db"
        },
        {
            "flg": "-rw-------",
            "size": "21098",
            "date": "Jun 16 10:35",
            "name": "dead.letter"
        },
        {
            "flg": "drwxr-xr-x",
            "size": "2048",
            "date": "Jul 15 2004",
            "name": "fml"
        },
        {
            "flg": "drwxr-xr-x",
            "size": "512",
            "date": "Aug 10 05:43",
            "name": "lightbox"
        },
        {
            "flg": "-rw-r--r--",
            "size": "865",
            "date": "Apr 27 11:22",
            "name": "nam.php"
        },
        {
            "flg": "drwx------",
            "size": "512",
            "date": "Sep 4 16:08",
            "name": "ports"
        },
        {
            "flg": "drwxr-xr-x",
            "size": "512",
            "date": "Jun 14 09:53",
            "name": "sakura_pocket"
        },
        {
            "flg": "drwxr-xr-x",
            "size": "512",
            "date": "May 18 11:06",
            "name": "tmp"
        },
        {
            "flg": "drwxr-xr-x",
            "size": "1024",
            "date": "Sep 6 15:56",
            "name": "www"
        }
    ],
    "status": 0
}






posted by at 2017-09-09 21:26 | PHP+通信 | このブログの読者になる | 更新情報をチェックする

Seesaa ブログ(ココ)の ブログ設定で『AMP配信する』になってたせいで、Twitter からのリンクが amp ページへ飛んでまともな表示しなかった件



【Seesaaブログ】AMP配信機能をリリースしました(2016年10月21日)

そういや、デフォルトで『する』になっていたのをいくつか変更した覚えがあるけれど、ここがモレていたのか、今となっては...

とにかく、即『しない』にしましたが、Twitter 側のリンクは変わらないわけで、Google Chrome で スマホエミュレートするとこんなふうになっています(常に付いてるみたいで良くカラクリが解りません)。



Seesaa 側では HTML のほぼ先頭に amp 用のタグが追加されていて、Twitter ではそれ見て反応しているのかと思ったんですが、今も元には戻って無いわけです。ここへ飛ぶと CSS の効いて無いページなのでまともに文章が改行されなくって、ひどいもんです...

今は設定変えたもんだから、Twitter からリンク踏むと 404 Not found なるんで最低なんですけどね。



posted by at 2017-09-09 12:48 | Seesaa | このブログの読者になる | 更新情報をチェックする

2017年08月22日

Amazon の支払いで銀行が使え無いので、Amazon ギフト使ったらとっても便利だった。

というか、普通に電子マネーだし、1円単位で買えるし。今日、349円とかをギフト残高に足して、686円にして買い物した。残高 0円。

そもそも、家族の一人だけがプライム会員なので、そのアカウントで買うにしても、登録されている家族のカードは使わないようにしたいので、銀行で支払おうと思ったんだけど、かつて使えたはずの楽天は使えず、JNB が使えそうな事が書いてあったので、支払いに行くとその時点でやはり銀行の選択が無い。

もう、わけ解らない。

しかし、Amazon アソシエイトでギフト券を手に入れた事があるので、ギフト券をもうちょっと調べてみると特に問題なさそうなので使う事に。

自分のアカウントでギフト券を買う

家族宛のメールアドレスを設定して、購入。この際、カードがまだ未登録だったので、JNB の VISA デビットを登録。JCB デビットも使えそうなんだけど、JNB は、海外での買い物用に必要な金額しか入ってないので安心。(もっと言うと、カードレスデビットも使えるかもな)

家族のメールアカウントで受信

メールが来て、クリックするだけで、Amazon の家族のアカウントに登録する(先にログインしておく)。



商品購入

支払い方法にカードとアマゾンギフト券が上下に並ぶので、支払い方法の変更リンクから変更して、確定するだけ。


▼ という事で、二つ買ったのでした。




大野海苔は 1本555円ほどですが、天満で買うと、税抜きで 570円もするので安い。大塚製薬 ネイチャーメイド スーパービタミンD にいたっては、マツモトキヨシで普通に1000円取られるのに、686 円。Amazonプライム会員 さまさま。全く安く無い商品ももちろんあるけれど、家に届くくせに安く買えるものも多いのです。



posted by at 2017-08-22 22:33 | 生活 : お金 | このブログの読者になる | 更新情報をチェックする

2017年07月14日

DAZStudio のユーザレイアウトの保存場所

DAZStudio 4.8 から DAZStudio 4.9 に更新したら、レイアウトがぶっ壊れたので、既にDAZStudio 4.9 をインストール済みの PC からコピーして復帰しました。



既存のスーパーレイアウト(なんかツールバーになんでもある)でもいいのですが、慣れるまでは昔のレイアウト使おうと思ってます。



メニューからの保存と選択








タグ:DAZ3D DAZStudio
posted by at 2017-07-14 05:26 | DAZStudio | このブログの読者になる | 更新情報をチェックする

2017年07月02日

Android Studio : LiveDoor のお天気情報をリストビューに表示した後、第二画面で name を変更して第一画面で再表示する手順

Android Studio : LiveDoor のお天気情報をリストビューに表示する手順 から続いている処理です


Intent でデータを送れるように、クラスを変更

Serializable インタフェース を追加
import java.io.Serializable;

public class WebData implements Serializable {

	String link;
	String name;

	@Override
	public String toString() {
		return name;
	}
}


Activity を追加して画面作成
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Main2Activity">
    <Button
        android:id="@+id/buttonReturn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="戻る" />

    <TextView
        android:id="@+id/textViewLink"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="TextView"
        android:textSize="20sp"/>

    <TextView
        android:id="@+id/textViewName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="6dp"
        android:text="TextView"
        android:textSize="30sp"/>

    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:textSize="30sp"/>

    <Button
        android:id="@+id/buttonUpdate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="更新"
        android:textSize="20sp"/>

</LinearLayout>


ListView に イベント処理を追加

選択した位置を保存する為に private int position; を定義
		listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

				// 行データを取得
				ArrayAdapter<WebData> arrayAdapter = (ArrayAdapter<WebData>) parent.getAdapter();
				WebData webData = arrayAdapter.getItem(position);

				// 行データを次画面に渡す
				Intent intent = new Intent(MainActivity.this,Main2Activity.class);
				intent.putExtra("DATA",webData);
				MainActivity.this.startActivityForResult(intent, 101);

				// 選択した行を保存
				MainActivity.this.position = position;

			}
		});


第二画面から戻って来た時の処理を追加

第二画面で変更された行データを使用して ListView を再表示する
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);

		if ( requestCode == 101  ) {

			if ( resultCode == MainActivity.RESULT_OK ) {
				// ボタンの種類
				String result = data.getStringExtra("RESULT");
				if ( result.equals("終わったよ") ) {

				}
				if ( result.equals("更新したよ") ) {

					// 更新後データの取得
					WebData webData_update = (WebData) data.getSerializableExtra("DATA");

					WebData webData_listview = arrayAdapter.getItem(MainActivity.this.position);
					// 更新されたデータのセット
					webData_listview.name = webData_update.name;
					// 再表示
					listView.setAdapter(arrayAdapter);

				}
			}

		}

	}


第二画面に変数定義

private TextView link;
private TextView name;
private EditText editText;

第二画面の初期画面表示

以降、onCreate にて
		// 画面コントロールのインスタンス取得
		link = (TextView) Main2Activity.this.findViewById(R.id.textViewLink);
		name = (TextView) Main2Activity.this.findViewById(R.id.textViewName);
		editText = (EditText) Main2Activity.this.findViewById(R.id.editText);

		// データの取得
		Intent intent = Main2Activity.this.getIntent();
		WebData webData = (WebData) intent.getSerializableExtra("DATA");

		// データのセット
		link.setText(webData.link);
		name.setText(webData.name);
		editText.setText(webData.name);

ただ戻るだけのボタンの処理
		Button buttonReturn = (Button) Main2Activity.this.findViewById(R.id.buttonReturn);
		buttonReturn.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {

				Intent intent = new Intent();
				intent.putExtra("RESULT", "終わったよ");
				setResult(Main2Activity.RESULT_OK, intent);

				// 第二画面終了
				Main2Activity.this.finish();

			}
		});


画面上の更新処理
		Button buttonUpdate = (Button) Main2Activity.this.findViewById(R.id.buttonUpdate);
		buttonUpdate.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {

				Intent intent = new Intent();
				intent.putExtra("RESULT", "更新したよ");

				Intent intentStart = Main2Activity.this.getIntent();
				WebData webData = (WebData) intentStart.getSerializableExtra("DATA");
				// 入力内容をセットする
				webData.name = editText.getText().toString();

				intent.putExtra("DATA", webData);
				setResult(Main2Activity.RESULT_OK, intent);

				// 第二画面終了
				Main2Activity.this.finish();

			}
		});






posted by at 2017-07-02 00:47 | Android | このブログの読者になる | 更新情報をチェックする

2017年06月27日

DAZ3D : ホワイト・ブロンドのダークエルフ


最大表示 

この画像は、イラストAC から 1600x1200 でフリーダウンロードできます。その画像をデスクトップの壁紙(1280x1024)として使用し、アイコンを非表示にして、DAZStudioの 4.8 で開いて Iray ビューで表示している状態です。

※ DAZStudio の 4.9 は、Windows10 で運用しており、通常作業するのが Windows7 です。

キャラクタ自体は昔に作った V4 ですが、パンツは Genesis2 のものです。基本的に背景も V4 当時に手に入れた古いものばかりですが、シェーダーは Iray 用を使ってそれなりに見えるように頑張っています。また、衣装の一部にもところどころ Iray のシェーダーで引き締めた感じです。

髪は、Daria Hair for Aiko 4 を使用していますが、アニメチックでいいものが A4 のHair では多いので、今じゃかなり安くなっていると思うのでお勧めです。それがたとえ A3 用でも、髪だと Head にさえ固定していれば、必ずしも Fit させる必要も無いのでどの世代でも使えるはずです。

背景は Saxon RuinsIray のシェーダーを使ってから縦横のスケール調整をしています。
※ Mec4d PBS Shaders vol.2 for Iray( vol.2 がおすすめ vol.1 はイマイチ )

以下はこの記事用に髪を変えて、ブーツを調整してレンダリングしました。



もともと、ブーツは V4 用で最初から装着していたのですが、パンツも履かせたので混じってしまっていたので、ブーツを パンツにフィットさせ、Smoothing Modifier を適用して Collision を少し大きめにセットしました。

超有名な方法ですね。

※ もし、くるぶしより先が変な具合になる場合は、V4 本体のその部分を非表示に設定します。



posted by at 2017-06-27 14:40 | Iray DAZ3D DAZStudio イラスト | このブログの読者になる | 更新情報をチェックする