SQLの窓

2010年08月27日


JS : 正規表現置換基本テスト

HTML の記述そのものを、HTML 上で表現する為の文字列の置換のテストを
行う HTML( +JavaScript ) です。

※ /g で全て置換する事が解ると思います。
※ サンプルは、charset=euc-jp であることに注意してください





<html>
<head>
<META http-equiv="Content-type" content="text/html; charset=euc-jp" />
<title>JavaScript 正規表現置換基本テスト</title>
<script type="text/javascript">

function act_replace( ev ) {

	txt = document.getElementsByName("text")[0].value;

	txt = txt.replace( /&/g, "&amp;" );
	txt = txt.replace( /</g, "&lt;" );
	txt = txt.replace( />/g, "&gt;" );

	document.getElementById("area").innerHTML = txt;

}

function act_replace_no( ev ) {

	txt = document.getElementsByName("text")[0].value;

	document.getElementById("area").innerHTML = txt;

}

function act_replace_nog( ev ) {

	txt = document.getElementsByName("text")[0].value;

	txt = txt.replace( /&/, "&amp;" );
	txt = txt.replace( /</, "&lt;" );
	txt = txt.replace( />/, "&gt;" );

	document.getElementById("area").innerHTML = txt;

}

</script>

</head>
<body>

<textarea
	name="text"
	style='width:400px;height:100px;'
>&lt;input type="text"&gt;
&lt;input type="text"&gt;</textarea>
<br />
<input type="button" value="置換する" onclick="act_replace(event);">
<input type="button" value="そのまま" onclick="act_replace_no(event);">
<input type="button" value="g無し置換" onclick="act_replace_nog(event);">
<br />
<pre id="area"></pre>


</body>
</html>



posted by lightbox at 2010-08-27 15:44 | JavaScript 正規表現 | このブログの読者になる | 更新情報をチェックする

2010年08月12日


シャットダウンダイアログを開くスクリプトと、シャットダウンするスクリプト

シャットダウンダイアログを開くスクリプトが二つ、シャットダウンするスクリプトが二つです。

スクリプトと言っても、それぞれひとつづつはコマンドラインで実行するアプリケーションです。 shutdown は、リモートデスクトップで接続している PC をシャットダウンする場合に使用可能です。
これはもともとシャットダウンダイアログを開く為のメソッドを実行しているものです。この後、実際にシャットダウンするには、キーストロークを送る事によって可能です。
Set Shell = Wscript.CreateObject( "Shell.Application" )
Shell.ShutdownWindows()


タスクの強制終了のはずなのですが、エクスプローラは終了する前に確認ダイアログを表示する仕様になっているようで、結果的にひとつ前のコードと同じ動作をしてしまいました。エクスプローラの再起動は こちらのスクリプト で可能ですが、Windows が再起動するのでは無く、エクスプローラのみ再起動します
Set WshShell = Wscript.CreateObject( "WScript.Shell" )
Call WshShell.Run("taskkill /im explorer.exe", 0 )


コマンドプロンプトから実行可能なシャットダウン方法です
Set WshShell = Wscript.CreateObject( "WScript.Shell" )
Call WshShell.Run("shutdown -s -t 0", 0 )


スクリプトを用いた最も汎用的なサンプルです。他の定数を使用して、ログオフやリプートも可能です
Const LOGOFF = 0
Const SHUTDOWN = 1
Const REBOOT = 2
Const FORCED_LOGOFF = 4
Const FORCED_SHUTDOWN = 5
Const FORCED_REBOOT = 6
Const POWEROFF = 8
Const FORCED_POWEROFF = 12

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & _
	"{impersonationLevel=impersonate,(Shutdown)}!\\" & _
	strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
	ObjOperatingSystem.Win32Shutdown(SHUTDOWN)
Next



posted by lightbox at 2010-08-12 17:51 | VBS + Shell | このブログの読者になる | 更新情報をチェックする

Seesaa の仕様変更で、SyntaxHighlighter の先頭行に <!-- MATCH SEESAA : NO FLOATING --> が入ってしまうので対処

こちらでは、shLegacy.js を使って、ページロード終了後では無く、その都度
ソースコードがロードされた直後で適用しているので、shLegacy.js の変更で
うまくいってますが、shLegacy.js を使って無い場合は、shCore.js の中の
highlight の中で実行する必要があると思います
var dp = {
	SyntaxHighlighter : {}
};

dp.SyntaxHighlighter = {
	parseParams: function(
						input,
						showGutter, 
						showControls, 
						collapseAll, 
						firstLine, 
						showColumns
						)
	{
		function getValue(list, name)
		{
			var regex = new XRegExp('^' + name + '\\[(?<value>\\w+)\\]$', 'gi'),
				match = null
				;
			
			for (var i = 0; i < list.length; i++) 
				if ((match = regex.exec(list[i])) != null)
					return match.value;
			
			return null;
		};
		
		function defaultValue(value, def)
		{
			return value != null ? value : def;
		};
		
		function asString(value)
		{
			return value != null ? value.toString() : null;
		};

		var parts = input.split(':'),
			brushName = parts[0],
			options = {},
			straight = { 'true' : 'true' }
			reverse = { 'true' : 'false' },
			result = null,
			defaults = SyntaxHighlighter.defaults
			;
		
		for (var i in parts)
			options[parts[i]] = 'true';

		showGutter = asString(defaultValue(showGutter, defaults.gutter));
		showControls = asString(defaultValue(showControls, defaults.toolbar));
		collapseAll = asString(defaultValue(collapseAll, defaults.collapse)); 
		showColumns = asString(defaultValue(showColumns, defaults.ruler));
		firstLine = asString(defaultValue(firstLine, defaults['first-line'])); 
		
		result = {
			brush			: brushName,
			gutter			: defaultValue(reverse[options.nogutter], showGutter),
			toolbar			: defaultValue(reverse[options.nocontrols], showControls),
			collapse		: defaultValue(straight[options.collapse], collapseAll),
			ruler			: defaultValue(straight[options.showcolumns], showColumns),
			'first-line'	: defaultValue(getValue(parts, 'firstline'), firstLine)
		};
		
		return result;
	},
	
	HighlightAll: function(
						name, 
						showGutter /* optional */, 
						showControls /* optional */, 
						collapseAll /* optional */, 
						firstLine /* optional */, 
						showColumns /* optional */
						)
	{
		function findValue()
		{
			var a = arguments;
			
			for (var i = 0; i < a.length; i++) 
			{
				if (a[i] === null) 
					continue;
				
				if (typeof(a[i]) == 'string' && a[i] != '') 
					return a[i] + '';
				
				if (typeof(a[i]) == 'object' && a[i].value != '') 
					return a[i].value + '';
			}
			
			return null;
		};

		function findTagsByName(list, name, tagName)
		{
			var tags = document.getElementsByTagName(tagName);
			
			for (var i = 0; i < tags.length; i++) 
				if (tags[i].getAttribute('name') == name) 
					list.push(tags[i]);
		}

		var userAgent = window.navigator.userAgent.toLowerCase();
		var appVersion = window.navigator.appVersion.toLowerCase();

		if (userAgent.indexOf("opera") > -1) {
			SyntaxHighlighter.all();
			return;
		}

		var elements = [],
			highlighter = null,
			registered = {},
			propertyName = 'innerHTML'
			;
		
		// for some reason IE doesn't find <pre/> by name, however it does see them just fine by tag name... 
		findTagsByName(elements, name, 'pre');
		findTagsByName(elements, name, 'textarea');

		if (elements.length === 0)
			return;
		
		for (var i = 0; i < elements.length; i++)
		{
			var element = elements[i],
				params = findValue(
					element.attributes['class'], element.className, 
					element.attributes['language'], element.language
					),
				language = ''
				;
			
			if (params === null) 
				continue;

			var str = element.firstChild.nodeValue;
			if ( str == ' MATCH SEESAA : NO FLOATING ' ) {
				element.removeChild( element.firstChild );
			}

			params = dp.SyntaxHighlighter.parseParams(
				params,
				showGutter, 
				showControls, 
				collapseAll, 
				firstLine, 
				showColumns
				);

			SyntaxHighlighter.highlight(params, element);
		}
	}
};



posted by lightbox at 2010-08-12 15:00 | 記録 | このブログの読者になる | 更新情報をチェックする

VB.net : IPアドレスを IPv4 と IPv6 に区別して取得する

PC の構成によって、IPv6 も使用される場合、通常の IPv4 と区別して情報を取り出す必要があります
Module Module1

    Sub Main()

		' コンピュータ名
		Dim HostName As String = System.Net.Dns.GetHostName()

		System.Console.WriteLine(HostName)

		Dim HostIP() As System.Net.IPAddress
		Dim HostIPAdress As String = ""

		HostIP = System.Net.Dns.GetHostEntry(HostName).AddressList

		For idx As Integer = 0 To HostIP.Length - 1
			' IP version 4 : InterNetwork
			If HostIP(idx).AddressFamily = Net.Sockets.AddressFamily.InterNetwork Then
				HostIPAdress = HostIP(idx).ToString
				System.Console.WriteLine(HostIPAdress)
			End If
			'  InterNetworkV6 は IPv6
			If HostIP(idx).AddressFamily = Net.Sockets.AddressFamily.InterNetworkV6 Then
				System.Console.WriteLine(HostIP(idx).IsIPv6LinkLocal)
				HostIPAdress = HostIP(idx).ToString
				System.Console.WriteLine(HostIPAdress)
			End If
		Next

		System.Console.ReadLine()

	End Sub

End Module




posted by lightbox at 2010-08-12 14:46 | VB.NET : 通信 | このブログの読者になる | 更新情報をチェックする

2010年08月07日


Windows7 の何かを開くコマンドライン

オリジナルページは、ロシア語ページなのでかなり見にくいと思い、取って来ました。何が開くか解りませんが、control.exe の /page はけっこう貴重だと思います。
%CommonProgramFiles%\Microsoft Shared\Ink\mip.exe
%ProgramFiles%\DVD Maker\DVDMaker.exe
%ProgramFiles%\Windows Media Player\wmplayer.exe /prefetch:1
%UserProfile%\AppData\Roaming\Microsoft\Windows\Libraries\Documents.library-ms
%windir%\ehome\ehshell.exe
control.exe /name Microsoft.ActionCenter
control.exe /name Microsoft.ActionCenter /page pageAdvSettings
control.exe /name Microsoft.ActionCenter /page pageDisplaySolution
control.exe /name Microsoft.ActionCenter /page pageProblems
control.exe /name Microsoft.ActionCenter /page pageReliabilityView
control.exe /name Microsoft.ActionCenter /page pageReportDetails
control.exe /name Microsoft.ActionCenter /page pageResponseArchive
control.exe /name Microsoft.ActionCenter /page pageSettings
control.exe /name Microsoft.ActionCenter /page pageSignoff
control.exe /name Microsoft.ActionCenter /page pageSolutionDetails
control.exe /name Microsoft.ActionCenter /page Settings
control.exe /name Microsoft.BitLockerDriveEncryption
control.exe /name Microsoft.ColorManagement
control.exe /name Microsoft.DefaultPrograms
control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram
control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram\pageAdvancedSettings
control.exe /name Microsoft.DefaultPrograms /page pageFileAssoc
control.exe /name Microsoft.DeviceManager
control.exe /name Microsoft.DevicesAndPrinters
control.exe /name Microsoft.EaseOfAccessCenter
control.exe /name Microsoft.EaseOfAccessCenter /page pageAdminSettings
control.exe /name Microsoft.EaseOfAccessCenter /page pageEasierToClick
control.exe /name Microsoft.EaseOfAccessCenter /page pageEasierToReadAndWrite
control.exe /name Microsoft.EaseOfAccessCenter /page pageEasierToSee
control.exe /name Microsoft.EaseOfAccessCenter /page pageEasierWithSounds
control.exe /name Microsoft.EaseOfAccessCenter /page pageFilterKeysSettings
control.exe /name Microsoft.EaseOfAccessCenter /page pageKeyboardEasierToUse
control.exe /name Microsoft.EaseOfAccessCenter /page pageMouseKeysSettings
control.exe /name Microsoft.EaseOfAccessCenter /page pageNoMouseOrKeyboard
control.exe /name Microsoft.EaseOfAccessCenter /page pageNoVisual
control.exe /name Microsoft.EaseOfAccessCenter /page pageQuestionsCognitive
control.exe /name Microsoft.EaseOfAccessCenter /page pageQuestionsDexterity
control.exe /name Microsoft.EaseOfAccessCenter /page pageQuestionsEyesight
control.exe /name Microsoft.EaseOfAccessCenter /page pageQuestionsHearing
control.exe /name Microsoft.EaseOfAccessCenter /page pageQuestionsSpeech
control.exe /name Microsoft.EaseOfAccessCenter /page pageRecommendations
control.exe /name Microsoft.EaseOfAccessCenter /page pageRepeatRateSlowKeysSettings
control.exe /name Microsoft.EaseOfAccessCenter /page pageStickyKeysSettings
control.exe /name Microsoft.Fonts
control.exe /name Microsoft.GameControllers
control.exe /name Microsoft.GettingStarted
control.exe /name Microsoft.NetworkAndSharingCenter
control.exe /name Microsoft.NetworkAndSharingCenter /page Advanced
control.exe /name Microsoft.NetworkAndSharingCenter /page ShareMedia
control.exe /name Microsoft.ParentalControls
control.exe /name Microsoft.ParentalControls /page pageEnsurePasswords
control.exe /name Microsoft.ParentalControls /page pageGameRatingSystems
control.exe /name Microsoft.ParentalControls /page pageUserHub\pageAppRestrictions
control.exe /name Microsoft.ParentalControls /page pageUserHub\pageGamesHub
control.exe /name Microsoft.ParentalControls /page pageUserHub\pageGamesHub\pageGameOverrides
control.exe /name Microsoft.ParentalControls /page pageUserHub\pageGamesHub\pageGameRestrictions
control.exe /name Microsoft.ParentalControls /page pageUserHub\pageTimeRestrictions
control.exe /name Microsoft.PerformanceInformationAndTools
control.exe /name Microsoft.PerformanceInformationAndTools /page PerfCenterAdvTools
control.exe /name Microsoft.PhoneAndModemOptions
control.exe /name Microsoft.PowerOptions
control.exe /name Microsoft.PowerOptions /page pageCreateNewPlan
control.exe /name Microsoft.PowerOptions /page pageGlobalSettings
control.exe /name Microsoft.PowerOptions /page pagePlanSettings
control.exe /name Microsoft.RegionalAndLanguageOptions
control.exe /name Microsoft.RegionalAndLanguageOptions /page /p:"administrative"
control.exe /name Microsoft.RegionalAndLanguageOptions /page /p:"keyboard"
control.exe /name Microsoft.RegionalAndLanguageOptions /page /p:"location"
control.exe /name Microsoft.RemoteAppAndDesktopConnections
control.exe /name Microsoft.RemoteAppAndDesktopConnections /page PropertiesPage
control.exe /name Microsoft.ScannersAndCameras
control.exe /name Microsoft.SyncCenter
control.exe /name Microsoft.System
control.exe /name Microsoft.Troubleshooting
control.exe /name Microsoft.Troubleshooting /page applications
control.exe /name Microsoft.Troubleshooting /page devices
control.exe /name Microsoft.Troubleshooting /page display
control.exe /name Microsoft.Troubleshooting /page historyPage
control.exe /name Microsoft.Troubleshooting /page listAllPage
control.exe /name Microsoft.Troubleshooting /page network
control.exe /name Microsoft.Troubleshooting /page raPage
control.exe /name Microsoft.Troubleshooting /page resultPage
control.exe /name Microsoft.Troubleshooting /page searchPage
control.exe /name Microsoft.Troubleshooting /page settingPage
control.exe /name Microsoft.Troubleshooting /page system
control.exe /name Microsoft.UserAccounts
control.exe /name Microsoft.UserAccounts /page pageAdminTasks
control.exe /name Microsoft.UserAccounts /page pageAdminTasks\pageDeleteAccount
control.exe /name Microsoft.UserAccounts /page pageAdminTasks\pageNameNewAccount
control.exe /name Microsoft.UserAccounts /page pageAdminTasks\pageTurnOnGuestAccount
control.exe /name Microsoft.UserAccounts /page pageChangeMyAccountType
control.exe /name Microsoft.UserAccounts /page pageChangeMyPassword
control.exe /name Microsoft.UserAccounts /page pageChangeSecuritySettings
※ このコマンドラインは動作しません。かわりに以下を使用します
UserAccountControlSettings.exe
control.exe /name Microsoft.UserAccounts /page pageCreateMyPassword
control.exe /name Microsoft.UserAccounts /page pagePickMyPicture
control.exe /name Microsoft.UserAccounts /page pageRemoveMyPassword
control.exe /name Microsoft.UserAccounts /page pageRenameMyAccount
control.exe /name Microsoft.WindowsUpdate
control.exe /name Microsoft.WindowsUpdate /page pageCustomInstall
control.exe /name Microsoft.WindowsUpdate /page pageHiddenUpdates
control.exe /name Microsoft.WindowsUpdate /page pageSettings
control.exe /name Microsoft.WindowsUpdate /page pageUpdateHistory
control.exe desk.cpl,Settings,@Settings
control.exe powercfg.cpl,,3
cttune.exe
dccw.exe
DevicePairingWizard.exe
DpiScaling.exe
explorer.exe /E,::{ED228FDF-9EA8-4870-83b1-96b02CFE0D52}
explorer.exe /n,::{208D2C60-3AEA-1069-A2D7-08002B30309D}
explorer.exe /n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
explorer.exe /n,::{450D8FBA-AD25-11D0-98A8-0800361B1103}
explorer.exe /n,::{645FF040-5081-101B-9F08-00AA002F954E}
explorer.exe search-ms:
explorer.exe shell:::{1fa9085f-25a2-489b-85d4-86326eedcd87}
explorer.exe shell:Profile
lpksetup.exe
magnify.exe
migwiz\migwiz.exe
msdt.exe -id MaintenanceDiagnostic -ep ControlPanelSearch
narrator.exe
NetProj.exe
psr.exe
rstrui.exe
rundll32.exe DwmApi #105
Rundll32.exe ndfapi,NdfRunDllDiagnoseIncident
rundll32.exe newdev.dll,DeviceInternetSettingUi 5
rundll32.exe printui.dll,PrintUIEntry /il
rundll32.exe shell32.dll, Control_RunDLL Cscui.dll
rundll32.exe shell32.dll, Control_RunDLL Cscui.dll,,1
rundll32.exe shell32.dll, Control_RunDLL Cscui.dll,,2
rundll32.exe shell32.dll, Control_RunDLL Cscui.dll,,3
rundll32.exe shell32.dll,#61
rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl
rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1
rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2
rundll32.exe shell32.dll,Control_RunDLL collab.cpl
rundll32.exe shell32.dll,Control_RunDLL collab.cpl,,1
rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,0
rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,1
rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,2
rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,3
rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,4
rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,5
rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,6
rundll32.exe shell32.dll,Control_RunDLL ncpa.cpl
rundll32.exe sysdm.cpl,EditEnvironmentVariables
rundll32.exe sysdm.cpl,EditUserProfiles
slui.exe
SnippingTool.exe
SoundRecorder.exe
StikyNot.exe
SystemPropertiesAdvanced.exe
SystemPropertiesComputerName.exe
SystemPropertiesPerformance.exe
SystemPropertiesProtection.exe
SystemPropertiesRemote.exe
taskkill /im explorer.exe
taskmgr.exe
WFS.exe
xpsrchvw.exe
xwizard.exe RunWizard {0cbb5030-f2b2-4b38-8cbc-895cec57db03}
xwizard.exe RunWizard {7071EC71-663B-4bc1-A1FA-B97F3B917C55}
xwizard.exe RunWizard {7071EC75-663B-4bc1-A1FA-B97F3B917C55}
xwizard.exe RunWizard {7071ECE0-663B-4bc1-A1FA-B97F3B917C55}
xwizard.exe RunWizard {7940ACF8-60BA-4213-A7C3-F3B400EE266D}




タグ:Windows7 レア
posted by lightbox at 2010-08-07 21:42 | Windows | このブログの読者になる | 更新情報をチェックする

2010年08月05日


Windows7 の control.exe の引数

簡単な例をいくつか以下に示します


画面の解像度

control.exe desk.cpl,Settings,@Settings

コンピューターを画面なしで使用する

control.exe /name Microsoft.EaseOfAccessCenter /page pageNoVisual

コンピューターを見やすくする

control.exe /name Microsoft.EaseOfAccessCenter /page pageEasierToSee

マウスやキーボードを使わずにコンピューターを使用する

control.exe /name Microsoft.EaseOfAccessCenter /page pageNoMouseOrKeyboard

マウスを使いやすくする

control.exe /name Microsoft.EaseOfAccessCenter /page pageEasierToClick

キーボードを使いやすくする

control.exe /name Microsoft.EaseOfAccessCenter /page pageKeyboardEasierToUse

サウンドの代わりにテキストまたは画像を使う

control.exe /name Microsoft.EaseOfAccessCenter /page pageEasierWithSounds

作業に集中しやすくする

control.exe /name Microsoft.EaseOfAccessCenter /page pageEasierToReadAndWrite


これらは、Windows ヘルプとサポートで実行可能なリンクとなっているページを表示して、右クリックからソースを表示して control.exe の引数を知る事ができます。/page という引数は、実際のページからしか現在ほとんど知る事はできませんでした。/name で開く、Canonical name の一覧は以下で知る事ができます。

Canonical Names of Control Panel Items (Windows)

/page もいくつかは以下から知る事ができます。

Executing Control Panel Items (Windows)




posted by lightbox at 2010-08-05 16:31 | Windows | このブログの読者になる | 更新情報をチェックする
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 終わり