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

2021年01月15日

相続税は、法定相続人がひとりなら 3,600万まで無税!!

★ No.4152 相続税の計算|贈与税|国税庁

課税価格の合計額−基礎控除額(3,000万円+600万円×法定相続人の数)

やさしい税の話 > 相続税の計算方法
相続について<相続税の計算方法> | みずほ証券

法定相続人の数は、相続の放棄をした人がいても、その放棄がなかったものとした場合の相続人の数をいいます

相続開始前3年以内の贈与財産の内容

加算される贈与財産の範囲は、被相続人から生前にもらっていた財産のうち死亡前3年以内にもらったものすべてです。3年以内であれば贈与税がかかっていたかいなかったかに関係なく加算します。したがって、基礎控除額110万円以下の贈与財産や死亡した年に贈与されている財産の価額も加算することになります。
出典 相続開始前3年以内の贈与財産とは?

★ No.4108 相続税がかからない財産|相続税|国税庁

★ No.4114 相続税の対象になる死亡保険金|相続税|国税庁

★ No.1750 死亡保険金を受け取ったとき|所得税|国税庁

★ No.1605 遺族の方に支給される公的年金等|所得税|国税庁

厚生年金や国民年金などの被保険者であった人が亡くなったときは、遺族の方に対して遺族年金が支給されます。

次の法律に基づいて遺族の方に支給される年金は、所得税も相続税も課税されません。

国民年金法
厚生年金保険法
恩給法
旧船員保険法
国家公務員共済組合法
地方公務員等共済組合法
私立学校教職員共済法
旧農林漁業団体職員共済組合法

★ 遺族年金(受給要件・支給開始時期・計算方法)|日本年金機構
遺族基礎年金 は条件が厳しいので注意。

★ No.4120 弔慰金を受け取ったときの取扱い|相続税|国税庁

被相続人の死亡によって受ける弔慰金や花輪代、葬祭料などについては、通常相続税の対象になることはありません。

★ No.4129 相続財産から控除できる葬式費用|相続税|国税庁

葬式費用に含まれないもの
(1) 香典返しのためにかかった費用
(2) 墓石や墓地の買入れのためにかかった費用や墓地を借りる費用
(3) 初七日や法事などのためにかかった費用

その他 : 葬祭費の支給( 国民健康保険 )

手続きをすれば葬祭費・埋葬料がもらえる! [葬儀・葬式] All About





【生活 : お金の最新記事】
posted by at 2021-01-15 10:21 | 生活 : お金 | このブログの読者になる | 更新情報をチェックする

2020年11月30日

後期試験問題 8ページ目

Windows にはと言う手軽に扱える二つの言語を使ったスクリプト言語のプラットフォームがあります。

かつては VBScript を使う事が多かったですが、現在では VB 系は Excel のマクロである VBA のみが生き残っているのみで、現実的にはを利用する事となります。

その為、ソースコードの拡張子はとなり、Windows のエクスプローラからダブルクリックで実行するアプリケーションは.exe となります。しかし、処理としてはバッチ処理が主な目的となる為、コマンドプロンプトで実行する事を前提として、cscript.exe で実行させるという事を考え、Visual Studio Code でそのようにビルドタスクの実行で処理できるように、.vscode ディレクトリ内に.json を置いて適正な値を設定します。

このプラットフォームで利用可能なクラスは COM と言うテクノロジーで作成されており、Windows にはデフォルトで使用可能なクラスがいくつか存在します。

◎ 基本的な部分をサポートするクラス => .Shell
◎ OS に近い部分の処理 => Shell.
◎ データベースの接続 => ADODB.
◎ データベースの読込 => ADODB.
◎ バイナリデータの処理 => ADODB.
◎ メール処理 => CDO.
◎ インターネットアクセス => Msxml2.
◎ テキストファイルの処理 => Scripting.

その他にも重要なクラスとして(MIcrosoft Excel がインストールされている必要があります)、 .があります。

これらのクラスをインスタンス化するには、 new ("クラス名") という記述によってインスタンス化します。

さらに、これらの処理は拡張子が .hta であるでも実行が可能で、ブラウザ上で使用可能な jQuery も使えます。そして、そのデバッグにはを使用できるようにする為に特殊な設定を行って一般の WEB 上でも稼働が可能となります。



posted by at 2020-11-30 12:13 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

後期試験問題 7ページ目

前述の大きな機能以外にも、Google Chrome に関する知識として重要なものがいくつかあります。

◎ 表示しているページのコンテンツを全て保存してローカルで再現できるようにするにはメニューからを実行します

◎ URL をデスクトップからすぐ開く為のアイコンを作成するにはその名の通り『ショートカットの作成』をメニューから実行しますが、Chrome をアプリのように開くには保存時ににチェックを入れます

◎ Google Chrome を終了する時にログインしているサイトからログアウトさせるには、chrome://settings/cookies で表示される設定画面のでサイトを登録する。

◎ 前述のツールの中の設定ページのセクションにあるチェックボックスで JavaScript を無効にする事ができます。

 

◎ Chrome 以外のブラウザでも可能ですが、ブックマークに javascript: を記述して、その後ろに JavaScript の処理を記述し、最後に void(0) を記述するとそのページに対して直接 JavaScript を実行できるようになります。これを一般的にと呼びます。



◎ キャッシュ削除するダイアログの表示は、他のブラウザでも一般的にキー +キー +キーです 

◎ 表示しているページで強制的にキャッシュを削除したい場合はツールを表示させて再読み込みアイコンを右クリックしてメニューを表示させてを選択します



posted by at 2020-11-30 12:12 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

後期試験問題 6ページ目

WEBアプリケーションはサーバ側の処理を PHP とすると、クライアント側の処理はで構成され、クライアント側は Google Chrome で表示される事を前提として授業を行っています。

クライアント側の情報は、Google Chrome のツールという機能によって容易に参照が可能ですが、機能は多岐に渡り複雑なので使いこなすにはかなりの訓練が必要です。



この機能の起動はキーを使うか、ページ上で右クリックしてメニューからを選択します。そしてこの機能の中でも重要なものが以下の機能となります。

1) エレメンツ
ページで使用されているの情報をページ上のコンテンツをマウスでクリックする事によって読み取ります。

2) コンソール
ページ上で実行されたの結果や、ページ上に対してで直接処理を実行する事ができます。

3) ネットワーク
ページ上のコンテンツが行ったインターネットとのアクセスの内容を知る事ができます。

4) アプリケーション
ページに対して PC が個別に保存しているの情報に対して参照・登録・修正・削除の機能を持っています。





posted by at 2020-11-30 12:09 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

後期試験問題 5ページ目

レジストリは Windows の重要な設定が保存されており、知識の無いものが不用意に変更すると Windows が動かなくなります。しかしエンジニアやプログラマはその意味を知っておく事はとても重要です。

レジストリの情報の追加・変更・削除はというアプリケーションで行い、コマンド文字列は.exe です。

レジストリの構造はツリーになっており、理解しておくべき大きなツリーが 3 つあります。



このうち、PC のソフトウェアの設定に使われるのがです。

学校の Google のアカウントで Google ドライブを利用する際、通常の HDD と同じように繋げるアプリケーションをと言います。

しかし、このアプリは問題もあるので、バックアップに使う場合 xcopy では無くを使用する必要があります。このアプリケーションはが必要なので、自宅で利用する場合は継続利用も問題無いですが、学校で使う場合は授業終了時にする必要があります。

Google ドライブに保存したいデータを他の学生も見れるようにするには、を作成して『メンバーを管理』からユーザを追加する必要があります。このような処理は、Google スプレッドシート単位でも行う事ができるので、自分専用の場所から Google スプレッドシートのをコピーして見て欲しい相手にメール等で渡す事ができます。さらにそのユーザに対して『閲覧者』ではなく『編集者』にすると言うようなを与えるとお互いに修正作業が可能になります。



このようにインターネットを介してデータをお互いに見たり変更したりする事は特殊なアプリケーションが必要になりますが、Windows で教室内の他の PC と行う場合にはエクスプローラからの設定で可能です。フォルダを右クリックしてを選択してから表示されるダイアログでタブを選択して設定しましょう。



posted by at 2020-11-30 12:01 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

後期試験問題 3ページ目

コンピュターアイコンを右クリックして『管理』を選択して表示されるウインドウはWindowsを管理する上で重要な UI が多く登録されています。その中で特に5つの知っておくべき機能の概要が以下となります。

1) => システム全体から出力される OS 寄りのメッセージのリスト。
2) => 定義されたタイミングでタスクを実行する事ができます。
3) => ネットワークドライブの割り当てで使用するリソースの一覧です。
4)ローカルユーザーとグループ => ログインユーザのメンテナンスを行います。
5) => システムで実行中の常駐アプリケーションの停止を行ったり、状態を知る事ができます

この内、5) で実行中のアプリケーションは個別の名称で登録されており、その名称を使用してコマンドプロンプトから停止する事ができますが、コマンドの種類には2種類あり、個別の名称を Spooler とすると、一つはSpooler、もう一つはSpooler と入力して実行します。

最初のコマンドは処理が終わるまで待機し、二つ目のコマンドは実行するとすぐ終了します(バックグラウンドで実行されます)



PC がネットワーク上で動作する為に、それぞれ固有の IPアドレスを持っています。これらの情報を簡単に速く取得するには、コマンドプロンプトよりと入力します。

その際表示される情報として『デフォルト ゲートウェイ』で示される IPアドレス を持つハードウェアは、通常ネットワークの外部への出口であるルータ等が持っているアドレスです。

また、自分自身の PC名も表示されますが、そのPC名は Windows ロゴ キーキーを同時に押す事で表示されるウインドウで確認する事が望まれます。

Windows ロゴ キーを使用したショートカットキーのうち重要なものは以下のようになります

キー => Windows 設定ウインドウの HOME 表示

キー +キー => 画面上の部分キャプチャー

キー => ファイル名を指定して実行

キー => エクスプローラ




posted by at 2020-11-30 11:58 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

後期試験問題 2ページ目

エクスプローラのアドレスバーはコマンドプロンプトと同様に処理可能で、と入力すると現在表示しているフォルダでコマンドプロンプトが開きます。

その他にも決まった文字列を入力すると特定のフォルダを開きます。例えば、テンポラリフォルダを開くにはと入力し、と入力すると、ファイルを『送る』で表示される一覧の内容を登録したフォルダが開きます。



は、Windowsでドライブ装置やストレージその内部を区切ったパーティションなどを識別するために与えられる一文字のアルファベットです。
は、Windowsネットワーク上で共有されている様々な資源(ファイルやフォルダ、プリンタなど)の位置を表記する標準的な記法で、という文字を二つ重ねて記述した後に通常 PC 名が続いて記述されます。



この二つの概念を使って、新しいドライブをシステムに追加する事を『ネットワークドライブの割り当て』と言います。その場合フォルダ側にネットワーク上の共有資源の名前であるを指定します。

新しいドライブに他のPCのフォルダを割り当てるにはPC側でそのフォルダをする必要があります。その際読込のみか更新可能かの設定をフォルダのプロパティのダイアログのボタンをクリックしてその先で行います。

設定の結果の名前の確認は、コマンドプロンプトからと入力する事で最も簡単に確認できます。






posted by at 2020-11-30 11:40 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

後期試験問題 1ページ目

Windows10 のメニューの Windows管理ツールにあるで、Windows Update の必要無いファイルを削除する事ができます。



管理者権限で簡単に実行できるようにの詳細設定ボタンで表示される『管理者として実行』にチェックを付けておくことによって、すぐに Windows Update の必要ないファイルの削除の準備が可能です。

は、Windows で実行されるアプリケーションの情報を得る為にあらゆる手段を提供する重要な Windows の基本ツールです。



初期状態では、『簡易表示』になっているので『詳細』に変更します。そして、さらに詳細タブに移動して列を表示可能にする事によって、アプリケーションが 64ビットなのか 32ビットなのかすぐ解るようにしておくことが重要です。

そして、タブに移動して必要の無い常駐プログラム等は無効に設定しましょう。また、簡単にこの PC にログインした後起動したいアプリがここに表示されるようにするには、アプリの等をフォルダにコピーしておく事で可能になります。

このフォルダはファイル名を指定して実行から shell:を入力して開く事ができます。

Windows でアプリケーションを実行するには、そのアプリが存在するフォルダに移動して実行するか、PATH に登録して OS に探してもらうようにします。



PATH 以外も全て一覧で簡単に取得するには、コマンドプロンプトでと入力します。





posted by at 2020-11-30 10:33 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

2020年11月25日

レジストリ内で使用する %V が最強のようです

参考にした記事

コマンドラインに指定できるプレースホルダー 詳細はリンク先を参照してください。 %V は Microsoft が使用していたコードをそのまま使っていましたが、あらためて調べてみると、変遷があったのか、結局 %V だと他の方法もトライするみたいですね。

以下は Visual Studio Code 用の記述です

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\VSCode]
@=hex(2):43,00,6f,00,64,00,65,00,20,00,67,30,8b,95,4f,30,00,00
"Icon"=hex(2):43,00,3a,00,5c,00,61,00,70,00,70,00,5c,00,56,00,53,00,43,00,6f,\
  00,64,00,65,00,5c,00,43,00,6f,00,64,00,65,00,2e,00,65,00,78,00,65,00,00,00

[HKEY_CLASSES_ROOT\Directory\shell\VSCode\command]
@=hex(2):22,00,43,00,3a,00,5c,00,61,00,70,00,70,00,5c,00,56,00,53,00,43,00,6f,\
  00,64,00,65,00,5c,00,43,00,6f,00,64,00,65,00,2e,00,65,00,78,00,65,00,22,00,\
  20,00,22,00,25,00,56,00,22,00,00,00



※ レジストリのデータが 16 進数になってるのは、REG_EXPAND_SZ になっているせいです。

REG_SZ の場合

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\VSCode]
@="Code で開く"
"Icon"="\"C:\\app\\VSCode\\Code.exe\""

[HKEY_CLASSES_ROOT\Directory\shell\VSCode\command]
@="\"C:\\app\\VSCode\\Code.exe\" \"%V\""



ちなみに、C:\app\Code\Code.exe --extensions-dir="c:\app\code\ex" のようにコマンドラインに拡張のインストール場所を指定可能です



posted by at 2020-11-25 09:09 | Windows | このブログの読者になる | 更新情報をチェックする

2020年09月07日

コマンドプロンプト

設定スクロール表示を一時停止する全画面表示入力コマンドを履歴から選択基本的なコマンドと環境変数の組み合わせリダイレクトでテキストファイルを作成するコマンドの使い方を見る32ビット用のコマンドプロンプトを実行フォルダやファイルを作業する時の基本コマンドクリップボードへのコピーと取得ネットワーク関連の基本コマンドサービスの開始と終了コマンドプロンプトで 10秒スリープレジストリのキーと値を取得するGUIDをクリップボードにセット誰でもフルアクセスできる共有を作成シャットダウンダイアログの表示キャラクタセットを変更するバックアップに xcopy を使用する

設定

サイズは自由ですが、ここではテンプレートとして幅はレガシーなサイズを使用しています

スクロール表示を一時停止する

コマンドプロンプトウインドウをクリックして下さい
再開は任意のキーやマウスの右クリックです。なので、できるだけすぐスクロールを止めたい場合は CTRL+C を連打(2回)します
スクロール表示内容をしっかり見たい場合は、more にパイプで渡します
dir c:\windows\system32 | more
more の結果を一行づつ進めるのは Enter で、ページ毎に進めるのは space です

全画面表示

( ALT+TAB で他の実行中のウインドウを表示しています )
F11 または、ALT+Enter で全画面表示となります。
どちらで実行しても、F11 または ALT+Enter で元に戻ります

入力コマンドを履歴から選択

F7 で開いて、ESC で閉じます。上下カーソルで選択して Enter で実行されます。
コマンドライン上で上下矢印キーで実行せずに選択できます

基本的なコマンドと環境変数の組み合わせ

1) cd \u*\%username%\des*
2) cd %appdata%
3) echo %cd%
4) start %temp%
1) フォルダ文字列にワイルドカードと環境変数を使用してデスクトップへ移動します。
2) Users\ユーザ名\AppData\Roaming へ移動します
3) 現在のフォルダを表示します
4) テンポラリフォルダをエクスプローラで開きます

リダイレクトでテキストファイルを作成する

1) echo on > empty.txt
2) help > help.txt
3) dir > list.txt & dir c:\windows >> list.txt
4) type con > message.txt
5) type nul > message.txt
6) sort /r < help.txt > help2.txt
1) 空のファイルを作成
2) help で表示される内容を help.txt というファイルに書き込む
3) カレントのファイル一覧と、c:\windows のファイル一覧を list.txt に書き込む
4) キーボードから入力した内容を message.txt に書き込む( 最終行で CTRL+Z )
5) 空のファイルを作成
6) help.txt の内容を逆ソートして help2.txt に書き込む

コマンドの使い方を見る

🔻 引数無しで実行
🔻 /? を付けて実行
🔻 英語系のコマンドは 引数に --help を付けて実行

32ビット用のコマンドプロンプトを実行

32ビット用の Windows アプリケーションは \Windows\SysWOW64 フォルダ内にあります

フォルダやファイルを作業する時の基本コマンド

1) dir /A:-D /B
2) dir /A:-D | sort /R
3) cd .
4) cd ..
5) cd \
6) cls
7) start .
dir コマンドは、指定したフォルダの中にどのようなファイルまたはフォルダを表示します。/A オプションは、どのような種別のリソースを表示するかを指定します。/A:D だとディレクトリ(フォルダ)のみで、/A:-D だとディレクトリを表示しないということになります。
cd コマンドは指定したディレクトリへの移動になりますが、. と .. は、相対パスです。\ は同一ドライブ内のルートとなります。その他、ディレクトリを絶対パスで指定をする事ができます。パスの指定は dir でも同じ指定で可能です。
start . で現在のフォルダでエクスプローラを開きます

クリップボードへのコピーと取得

1) echo あいうえお | clip
2) powershell get-clipboard
1) コマンドプロンプトの標準出力をパイプで clip に渡す
2) クリップボードの内容を取得して標準出力に出力して表示する

ネットワーク関連の基本コマンド

1) ping -4 PC名
2) ipconfig /all
3) net view \\PC名

サービスの開始と終了

サービスの処理は通常管理者権限のコマンドプロナプトから実行する必要があります。
管理者権限のコマンドプロンプトは、通常のコマンドブロンプトのタスクバーにあるアイコンを SHIFT+CTRL キーを押しながらクリックします
1) net start サービス名
2) sc start サービス名
3) net stop サービス名
4) sc stop サービス名
net コマンド は、サービスの処理が終了するまで、コマンド処理が待機します。sc コマンドは サービスの処理の結果を待ちません

コマンドプロンプトで 10秒スリープ

1) timeout 10
2) timeout /NOBREAK 10
3) powershell sleep -m 10000
※ /NOBREAK は、キーが押されても無視し、指定時間待ちます( CTRL+C では終了します )

レジストリのキーと値を取得する

reg query "HKLM\SOFTWARE\WOW6432Node\ODBC\ODBCINST.INI\ODBC Drivers" /s
※ /s は、再帰的にサブキーと値をすべて照会します

GUIDをクリップボードにセット

echo Set TypeLib=CreateObject("Scriptlet.TypeLib"):Wscript.echo TypeLib.Guid>%temp%\_.vbs&cscript.exe /NOLOGO %temp%\_.vbs | clip

誰でもフルアクセスできる共有を作成

net share temp=%temp% /grant:everyone,full /cache:documents /remark:"一時共有"
削除は以下のようにして行います
net share temp /delete
作成した共有を使用してネットワークドライブを割り当てます
net use t: \\%computername%\temp
※ 以下は割り当ての削除です
net use t: /delete

シャットダウンダイアログの表示

echo Set sh=CreateObject("shell.application"):sh.ShutdownWindows>%temp%\_.vbs&wscript.exe %temp%\_.vbs

キャラクタセットを変更する

1) mode con cp select=65001
2) mode con cp select=932
1) UTF-8
2) SHIFT_JIS

バックアップに xcopy を使用する

xcopy.exe "コピー元ディレクトリ" "コピー先ディレクトリ\" /D /E /C /S /Y
/D:月-日-年
指定された日付以降に変更されたファイルをコピーします。日付が指定されなかったときは、送り側の日付が受け側の日付より新しいファイルだけをコピーします。
/E ディレクトリまたはサブディレクトリが空であってもコピーします。
/C エラーが発生してもコピーを続けます。
/S 空の場合を除いて、ディレクトリとサブディレクトリをコピーします。
/Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示しません
posted by at 2020-09-07 16:25 | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする

2020年08月12日

リィンカーネーションの花弁 (1) 〜 (5)



  

 

最初、漫画王国で3巻まで無料だったので、開いてみたら結構面白かった。その後、ebookjapan でさらに5巻まで無料だったので続け観る。

ちょっと主人公らしいキャラの置いてけぼり感が半端無いが、化け物キャラがたくさん居るので仕方ないかなぁ。

依り代が人間の、過去の才能な強引な召喚は『終末のワルキューレ』と比べてまだ大人しいけれど、やってる事はほぼ同じ感はある。だからこそ、主人公らしいキャラの置いてけぼりなんだけど。

しかし、ちょっとキャラが可愛すぎるのは今時だから仕方ないけれど、不死の立ち回りがイマイチなのはちょっと残念



posted by at 2020-08-12 16:37 | 漫画 | このブログの読者になる | 更新情報をチェックする

2020年08月02日

タイムマシンわ号 / ほぼ自由に利用できる制限の緩いフリーフォントたち

⇩⇩⇩⇩ タイムマシンわ号 のダウンロード ⇩⇩⇩⇩
MODI工場(モーディーコウジョウ)



無償で使用可能です
いわゆるパブリックドメインです
商用・非商用いずれでもお使い頂けます
このフォントは再配布が可能です
posted by at 2020-08-02 21:33 | フリーフォントで簡単ロゴ作成 | このブログの読者になる | 更新情報をチェックする

Windows 標準の CDO.Message で(GmailまたはYahoo!メールを使って)簡単にバッチ処理からメールを送る



▼ バッチファイル
▼ スクリプト
SSL/465 で暗号化通信をします。
Gmail は、smtp.gmail.com
Yahoo メールは smtp.mail.yahoo.co.jp  ( アカウントは @ の前の部分 )
※ Gmail の場合、安全性の低いアプリの許可を『有効』にする必要があります
ファイルを添付する場合は、
Call Cdo.AddAttachment( "ファイルのフルパス" )
と追加します

※ ファイルのパスは、URL でも可能です。
HTML メールも送りたい場合は、
Cdo.HTMLBody = "HTMLの記述"
です
CC と BCC は、カンマで区切られた複数のアドレスを設定します
Cdo.CC  = """User 1"" , ""User 2"" "
関連する記事 C# : TKMP.DLLを使った、メール送信テンプレート Windows10 で確認しました。この記事の後半にあるダウンロードとソースコードは昔のものですが、動作するのでそのままおいて置きますが、今回新たにテストしたのはメールを送る機能に特化したスクリプトです。 ただ、Windows として過去の経緯からして必ず動くと保証できないので、XAMPP + Fake sendmail という環境で PHP の mb_send_mail を使用する方法も視野にいれておくといいと思います。 バッチファイル
@echo off

cscript //Nologo mail.vbs "ここは 題名" "ここは 本文\nです。\n簡単なメッセージを送ります"
VBScript : mail.vbs
' ****************************************************
' 【 対象 : Windows XP 以降 】
'
' HTML メールは Cdo.Htmlbody を使用します
' "<PRE>" & strBody & "</PRE>" をセットすると
' 良いでしょう )
'
' 添付ファイルは 
' Cdo.AddAttachment( "添付ファイルへのパス" ) を実行します
' ****************************************************

strFrom = "username@gmail.com"
strTo = "宛先"

' サーバ
strServer = "smtp.gmail.com"
nPort = 465
strUser = "username@gmail.com"
strPass = "パスワード"

Set Cdo = WScript.CreateObject("CDO.Message")

' 差出人
Cdo.From = "わたしです<" & strFrom & ">"
' 宛先
Cdo.To = strTo
' 件名
Cdo.Subject = WScript.Arguments(0)
' 本文
Cdo.Textbody = Replace( WScript.Arguments(1), "\n", vbCrLf )

' ポート利用( 2 )
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strServer
' メールサーバの仕様に合わせる
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = nPort
' SSL 使用
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
' ユーザ/パスワードでログイン
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
Cdo.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = strUser
Cdo.Configuration.Fields.Item  ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strPass

Cdo.Configuration.Fields.Update

on error resume next
Cdo.Send
if Err.Number <> 0 then
	strMessage = Err.Description
else
	strMessage = "送信が完了しました"
end if
on error goto 0

Wscript.Echo strMessage

ここから古い記事の部分

Windows XP 以降で実行可能です。
( Ping 部分 )
※ Mail 送信部分は Windows 2000 以降です。
' ****************************************************
' 【 対象 : Windows XP 以降 】
' Ping を実行して応答が返って来たら、
' 指定アドレスにメールを送ります
'
' HTML メールは Cdo.Htmlbody を使用します
'
' 添付ファイルは 
' Cdo.AddAttachment( "添付ファイルへのパス" ) を実行します
' ****************************************************
strTarget = "192.168.1.1"

strFrom = "xxxx@xxxxxxxxxx"
strTo = "yyyy@yyyyyyyyy"

strServer = "zzzzzzzzzzzzzz"
nPort = 587
strUser = "aaaa"
strPass = "????"

' ****************************************************
' WMI による PING 処理
' 最大4回リトライ(正常なら1回)
' ****************************************************
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
bReply = false
For I = 1 to 4
	Set colItems = objWMIService.ExecQuery _
		("Select * from Win32_PingStatus " & _
			"Where Address = '" & strTarget & "'")
	For Each objItem in colItems
		if objItem.StatusCode = 0 then 
			bReply = true
			I = 4
			Exit For
		end if
	Next
Next

if bReply then
	strSubject	= strTarget & " は稼動中です"
	strBody = "よろしくお願いします"
else
	strSubject	= strTarget & " は問題があります"
	strBody = "調査をお願いします"
end if

Set Cdo = WScript.CreateObject("CDO.Message")

Cdo.From = strFrom
Cdo.To = strTo
Cdo.Subject	= strSubject
Cdo.Textbody = strBody

Cdo.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
Cdo.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strServer
Cdo.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = nPort

Cdo.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
Cdo.Configuration.Fields.Item _
 ("http://schemas.microsoft.com/cdo/configuration/sendusername") = strUser
Cdo.Configuration.Fields.Item _ 
 ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strPass

Cdo.Configuration.Fields.Update

on error resume next
Cdo.Send
if Err.Number <> 0 then
	strMessage = Err.Description
else
	strMessage = "送信が完了しました"
end if
on error goto 0

Wscript.Echo strMessage
関連する Microsoft ドキュメント

CdoSendUsing Enum

関連する記事

IE拡張メニューで取得したテキストをメールで送る(CDO.Message版)

更新履歴
初回投稿 : 不明
2013-01-06 : 部分変更
2013-07-26 : Gmail をベースにして、SSL/465 で暗号化処理
2013-07-31 : Yahoo でテストして、添付ファイル、HTMLメール、CC、BCC の使い方を追加




posted by at 2020-08-02 09:58 | VBScript | このブログの読者になる | 更新情報をチェックする

2020年08月01日

ご自分の奥さんが主人公の、とてもとても愉快なブログを発見しました。

初期投稿

2014-07-13


yahoo! ブログから、ameba へ移転されていました。

元々は、『どうしてこうなった 「Yahoo!知恵袋」人気の質問が再現ドラマに』

ここで最初に紹介されているのが、「家に帰ると妻が必ず死んだふりをしています」

その冒頭が、
家に帰ると妻が必ず死んだふりをしています。
どういうことなのでしょうか?
家に帰り玄関を開けると妻が倒れていました。
最初は驚きましたが毎日やるので
ほら起きてと流すようになりました。
すると翌日は口から血を流しており、
1週間後は白いTシャツが血まみれだったり
とあります。 『えええ?』 と、ちょっと心配してしまいますが・・・ 最後のオチが
軍服はアーミーショップで揃えたようです。無駄遣いしないようにと注意しましたら今日はお手製のワニと思われる生き物に食べられていました。
と、想像しただけで笑うしか無い、とても楽しい内容です。 で、この質問主さんは、これをきっかけにブログを立ち上げたらしく、『家に帰ると妻が必ず死んだふりをしています』の最初の書き込みがこの質問内容です。 ※ 2010/9/8 から、2014/7/4( 最新 ) で、すぐ続くんですよ。とても面白く最高です。 マイケルジャクソンが私の部屋にお見舞いに来ました 禁じられた遊び お小遣いを請求すると妻は酔っぱらいます。 初期投稿 2014-07-13
posted by at 2020-08-01 21:19 | 生活 | このブログの読者になる | 更新情報をチェックする

バックアップスクリプトを作るスクリプト



出来上がったスクリプトの名前は、以下のような仕様です。 BK_ドライブ_パス.vbs パスの部分は、スペースを除いて \ を _ に変更しています。この名前でディレクトリがスクリプトのあるディレクトリに作成されてファイルが XCOPY でコピーされます。 スクリプトの名前を変更すると、コピー先(スクリプトがあるディレクトリ)のディレクトリ名も変更されます。 XCOPY は、新しいファイルのみをディレクトリ以下全てコピーします。
' ***********************************************************
' 処理開始
' ***********************************************************
Set Fso = Wscript.CreateObject( "Scripting.FileSystemObject" )
Set Shell = Wscript.CreateObject( "Shell.Application" )

' ***********************************************************
' 実行中ディレクトリの取得
' ***********************************************************
strPath = Wscript.ScriptFullName 
Set objFile = Fso.GetFile( strPath )
strBackupFolder = Fso.GetParentFolderName( objFile )

' ***********************************************************
' バックアップ対象ディレクトリの取得
' ***********************************************************
' マイ コンピュータを基準にディレクトリ選択
Set objFolder = Shell.BrowseForFolder( 0, "バックアップするフォルダを選択してください", &H4B, _
	"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" )
if objFolder is nothing then
	WScript.Quit
end if
if not objFolder.Self.IsFileSystem then
	WScript.Echo "ファイルシステムではありません"
	WScript.Quit
end if

strTargetFolder = objFolder.Self.Path
strName = Replace( strTargetFolder, ":", "" )
strName = Replace( strName, "\", "_" )
strName = Replace( strName, " ", "" )
strName = "BK_" & strName

' ***********************************************************
' スクリプト作成
' ***********************************************************
Set OutFile = Fso.OpenTextFile( strBackupFolder & "\" & strName & ".vbs", 2, True )

OutFile.WriteLine "strName = """ & strName & """"
OutFile.WriteLine "strTarget = """ & strTargetFolder & """"
OutFile.WriteLine "strBackupFolder = """ & strBackupFolder & """"
OutFile.Write "if MsgBox( strTarget & vbCrLf & ""のバックアップを開始します。よろしいですか? (保存先:"" & strBackupFolder & ""\"" & strName & "")"""
OutFile.WriteLine ", 1 ) = 2 then"
OutFile.WriteLine "	Wscript.Quit"
OutFile.WriteLine "end if"

OutFile.WriteLine "Set WshShell = Wscript.CreateObject( ""WScript.Shell"" )"
OutFile.Write "ExecCommand = ""cmd.exe /C """"xcopy.exe """""" & strTarget & """""" """""" & strBackupFolder & ""\"" & strName & ""\"""""
OutFile.WriteLine " /D /E /C /S /Y & PAUSE"""""""
OutFile.WriteLine "Call WshShell.Run( ExecCommand )"

OutFile.Close

WScript.Echo "バックアップスクリプト : " &  strName & ".vbs" & " を作成しました"

関連する記事

ディレクトリごと新しいファイルのみをコピーする
XCOPYで新しいファイルのみバックアップする為のスクリプトを作成するスクリプト
ディレクトリ選択


posted by at 2020-08-01 20:34 | VBScript | このブログの読者になる | 更新情報をチェックする

2020年07月28日

インターネットで使う特殊文字一覧 ♔ ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟

NAVER が無くなるので移行しました。

色付き文字 ( Windows10 )

⌛⏳⏩⏪⏫⏬⏭⏮⏯⏰☔☕♿⚓⚡⚪⚫⚽⚾⛄⛅⛎⛔⛪⛲⛳⛵⛹⛺⛽✅✊✋✨❌❎❓❔❕❗➰➿⭐⭕

色付き文字( 127744以降 ) : Windows10

utf8 文字ツール

シンボル
♥ ♪ ♨ ❤ 〄 〆 ⏎ ⁂ ☑ ⛐ ⛟ ⛴ ⛓

☀ ☁ ☂ ☃ ☺ ☻ ☹ ☼ ☽ ☾ ♀ ♁ ♂ ♨ ✆ ✇ ✈ ✉ ✌ ✍ ❤ 〠 〶 ☄ ☎ ☏ ☠ ☢ ☣ ☥☨☯ ♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧ ♩ ♪ ♫ ♬ ♭ ♮ ♯ ⦿ ∞

⚓ ⚡ ⚽ ⚾ ⛄ ⛅ ⛔ ⛳ ⛵ ⛽ ✅ ✊ ✋ ❓ ❔ ❕ ❗ ♿ ❴ ❵ ⌚ ⌛ ⌨ ⍟ ✪

♔ ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟

♃ ♄ ♅ ♆ ♇
( JUPITER SATURN URANUS NEPTUNE PLUTO )

♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓
( 牡羊座 牡牛座 双子座 蟹座 獅子座 乙女座 天秤座 蠍座 射手座 山羊座 水瓶座 魚座 )

~    ㍿   ℃ ⁇ ‼ ⁈ ⁉ ℻

⚀⚁⚂⚃⚄⚅

〼 (ます) 〽 (いおりてん) ゟ (より)

Œ ¿ Ø Þ Ɵ ʘ Ͼ Ͽ Ю Ѳ ჶ ᕰ ᕱ ᕲ ᕳ ᗄ ᗆ ᗉ ᗜ ᗝ ᗢ ᗣ ᗤ ᗧ ↀ ↁ ↂ
漢字部首
⺀ ⺁ ⺄ ⺆ ⺇ ⺈ ⺊ ⺋ ⺌ ⺍ ⺕ ⺗ ⺜ ⺝ ⺥ ⺧ ⺪ ⺬ ⺮ ⺳ ⺶ ⺷ ⺻ ⺼ ⺾ ⻆ ⻊ ⻌ ⻍ ⻏ ⻖ ⻗ ⻞
丸文字
㊑ ㊙ ㊚ ㊛ ㊗ ℗ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝

㊀ ㊁ ㊂ ㊃ ㊄ ㊅ ㊆ ㊇ ㊈ ㊉ ㊊ ㊋ ㊌ ㊍ ㊎ ㊏ ㊐ ㊑ ㊒ ㊓ ㊔ ㊕ ㊖ ㊗ ㊘ ㊙ ㊚ ㊛ ㊜ ㊝ ㊞ ㊟ ㊠ ㊡ ㊢ ㊣      ㊩ ㊪ ㊫ ㊬ ㊭ ㊮ ㊯ ㊰

@ A B C D E F G H I J K L M N O P Q R S ㉑ ㉒ ㉓ ㉔ ㉕ ㉖ ㉗ ㉘ ㉙ ㉚ ㉛ ㉜ ㉝ ㉞ ㉟ ㊱ ㊲ ㊳ ㊴ ㊵ ㊶ ㊷ ㊸ ㊹ ㊺ ㊻ ㊼ ㊽ ㊾ ㊿

㋐ ㋑ ㋒ ㋓ ㋔ ㋕ ㋖ ㋗ ㋘ ㋙ ㋚ ㋛ ㋜ ㋝ ㋞ ㋟ ㋠ ㋡ ㋢ ㋣ ㋤ ㋥ ㋦ ㋧ ㋨ ㋩ ㋪ ㋫ ㋬ ㋭ ㋮ ㋯ ㋰ ㋱ ㋲ ㋳ ㋴ ㋵ ㋶ ㋷ ㋸ ㋹ ㋺ ㋻ ㋼ ㋽ ㋾

❶ ❷ ❸ ❹ ❺ ❻ ❼ ❽ ❾ ❿ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴

➀ ➁ ➂ ➃ ➄ ➅ ➆ ➇ ➈ ➉ ➊ ➋ ➌ ➍ ➎ ➏ ➐ ➑ ➒ ➓

⓵ ⓶ ⓷ ⓸ ⓹ ⓺ ⓻ ⓼ ⓽ ⓾

Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ

ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ ⓪
方向
➡ ▶ ◀ ▷ ◁ ⏎

✑ ✒ ➘ ➙ ➚ ➛ ➜ ➝ ➞ ➟ ➠ ➡ ➢ ➣ ➤ ➥ ➦ ➧ ➨ ➩ ➪ ➫ ➬ ➭ ➮ ➯ ➱ ➲ ➳ ➴ ➵ ➶ ➷ ➸ ➹ ➺ ➻ ➼ ➽ ➾

☚ ☛ ☜ ☝ ☞ ☟▶ ◀ ▷ ◁ ▻ ◅

☇ ← ↑ → ↓ ↔ ↕ ↖ ↗ ↘ ↙ ↚ ↛ ↜ ↝ ↞ ↟ ↠ ↡ ↢ ↣ ↤ ↥ ↦ ↧ ↨ ↩ ↪ ↫ ↬ ↭ ↮ ↯ ↰ ↱ ↲ ↳ ↴ ↵ ↶ ↷ ↸ ↹ ↺ ↻⤴⤵

↼ ↽ ↾ ↿ ⇀ ⇁ ⇂ ⇃ ⇄ ⇅ ⇆ ⇇ ⇈ ⇉ ⇊ ⇋ ⇌ ⇍ ⇎ ⇏ ⇐ ⇑ ⇒ ⇓ ⇔ ⇕ ⇖ ⇗ ⇘ ⇙ ⇚ ⇛ ⇜ ⇝ ⇞ ⇟ ⇠ ⇡ ⇢ ⇣ ⇤ ⇥ ⇦ ⇧ ⇨ ⇩ ⇪
単位
` c j l s ㎐ o p q t

㌀ ㌁ ㌂ e ㌄ ㌅ ㌆ ㌇ ㌈ ㌉ ㌊ ㌋ ㌌ i ㌎ ㌏ ㌐ ㌑ ㌒ ㌓ ` ㌕ ㌖ ㌗ c ㌙ ㌚ ㌛ ㌜ ㌝ ㌞ ㌟ ㌠ ㌡ a k ㌤ ㌥ j d ㌨ ㌩ ㌪ l

㌬ ㌭ ㌮ ㌯ ㌰ ㌱ ㌲ ㌳ ㌴ ㌵ f ㌷ ㌸ ㌹ ㌺ n ㌼ ㌽ ㌾ ㌿ ㍀ ㍁ ㍂ ㍃ ㍄ ㍅ ㍆ ㍇ ㍈ _ m ㍋ ㍌ b ㍎ ㍏ ㍐ g ㍒ ㍓ ㍔ ㍕ ㍖ h

㎀ ㎁ ㎂ ㎃ ㎄ ㎅ ㎆ ㎇ ㎈ ㎉ ㎊ ㎋ ㎌ ㎍ r s ㎐ ㎑ ㎒ ㎓ ㎔ ㎕ ㎖ ㎗ ㎘ ㎙ ㎚ ㎛ o p q ㎟ ㎠ u ㎢ ㎣ ㎤ ㎥ ㎦ ㎧ ㎨ ㎩ ㎪ ㎫ ㎬ ㎭ ㎮

㎯ ㎰ ㎱ ㎲ ㎳ ㎴ ㎵ ㎶ ㎷ ㎸ ㎹ ㎺ ㎻ ㎼ ㎽ ㎾ ㎿ ㏀ ㏁ ㏂ ㏃ t ㏅ ㏆ ㏇ ㏈ ㏉ ㏊ ㏋ ㏌  ㏎ ㏏ ㏐ ㏑ ㏒ ㏓ ㏔ ㏕ ㏖ ㏗ ㏘ ㏙ ㏚ ㏛ ㏜ ㏝
数字
㏠ ㏡ ㏢ ㏣ ㏤ ㏥ ㏦ ㏧ ㏨ ㏩ ㏪ ㏫ ㏬ ㏭ ㏮ ㏯ ㏰ ㏱ ㏲ ㏳ ㏴ ㏵ ㏶ ㏷ ㏸ ㏹ ㏺ ㏻ ㏼ ㏽ ㏾

㍘ ㍙ ㍚ ㍛ ㍜ ㍝ ㍞ ㍟ ㍠ ㍡ ㍢ ㍣ ㍤ ㍥ ㍦ ㍧ ㍨ ㍩ ㍪ ㍫ ㍬ ㍭ ㍮ ㍯ ㍰

⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛

⅐ ⅑ ⅒ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ ⅟ ¼ ½ ¾

T U V W X Y Z [ \ ] Ⅺ Ⅻ @A B C D E F G H I ⅺ ⅻ

㋀ ㋁ ㋂ ㋃ ㋄ ㋅ ㋆ ㋇ ㋈ ㋉ ㋊ ㋋
() 文字
㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩ ㈪ ㈫ ㈬ ㈭ ㈮ ㈯ ㈰   ㈳ ㈴ ㈵ ㈶ ㈷ ㈸  ㈺ ㈻ ㈼ ㈽ ㈾ ㈿ ㉀ ㉁ ㉂ ㉃

⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇

⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵
マーク
☐ ☑ ☒ ✎ ✏ ✓ ✔ ✕ ✖ ✗ ✘ ❍ ❏ ❐ ❑ ❒ ❛ ❜ ❝ ❞ ❡ ❢ ❣ ❤ ❥ ❦ ❧ ✁ ✂ ✃ ✄

❖ ✙ ✚ ✛ ✜ ✝ ✞ ✟ ✠ ✡ ✢ ✣ ✤ ✥ ✦ ✧ ✨ ✩ ✪ ✫ ✬ ✭ ✮ ✯ ✰ ✱

✲ ✳ ✴ ✵ ✶ ✷ ✸ ✹ ✺ ✻ ✼ ✽ ✾ ✿ ❀ ❁ ❂ ❃ ❄ ❅ ❆ ❇ ❈ ❉ ❊ ❋ ҈ ҉ ۝ ۞
罫線
─ ━ │ ┃ ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋ ┌ ┍ ┎ ┏ ┐ ┑ ┒ ┓ └ ┕ ┖ ┗ ┘ ┙ ┚ ┛

├ ┝ ┞ ┟ ┠ ┡ ┢ ┣ ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫ ┬ ┭ ┮ ┯ ┰ ┱ ┲ ┳ ┴ ┵ ┶ ┷ ┸ ┹ ┺ ┻

┼ ┽ ┾ ┿ ╀ ╁ ╂ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋ ╌ ╍ ╎ ╏ ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝

╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ ╭ ╮ ╯ ╰ ╱ ╲ ╳ ╴ ╵ ╶ ╷ ╸ ╹ ╺ ╻ ╼ ╽ ╾ ╿
制御コード
␀ ␁ ␂ ␃ ␄ ␅ ␆ ␇ ␈ ␉ ␊ ␋ ␌ ␍ ␎ ␏ ␐ ␑ ␒ ␓ ␔ ␕ ␖ ␗ ␘ ␙ ␚ ␛ ␜ ␝ ␞ ␟ ␠ ␡
数学
≒ ≈ ∧ ∨ ∴ ≪ ≫ √ ∛ ∜ ∫ ∬ ∭ ≦ ≧

ほぼ等しい
ほぼ等しい
論理積
論理和
ゆえに
非常に小
非常に大
平方根
立方根
4乗根
積分
二重積分
三重積分
数学(集合)
∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍

その他
⁰ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎

※ 下付き文字のサンプル => CO₂

∀ ∁ ∂ ∃ ∄ ∅ ∆ ∇ ∎ ∏ ∐  − ∓ ∔ ∕ ∖ ∗ ∘ ∙ ∝ ∞  ∠ ∡ ∢ ∣ ∤ ‖ ∦

 ∯ ∰ ∱ ∲ ∳ ∵ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≁ ≂ ≃ ≄ ≅ ≆ ≇ ≉ ≊ ≋ ≌ ≍ ≎ ≏ ≐ ≑

≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≠ ≡ ≢ ≣ ≤ ≥ ≨ ≩ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶

≷ ≸ ≹ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⊌ ⊍ ⊎ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛

⊜ ⊝ ⊞ ⊟ ⊠ ⊡ ⊢ ⊣ ⊤ ⊥ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⊻ ⊼ ⊽ ⊾  ⋀ ⋁

⋂ ⋃ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋎ ⋏ ⋐ ⋑ ⋒ ⋓ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭

‰ ‱ ′ ″ ‴ ‵ ‶ ‷ ‸ ‹ › ※ ‼ ‽ ‾ ‿ ⁀ ⁁ ⁂ ⁃ ⁄ ⁅ ⁆ ⁇ ⁈ ⁉

他言語
Ѡ ஔ ௐ ௵ ௸ ൠ ෴
posted by at 2020-07-28 20:23 | インターネット | このブログの読者になる | 更新情報をチェックする

黒薔薇シンデレラ・赤薔薇シンデレラ / ほぼ自由に利用できる制限の緩いフリーフォントたち

⇩⇩⇩⇩ 黒薔薇シンデレラ・赤薔薇シンデレラ のダウンロード ⇩⇩⇩⇩

▼ 黒薔薇シンデレラ


黒薔薇シンデレラは
漢字等をかなに合わせて
縦長+棘加工を施した上で
ぎゅっと詰まっています
ライセンスはM+フォントに準じます

M+フォントについては、こちらを参照するといいと思います

これらのフォントはフリー(自由な)ソフトウエアです。
あらゆる改変の有無に関わらず、また商業的な利用であっても、
自由にご利用、複製、再配布することができますが、
全て無保証とさせていただきます。
▼ 赤薔薇シンデレラ
赤薔薇シンデレラは
M+らしさはそのままに
もっと激しく
トゲトゲさせたものです
▼ 黒薔薇シンデレラ ▼ 赤薔薇シンデレラ
posted by at 2020-07-28 17:44 | フリーフォントで簡単ロゴ作成 | このブログの読者になる | 更新情報をチェックする

2020年07月26日

ざっくりゴシック / ほぼ自由に利用できる制限の緩いフリーフォントたち

⇩⇩⇩⇩ ざっくりゴシック のダウンロード ⇩⇩⇩⇩



ざっくりゴシックって
漢字部分だけ使って
装飾すると
おもしろいと思います。
M+ FONTS
再配布不可

商用利用可能
リンクや利用報告の必要はありません
鉛筆で文字を斜めに塗りつぶしたようなゴシック体です。

とって  もおもしろい
雰囲気ですね
ここでは改行が
大きいので注意が必要です
posted by at 2020-07-26 18:48 | フリーフォントで簡単ロゴ作成 | このブログの読者になる | 更新情報をチェックする

2020年06月07日

clipboard.js で、2種類のクリップボード処理オブジェクトを作成して使い分ける

デモページ

1) TABLE データを TAB と 改行で作成して Excel に貼り付けて使用し、

ページ上のデータを加工して最終的にクリップボードにコピーするので、text プロパティにイベントを設定する

2) 入力した内容をそのままクリップボードに転送する

data-clipboard-target で対象の INPUT を設定する( とても簡単 )

<!DOCTYPE html>
<html>
<head>
<meta content="width=device-width initial-scale=1.0 minimum-scale=1.0 maximum-scale=1.0 user-scalable=no" name="viewport">
<meta charset="utf-8">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js"></script>

<link rel="stylesheet" href="https://lightbox.sakura.ne.jp/demo/two-section.css">
<script>
// clipboard.js が読み取る変数
var clipbpardText = "";
$(function(){

	// **********************************************
	// テーブルデータ用クリップボード処理オブジェクト
	// **********************************************
	var clipboard = 
		// クリップボードへの転送のトリガとなるボタンを第一引数に指定
		new ClipboardJS('#action1' , {
			text: function(trigger) {

				// #action1
				console.dir(trigger);

				// clipboard.js に渡す( このデータがクリップポードに転送される )
				return clipbpardText;
			}
		});

	// **********************************************
	// クリップボードへの転送に成功した時に
	// 実行されるイベント( 無くても良い )
	// **********************************************
	clipboard.on('success', function(e) {
		alert("テーブルデータをクリップボードにコピーしました");
	});

	$("#action1").on("click", function(){
		// **********************************************
		// clipbpardText にクリップボードに転送したい文字列をセットする
		// **********************************************
		var work = "";

		$("#tbl tr").each( function( row_cnt ){

			$(this).find("td,th").each(function( col_cnt ){
				if ( col_cnt != 0 ) {
					work += "\t";
				}
				work += $(this).text();
			});
			work += "\r\n";

		});

		clipbpardText = work;
	})

	// **********************************************
	// テキストボックス用クリップボード処理オブジェクト
	// data-clipboard-target 要素で 対象を設定
	// **********************************************
	var clipboard2 = new ClipboardJS('#action2');

	// **********************************************
	// クリップボードへの転送に成功した時に
	// 実行されるイベント( 無くても良い )
	// **********************************************
	clipboard2.on('success', function(e) {
		alert("テキストボックスの内容をクリップボードにコピーしました");
	});

});
</script>
</head>
<body>
	<div id="head">
		<input type="button" id="action1" value="クリップボードへコピー">

		<input type="button" id="action2" value="クリップボードへコピー" data-clipboard-target="#text">

		<input type="text" id="text" value="このテキスト">
	</div>

	<div id="extend">
		<table class="table">
		<tbody id="tbl">
			<tr><th>社員コード</th><th>氏名</th><th>フリガナ</th><th>所属</th><th>性別</th><th>作成日</th><th>更新日</th><th>給与</th><th>手当</th><th>管理者</th><th>生年月日</th></tr>
			
			<tr><td>0001</td><td>山田 太郎</td><td>ウラオカ トモヤ</td><td>0003</td><td>0</td><td>2005-09-12</td><td>2005-11-28</td><td>400000</td><td>9000</td><td>0001</td><td>2012/03/21</td></tr>
			<tr><td>0002</td><td>山村 洋代</td><td>ヤマムラ ヒロヨ</td><td>0003</td><td>1</td><td>2005-06-17</td><td>2005-09-18</td><td>300000</td><td></td><td>0001</td><td>2001/01/02</td></tr>
			<tr><td>0003</td><td>多岡 冬行</td><td>タオカ フユユキ</td><td>0002</td><td>0</td><td>2005-08-14</td><td>2005-11-14</td><td>250000</td><td></td><td>0001</td><td>2001/01/01</td></tr>
			<tr><td>0004</td><td>高田 冬美</td><td>タカタ フユミ</td><td>0003</td><td>1</td><td>2005-06-13</td><td>2005-10-05</td><td>250000</td><td></td><td>0001</td><td>2001/01/01</td></tr>
			<tr><td>0005</td><td>内高 友之</td><td>ウチタカ トモユキ</td><td>0003</td><td>0</td><td>2005-09-12</td><td>2005-11-10</td><td>150000</td><td></td><td></td><td>2001/01/01</td></tr>

		</tbody>
		</table>

	</div>

</body>
</html>





posted by at 2020-06-07 19:59 | jQuery | このブログの読者になる | 更新情報をチェックする

2020年05月24日

DAZStudio : F3 キーで表示されるダイアログでツールバーのアクションのカスタマイズ

ある日突然 DAZ は設定がなくなるという事が過去何度かありましたが、今日気が付いたらツールバーに登録していたプロダクトが無くなっていて、以前したたためたこの記事で再確認しました。( 再登録できましたが、過去のデータは ?? とか付いていて勝手に DAZ が見失ってました... )


F3 キーも変更できてしまいますが、デフォルトでは F3 キーのようです。


左側のツリーにアクションコマンドの一覧があるので、それを右側のツールバー部分にドラッグ&ドロップすると新しいアクションを追加できます。( ドロップ後ドラッグで移動できます )



特にあったら便利なのは Viewport なので試してみるには最適です。

デフォルトではツールバーは MainTools がありますが、Tools は OFF になっているので表示されません。内容は メニューの Tools と同じなので気にしなくてもいいです。表示されているツールバーと Main が対応しています



プロダクトをツールバーに登録する

プロダクトのアイコンを右クリックして、Create Custom Action を選択すると、Scripts メニューに登録されます。





そうすると、Action ツリーの先頭の Custom にも登録されるので、それをドラッグ&ドロップしてツールバーに登録します






posted by at 2020-05-24 17:11 | DAZStudio | このブログの読者になる | 更新情報をチェックする

2020年05月23日

ジャパンネット銀行から『トークン発送のお知らせ』が来た



カード式になってるのは知ってたので、お、ラッキーという感想です。

JNB は、少額のお金を入れてデビットカードで PayPal に登録して利用したり、今時では結構あちらこちらで支払い方法として JNB が出て来るので一つ持っていたほうがと思います。

トークンがあるので、ログインパスワードは弱めで設定可能です。残高見るだけならけっこう気軽に運用できます。

入出金もその月初回と2回目以降は3万なら手数料無料だし。



さらに、自分でデビットカード作ったり( カードレスVisaデビット )削除したりできるので、海外で危ないところで試す時に使えたりします。


というのが現在の JNB の認識です。



posted by at 2020-05-23 10:03 | 生活 : お金 | このブログの読者になる | 更新情報をチェックする

2020年03月15日

2020 年度 大阪府寝屋川市 B 地区の ゴミカレンダー( A3 ) 印刷用

頼まれたので作成しました。セブンイレブンで USB で持って行くと、カラーで 80円です

▼ ご自由にお使いください
PDF のダウンロード





posted by at 2020-03-15 15:42 | 生活 | このブログの読者になる | 更新情報をチェックする

画狼

まとめ


注目
【VBS】WshShell.Runによる外部プログラムの実行のバリエーションと注意事項複数行のグループデータを1行にまとめるSQL
IE11 ( JScript : UI ) C# PHP JavaScript / jQuery HTML/CSS Android Java その他 WSH ( JScript : バッチ ) JScript を使用して( 拡張子は WSF )、CScript.exe に呼び出されるコンソールアプリケーションです
🍄 【メール送信 : fake sendmail】
fake sendmail for windows でメールを送信する

🐬 【データベース : エクスポート】
.accdb より Excel へのエクスポート
MySQL から Excel へのエクスポート
MySQL から SQLServer へのエクスポート

【データベース : Excel : エクスポート : CSV : 標準出力】
名前の定義がされた範囲をテーブルとして SELECT 文で 標準出力に CSV 出力【HTTP : Msxml2.ServerXMLHTTP : GET】
Msxml2.ServerXMLHTTP の GET で WEB 上の文字列を取得して JSON オブジェクトに変換して利用する【HTTP : Msxml2.ServerXMLHTTP : POST】
簡単にバイナリファイルをアップロードする【PUTをPHPでサポート】

【基本部分】
JScript の基本
MsgBox と InputBox を使う
IE11 ( JScript : UI ) IE11 で画面を作成して、一般的な JavsScript を使用して実行されるアプリケーションです。 ※ ここでできる事は、WSH ( JScript : バッチ ) でも可能です
🍄 【メール】
CDO.Message でメール送信

【データベース : 問合せ】
.accdb のテーブル一覧を jQuery で TABLE に作成する

🏢 【Excel】
新しい Excel の Book を作成する
既存の Book を開いてその中のテンプレートシートをコピーして名前を付けて保存する
ファイルを開くダイアログを使用する

【Windows : プログラム実行】
コマンドプロンプトベースの外部プログラムより情報を取得

【Windows : フォルダ選択】
フォルダを選択して、フォルダ内のフォルダとファイルの一覧を jQuery で表示する

【その他】
jQuery で、selectをタブルクリックした時に OPTION 要素の処理を行うコード
IE11 はブラウザなので、⚡ 通信処理は 【JavaScript / jQuery】 の ajax が利用できます C#
🍄 【メール】
TKMP.DLLを使った、Gmail 用メール送信テンプレート

🔀 【DataGridView】: カラムを作成( 他の一覧処理用 )
Microsoft Access に対してSQLを入力してその結果を DataGridView に表示する最も簡単なコード

🔀 【DataGridView : DBより自動更新】
DataGridView を使用したナチュラルな行データの更新

🔀 【DataGridView】: DB より カラム自動作成
Excel を データベースとして DataGridView に読み込む【WEBアクセス : JSON】
WebClient で JSON データを取得後 Json.NET でオブジェクト化【WEBアクセス : バイナリ】
PHP と連携してバイナリデータを WebClient.UploadDataAsync でそのままアップロードする

🐬 【データベース】
Microsoft Access の接続で、他の RDBMS【ここでは MySQL】にエクスポートを行う

【Windows】
フォームを表示せずに、通知領域にアイコンを表示させる常駐プログラム

🏢 【Excel】
dynamic 型 による Excel へのアクセス

【C# : ラムダ式等】
C# の delegate : メソッドの引数にメソッドを渡して使用する方法
PHP
🍄 【メール】
fake sendmail for windows を使って、PHP でごく普通に mb_send_mail でメール送信【ファイルアップロード】
PHP における標準的なテスト用アップロードのテンプレート

🐬 【データーベース : JSON  : API】
PHP : MySQL から JSON 文字列を返す自作【テスト用】API テンプレート

【データーベース : Microsoft Access : クラス】
家に持ち帰った mdb で簡単に php からアクセスしてテストプログラムを作る【MDBクラス付き】

📷 【画像処理】
PHP : 画像を返す処理( readfile ) と画像を縮小する処理( GD )
JavaScript / jQuery
【HTTP : ajax : GET】
jQuery の $.ajax で JSON 文字列を WEB より取得して TABLE を作成する【HTTP : ajax : アップロード】
一般的な PHP のアップロードページに対して jQuery の $.ajax でファイルをアップロードする【HTTP : ajax : Firebase  JSON】
Firebase の Realtime Database の JSON を jQuery の $.ajax で読み込んで TABLE を作成する【HTTP : Firebase : API】
Firebase に定義した Realtime Database の API を使用して TABLE を作成する

💾 【ファイル : CSV ロード】
FileReader で、ローカルの CSV を読み込んで【shift_jis】、jQuery でテーブルを作成して表示する

📥 【クリップボード : コピー】
clipboard.js で、2種類のクリップボード処理オブジェクトを作成して使い分ける
HTML/CSS
下半分がスクロールするページ
下半分が IFRAME なページ

Bootstrap な単純ページ( レスポンシブ )
Android
【HTTP : JSON】
LiveDoor のお天気情報をリストビューに表示する手順
Java
🐬 【コンソール】
単純な MySQL アクセス【 mysql-connector-java-5.1.47.jar】【コンソール : HTTP : JSON】
Okhttp( GET ) と Google Gson( JSON => オブジェクト ) で WEB アクセス

🐬 【JSP】
JSP で単純な MySQL アクセス 【mysql-connector-java-5.1.47.jar】
データベース System.Data.OleDb で select into 構文を使って簡単に Microsoft Access のデータを他の データベースにエクスポートする データーベース間 テーブルアクセス IN 句による外部参照 Access のエクスポート その他
Apache の index 表示でファイル名が長すぎて省略される場合の設定変更
デスクトップにユーザアイコン

PHP : ユニークなキーの取得
参考
bcp ユーティリティ( Microsoft )
SQL クライアント設定ユーティリティ( Microsoft )
sqlcmd Utility
bcp lightbox..社員マスタ out "c:\TEMP\data.csv" -c -t , -r \n -S localhost -U sa -P password
bcp "select * from lightbox..[商品マスタ]" queryout "c:\TEMP\data.csv" -c -t , -r \n -S localhost -U sa -P password
posted by at 2019-12-30 00:00 | 一覧 | このブログの読者になる | 更新情報をチェックする

2019年11月18日

バッチ処理の為の .wsf スケルトン / cscript.exe での実行を強制する / 自分自身の呼び出し

Wscript.Echo は、Wscript.exe から実行すると、一回の処理毎にメッセージボックスを表示するので、連続処理する場合は避けなければなりません(wscript.exe をタスクマネージャから強制終了する事になります)

Wscript.exe は、通常エクスプローラからダブルクリックでスクリプトを実行した際に使用されるので、誤って実行してしまう事を避ける方法です。以下のサンプルでは、スクリプトにデータを含めて、そのデータをループ処理で表示する処理ですが、コマンドプロンプトからの実行を強制しています( コマンドプロンプトから、cscript.exe を使用しないと Quit されます )


右端のアイコンよりダウンロードできます
<JOB>
<SCRIPT language="VBScript">

' コマンドプロンプトより起動される為の処理
str = WScript.FullName
str = Right( str, 11 )
str = Ucase( str )
if str <> "CSCRIPT.EXE" then
	strMessage = "コマンドプロンプトより cscript " & WScript.ScriptFullName
	strMessage = strMessage & " と指定して実行して下さい   " & vbCrLf & vbCrLf
	strMessage = strMessage & "( この文字列をクリップボードにコピーしたい場合は"
	strMessage = strMessage & "ctrl+c です )"
	WScript.Echo strMessage
	WScript.Quit
end if

aData = Split( getResource("myText"), vbCrLf )
For I = 0 to Ubound( aData )
	if Trim( aData(I) ) <> "" then
		Wscript.Echo aData(I)
	end if
Next

</SCRIPT>

<RESOURCE id="myText">
コード名称マスタ
商品マスタ
得意先マスタ
社員マスタ
取引データ
</RESOURCE>
</JOB>

以下は、Wscript.exe で起動された場合は、cscript.exe で自分自身を呼び出して再度実行しています( 最後にコマンドプロンプトの pause で停止 )
右端のアイコンよりダウンロードできます
<JOB>
<SCRIPT language="VBScript">

' コマンドプロンプトより起動される為の処理
str = WScript.FullName
str = Right( str, 11 )
str = Ucase( str )
if str <> "CSCRIPT.EXE" then
	str = WScript.ScriptFullName
	Set WshShell = Wscript.CreateObject("WScript.Shell")
	strParam = " "
	For I = 0 to Wscript.Arguments.Count - 1
		if instr(Wscript.Arguments(I), " ") < 1 then
			strParam = strParam & Wscript.Arguments(I) & " "
		else
			strParam = strParam & """" & Wscript.Arguments(I) & """ "
		end if
	Next
	Call WshShell.Run( "cmd.exe /c cscript.exe """ & str & """" & strParam & " & pause", 3 )
	WScript.Quit
end if

aData = Split( getResource("myText"), vbCrLf )
For I = 0 to Ubound( aData )
	if Trim( aData(I) ) <> "" then
		Wscript.Echo aData(I)
	end if
Next

</SCRIPT>

<RESOURCE id="myText">
コード名称マスタ
商品マスタ
得意先マスタ
社員マスタ
取引データ
</RESOURCE>
</JOB>


そして、最後は面倒な記述部分を WEB 上に置いて呼び出して実行しています
(Crun と言う関数)
右端のアイコンよりダウンロードできます
<JOB>
<COMMENT>
************************************************************
 WSH 実行スケルトン
************************************************************
</COMMENT>

<COMMENT>
************************************************************
 外部スクリプト定義
************************************************************
</COMMENT>
<SCRIPT
	language="VBScript"
	src="http://lightbox.in.coocan.jp/laylaClass.vbs">
</SCRIPT>

<SCRIPT language="VBScript">
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" )
Call laylaLoadFunction( "baseFunction.vbs" )

Crun()

aData = Split( getResource("myText"), vbCrLf )
For I = 0 to Ubound( aData )
	if Trim( aData(I) ) <> "" then
		Wscript.Echo aData(I)
	end if
Next

</SCRIPT>

<RESOURCE id="myText">
コード名称マスタ
商品マスタ
得意先マスタ
社員マスタ
取引データ
</RESOURCE>
</JOB>






posted by at 2019-11-18 13:52 | VBScript | このブログの読者になる | 更新情報をチェックする

2019年09月21日

WordPress ( 5.x.x ) の 投稿用のエディタ( Gutenberg )を 昔ながらのエディタにする為、functions.php に一行追加

詳細は以下のサイトより
WordPressエディタGutenbergを無効にする方法について(準備ができていない!)

結局 functions.php の先頭に以下を追加しました

add_filter('use_block_editor_for_post', '__return_false', 10);
posted by at 2019-09-21 15:27 | インターネット | このブログの読者になる | 更新情報をチェックする

2019年08月26日

Java : Okhttp( GET ) と Google Gson( JSON => オブジェクト ) で WEB アクセス

Okhttp のダウンロードは、files の jar リンクです。( Maven リポジトリ)

Okhttp は Okiokotlin-stdlib に依存しているのでこれらもダウンロードする必要があります。
import java.io.IOException;

import com.google.gson.Gson;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class Main {

	public static void main(String[] args) {
		
		String url = "https://lightbox.sakura.ne.jp/demo/json/syain_api_bind.php";
		String result = "";
		
		OkHttpClient okHttpClient;		

		okHttpClient = new OkHttpClient();		
		Request.Builder builder = new Request.Builder();
		builder.url(String.format("%s?name=%s", url, "田"));
		Request request = builder.build();

		Response response = null;
		try {
			response = okHttpClient.newCall(request).execute();
			result = response.body().string();
		}
		catch (IOException e) {
			e.printStackTrace();
		}

		System.out.println(result);

		Gson gson = new Gson();

		Syain[] syains = gson.fromJson(result, Syain[].class);

		for (Syain syain : syains) {
			System.out.println(syain.社員コード);
			System.out.println(syain.氏名);
			System.out.println(syain.フリガナ);
		}

	}

	private class Syain {

		public String 社員コード;
		public String 氏名;
		public String フリガナ;

	}

}




posted by at 2019-08-26 22:41 | Java | このブログの読者になる | 更新情報をチェックする

C# : PHP と連携してバイナリデータを WebClient.UploadDataAsync でそのままアップロードする

WebClient.UploadDataAsync Method

バイナリデータは、HTTP のボディ部分で送られるので、ファイル名は HTTP ヘッダにセットして渡します
using System;
using System.IO;
using System.Net;
using System.Windows.Forms;

namespace WebPut
{
	public partial class Form1 : Form
	{
		// 読み込むファイルのパス
		string image_path = @"C:\Users\sworc\Pictures\IMG0330.JPG";

		public Form1()
		{
			InitializeComponent();
		}

		private void button1_Click(object sender, EventArgs e)
		{
			WebClient webClient = new WebClient();
			// ファイル名を HTTP ヘッダーで渡す
			webClient.Headers.Add("UserData", Path.GetFileName(image_path));

			// イベント作成
			webClient.UploadDataCompleted += (object _sender, UploadDataCompletedEventArgs _e) => {

				if (_e.Error != null)
				{
					// エラー
					Console.WriteLine(_e.Error.Message);
				}
				else
				{
					// サーバからの応答( バイト配列なのでテキストに変換 )
					Console.WriteLine(System.Text.Encoding.GetEncoding("UTF-8").GetString(_e.Result));
				}

			};

			// 画像ファイルをバイト配列に読み込む
			FileStream file_stream = new FileStream(image_path, FileMode.Open, FileAccess.Read);
			byte[] bin_buffer = new byte[file_stream.Length];
			file_stream.Read(bin_buffer, 0, (int)file_stream.Length);
			file_stream.Close();

			// バイナリデータアップロード開始
			string access_url = "http://localhost/php/upload/php-put.php";
			webClient.UploadDataAsync(new Uri(access_url), bin_buffer);

		}
	}
}


PHP 側は、php://input を利用した単純なコードです。

php-put.php
<?PHP
header( "Content-Type: text/html; charset=utf-8" );

$id = uniqid();

$fp = fopen( "php://input", "rb" );
$wfp = fopen( "data/{$id}_{$_SERVER["HTTP_USERDATA"]}", "wb" );

while( $ret = fread( $fp, 4096 ) ) {

	fwrite( $wfp, $ret );

}

fclose($wfp);
fclose($fp);

?>
データが保存されました




posted by at 2019-08-26 21:25 | C# | このブログの読者になる | 更新情報をチェックする

C# : WebClient で JSON データを取得後 Json.NET でオブジェクト化( ついでに PropertyInfo でプロパティデータ一覧を foreach で取得 )

Json.NET は ダウンロードボタンで NuGet 用のコマンドラインが表示されます

Json.NET でオブジェクトに変換するだけならば、 { set; get; } でプロパティ化せずとも単純な public な変数の定義で可能です。ここでは、プロパティの名前の一覧を配列で準備して foreach でデータを取得できるように { set; get; } でプロパティ化しています。
using Newtonsoft.Json;
using System;
using System.Net;
using System.Reflection;
using System.Text;
using System.Web;
using System.Windows.Forms;

namespace WebJson
{
	public partial class Form1 : Form
	{

		// フィールド名一覧
		private string[] field_names = {"社員コード", "氏名", "フリガナ", "所属", "性別", "作成日", "更新日", "給与", "手当", "管理者" };

		public Form1()
		{
			InitializeComponent();
		}

		private void action_Click(object sender, EventArgs e)
		{
			WebClient webClient = new WebClient();
			webClient.Encoding = Encoding.GetEncoding("utf-8");

			// DownloadStringCompleted の引数は、https://docs.microsoft.com/ja-jp/dotnet/api/system.net.downloadstringcompletedeventhandler
			webClient.DownloadStringCompleted += (object _sender, DownloadStringCompletedEventArgs _e) => {

				Console.WriteLine(_e.Result);

				// Json.NET は、NuGet でインストールします : Install-Package Newtonsoft.Json
				// https://www.newtonsoft.com/json
				JsonData[] data = JsonConvert.DeserializeObject<JsonData[]>(_e.Result);

				// 画面にデータをセット
				name.Text = data[0].氏名;
				furi.Text = data[0].フリガナ;

				// プロパティ名一覧より、データを取得
				PropertyInfo property;
				string value;
				foreach (string name in field_names)
				{
					property = typeof(JsonData).GetProperty(name);
					value = property.GetValue(data[0]).ToString();
					Console.WriteLine(value);
				}

			};

			// HttpUtility.UrlEncode は System.Web を参照する必要があります
			string access_url_query_string = $"https://lightbox.sakura.ne.jp/demo/json/syain_api_bind.php?name={HttpUtility.UrlEncode("田", Encoding.UTF8)}";

			// WEB データ取得開始
			webClient.DownloadStringAsync(new Uri(access_url_query_string));

		}

		private class JsonData
		{
			// PropertyInfo.GetValue を使用する為に { set; get; } でメソッド化しています
			public string 社員コード { set; get; }
			public string 氏名 { set; get; }
			public string フリガナ { set; get; }
			public string 所属 { set; get; }
			public int 性別 { set; get; }
			public DateTime 作成日 { set; get; }
			public DateTime 更新日 { set; get; }
			public int 給与 { set; get; }
			public int 手当 { set; get; }
			public string 管理者 { set; get; }
		}
	}
}




posted by at 2019-08-26 20:08 | C# | このブログの読者になる | 更新情報をチェックする

IE11 : フォルダを選択して、フォルダ内のフォルダとファイルの一覧を jQuery で表示する

Windows の標準の COM では、ファイルを選択するダイアログを使用できません。( Excel がインストールされておれば使えます )

しかし、Shell.Application を使用すれば、フォルダの選択は可能なうえにファイルの一覧をフォルダオブジェクトより取得して利用可能です。

<!DOCTYPE html>
<html>
<head>
<meta content="width=device-width initial-scale=1.0 minimum-scale=1.0 maximum-scale=1.0 user-scalable=no" name="viewport">
<meta charset="utf-8">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.css">

<link rel="stylesheet" href="https://lightbox.sakura.ne.jp/demo/two-section.css">

<script>
// Windows Shaell
var objShell = new ActiveXObject("Shell.Application");

$(function(){

	$("#action").on("click", function(){

		buildTable( );

	});

});

// ******************************
// jQuery でテーブル作成
// ******************************
function buildTable( ){

	// 1:0固定, 2:タイトル, 3:1はファイルシステムのみ, 4:0はルートがデスクトップ
	// 4:https://docs.microsoft.com/en-us/windows/win32/api/shldisp/ne-shldisp-shellspecialfolderconstants
	var objFolder = objShell.BrowseForFolder( 0, "フォルダ選択", 1, 0 );
	if ( objFolder == null ) {
		alert("フォルダの選択がキャンセルされました");
		return;
	}
	if ( !objFolder.Self.IsFileSystem ) {
		alert("ファイルシステムではありません");
		return;
	}

	// TABLE 部分クリア
	$("#tbl").html("");

	var objFolderItems = objFolder.Items();

	var nFiles = objFolderItems.Count;
	var arrData = [];

	// フォルダとファイルの一覧を配列にセット
	var nFiles = objFolderItems.Count;
	for( i = 0; i < nFiles; i++ ) {
		var objItem = objFolderItems.Item(i)
		// フォルダの場合
		if ( objItem.isFolder ) {
			arrData.push( " [" + objItem.Name +"]" );
		}
		else {
			arrData.push( objItem.Name );
		}
	}

	arrData.sort();
	arrData.unshift("-------------------------------------------------------------");
	// 選択したフォルダのパス
	arrData.unshift(objFolder.Self.Path);

	// TABLE に一覧を作成する
	for( i = 0; i < nFiles; i++ ) {
		var tr = $("<tr class='rowdata'></tr>")
			.appendTo("#tbl");

		$("<td></td>")
			.appendTo(tr)
			.text(arrData[i]);
	}

}
</script>

</head>
<body>
	<div id="head">
		<input
			id="action"
			class="ml-4 btn btn-outline-primary"
			type="button"
			value="フォルダ選択">
	</div>

	<div id="extend">
		<table class="table">
		<tbody id="tbl">

		</tbody>
		</table>

	</div>

</body>
</html>










posted by at 2019-08-26 13:30 | IE | このブログの読者になる | 更新情報をチェックする

2019年08月25日

PHP : 画像を返す処理( readfile ) と画像を縮小する処理( GD )

この PHP を指定ファイル名で呼び出すと、幅を 100px で縮小された画像を返します( 無ければ縮小画像を返します )。

▼ 縮小
imagecopyresampled
<?php
$debug = false;

// *************************************
// 画像があるフォルダの相対パス
// *************************************
$image_dir = 'images';

// *************************************
// QueryString より対象の
// 画像ファイル名を取得
// *************************************
$file = "{$image_dir}/{$_GET['name']}";

// *************************************
// 画像が存在しない場合は、
// エラー用の画像をブラウザに返す
// *************************************
if ( !file_exists( $file ) || $_GET['name'] == '' ) {
	header("Content-Type: image/png");
	$file = "{$image_dir}/error.png";
	header('Content-Length: ' . filesize($file));
	readfile($file);
	exit();
}

// *************************************
// ファイルの MIME を取得
// *************************************
$mime = image_type_to_mime_type( exif_imagetype( $file ) );

// *************************************
// ファイル名から拡張子を除いた部分を
// 取得して、縮小ファイルのファイルの
// パスを作成する( .jpg )
// *************************************
$path_parts = pathinfo($_GET['name']);
$small_file = "{$image_dir}/s/{$path_parts['filename']}.jpg";

// *************************************
// 縮小ファイルがなければ作成して
// ブラウザに返す、あればそのまま返す
// *************************************
if ( !file_exists( $small_file ) ) {
	if ( ImageConvert( $image_dir, $_GET['name'], exif_imagetype( $file ) ) ) {
		header("Content-Type: image/jpeg");
		header('Content-Length: ' . filesize($small_file));
		readfile($small_file);
	}
	else {
		// 縮小に失敗した場合は、大きい元のファイルを返す
		header("Content-Type: {$mime}");
		header('Content-Length: ' . filesize($file));
		readfile($file);
	}
}
else {
	header("Content-Type: image/jpeg");
	header('Content-Length: ' . filesize($small_file));
	readfile($small_file);
}

// *************************************
// ファイルを縮小して保存
// *************************************
function ImageConvert( $dir, $filename, $type ) {

log_print( "$dir, $filename, $type" );

	// *************************************
	// ファイルの属性等を取得
	// *************************************
	$target	= getimagesize( "$dir/$filename" );

log_print( print_r($target,true) );
 
	// 現在のサイズ
	$width	= $target[0];
	$height	= $target[1];

	$width_new	= 100;	// 幅固定

	// *************************************
	// 縮小後の高さを計算で求める
	// *************************************
	$height_new = (int)( ($height/$width)*$width_new );

	$target_path = "$dir/$filename";

	$jpeg = false;

	// *************************************
	// 画像の種類によって、オブジェクト作成方法を選択する
	// *************************************
	if ( $type == 2 ) {
		$jpeg = @imagecreatefromjpeg( $target_path );
	}
	if ( $type == 3 ) {
		$jpeg = @imagecreatefrompng( $target_path );
	}
	if ( $type == 4 ) {
		$jpeg = @imagecreatefromgif( $target_path );
	}
	if ( $jpeg === false ) {
		return false;
	}

log_print( "現画像取得" );

	// *************************************
	// 新しい空のイメージ
	// *************************************
	$jpeg_new = @imagecreatetruecolor( $width_new, $height_new );
	if ( $jpeg_new === false ) {
		return false;
	}

log_print( "新しい画像取得" );

	// *************************************
	// サイズ変更して新しいイメージへ転送
	// *************************************
	$ret = @imagecopyresampled(
		$jpeg_new,
		$jpeg,
		0,
		0,
		0,
		0,
		$width_new,
		$height_new,
		$width,
		$height
	);

	if ( !$ret ) {
		return false;
	}

log_print( "縮小完了" );

	// *************************************
	// JPEG ファイルとして、
	// クオリティ 75 で出力
	// *************************************
	$path_parts = pathinfo($filename);
	$ret = @imagejpeg ( $jpeg_new, "$dir/s/{$path_parts['filename']}.jpg", 75 );
	if ( !$ret ) {
		return false;
	}

log_print( "ファイル出力完了:$dir/s/{$path_parts['filename']}.jpg" );

	return true;
}


// *************************************
// デバッグログ
// *************************************
function log_print( $msg ) {

	if ( !$GLOBALS['debug'] ) {
		return false;
	}

	file_put_contents("debug.log", $msg ,FILE_APPEND );
	file_put_contents("debug.log", "\n" ,FILE_APPEND );

}


?>





posted by at 2019-08-25 22:06 | PHP | このブログの読者になる | 更新情報をチェックする