C++で作成してる別アプリが完了次第、
VBScriptでの日付処理最終版にとりかかる予定。
ただ思うに、C++で .NetFrameworkを利用して、
日付関連の文字列返すActiveXオブジェクトを組んだほうが効率良い様な気も・・・
シェアウェアなら似たようなのあるみたいだけど、
VisualBasic関数のラッパーDLL VBWRAP ver1.00 |
C++で作成してる別アプリが完了次第、
VBScriptでの日付処理最終版にとりかかる予定。
ただ思うに、C++で .NetFrameworkを利用して、
日付関連の文字列返すActiveXオブジェクトを組んだほうが効率良い様な気も・・・
シェアウェアなら似たようなのあるみたいだけど、
VisualBasic関数のラッパーDLL VBWRAP ver1.00 |
DateSerialがナイことに、さっき気がついた・・・
ナニをイマサラと云われそうだが、ソレもソノ筈、
'---------------------------------------- |
=iDateSerial(2009,3,0,"yyyy/mm/dd") |
'---------------------------------------- |
つか、VBSで無くとも応用できます、閏とか一切気にしなくてイイです。
今日の月の月末日は ってのは
n = Now() |
=DATEVALUE(YEAR(NOW())&"/"&MONTH(NOW())+1&"/1")-1 |
Dim nYear As Integer ,nMonth As Integer |
'---------------------------------------- |
元々Excel&AccessVBA使いが、以前、仕事の都合でVBScriptに手を出したので、移植モノも多いのデス。
なので、時折間違って、
Public Function |
VBScriptの.vbsファイルは、一部のセキュアアプリで実行が許可されないか、
実行確認画面をクリックする必要に迫られることがある。
(KingS●ft製のでヤラれたコトがある、数年前に・・・)
タスクで自動動作させたい向きには非常に厄介だ。
それらを避けたい場合は、.vbsファイルをエンコードして利用するコトで、
セキュアを維持しつつの自動化への解決となることが多い。
エンコード後の拡張子は .vbe
肝心のエンコーダは、 WindowsScriptEncoderと云うのが、
Microsoftサイトで配布(要認証)されているので、利用されたし。
ソースを読まれたくない場合などにも良いかと・・・w
Update 20090311 0300
ココのScriptも、以後のログにアーカイブ用意しました。 |
[指定したフォルダ] |
DateFolderCreate.vbe {対象フォルダ名{,対象フォルダ名} |
[スクリプトを起動したフォルダ] |
[指定したフォルダ] |
C:\Target,C:\Target\Target |
C:\Target |
C:\Target |
'***** ↓↓↓ScriptTitle↓↓↓ ********************************************************* |
いい加減、StyleSheetの宣言が鬱陶しくなってキタので、外部ファイル化した。
・・・って、単に今までのを集約して、テキストに貼っつけて、cssファイル作っただけなんだけどねw
ただ、自鯖上の各テストサイトの分、管理グダグダになってたのでスッキリした。
WMI呼び出しだけで済まそうと手を付けたC#が、1日程度で挙動を把握できたコトにチョーシづき・・・って、
得られた値は、レジストリにあるクロックアップ前のモノで、全く使い物にならなかったのだが・・・(;_;
・・・で、面倒を省みず、RDTSC命令を使うが為に、C++の敷居を跨いでしまったってのはマズかった・・・
なんか、ほぼ睡眠も取らずに獲り憑かれたように・・・ま、3日ほどで こいつも大体把握できたのでイイんだけどねw
しかしアレだね、C#やC++が使えると、デキるコトが格段に広がるのはイイんだケド、
後者なんてもうアレは、完全に人間向けでないでしょ、あの記述は・・・ ^_^;
しかも、同じ処理させるだけで、アレだけ多様な対象の列挙の仕方があるのか と、
ホンキで考え込んでしまったよ・・・
しかし、使ってみて更にMSのWindowsに対する手抜き具合を知った感があるね。
プロセッサのRDTSC命令の扱い1つ取っても そう思えるよ・・・
・・・てっきり、Winは、休止モードから回復した時に、全てのレジスタに元の値がセットされてしまって、
検出方法がないから、休止復帰のRUNレジストリキーがナイのかと思ってたら、サにアらず、
しっかり初期化されてましたよ・・・ Visたんトカもコノへん未拡張のままなのかな?
マシン重いと、休止モードに頼りたくなるよね~ww
つか、プロセッサ多コア時代に、クロックの取得がハードレベルでデフォサポートされてないってのはドウなの?
石メーカーも、もう少し考えてツクれよってハナシにならないか?
実際、OSサイドからパワーマネージしようと思ったら、クロックの正確な値を得るのに、
レジスタ上のticksが頼りって ちょっとね・・・ しかもコア毎に可変でしょ、イマドキの石って・・・
ナニが不満ってGeodeNX1750@14Wは、某著名CrystalCPUIDナシでは、フルクロックにならんのよコレが!
ソレを補う監視ツールを創りたかっただけなんだよね~ C#だのC++だのに手を出した理由って・・・
しかも環境が VSExpressEditionなモンだから、肝心の欲しい機能を含むALTが憑いてなくて使えんし・・・
ま 結局、無くても全然困らなかったけどねww
しかし、1000msec取得するだけのインターバルタイマまで自分で書かないとならないとは・・・
VBScriptより辛いかしらん(´ヘ`;)
Windows.Forms.Timerに逃げる(クロック表示フォームあるし)というのも手段なのだが、
フォーム(を完全に)非表示とか、フォーム無しVer.とかでも動作させたい場合にチト困る・・・
マシンがショボいと、イラんトコに神経使うのよコレが・・・
動画再生もイッパイ×2なのは仕方ナイとして、Adobe製品やMSOffice製品ですらカナりキツい・・・
ソレらを使うには、あの軽いCrystalCPUIDすら常駐させて置けないんだから、ドウにもナラん(-_-;)
まぁ、完成したらココとかに うpする(ソースのほう)と思うケド、機器依存激しいカモねwww
敢えて普及してるんだか してナイんだか判らん .NetFramework3.5を多用しようと目論んでいると云うΨ(`∀´)Ψ
・・・でも、基本的なモノしか描き込んでいない・・・そう、それは まるで、背景白い手抜き漫画のようなwww
・・・な、カンジだし、以外に大丈夫かな、カナ? ^_^;
コッチの商品▼って、照明としてもヨさげだけど、
超高輝度ELシート - 株式会社 海光社
原稿や写真フィルム確認向けのライトテーブルの代わりに向いてるような希ガス
・・・価格と寿命が折り合うかが疑問ではあるが^_^;
諸元情報中に
※発光色ホワイトは太陽光に当る場所に設置した場合、
紫外線の影響で赤色顔料が退色して少しづつ青味を帯びてゆきます。
とあるが、コレでは一般利用するにはムリがあるなぁ と思いつつ見てたら、
防湿ラミネートによる長寿命化
空気中の水分をの侵入を防ぐために積層フィルムでラミネートしています。
ともある、だったら、
●曲げられる必要があるなら
紫外線遮光フィルムを表層に貼る、ないし、同特性のあるラミネート材料を使う
●板状で使うなら
紫外線遮光透明塗料をコーティングする、ないし、紫外線遮光プラスチック板を表層に充てがう
と云った構造にするだけでも、劣化防止に効果が上がりそうなものだが、検討しなかったのだろうか?
最近の紫外線カット系商品の可視光透過率の高さは、
過去のモノとは比較にならない程 性能が向上しているのだが・・・
---------- update 200903080203 |
いちいち イマサラ感 炸裂させてくれるトコ多いよな~
「省電力」有機EL照明に進出 出光、13年めど 欧米で事業化検討 - FujiSankei Business i [ 20090303 ]
って、ホント今更、しかも検討とか云ってるし・・・ コレだからコッチ出のイナカ企業はよぅ・・・(´ヘ`;)
VB6.0やVisualStudio.NET(2k2)に触れていた過去から逃れるかの如く、
つい先頃までは、出来るコトは殆どをVBScriptでカタづけてきたのだが、
JavaScriptに触れたあたりから、創りたいモノに欲が出てしまい、
とうとう、処理可能な範疇を超えてしまったらしい・・・
已む無く、インストールはしてあったVisualBasic2k8に手を出したが、
どうやら更に足りなくて、VC++やVC#にまで食指が伸びてしまった・・・
つか、マシンスペックがアレなもんで、デバッグするだけで停まりそうなのだよ(|| ゚Д゚)
マトモな機材が揃うまでは関わりたくなかった開発環境だったのだが・・・
しかし作りたいのは、スペックの低さマトモじゃない機器向けなんだけどね(´ヘ`;)
日付の処理だけ、某Format関数を模してみた。・・・あくまで暫定版。
限られた指定方法で、要素を並べ替えられる程度しか機能しないが、
新たに曜日を要素として取得可能になっている。
書式)
iDTw({tDate}, {tNow}, {sFormat}, {dSplitter}, {tSplitter}, {dtSeparator}, Control) |
"S HNS YMD [W] HN" |
GetWeekday(YMD, wFormat, WeekdaysString, nDepth) |
'***** ↓↓↓ScriptTitle↓↓↓ ********************************************************* |
外部関数追加で、スプリット文字列に区切り文字 ~(チルダ)を不要にしてみた。
あと、バラバラに列挙してたスクリプトを、ファイルのままに張ってみたw
ただ、Tabが全部ツブれてしまうんだよね・・・
以下を、空のテキストファイルにコピペして、任意の名前に、拡張子.vbsをつければ動作します。
'***** ↓↓↓ScriptTitle↓↓↓ ********************************************************* |
lArray (strLetters, rArray) |
inArrays(tSources, strLimitters, arReturn) |
日付処理の続きを記述する前に、必須スクリプトなど1つ・・・
'----------------------------------- |
inArrays(tSources, strLimitters, arReturn) |
Const strWeekdays = "1:月:MON:Mon:Monday,2:火:TUE:Tue:Tuesday,3:水:WED:Wed:Wednesday,4:木:THU:Thu:Thursday,5:金:FRI:Fri:Friday,6:土:SAT:Sat:Saturday,7:日:SUN:Sun:Sunday" |
'文字列を代入 |
inArrays(tSources, strLimitters, arReturn) |
'------------------------------------ |
更に手抜きで使えるように・・・
って、曜日表示機能付きの別スクリプトを縮小したもの。
'------------------------------------ |
iDT ({dSplitter}, {dtSeparater}, {tSplitter}, Control) |
実行a) test = iDT() |
実行a) test = iDT(,,,0) |
実行b) test = iDT(,,,1) |
実行c) test = iDT("",,"",1) |
実行d) test = iDT("",,"",0) |
実行e) test = iDT("","","",0) |
実行f) test = iDT("*",,"*",1) |
Excelのシート上なら Text関数、VBA (VisualBasic for Application) なら Format関数、
VisualBasicシリーズなら・・・って、列挙するまでも無く、既存関数で可能な、全く必要のない処理なのだが、
VBScriptでは、ハナシが違ってくる。
そもそも、VBS(WSH WindowsScriptingHost 現WindowsScriptHost)は、古来w
日付処理すら内部に持たない動作環境だった・・・
わざわざ、Windowsのプロセスをオブジェクトとして呼び出して、ソコから取得していた時代がww
それが、あれよ×2 と拡張され、簡単に呼び出せるようになったまでは良かったのだが、
完全な書式指定処理は内包せず、システムの設定依存となってしまった・・・
ちょっと処理すれば、桁揃え程度は誰でも出来る記述だったが、イマイチ汎用性に欠いてしまう・・・
いろんなサイトで同様の処理が列挙されているモノの、
中々、関数として そのまま使え(流用でき)るのが みつからない・・・
ソコで、自分で書いてみた。
'------------------------------------ |
iDT (dSplitter,dtSeparater,tSplitter,Control) |
実行a) |
実行b) |
FormatDateTime(Date[,NamedFormat]) |
nD = FormatDateTime(Date(),0) |
実行) FormatDateTime(Now(),3) |
nS = ":" & Split(CStr(FormatDateTime(nX,3)),":")(2) |
実行) FormatDateTime(Now(),4) |
strHMS = FormatDateTime(nX,4) & nS |
strHMS = FormatDateTime(nX,4) & ":" & Split(CStr(FormatDateTime(nX,3)),":")(2) |
何故かJavaScriptで遊んでいたりw
自鯖のDDNS接続の更新確認をケータイから行えるよう、専用ページを配置しているのだが、
ソコに、ケータイブラウザでも走るデモとして、時計でも置いてやろうか と云うのが始まりだった。
・・・元々VBscript遣いだが、アレがケータイで走るとは、到底思えん(´ヘ`;)
似たような処理は結構多用するし、諦めてJSに手を付けることになったワケで・・・
で、2日ほど色々試行して、JSの身の振りようをあらかた把握したところw
ソコは上記の通りVBS遣い、JSなんて必要ない と思っていたのだが、使うと中々どうして、
こりゃ便利 ってカンジw
ただ、一長一短ではあるようで、JSで、繰り返しや複雑すぎる分岐、
量のある文字列処理などを行うものを、不用意にHTMLに組み込むと・・・ 実動で不得手なのは見て取れた(^_^;
一瞬、ウチの骨董端末がヤバいのかと思った(爆)が、参考にしていた数々のサイトでも
同様の評価が出てた・・・ (ひと安心)
また、当方では よく多用する、時間関連処理でも、
同じ結果を1/1000secレベルまで精度を上げて出そうとすると、かなり重くなって、
実用に耐えなくなってしまった・・・ のて端末のloliちゃんだと停まるコトもw
・・・何故かケータイだと、それなりに走るのだがww
単純分岐処理のモノだと、精度は落ちるが、のて機でも問題なく動く・・・
JSを使うなら、余程必要ない限り、複雑な構造にしないほうが無難なようだ。
VBSなら、文字列処理や 異常なくらい複雑な分岐を構成しても、
速度に不満は感じたコトは無かったが、環境依存度が高いし、
HTMLへの応用だと、出力方法が なんか回りクドいし・・・
まぁ、クライアントの環境に左右されるってだけでも考え物だけどね。
とは云え、便利なのを知ってしまったからにはアトには戻れないのが人情ってヤシで、
そうなると、WSHで、VBS/JS混在記述と云うのも、アリなのではと思いはじめてたりw
・・・IEを非標準扱いしてるヤシのコメとは思えんな・・・(-_-;)
ついさっきまでは、USEN GyaO with フレッツ光 (NTT西) を 使っていた。
今は、INTERLINK の ZOOT ・・・ココは随分昔、ADSL時代に利用していたコトがあったのだが、
すっかり存在忘れてたww
直前まで利用していたUSEN GyaOは、基本 鯖立×と云うのも知っていたが、関東在住の折、
旧BroadGate01時代に マンションLANタイプで鯖利用していて、回線品質の高さなどを知っていたのもあり、
盲目的に選択してしまった。しかし、OSの関係で充実を謳うコンテンツも全く閲覧も出来ないし、
直接接続だった関東圏のサービスと違いNTT介在、IPも1つしか割り当てられない上 非固定、
4K円以上の月額も年間では大きいし、その割りに大して利点がないので切るコトにした。
プロバイダのスタンスとして、鯖立×と云う時点でも充分考えモノ。
どローカルのプロバイダ(BBIQとJCOM)も、御同様かソレよりタチが悪かったので却下した経緯がある。
そもそも、用途によって明確だったワケだ、コンシューマ向けプロバイダは、高度運用には全く向かないと・・・
ソレを踏まえ、低価格のプロバイダを探すにあたり、INTERLINKを思い出し、サービスをサイトで確認してみる・・・
相変わらずの機能充実・・・ しかも以前より拡張されてるし・・・ しかも月額 GyaOの半額以下・・・ 驚くしかない。
フレッツ同時導入ならキャッシュバックは他のプロバイダと同様で、契約期間の縛りもない。
初期費用もなしで、2ヶ月全機能試用可で、その間の解約違約金もナシ、機能充実で、月額半額・・・
去年、ココを思い出していたら、キャッシュバックがあったとはいえ、USENと云うチョイスはしなかったと思う・・・
結局、思い込みと、価格比較サイトに振り回されたと云うコトだろう。
INTERLINKのサービスを一通り確認し終えて、早速、
月額2100円の固定IP1つのサービスに加入し、2ヶ月間の試用に入った。
週明けまでに動作確認を行い、問題が無いようなら、このままココに決めることになるだろう。
・・・固定IPなんだし、DynamicDNSである必要性はない。 折角だから、ドメインも確保しようかな・・・
・・・ゴミです。
それは、月を撮った日のコト。最初のショットはナンとも無くて・・・
012815撮影日: 2009/02/08 21:51:20
露出モード: M-マニュアル露出
露出補正: 0 (AB 0 of 0)
ISO感度: 50
ホワイトバランス: オート
色モード: 通常
フラッシュ: 非発光
シャッター速度: 1/30秒
絞り値: F11
測光モード: 評価測光
フォーカスモード: M-マニュアル
焦点距離: 0 mm
記録画素数: HI
ドライブモード: ミラーアップ
そのまま暫く撮ってたら・・・
・・・はひ?
012816撮影日: 2009/02/08 21:51:27
露出モード: M-マニュアル露出
露出補正: 0 (AB 0 of 0)
ISO感度: 50
ホワイトバランス: オート
色モード: 通常
フラッシュ: 非発光
シャッター速度: 1/30秒
絞り値: F11
測光モード: 評価測光
フォーカスモード: M-マニュアル
焦点距離: 0 mm
記録画素数: HI
ドライブモード: ミラーアップ
でも、ファインダ覗いても何もないんです;何度撮ってもこんなカンジで・・・
012817撮影日: 2009/02/08 21:51:45
露出モード: M-マニュアル露出
露出補正: 0 (AB 0 of 0)
ISO感度: 50
ホワイトバランス: オート
色モード: 通常
フラッシュ: 非発光
シャッター速度: 1/30秒
絞り値: F11
測光モード: 評価測光
フォーカスモード: M-マニュアル
焦点距離: 0 mm
記録画素数: HI
ドライブモード: ミラーアップ
仕方がないのでピンはずして、街灯をパシャリ・・・あ゛やっぱり・・・
012823撮影日: 2009/02/08 21:55:52
露出モード: M-マニュアル露出
露出補正: 0 (AB 0 of 0)
ISO感度: 50
ホワイトバランス: オート
色モード: 通常
フラッシュ: 非発光
シャッター速度: 1/160秒
絞り値: F5
測光モード: 評価測光
フォーカスモード: M-マニュアル
焦点距離: 0 mm
記録画素数: HI
ドライブモード: 1コマ撮影
おもいっきり載ってます・・・ FoveonX3の上に(´ヘ`;)
取り敢えず簡単なクリーニングで・・・コト無きを得ました・・・
012844撮影日: 2009/02/08 22:11:57
露出モード: M-マニュアル露出
露出補正: 0 (AB 0 of 0)
ISO感度: 50
ホワイトバランス: オート
色モード: 通常
フラッシュ: 非発光
シャッター速度: 1/100秒
絞り値: F5
測光モード: 評価測光
フォーカスモード: M-マニュアル
焦点距離: 0 mm
記録画素数: HI
ドライブモード: 1コマ撮影
けど、ちょっと気になったので後日、室内でピンをハズして、確認の撮影を・・・
おお~・・・
012881撮影日: 2009/02/09 15:51:31
露出モード: M-マニュアル露出
露出補正: 0 (AB 0 of 0)
ISO感度: 50
ホワイトバランス: オート
色モード: 通常
フラッシュ: 非発光
シャッター速度: 1.0秒
絞り値: F5.6
測光モード: 評価測光
フォーカスモード: M-マニュアル
焦点距離: 70 mm (17-70)
記録画素数: HI
ドライブモード: 1コマ撮影
・・・撮り損ねる、当日に天候がスグれなくて・・・
天気予報もあったので、前日にフライング撮影できたのは幸いだったが、大して意味はない(爆)とりあえず・・・
012802撮影日: 2009/02/08 19:06:10
露出モード: M-マニュアル露出
露出補正: 0 (AB 0 of 0)
ISO感度: 50
ホワイトバランス: オート
色モード: 通常
フラッシュ: 非発光
シャッター速度: 1/80秒
絞り値: F5.6
測光モード: 評価測光
フォーカスモード: M-マニュアル
焦点距離: 300 mm (70-300)
記録画素数: HI
ドライブモード: ミラーアップ
別レンズで寄り・・・
012846撮影日: 2009/02/08 22:12:39
露出モード: M-マニュアル露出
露出補正: 0 (AB 0 of 0)
ISO感度: 50
ホワイトバランス: オート
色モード: 通常
フラッシュ: 非発光
シャッター速度: 1/100秒
絞り値: F5
測光モード: 評価測光
フォーカスモード: M-マニュアル
点距離: 35mm換算 1190mm相当
記録画素数: HI
ドライブモード: 1コマ撮影
Lens : TAMRON 70-350mm F4.5-22
(ADAPTALL Series - ManualFocus)
+ KENKO APK.TELEPLUS MC7 改
(350mm×2×1.7)