SQLの窓

2014年08月22日


Auto-Translate(Chrome 拡張) が、Chromeウェブストアから削除されていました

Auto-Translateが、Chromeウェブストアから削除されていました
※ 以下を参照して、代替にinstant translate が使えると思います。
Auto-Translateがウェブストアから削除。代替にinstant translate - NAVER まとめ

オプションの最後に、『統計情報を収集する事に同意する』というような事が書かれているので、気になるのであれば disable にするといいと思います。


▼ 以下は以前の記事内容
(Auto-Translateのオプションについて)

たいした実害はありませんが、良く解らない広告のようなものが、画像の下に表示される事があります。



オプションで、このチェックを外して下さい。

これは、Superfish と言って、海外対象の画像から価格を比較する機能らしいのですが、日本では全く意味がありません。無意味に画像の下に現れる事が多いです。これは、自分のブラウザだけがなるものですが、うっかりそのサイトの新しい広告だと思ってしまう場合があります。

インストール時に以下のような表示がされたはずです。





posted by lightbox at 2014-08-22 15:09 | Google Chrome | このブログの読者になる | 更新情報をチェックする

2014年08月13日


VBScript : ネイティブ(CAPICOM.Utilities) Base64 エンコード

Stream オブジェクトと併用するのがミソです。この場合、Shift_JIS の文字列を Base64 に変換します。

Microsoft のドキュメント

Utilities Object (Windows)

関連する記事

VBScript : ネイティブ SHA1、MD5、SHA256 変換
Set CAPIUtil = CreateObject( "CAPICOM.Utilities" )
Set Stream = CreateObject("ADODB.Stream")
Set StreamBin = CreateObject("ADODB.Stream")

'******************************
' Base64 エンコード
'******************************
Stream.Open
Stream.Charset = "shift_jis"
' shift_jis で入力文字を書き込む
Stream.WriteText "日本語表示OK"
Stream.Position = 0

' バイナリで開く
StreamBin.Open
StreamBin.Type = 1

' テキストをバイナリに変換
Stream.CopyTo StreamBin
Stream.Close

' 読み込みの為にデータポインタを先頭にセット
StreamBin.Position = 0

' 変換
strBinaryString = CAPIUtil.ByteArrayToBinaryString( StreamBin.Read )
strBase64 = CAPIUtil.Base64Encode( strBinaryString )
' 長い文字列は仕様として、(\r\n を含めて 76) 改行されます
strBase64 = Replace(strBase64,vbCrLf,"")

Wscript.Echo strBase64



タグ:Base64 CAPICOM
posted by lightbox at 2014-08-13 23:32 | VBS + オブジェクト | このブログの読者になる | 更新情報をチェックする

VBScript で、スクリプト(Windows Script Component)をオブジェクトとして直接使う方法

guid を設定して、COM として登録する方法がありますが、スクリプトのパスを指定して実行する方法です

Windows Script Component

my_const.wsc
<component>
<public>
<method name="get_value"></method>
</public>
<script language="VBScript">
sub get_value(ByRef my_const)
	my_const = "2014/08/13"
end sub
</script>
</component>


test.vbs
Set my_script_obj = GetObject("script:C:\user\my_const.wsc")
data = 0
call my_script_obj.get_value( data )
WScript.Echo data


タグ:VBScript
posted by lightbox at 2014-08-13 02:04 | VBS + オブジェクト | このブログの読者になる | 更新情報をチェックする

2014年08月08日


CSS/jQuery : 『display:table-cell』 と 『margin:auto』 と 『vertical-align:middle』 を使用して、吹き出し画像の中央に文章を表示する

display:table-cell は、IE は IE8 以降で使用できます。そもそも、ブロック要素を簡単に横並びにできるので便利ですが、内部の要素を『vertical-align: middle』で上下で中央に配置する事もでき、とてもこのような表示にうってつけです。

さらに、内部で浮島のように浮いた状態のブロック要素を 『margin:30px auto 0』と設定しなおして画像のデザインに合わせて微調整しています。

また、浮島内のテキストの振る舞いは、『text-align』で決定します。
吹き出し内の中央に文章を配置しています
吹き出し内
の中央に文章を配置
しています
<style>
.box {
	background: url(http://winofsql.jp/js/balloon/orange_balloon.png) center center no-repeat;
	width: 323px;
	height: 278px;
	border: solid 1px #000;
	display: table-cell;
	vertical-align: middle;
}
.inbox {
	width: 200px;
	border: dashed 1px #B8561D;
	margin: auto;
	font-weight: bold;
	font-size: 18px;
}

.center {
	text-align: center;
	margin: 30px auto 0;
}
</style>
<div class="box">
	<div class="inbox">
	吹き出し内の中央に文章を配置しています
	</div>
</div>
<div class="box">
<pre class="inbox center">吹き出し内
の中央に文章を配置
しています</pre>
</div>

以下は、その様子を左側の BOX について、順番に jQuery で実装していったものです。( 順次実行していくと、Firefox の挙動が少し変です / 最終的には同じですが・・・ )



jQuery
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<style>
.inbox_base {
	width: 200px;
	border: dashed 1px #B8561D;
	font-weight: bold;
	font-size: 18px;
}
</style>

<script type="text/javascript">

$(function(){

	// ボタン1
	$("#add_attr1")
		.attr("type", "button")
		.val("エリア定義")
		.click(function(){
			$(".div_add_attr1,.div_add_attr2")
				.css({
					"background" : "url(http://winofsql.jp/js/balloon/orange_balloon.png) center center no-repeat",
					"width": "323px",
					"height": "278px",
					"border": "solid 1px #000"
				});
		});

	// ボタン2
	$("#add_attr2")
		.attr("type", "button")
		.val("table-cellで横並び")
		.click(function(){
			$(".div_add_attr1,.div_add_attr2")
				.css({
					"display" : "table-cell"
				});
		});

	// ボタン3
	$("#add_attr3")
		.attr("type", "button")
		.val("内部DIV追加")
		.click(function(){
			$("<div id='inbox_001'></div>").appendTo( $(".div_add_attr1") )
				.text("吹き出し内の中央に文章を配置しています")
				.addClass("inbox_base");
		});

	// ボタン4
	$("#add_attr4")
		.attr("type", "button")
		.val("内部DIVに margin:auto で左右均等")
		.click(function(){
			$("#inbox_001")
				.css({
					"margin" : "auto"
				});
		});

	// ボタン5
	$("#add_attr5")
		.attr("type", "button")
		.val("外側DIVに vertical-align: middle で上下均等")
		.click(function(){
			$(".div_add_attr1")
				.css({
					"vertical-align" : "middle"
				});
		});

	// ボタン6
	$("#add_attr6")
		.attr("type", "button")
		.val("内部DIV内のテキストを中央揃え")
		.click(function(){
			$("#inbox_001")
				.css({
					"text-align" : "center"
				});
		});
});

</script>
<input id="add_attr1">
<input id="add_attr2">
<input id="add_attr3">
<br>
<input id="add_attr4">
<input id="add_attr5">
<br>
<input id="add_attr6">
<div class="div_add_attr1"></div>
<div class="div_add_attr2"></div>



タグ:jquery CSS
posted by lightbox at 2014-08-08 17:33 | CSS3 | このブログの読者になる | 更新情報をチェックする

2014年08月06日


VBScript で半角カナから全角カナへ変換するのに、php の mb_convert_kana を呼び出す

mb_convert_kana で変換できる内容は多岐に渡りますし、それを VBScript でわざわざ実装するコストはちょっともったいないので VBScript から http で呼び出して変換するサンプルです。
VBScript
Set objHTTP = Wscript.CreateObject("Msxml2.ServerXMLHTTP")
Set Stream = Wscript.CreateObject("ADODB.Stream")
Set Stream2 = Wscript.CreateObject("ADODB.Stream")
Set StreamBin = Wscript.CreateObject("ADODB.Stream")

Dim strTargetUrl : strTargetUrl = "http://localhost/user/convert_kana.php"

Wscript.Echo WEBConvSend("アイウエオガギグゲゴ","KV")

' ***************************
' 投稿
' ***************************
Function WEBConvSend(s,t)

	Dim strData

	strData = "t=" & t & "&s=" & URLEncode(s)

	Call objHTTP.Open("POST",strTargetUrl,False)
	Call objHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
	Call objHTTP.SetRequestHeader("Content-Length",Len(strData))
	Call objHTTP.Send(strData)

	WEBConvSend = objHTTP.ResponseText

End Function

' ***************************
' URLエンコード
' ***************************
Function URLEncode(str)

	Dim Buffer,LineBuffer,i,CWork

	Stream.Open
	Stream.Charset = "shift_jis"
	' shift_jis で入力文字を書き込む
	Stream.WriteText str
	' コピーの為にデータポインタを先頭にセット
	Stream.Position = 0
 
	Stream2.Open
	Stream2.Charset = "utf-8"
	' shift_jis を euc-jp に変換
	Stream.CopyTo Stream2
	Stream.Close

	' コピーの為にデータポインタを先頭にセット
	Stream2.Position = 0

	' バイナリで開く
	StreamBin.Open
 	StreamBin.Type = 1

	' テキストをバイナリに変換
	Stream2.CopyTo StreamBin
	Stream2.Close

	' 読み込みの為にデータポインタを先頭にセット
	StreamBin.Position = 0

	Buffer = ""
	StreamBin.Read(3)
	Do while not StreamBin.EOS
		LineBuffer = StreamBin.Read(16)
 
		For i = 1 to LenB( LineBuffer )
			CWork = MidB(LineBuffer,i,1)
			Cwork = AscB(Cwork)
			Cwork = Hex(Cwork)
			Cwork = Ucase(Cwork)
			if Len(Cwork) = 1 then
				Buffer = Buffer & "%0" & Cwork
			else
				Buffer = Buffer & "%" & Cwork
			end if
		Next
 
	Loop

	StreamBin.Close

	URLEncode = Buffer

End Function


PHP : convert_kana.php


タグ:VBScript PHP
posted by lightbox at 2014-08-06 16:49 | VBS + インターネット | このブログの読者になる | 更新情報をチェックする

VBScript : URLEncode( OAuth 用 rfc3986 )

VBScript で、コード内の文字列を UTF-8 に変換してから、一旦全てパーセントエンコードし、目的の仕様に沿って一部の文字を元に戻しています。

※ rfc3986 は、PHP 5.3.x における rawurlencode です。

関連する記事

   PHP / JavaScript / ASP / PowerShell / python / Framework(バージョン別) : 処理別の urlencode の結果の違い
 VBScript : Twitter API を呼び出して投稿する
Set Stream = Wscript.CreateObject("ADODB.Stream")
Set Stream2 = Wscript.CreateObject("ADODB.Stream")
Set StreamBin = Wscript.CreateObject("ADODB.Stream")

strData = "status=" & rfc3986_convert(URLEncode(strText))

' ********************************************
' SHIFT_JIS を UTF-8 に変換して URLエンコード
' ※ 全ての文字をパーセントエンコーディングします
' ********************************************
Function URLEncode(str)

	Stream.Open
	Stream.Charset = "shift_jis"
	' shift_jis で入力文字を書き込む
	Stream.WriteText str
	' コピーの為にデータポインタを先頭にセット
	Stream.Position = 0
 
	Stream2.Open
	Stream2.Charset = "utf-8"
	' shift_jis を utf-8 に変換
	Stream.CopyTo Stream2
	Stream.Close

	' コピーの為にデータポインタを先頭にセット
	Stream2.Position = 0

	' バイナリで開く
	StreamBin.Open
 	StreamBin.Type = 1

	' テキストをバイナリに変換
	Stream2.CopyTo StreamBin
	Stream2.Close

	' 読み込みの為にデータポインタを先頭にセット
	StreamBin.Position = 0

	Buffer = ""
	' BOMを取り去る
	StreamBin.Read(3)
	Do while not StreamBin.EOS
		LineBuffer = StreamBin.Read(16)
 
		For i = 1 to LenB( LineBuffer )
			CWork = MidB(LineBuffer,i,1)
			Cwork = AscB(Cwork)
			Cwork = Hex(Cwork)
			Cwork = Ucase(Cwork)
			if Len(Cwork) = 1 then
				Buffer = Buffer & "%0" & Cwork
			else
				Buffer = Buffer & "%" & Cwork
			end if
		Next
 
	Loop

	StreamBin.Close

	URLEncode = Buffer

End Function

' ********************************************
' 仕様を明確にする為に単純変換
' ********************************************
Function rfc3986_convert(str)

	Dim strResult,I,strWork

	strResult = str

	strResult = Replace(strResult,"%2D", "-")
	strResult = Replace(strResult,"%2E", ".")

	' 0〜9
	For I = &H30 to &H39
		strWork = Hex(I)
		strWork = "%" & Ucase(strWork)
		strResult = Replace(strResult,strWork, Chr(I))
	Next

	' A〜Z
	For I = &H41 to &H5A
		strWork = Hex(I)
		strWork = "%" & Ucase(strWork)
		strResult = Replace(strResult,strWork, Chr(I))
	Next

	strResult = Replace(strResult,"%5F", "_")

	' a〜z
	For I = &H61 to &H7A
		strWork = Hex(I)
		strWork = "%" & Ucase(strWork)
		strResult = Replace(strResult,strWork, Chr(I))
	Next

	strResult = Replace(strResult,"%7E", "~")
	
	rfc3986_convert = strResult

End Function


以下はいろいろな処理系の URLEncode か、またはそれに相当する変換の一部分です
1PHP : urlencode
2PHP : rawurlencode : 5.2.x
3PHP : rawurlencode : 5.3.x
4JavaScript : encodeURI
5JavaScript : encodeURIComponent
6ASP : Server.URLEncode
( Server.URLEncode(chr(I))で変換できない文字があります )
7PowerShell : [System.Web.HttpUtility]::UrlEncode
8python 2.6.2 : urllib.quote
9js2 と同じ : VS2010 Uri.EscapeDataString
10php3 と同じ : VS2012 Uri.EscapeDataString
11ps の ' が %27 : VS2010 HttpUtility.UrlEncode

    php1 php2 php3 js1 js2 asp ps py fw4 fw4.5 fw
    1 2 3 4 5 6 7 8 9 10 11
0   %00 %00 %00 %00 %00   %00 %00 %00 %00 %00
32   + %20 %20 %20 %20 + + %20 %20 %20 +
33 【!】 %21 %21 %21 ! ! %21 ! %21 ! %21 !
34 【"】 %22 %22 %22 %22 %22 %22 %22 %22 %22 %22 %22
35 【#】 %23 %23 %23 # %23 %23 %23 %23 %23 %23 %23
36 【$】 %24 %24 %24 $ %24 %24 %24 %24 %24 %24 %24
37 【%】 %25 %25 %25 %25 %25 %25 %25 %25 %25 %25 %25
38 【&】 %26 %26 %26 & %26 %26 %26 %26 %26 %26 %26
39 【'】 %27 %27 %27 ' ' %27 ' %27 ' %27 %27
40 【(】 %28 %28 %28 ( ( %28 ( %28 ( %28 (
41 【)】 %29 %29 %29 ) ) %29 ) %29 ) %29 )
42 【*】 %2A %2A %2A * * %2A * %2A * %2A *
43 【+】 %2B %2B %2B + %2B %2B %2B %2B %2B %2B %2B
44 【,】 %2C %2C %2C , %2C %2C %2C %2C %2C %2C %2C
45 【-】 - - - - - %2D - - - - -
46 【.】 . . . . . %2E . . . . .
47 【/】 %2F %2F %2F / %2F %2F %2F / %2F %2F %2F


posted by lightbox at 2014-08-06 11:10 | VBS + インターネット | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり