タグ:オススメ ( 96 ) タグの人気記事
[英語学習] 速読速聴・英単語 TOEIC(R) TEST STANDART 1800
おはヨーグルト。どーもボキです。

2年前に購入し、時間を見つけてはちょこちょこ勉強してた本。
やっと一巡目が終わった。

意味が分からない単語をフリクションペンで記入しつつ、聴き取れるまで一フレーズリピート。
途中、心に余裕が持てない時期(仕事のため)もあり、2年間もかかってしまった。

二順目は音読だね。TOEIC対策にはこのシリーズが良いと思う。
6月のテストで、効果を検証する予定。
a0021757_9542399.jpg

[英語学習] 速読速聴・英単語 Core1900
フリクションペンの4色タイプ
[PR]
by yozda | 2016-04-10 09:48 | 暮らし | Trackback | Comments(0)
[英語学習] iPhone 辞書が便利
a0021757_07102236.jpg
Catalystwo Limited「すぐひける辞書」
https://appsto.re/jp/KWtw6.i

オフラインで動作する本格的なフリーの辞書アプリ。iPhoneの内蔵辞書を呼び出しているようだ。

こういった内蔵辞書をコールするアプリは、軒並みApple Storeから削除されてるから、ダウンロードするならお早めに。


[PR]
by yozda | 2016-03-16 07:04 | パソコン全般 | Trackback | Comments(0)
[VBScript] 管理者昇格してスクリプトを実行する 【改良版】
こんにちわわ。どーもボキです。

ExecRunas関数内でWScript.Quitすれば、前回バージョンのような判定処理は不要になるね。

実行部
' 管理者権限でVBSを実行する
ExecRunas

' ~管理者権限で実行したいソース~


実装部
'--------------------------------------------------------------------------------------------------------
'OSのバージョンを取得する
Const osWinNT = 4.0
Const osWin2k = 5.0
Const osWinXP = 5.1
Const osVista = 6.0
Const osWin7 = 6.1
Const osWin8 = 6.2
Function GetOSVersion
Dim objWMI, osInfo, os

Set objWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set osInfo = objWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem")
For Each os in osInfo
GetOSVersion = CDbl(Left(os.Version, 3))
Next
End Function
'--------------------------------------------------------------------------------------------------------
' 管理者に昇格して実行する
Function ExecRunas
Const cKey = "/ExecRunas"
Dim s

' ExecRunas実行チェック'
If WScript.Arguments.Count > 0 Then
If WScript.Arguments.item(0) = cKey Then Exit Function
End If

' OSバージョンチェック'
If GetOSVersion < osVista Then Exit Function

' 引数を生成'
s = ""
For i = 0 To WScript.Arguments.Count -1
s = s & " """ & WScript.Arguments.item(i) & """"
Next

' Runas実行'
CreateObject("Shell.Application").ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """" & " " &cKey& " " & s, "", "runas", 1

' VBS実行を終了'
WScript.Quit
End Function
'--------------------------------------------------------------------------------------------------------

[VBScript] 管理者昇格してスクリプトを実行する
[PR]
by yozda | 2015-12-20 15:37 | プログラミング | Trackback | Comments(0)
国立国会図書館に行ってきた
a0021757_23310811.jpg
こんばんワイン。どーもボキです。

絶版となった楽譜をコピーするため、東京の国立国会図書館に行ってきた。

著作権保護のため、書籍の半分しかコピーできない。
必要な曲さえ手に入れば良いので、書籍の半分も要らないなと思っていた。
が、そうではなかった。

楽曲には曲ごとに著作権がある、歌詞にも著作権がある。
そのため、コピーできるのは曲自体も半分まで。
そもそも歌詞が全部掲載されたページに関してはコピーが認められていない。

時間さえあればじっくり館内を見て回りたかった。

B5サイズより大きなカバンは持ち込めなかったり、
入場には登録利用者カードが必要だったり、
そのカードが館内サービスソフトのキーになっていたり、
なかなか面白い場所だった。

とりあえず今回は、欲しかった楽譜のソロパートのみコピー申請してきた。
利用登録したから、次回から家からでも申請できる。

ちなみに、利用登録も郵便で出来るし、登録後はネットで複写申請できる。つまり、登録〜利用まで自宅で可能。

> そもそも歌詞が全部掲載されたページに関してはコピーが認められていない。

コピー方法は見開きとなるので、意図せず指定すれば、全歌詞掲載ページもコピーされるようだ。
(ボキが依頼したのは右半分のページ)
a0021757_22252612.jpg


[PR]
by yozda | 2015-10-02 23:07 | 暮らし | Trackback | Comments(0)
[スコア] 無料楽譜サイト 「吉他社」
こんにチワワ。どーもボキです。

吉他社。なかなか良い。
GPX(GuitarPro6)形式もあるが、Tab Converterで変換可能。
a0021757_13551923.gif

[スコア] 無料楽譜サイト 「GLNET+」
[PR]
by yozda | 2015-09-21 15:29 | ゲーム | Trackback | Comments(0)
[Excel] メモ帳を使ってマクロをデバッグする。
こんにチワワ。どーもボキです。
12連休です。

Excelマクロのデバッグをちょっと楽にするデバッグ用関数WriteNote
引数で渡した文字列をメモ帳に出力するよ。
Dim hNotePad, hNotepadEditClass As Long

' Windows API
Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String _
) As Long

Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" ( _
ByVal hwndParent As Long, _
ByVal hwndChildAfter As Long, _
ByVal lpszClass As String, _
ByVal lpszWindow As String _
) As Long

Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
ByVal hWnd As Long, _
ByVal Msg As Long, _
ByVal wParam As Long, _
ByVal lParam As String _
) As Long

Declare Function PostMessage Lib "user32" Alias "PostMessageA" ( _
ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long _
) As Long

Declare Function SetWindowPos Lib "user32.dll" ( _
ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long _
) As Long

Declare Function SetWindowText Lib "user32.dll" Alias "SetWindowTextA" ( _
ByVal hWnd As Long, _
ByVal lpString As String _
) As Long

' メモ帳に文字列を出力
Public Sub WriteNote(s As String)
Const EM_REPLACESEL As Long = &HC2
Const EM_SETMODIFY As Long = &HB9
Const WM_NULL As Long = &H0
Const ES_AUTOVSCROLL As Long = &H40
Const HWND_TOPMOST As Long = -1
Const SWP_NOSIZE As Long = 1
Const SWP_NOMOVE As Long = 2
Const SWP_NOACTIVATE As Long = &H10

hNotePad = FindWindow("Notepad", vbNullString)
If hNotePad = 0 Then
' メモ帳がない⇒起動
Shell "Notepad.exe", vbNormalFocus
Do While hNotePad = 0
hNotePad = FindWindow("Notepad", vbNullString)
DoEvents
Loop

Call SendMessage(hNotePad, WM_NULL Or ES_AUTOVSCROLL, 0, 0) ' 自動スクロール
Call SetWindowText(hNotePad, ThisWorkbook.Name) ' メモ帳キャプション変更
Call SetWindowPos(hNotePad, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOACTIVATE) ' 最前面

hNotepadEditClass = FindWindowEx(hNotePad, 0, "Edit", vbNullString)
End If

Call SendMessage(hNotepadEditClass, EM_REPLACESEL, 0, s & vbCrLf) ' 文字列を送信
Call SendMessage(hNotepadEditClass, EM_SETMODIFY, 0, 0) ' 変更フラグOFF
End Sub


'Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Const WM_QUIT = &H12
' Call PostMessage(hNotePad, WM_QUIT, 0, 0)
'End Sub

' 終了時にメモ帳を閉じる
Private Sub Auto_Close()
Const WM_QUIT = &H12
Call PostMessage(hNotePad, WM_QUIT, 0, 0)
End Sub




[PR]
by yozda | 2015-04-25 20:03 | プログラミング | Trackback(1) | Comments(0)
[Excel] OutputDebugStringを使ってマクロをデバッグする。
こんばんワイン。どーもボキです。

APIのOutputDebugStringをラッパーした関数dprintf
出力メッセージを拾うには、DebugViewが必要。
Declare Sub OutputDebugString Lib "kernel32.dll" Alias "OutputDebugStringA" (ByVal lpOutputString As String)

Sub dprintf(v)
Dim i, s, ityp

s = v
ityp = VarType(v)
If ityp = vbBoolean Then
s = CStr(v)
ElseIf VarType(v) >= vbArray Then
s = ""
For i = 0 To UBound(v)
s = s & "dprintf(" & CInt(i) & ") =" & v(i) & vbCrLf
Next
End If
OutputDebugString (s)
End Sub
[Excel] メモ帳を使ってマクロをデバッグする。

[PR]
by yozda | 2015-04-25 19:57 | プログラミング | Trackback | Comments(0)
[VBScript] 更新日時を元にファイルをリネームする
こんばんワイン。どーもボキです。

iPhoneに限った話ではないが、デバイスの保存画像ファイルをすべて吸い上げると、
ファイル名がリセットされ、また同じ名前でファイルが作られる。

同じ名前のファイルが存在する場合、同じフォルダに保存できず不便なため、
ファイルの更新日時情報からファイル名を変更するスクリプトを作成した。

使い方は、以下の実行プログラムをメモ帳にペーストし、vbsファイルとして保存、実行するだけ。
図のようにフォルダ選択ダイアログが表示される。

なお、VBSファイルへのフォルダ/ファイルドロップでも処理可能。
a0021757_13225160.gif
実行プログラム
'==============================================================================='
Set objWS = CreateObject("WScript.Shell")
Set objFS = CreateObject("Scripting.FileSystemObject")

If WScript.Arguments.Count = 0 Then
If Not SelectDirectory("処理するフォルダを選択",0,dpth) Then WSCript.Quit

objWS.Run "CScript """ & WScript.ScriptFullName & """ """ & dpth & """"
WScript.Quit ' 引数を渡し再起動
Else
SetScriptHost("CScript") ' ドロップだとWScriptとなるためCScriptで再起動

For i = 0 To WScript.Arguments.Count -1: Do
s = WScript.Arguments.Item(i)

If objFS.FileExists(s) Then
ProcFile(s)
Else
SearchFile(s)
End If
Loop Until 1: Next
End If

r = objWS.PopUp("処理が終了しました。",3,"終了メッセージ",64)
'================================================================================

' -------------------------------------------------------------------------------
' フォルダ内のファイル検索
Sub SearchFile(DPath)
Set Folder = objFS.GetFolder(DPath)

' フォルダ内のフォルダ
For Each SubFolder In Folder.SubFolders: Do
SearchFile(SubFolder.Path)
Loop Until 1: Next

' フォルダ内のファイル
For Each File In Folder.Files: Do
ProcFile(File.Path)
Loop Until 1: Next
End Sub
' -------------------------------------------------------------------------------'
' ファイル処理本体
Function ProcFile(FPath)
Dim i,s,ttl,ext,dpth,dnam,fnam0,fnam,fpth
ProcFile = False
'If LCase(Right(FPath, Len(FPath) -InStrRev(FPath,"."))) <> "csv" Then Exit Function

dpth = objFS.GetParentFolderName(FPath) &"\"
'dnam = objFS.GetFileName(objFS.GetParentFolderName(FPath))
fnam0 = objFS.GetFileName(FPath)

s = objFS.GetFile(FPath).DateLastModified
'If Len(s)=18 Then s = Replace(s, "
", " 0") ' h→hh
ttl = Mid(s,3,2) & Mid(s,6,2) & Mid(s,9,2) ' yymmdd
ext = Right(FPath, Len(FPath) -InStrRev(FPath,"
.") +1) ' 拡張子

fnam = ttl & ext
fpth = dpth & fnam
If objFS.FileExists(fpth) Then
i = 1
fnam = ttl &"
_"& IntToStr0(i,1) & ext
fpth = dpth & fnam
While objFS.FileExists(fpth)
i = i+1
fnam = ttl &"
_"& IntToStr0(i,1) & ext
fpth = dpth & fnam
Wend
End If
dprintf(fnam0 &"
"& fnam)
objFS.GetFile(FPath).Name = fnam

ProcFile = True
End Function
' -------------------------------------------------------------------------------
' 実行ホストを切り替える
Sub SetScriptHost(HostName)
If InStr(LCase(WSCript.FullName), LCase(HostName)) <> 0 Then Exit Sub

s = HostName & "
""" & WScript.ScriptFullName & """"
If WScript.Arguments.Count > 0 Then
For i = 0 To WScript.Arguments.Count -1
s = s &"
""" & WScript.Arguments.Item(i) & """"
Next
End If
CreateObject("
WScript.Shell").Run s
WScript.Quit
End Sub
'-------------------------------------------------------------------------------
' フォルダ選択ダイアログ
Function SelectDirectory(sCaption, sInitDir, sSelectDir)
Dim objFS,objSA,dpth

SelectDirectory = False
Set objFS = CreateObject("
Scripting.FileSystemObject")
Set objSA = CreateObject("
Shell.Application")

Set objFolder = objSA.BrowseForFolder(0, sCaption, 0, sInitDir)
If objFolder Is Nothing Then Exit Function ' キャンセル

If objFolder.Items.Item Is Nothing Then
dpth = CreateObject("
WScript.Shell").SpecialFolders("Desktop") &"\" ' デスクトップ
Else
dpth = objFolder.Items.Item.Path &"
\"
End If
If Not objFS.FolderExists(dpth) Then Exit Function '指定異常 (ゴミ箱とか)

sSelectDir = dpth
SelectDirectory = True
End Function
'-------------------------------------------------------------------------------
' 0付き文字に変換
Function IntToStr0(Value, Digits)
Dim i,cnt,s

s = CStr(Value)
cnt = Digits - Len(s)
For i = 0 To cnt
s = "
0" & s
Next
IntToStr0 = s
End Function
' -------------------------------------------------------------------------------
' デバッグ ※ここだけ抜粋してもOK
Dim objDbg
' クラス'
Class TDebug
Dim FCScript

' 初期化処理
Private Sub Class_Initialize()
FCScript = InStr(LCase(WSCript.FullName), "
cscript") > 0
End Sub

' 終了処理
Private Sub Class_Terminate()
If Not FCScript Then Exit Sub

WScript.StdOut.WriteLine NOW & "
[END]"
WScript.StdIn.ReadLine
End Sub

' CScriptホストかどうか
Public Property Get CScript
CScript = FCScript
End Property

' デバッグメッセージ処理
Public Sub dprintf(v)
Dim i,s,ityp
If Not FCScript Then Exit Sub

s = v
ityp = VarType(v)
If ityp = vbBoolean Then
s = CStr(v)
ElseIf VarType(v) >= vbArray Then
s = "
"
For i = 0 to UBound(v)
s = s & "
dprintf(" &i& ")=" & v(i) & vbCRLF
Next
End If
WScript.Echo s
End Sub
End Class
' 関数
Sub dprintf(v)
If VarType(objDbg) = vbEmpty Then
Set objDbg = New TDebug
objDbg.dprintf(NOW & "
" & WScript.ScriptFullName)
End If
objDbg.dprintf(v)
End Sub
' -------------------------------------------------------------------------------



[PR]
by yozda | 2014-12-13 17:46 | プログラミング | Trackback | Comments(0)
[3DS] ブレイブリーデフォルト
こんばんワイン。どーもボキです。

2年前の発売直後に購入し、ストーリー展開の唐突さ、ボスバトルでの理不尽さに投げっぱなしにしていたゲーム。
きっかけは何だったか忘れたが、ちょっと前からプレイし始め、こないだやっとクリアした。プレイ時間、63h。

今はたっぷり遊べる無料版という、ただで4章まで遊べるものが配信されている。しかし、このゲームの醍醐味は4章目から。
なお、無料版も製品版(ダウンロード版)を購入すれば、5章目へのセーブデータを引き継げるみたい。

序盤は、雑魚戦にすら苦闘することもしばしばだが、有効なアビリティがそろい出す4章目くらいから、
戦闘を楽しめるようになる。さらに終盤になるとジョブ成長させやすくなり、様々なジョブ・アビリティを試す余裕も出てくる。
レベル上げなどを意識せずにプレイしたが、真終章を終わらせたときには、全員レベル99になっていた。

ストーリに関しても、序盤は意味不明な主張を繰りかえすキャラにウンザリしていたが、
4章目終盤から急展開し、グイグイ引き込まれ、先が気になって仕方がないまではまってしまった。

音楽に関してもすばらしい。マレに見る名曲ぞろいのゲームだと思う。ここでサントラが聴ける。
最初の街の音楽森の中の街の曲の後半の展開がすばらしいね。

冬には続編が予定されている(何も情報がないので遅れるだろうが)みたいなので、楽しみだ。以下は全クリ時のデータ。
a0021757_173735.jpg


書き忘れていたもの

[PR]
by yozda | 2014-11-16 17:38 | ゲーム | Trackback | Comments(0)
[VBScript] デバッグ上手はプログラム上手6 ~まとめ改~
こんにチワワ。どーもボキです。

以下と組み合わせれば、実行時にホストを変更でき、デバッグが楽になる。
引数を引き継いだ上で、指定したホストで実行する

前回はデバッグクラスを自分で生成するようにしていたが、
今回の記事では、最初にdprintf()を実行したタイミングで自動生成するよう改良した。

配布時は、SetScriptHostのみコメントアウトすればよい。
デフォルトであるWScriptホストでは、デバッグメッセージが表示されないようにしているので。

プログラムとその実装例
SetScriptHost("CScript")
dprintf("デバッグモード")

' ↑上記にスクリプト本体を記載する
' ===============================================================================
' デバッグ
Dim objDbg
' クラス
Class TDebug
Dim FCScript

' 初期化処理
Private Sub Class_Initialize()
FCScript = InStr(LCase(WSCript.FullName), "cscript") > 0
End Sub

' 終了処理
Private Sub Class_Terminate()
If Not FCScript Then Exit Sub

WScript.StdOut.WriteLine NOW & " [END]"
WScript.StdIn.ReadLine
End Sub

' CScriptホストかどうか
Public Property Get CScript
CScript = FCScript
End Property

' デバッグメッセージ処理
Public Sub dprintf(v)
Dim i,s,ityp
If Not FCScript Then Exit Sub

s = v
ityp = VarType(v)
If ityp = vbBoolean Then
s = CStr(v)
ElseIf VarType(v) >= vbArray Then
s = ""
For i = 0 to UBound(v)
s = s & "dprintf(" &i& ")=" & v(i) & vbCRLF
Next
End If
WScript.Echo s
End Sub
End Class
' 関数
Sub dprintf(v)
If VarType(objDbg) = vbEmpty Then
Set objDbg = New TDebug
objDbg.dprintf(NOW & " " & WScript.ScriptFullName)
End If
objDbg.dprintf(v)
End Sub
' -------------------------------------------------------------------------------
' 実行ホストを切り替える
Sub SetScriptHost(HostName)
If InStr(LCase(WSCript.FullName), LCase(HostName)) <> 0 Then Exit Sub

s = HostName & " """ & WScript.ScriptFullName & """"
If WScript.Arguments.Count > 0 Then
For i = 0 To WScript.Arguments.Count -1
s = s &" """ & WScript.Arguments.Item(i) & """" ' 引数
Next
End If
objWS.Run s
WScript.Quit
End Sub
' -------------------------------------------------------------------------------
[VBScript] デバッグ上手はプログラム上手5 ~まとめ~

[PR]
by yozda | 2014-08-24 14:48 | プログラミング | Trackback | Comments(0)