可愛的小程式 ColorFormat (click to see source code)
上面附上已完成的 ColorFormat,調好顏色,按下按鈕,就會把顏色代碼複製到剪貼簿,然後按 Ctrl + v就可以叫出來貼上,也可以右邊 Numeric 數值輸入,0-255,真的很方便。
My Question
好了,推完這支程式之後,來說說我遭遇到甚麼困難,搞了一整天。
我先安裝 BCB 在 Win8.1,完成之後,開個專案,關掉 BCB,要再開啟時,悲劇了,一直錯誤,無法開啟,跳出如下對話。
重新開機又可執行一次 BCB,經過 Google 查詢,發現很多人都有這問題,指向微軟更新包的錯誤,而且到現在還沒改善。
BCB執行時會建立一個檔 EditorLineEnds.ttr,在 windows temp 目錄中,奇怪的是,它會被 System 開啟,然後就不放手,以至於 BCB 要再次執行時,無法再建立該檔,就一直產生錯誤,刪也刪不掉,因為 INUSE。
這很可惡,總不能執行一次就重開機一次吧,後來繼續找解決方案,發現大家的解法就是改檔名,但仍然刪不掉,不過卻可以執行 BCB 而不用重開機了。
國外有人是寫成批次檔來改檔名,也有寫成執行檔供人下載,但我試過,改檔名部分有一些日期會產生非法字元" / "會失敗,所以繼續研究一下,在批次檔中如何改檔名可以不重複,還是要取日期+時間,到分鐘就好,改寫如下,它主要就是把那個作怪的檔
C:\Users\myCon\AppData\Local\Temp\EditorLineEnds.ttr
改檔名
EditorLineEnds2016-2-13.4.33.ttr
然後做一個目錄,全部集中丟裏頭,這樣 BCB 就可以重複執行了,就是執行前,先執行這個批次檔,處理掉這個作怪的檔,然後再執行 BCB。
批次檔 bcb.bat 請自行存成 bcb.bat,並用最高權限執行
SET /A yy=%date:~0,4%
SET /A mm=%date:~5,2%
SET /A dd=%date:~8,2%
SET dt=%yy%-%mm%-%dd%
@echo %date% = %dt%
SET /A Hou=%time:~0,2%
SET /A Min=%time:~3,2%
SET /A Sec=%time:~6,2%
SET /A Ms=%time:~9,2%*10
SET tt=%Hou%.%Min%
@echo 時間 %time% = %tt%
SET dttt=%dt%.%tt%
@echo 日期+時間 %dttt%
C:
cd %Temp%
if exist "EditorLineEnds.ttr" (
ren EditorLineEnds.ttr EditorLineEnds%dttt%.ttr
) else (
goto runbcb
)
if exist "dzEditorLineEndsFix" (
MOVE "EditorLineEnds%dttt%.ttr" "dzEditorLineEndsFix"
) else (
md "dzEditorLineEndsFix"
MOVE "EditorLineEnds%dttt%.ttr" "dzEditorLineEndsFix"
)
:runbcb
mshta "javascript:alert('SUCCESS MOVE EditorLineEnds.ttr that you can run BCB fine.');close()"
這是在 Win8.1環境下測試,其他板沒測過。
說明:
SET /A yy=%date:~0,4%
SET /A mm=%date:~5,2%
SET /A dd=%date:~8,2%
SET dt=%yy%-%mm%-%dd%
@echo %date% = %dt%
這是取系統日期,然後改成合法字元組合
/A 表示數值,這樣可以解決空白問題
date = 2016/02/13 週六
經過重新組合後,會變成
2016-2-13
接著是時間
SET /A Hou=%time:~0,2%
SET /A Min=%time:~3,2%
SET /A Sec=%time:~6,2%
SET /A Ms=%time:~9,2%*10
SET tt=%Hou%.%Min%
@echo 時間 %time% = %tt%
time = 5:40:29.85
經過重新組合後,會變成
5.40
再把這兩個合起來
SET dttt=%dt%.%tt%
2016-2-13.5.40
然後改檔名
EditorLineEnds.ttr
EditorLineEnds2016-2-13.5.40.ttr
接著檢查存放目錄是否存在?不存在就做一個
然後搬移進去,這樣就完成了。
不過,還是刪不掉,不曉得要怎麼把 inuse 解除,如果你知道的話,請留言告訴我怎麼做,謝謝!
沒有留言:
張貼留言
請提供您的寶貴意見 ;-)