SQLの窓

2014年12月25日

画面いっぱいに開く cmdex.exe

▼ VB.net ビルド用コマンドプロンプトセット


Imports System
Imports System.Diagnostics

Module MyModule

' ******************
' * 実行
' ******************
Sub Main(ByVal CmdArgs() As String)

	Dim startInfo As New ProcessStartInfo("cmd.exe")
	startInfo.WindowStyle = ProcessWindowStyle.Maximized

	Dim w As Integer = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width
	Dim cols As String = ""

	if w >= 1024 then
		cols = "120"
	end if
	if w >= 1152 then
		cols = "135"
	end if
	if w >= 1280 then
		cols = "150"
	end if

	Dim strArg As String = "/k mode con: cols=" & cols
	Dim idx As Integer = 0

	if CmdArgs.GetUpperBound(0) <> -1 then
		strArg &= " & "
		For idx = 0 to CmdArgs.GetUpperBound(0)
			strArg &= " " & CmdArgs(idx)
		Next
	end if
	startInfo.Arguments = strArg

	Process.Start(startInfo)

End Sub

End Module

ビルドしたものを使うのが嫌な人は、フレームワークがインストールされておれば、簡単にビルドできます。

__buildPath.txt
; Framework 4.0
%windir%\Microsoft.NET\Framework\v4.0.30319

; Framework 2.0
%windir%\Microsoft.NET\Framework\v2.0.50727
;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin

; 行先頭にセミコロンはコメントです。
; 記述されて有効なパスは全て読み込まれます
; なにも無い行は無視します


VBC_BUILD.wsf
<JOB>
<RESOURCE id="commandList">
<![CDATA[
mode con: cols=120
set PATH=$BIN;%PATH%
prompt vb.net$G
title Microsoft Framework アプリケーションのビルド
]]>
</RESOURCE>

<OBJECT id="WshShell" progid="WScript.Shell" />
<OBJECT id="Fso" progid="Scripting.FileSystemObject" />

<SCRIPT language=VBScript>
' ***********************************************
' 処理開始( コマンドラインからビルドする為のスクリプトです )
' ***********************************************

strPath = WScript.ScriptFullName
Set obj = Fso.GetFile( strPath )
Set obj = obj.ParentFolder
WshShell.CurrentDirectory = obj.Path

Set objHandle = Fso.OpenTextFile( obj.Path & "\__buildPath.txt", 1 )
Do While not objHandle.AtEndOfStream
	sLine = objHandle.ReadLine
	if Left( sLine, 1 ) <> ";" and sLine <> "" then
		if sPath <> "" then
			sPath = sPath & ";"
		end if
		sPath = sPath & sLine
	end if
Loop
objHandle.Close

aData = Split( GetInline( "commandList" ), vbCrLf )
strCommand = "cmd.exe /k " & aData(0)
For I = 1 to Ubound( aData )
	if instr( aData(I), "$BIN" ) > 0 then
		aData(I) = Replace( aData(I), "$BIN", sPath )
	end if
	strCommand = strCommand & "&" & aData(I)
Next
Call WshShell.Run( strCommand, 3 )

' ***********************************************
' 関数
' ***********************************************
Function GetInline( strName )

	GetInline = RegTrim( getResource( strName ) ) & vbCrLf

End Function
Function RegTrim( strValue )

	Dim regEx, str

	Set regEx = New RegExp
	regEx.IgnoreCase = True
	regEx.Pattern = "^[ \s]+"
	str = regEx.Replace( strValue, "" )
	regEx.Pattern = "[ \s]+$"
	RegTrim = regEx.Replace( str, "" )

End Function
</SCRIPT>
</JOB>


関連する記事


タグ:VB.NET
posted by at 2014-12-25 02:30 | VB.net | このブログの読者になる | 更新情報をチェックする

2014年12月22日

GIMP スクリプトで、二段雲形吹き出し( Baloon-3 を改造 )

詳細はいろいろ長いので後で。

▼ こんな吹き出しを自動で作成します


▼ パラメータダイアログ


元々は、結構有名な作者が『Michael Spunt』で 2000 年に作成されたものです。

▼ 改造版のソースコード( UTF-8N で保存する必要があります )
; balloon 
; creates a balloon like in comics
; it sucks a bit ;-)
; (C) Copyright 2000 by Michael Spunt <t0mcat@gmx.de>
; Gopal.V hacked it in 2002 to make it suck less (Aqua'ish)
; but cut a few corners (literally)
;
; ramok hacked it in 2006 to make colors

(define (round-balloon-3 img drawable bw bh lw rect np orientation revert fill border gauss dbl)
  (let* ((x 0))
    (if (= np FALSE) 
      (begin
        (set! x (- (* bw 0.5) (* bw 0.2)))
        (gimp-ellipse-select img x (* bh 0.5) (* bw 0.4) (* bh 0.4) REPLACE TRUE FALSE 0)
        (set! x (- (* bw 0.5) (* bw 0.2) (* bw orientation -0.1)))
        (gimp-ellipse-select img x (* bh 0.5) (* bw 0.4) (* bh 0.4) SUB TRUE FALSE 0)))
    (if (= revert FALSE) 
      (gimp-selection-translate img (* bw orientation 0.3) 0))
    (if (= rect FALSE) 
      (begin
        (if (= dbl FALSE)
           (gimp-ellipse-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.65) ADD TRUE FALSE 0)
        )
        (if (= dbl TRUE)
           (begin
              (gimp-ellipse-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.5) ADD TRUE FALSE 0)
              (gimp-ellipse-select img (* bw 0.125) (* bh 0.3) (* bw 0.725) (* bh 0.5) ADD TRUE FALSE 0)
           )
        )
      )
    )
    (if (= rect TRUE) 
      (gimp-rect-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.65) ADD FALSE 0))
    (gimp-palette-set-background fill)
    (gimp-palette-set-foreground border) 
    (gimp-edit-fill drawable 0)
    (gimp-selection-shrink img lw)
    (gimp-edit-fill drawable 1)
    (if (= gauss TRUE) 
      (begin
        (gimp-selection-none img)
        (plug-in-gauss-rle2 1 img drawable 5.0 5.0)
        (plug-in-bump-map 1 img drawable drawable 135 14 4 0 0 74 182 1 0 1)
      )
    )
))

(define (round-think-balloon-3 img drawable bw bh lw rect np orientation revert fill border gauss dbl)
  (let* ((x 0))
    (if (= np FALSE) 
      (begin
        (set! x (+ (* bw 0.5) (* bw -0.025) (* bw orientation 0.3)))
        (gimp-ellipse-select img x (* bh 0.85) (* bw 0.05) (* bh 0.05) REPLACE TRUE FALSE 0)
        (set! x (+ (* bw 0.5) (* bw -0.05) (* bw orientation 0.2)))
        (gimp-ellipse-select img x (* bh 0.75) (* bw 0.1) (* bh 0.1) ADD TRUE FALSE 0)))
    (if (= revert TRUE) 
      (gimp-selection-translate img (* orientation bw -0.3) 0))
    (if (= rect FALSE) 
      (begin
        (if (= dbl FALSE)
           (gimp-ellipse-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.65) ADD TRUE FALSE 0)
        )
        (if (= dbl TRUE)
           (begin
              (gimp-ellipse-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.5) ADD TRUE FALSE 0)
              (gimp-ellipse-select img (* bw 0.125) (* bh 0.3) (* bw 0.725) (* bh 0.5) ADD TRUE FALSE 0)
           )
        )
      )
    )
    (if (= rect TRUE) 
      (gimp-rect-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.625) ADD FALSE 0))
    (gimp-palette-set-background fill)
    (gimp-palette-set-foreground border) 
    (gimp-edit-fill drawable 0)
    (gimp-selection-shrink img lw)
    (gimp-edit-fill drawable 1)
    (if (= gauss TRUE) 
      (begin
        (gimp-selection-none img)
        (plug-in-gauss-rle2 1 img drawable 5.0 5.0)
        (plug-in-bump-map 1 img drawable drawable 135 14 4 0 0 74 182 1 0 1)
      )
    )
))

(define (script-fu-balloon-3 bw bh lw rect np think right revert fill border gauss dbl)
  (let* (
         (orientation 1)
         (side 1)
         (img (car (gimp-image-new bw bh RGB)))
         (balloon (car (gimp-layer-new img bw bh RGBA-IMAGE "Balloon3" 100 NORMAL))))
    (if (= right FALSE) (set! orientation -1))
    (gimp-image-add-layer img balloon 1)
    (gimp-display-new img)
    (gimp-edit-clear balloon)
    (if (= think FALSE) 
      (round-balloon-3 img balloon bw bh lw rect np orientation revert fill border gauss dbl))
    (if (= think TRUE) 
      (round-think-balloon-3 img balloon bw bh lw rect np orientation revert fill border gauss dbl))
    (gimp-selection-none img)
    (gimp-displays-flush)))

(script-fu-register "script-fu-balloon-3"
     "Balloon3..."
     "Creates a balloon like used in comics."
     "Michael Spunt"
     "Copyright 2000, Michael Spunt"
     "May 20, 2000"
     ""
     SF-ADJUSTMENT _"Image width"  '(240 10 2000 1 10 0 1)
     SF-ADJUSTMENT _"Image height" '(160 10 1000 1 10 0 1)
     SF-ADJUSTMENT "Line width"	   '(2 0 10 1 10 0 1)
     SF-TOGGLE "四角形"            FALSE
     SF-TOGGLE "吹き出しなし"	   FALSE
     SF-TOGGLE "妄想"              FALSE
     SF-TOGGLE "クチの向き(右)"  FALSE
     SF-TOGGLE "位置の反転"        FALSE
     SF-COLOR  "Fill"	            '(255 255 255)
     SF-COLOR  "Border"	            '(22 22 22)
     SF-TOGGLE "ぼかしあり"        FALSE
     SF-TOGGLE "二段にする"        FALSE)

(script-fu-menu-register "script-fu-balloon-3"
     "<Toolbox>/Xtns/Script-Fu/Text"
)

こうなった経緯としては、logical error に二段にする前の内容を書いています。

GIMP : 吹き出しスクリプトで作った画像の利用

WEBアーカイブで済ますはずが、偶然が重なって内容をチェックする事になって、ならば二段にしてしまおうという結果です。

どうも、GIMP のスクリプトはとても肩身が狭いようです。もともと解りづらい仕様ですし、昔のスクリプト作成者の方々も探しても見つからなかったり、とにかくサイトが無くなっている事が多いみたいで・・・。

海外を探すと結構アーカイブはあるのですが、古いままだったりバグがあったりと散々です。

自分もたいして書けませんが、こういう手直しはわりと簡単にできるので頑張ってみました。


※ 雲形のチューニングはできるのですが、そこまで需要は無いと思って見送りました。


posted by at 2014-12-22 23:43 | Comment(0) | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする

2014年12月20日

DAZ3Dなイラスト : 次元交叉





背景主体のシーン集です。




GIMPスクリプトの輪郭データを使って、風景の強調をしています。













人物より背景を沢山ストックしておいたほうがのちのち助かります。でも、たくさん作るのはモチベーションが続かないですよね。

関連するイラスト

DAZ3D : jojo Anja / GIMP スクリプトによる輪郭レイヤーによって比較的無機質な 3D レンダリングシーンが臨場感あふれる絵になる例


タグ:DAZ3D
posted by at 2014-12-20 02:51 | Comment(0) | DAZ3D DAZStudio イラスト 2014 | このブログの読者になる | 更新情報をチェックする

Google WEBマスターツールは、非公開にした記事をひつこく『みつかりませんでした』と言って来る


時代は流れるので、とうしたってボツにしないと恥ずかしい記事もあるわけですが、Google さんはリンク元にも無い URL を『みつかりませんでした』という報告くれるのです。

しかし、リンク元に無いという事は、その URL かどういう記事だったかは皆目見当がつかず、非公開記事一覧から探しようがありません。

なんですが、



いい方法があります。

WEB アーカイブで非公開にする前の状態を URL から探し当ててタイトルを取得してしまえば良いのです。

WEBアーカイブは、閉鎖したサイトにあったファイルをダウンロードしたいときに絶大な威力を発揮しますが、こんな個人的な作業にもとても役に立つのです。


とは言え。

非公開にしたのはそれなりの理由があるので、それをそのままは使え無いので、こんなふうに全く違った記事で再投稿するわけであります。






posted by at 2014-12-20 02:27 | Comment(0) | WEBサービス | このブログの読者になる | 更新情報をチェックする

2014年12月19日

NAVER : Image*After の城と教会編

Image*After のフリー画像から『建築物』を集めたら、城と教会ばかりになってしまいました

NAVER を自分用のリンク倉庫にする事は多いですが、イラストの背景用として Image*After の画像をリンクしておくと便利だと思います。


上の画像表示方法(写真枠と影)は以下の jQuery です

jQuery の簡単なコードで並べた写真に枠を付けて影をつけてギャラリーっぽくする

タグ:画像 Naver
posted by at 2014-12-19 01:21 | Comment(0) | jQuery | このブログの読者になる | 更新情報をチェックする

2014年12月16日

SQL Server とそのコンポーネントのバージョンとエディションを確認

とても詳細に記述されている、Microsoft のドキュメントがありました。

SQL Server とそのコンポーネントのバージョンとエディションを確認する方法

ですが、中をみた結果以下のクエリで確認するのが最も有効のようです。
Select @@version

あるいは、コマンドプロンプトから以下を実行します( SQLEXPRESS は環境によって違います )
sqlcmd -E -S .\SQLEXPRESS -Q "Select @@version"
※ -Q は大文字です。小文字にするとコマンドを実行した後、quit しません
※ sqlcmd ユーティリティ

関連する記事

SQLExpress 2005( および 2008 ) の接続設定

※ 追記
以下のプロシージャで全体環境の詳細が表示されます

master.dbo.xp_msver
IndexNameInternal_ValueCharacter_Value
1ProductNameMicrosoft SQL Server
2ProductVersion65541010.50.2500.0
3Language1041日本語 (日本)
4PlatformNT INTEL X86
5CommentsSQL
6CompanyNameMicrosoft Corporation
7FileDescriptionSQL Server Windows NT
8FileVersion2009.0100.2500.00 ((KJ_PCU_Main).110617-0026 )
9InternalNameSQLSERVR
10LegalCopyrightMicrosoft Corp. All rights reserved.
11LegalTrademarksMicrosoft SQL Server is a registered trademark of Microsoft Corporation.
12OriginalFilenameSQLSERVR.EXE
13PrivateBuild
14SpecialBuild163840000
15WindowsVersion4981393986.1 (7601)
16ProcessorCount22
17ProcessorActiveMask300000003
18ProcessorType586PROCESSOR_INTEL_PENTIUM
19PhysicalMemory35753575 (3748982784)


posted by at 2014-12-16 13:44 | Comment(0) | DB関連 | このブログの読者になる | 更新情報をチェックする

MOS(マイクロソフトオフィススペシャリスト)の試験で、「次へ」ボタンをクリックした場合は、二度とその問題へ戻ることはできない



何故か公式サイトにそのような注意事項は無く、解説サイトではっきり書かれています。

以下のような書籍で模擬問題をやっているとそのような操作になっているので今まで気にもしなかったのですが、質問されて初めて疑問に思い調べてみた結果です。

MOSWord2010対策テキスト&問題集

戻れないかわりに、『スキップ』という機能があって、後回しにする事は可能なのでうまく使う必要があり、受験希望者にとってはぜひ知っておきたい機能なんですが、公式サイトで『スキップ』とドメイン内検索してもそのような説明は無く、かろうじて過去の投稿内容に関連する記事があった程度でした。ちなみに、スキップ機能が追加されたのは、2006/06/05 だそうです。

MOS の運営ってなんだか信用できないですね。



posted by at 2014-12-16 13:04 | Comment(0) | Microsoft Office | このブログの読者になる | 更新情報をチェックする

2014年12月14日

DAZStudio が 4.7 になっていますが、最新のを使うと幸せになれるとは限らないのが現実です。

GIGAZINE で紹介されたのは、2012年の3月で、けっこうな過渡期ではありました。自分が始めたのは 3 のころなのですが現在4.5の環境を64ビットで使っています。



やってる人間にしか解らないですが、もとより結構テキトーなソフトウェアで、問題は多いけれど確かに簡単に 3D でキャラクタやシーンを創作できてしまうのもたしかです。

DAZ3Dでは、生き残る必要があるので最新テクノロジーを投入するのが最近の趣向らしいのですが、そうなるたびに結構過去のリソースが無駄になる傾向があり、なかなか移行は難しいと思っています。そりゃあ、英語がバリバリでだれかに助けてもらえる環境があり、いくらでもパーツを購入できる財力があれば別ですが、イラスト作品のベースとして考えた場合、あまりにも高性能になってもらっても時間がいくらあっても足りないだけです。

イラストに仕上げるソフトにしても自分は GIMP 使っているのでこれもマイナーではあり、自力でいろいろ頑張る必要があります。しかし、自分はプログラマなので他の人に出来ない事をできるという部分で人と違うものができればと頑張ってますが・・・・

素人のイラストって、まあ、誰も見てくんないのが現実ですね。かろうじて、Google ページで少しは見られているような気がしないでも無いですが、tumblrpixiv では酷いもんです。

ただ、Google の画像検索で、DAZ3D イラスト ってやると最初のほうは全部ウチのイラストです。

いかに、DAZStudio がマイナーなのか・・・

というか、DAZ3D で画像検索すると、たいていイラストでは無い女性の画像ばかりですから、そういう目的に使っている人が多いのも確かなのです・・・はあ・・・。







タグ:DAZ3D DAZStudio
posted by at 2014-12-14 20:13 | Comment(0) | DAZ3D | このブログの読者になる | 更新情報をチェックする

2014年12月12日

プログラマの『たまご達』、頑張れっ。

本格的な冬の到来と供に、Google+ のコミュニティの『教えて!? プログラミング』で、沢山の初心者らしきメンバーが増えて来ました。やはり、寒い時にこそ『プログラマのたまご』はこたつに入って巣立ちの準備を始めるものなんでしょうか。

で、また長文を一つ書いてしまいました。われながらもったいないのでまた転載です。

----------------------------------------------------------------------
>iPhone系でプログラミングできたらいいなーと思ってはいる
あなたの現状で純正アプリは無理です。WEBアプリでごまかす方法ならば、PHP+JavaScript( と言うより jQuery ) で可能です。

C言語はプログラマとしてのスキルアップになりますが、楽しく無いです。

C++は、プロ用の言語です。無視して下さい。

C# は VisualStudio の中で一番おすすめではあります。VB は、明らかに Microsoft がやめたがっています。

それと、一口に C# と言っても、コマンドプロンプト系、FORM アプリ系、ストアアプリ系(XAML 画面)、WindowsPhone(XAML 画面/Microsoftもなにもできていないのでやめたほうがいい)

・・とかあるので勉強するなら、コマンドプロンプトからですが、やはりあまり面白くはありません。

ASP.NET の WEB 系は話が長くなるのですが、やめたほうがいいです。一度しか無い人生の時間を無駄に使いすぎる可能性があります。

Java は、Android の ADT をダウンロードして日本語化してすぐ使えるので環境としてはめぐまれており、Android アプリも簡単なものならすぐ作れて書籍もいいのが多いのでちょっとお勧めです。

しかし、マジでいろいろやろうとすると Java は必ず途方に暮れる事になるので、スーパーな先駆者が近くに居る場合にのめりこんだらいいでしょう。さらに、ここで頑張れば、プロになった時に若干お得です。将来は解りませんが・・・

JavaScript は言語の中でもっとも難しいものです。フレームワークがなければ何も作れません。ですが、Windows のストアアプリが JavaScript で作れたり、jQuery を扱えれば、結構な事ができるので楽しむにはもってこいでしょう。ですが、これだけでは飯は食えませんねまだ。

ActionScript は、Flash の衰退で意味なくなる可能性もあるのでスルー。

PHP は、そもそも標準入出力の世界で生まれた Perl と Microsoft が作った ASP という二つの金字塔を元に WEB に特化して、時代と供に進化して来たもので、言語と言うより WEB 用のフレームワークです。大勢での開発には向いておらず、個人の開発では重宝されますが一長一短なのは当たり前です。

python は、数年前に授業で少し学生にやらせましたが、全員沈没しました。とにかく日本語の情報が殆ど無かったですし、超上級者が好んで使う優れたものですが当然初心者には荷が重いです。

Ruby にしても、速度的なものや完全なドキュメントというものが少なく殆どが撃沈しています。プロが他の経験を生かして適材適所で用いるには良いものになりつつあるとは思います。

で。

Windows 限定でその中で動かすなら環境と情報量で言えば、C# と Java です。WEB系は、ブラウザが高機能になって来たので PHP + JavaScript(jQuery) が簡単で情報量と質がとんでも無く安定している上に、日々進化しています。来年は違う事ができている可能性があります。( 今でも 3D ゲーム作れます )

また、自分は人と違うものをやっているという先端感を味わいたいのならば、もっとマイナーなものがたくさんあると思います。
----------------------------------------------------------------------

正直言って、『プログラミング』は難しいものです。趣味でやるにしたら、やはりより楽しいものを選ぶべきですし、プロを目指すにしても、優先順位は存在します。

ですが、一ついえる事は『もう絶対に WEB はなくならない』という事実です。おのずと何を押さえておけばいいかという方向性の一つのヒントとなります。皆が思うほど時間はたくさんありません。何故なら、常にプラットホームのほうが進化しつづけるのに対して、プログラマはそれほど進化できるものでは無いのです。

どんなに熟練したプロでも、『専門』という範囲を外れてしまうと、また追いつくのに時間がかかります。だから時間は少ししか無いと思って、できる限り『人脈』作るのもとっても必要です。


※ 追記(あるある)
やはり、たまごの殻は根拠の無いプライドでできているようだ。



posted by at 2014-12-12 20:52 | Comment(0) | プログラマ用 | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

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

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

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

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


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

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

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

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

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


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX