發表文章

目前顯示的是 2010的文章

找出Outlook郵件最大的資料夾

圖片
哇,一下子就到了2010年的最後一天了。 年底到了也該為自已的電子郵件大掃除一下了。 不過,就算我再努力地刪,我公司裏的Outlook電子郵件檔的大小還是在4.8G左右。天啊。雖然也不是算太大,對目前主流的硬碟容量而言,算是九牛一毛而已。可是一旦要重新安裝作業系統的話,就會需要先進行郵件的備份。這一備份,也是要個半小時。 所以還是得儘力地找出這麼多的郵件空間,到底是哪些郵件造成的。 一開始,我是對每個資料夾的每封郵件大小做排序。將大型郵件且不必要的就先加以刪除。可是,發現沒有什麼成效。因為我看outlook.pst檔的大小還是維持在4.8G左右。 後來就想說outlook本身會不會有工具可以提供我到底這些空間都是使用在哪裏呢? 終算是被我找到一個不錯的資訊。 首先,可以在你的「個人資料夾」上按下右鍵,選「個人資料夾的內容」。 會出現如下圖的視窗,再選擇「資料夾大小」。 就會看到Outlook幫你分析好每個資料夾的大小資訊了,這樣你可以針對用量最大的資料夾下手。可以有效地減少所使用的空間了。

ASUS F8sg 安裝Win7 64bit OS,可用N50Vn的驅動程式

最近重新安裝我的ASUS F8sg,這次改用Win7 64bit。 沒想到ASUS官網中有說F8sg可以使用N50Vn的所有Win7 32/64 版本的驅動程式。 於是就下載N50Vn的驅動程式來試用。 還真的都是可以共用的耶。 有需要的人可以去下載喔。

資料庫還原時發生:「1130 可用伺服器儲存空間不足,無法處理這項指令。」的問題

最近在進行資料庫的備份還原時,發生在進行還原時,出現: 1130 可用伺服器儲存空間不足,無法處理這項指令。 這個錯誤訊息。 查了一下Google發現所有的相關文章,都只是在條列出一堆的Windows錯誤訊息代碼而已。根本就沒有人有相關的解決方式。 我遇到的狀況是,有一台主要的資料庫伺服器,會先將資料庫備份到一台共用伺服器中。而另一台要進行還原的備援資料庫伺服器則會試著由這台共用伺服器中的備份檔案進行還原。 基本上這樣的方式連續幾天下來都是正常的。只是偶爾就會出現上述的錯誤訊息。我試著先用網路的方式將共用伺服器中的檔案複製一份到備援資料庫服器的本機硬碟中。但是發現,就在複製進行到3/4時,就又出現如上的錯誤訊息了。 可是我看備援資料庫伺服器的本機硬碟空間是足夠的。在沒有其它方式下,我只好先重新開機。重開機後,再手動進行檔案的複製。沒想到這次就成功了。 所以我想,如果在遇到這個錯誤訊息時,或許可以先手動重新開機試看看喔。

用Dependency來找出需要的DLL

圖片
今天遇到一個問題就是要安裝Crystal Report的 CRYSTL32.OCX時,發現無法安裝。 可是它又不會顯示為何無法安裝的資訊。不過大部份無法安裝可能都是因為缺少了某些必要的DLL。 要如何知道到底是缺少了哪些必要的DLL呢?其實Visual Studio本身就有提供一個小工具可以來確認所缺少的DLL。這個小工具就是「Dependency」。 Dependency所在的目錄是你安裝完Visual Studio後的C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin中。 開啟它後,會看到如下的畫面: 開啟你要查詢的DLL或OCX檔,就可以看到標紅色的就是你有少的DLL了。 想辦法找到你少的DLL,應該就可以安裝了。 如果還是不行的話,那可能就要 安裝CrystalReport的執行環境 了。

奇怪的SQL錯誤訊息:錯誤訊息為: 由於某個無效的多部名稱

今天同事在兩台SQL DB伺服器間查詢資料時,發現要由A這台去查B那台的某個資料表時,就會出現如下的錯誤訊息: 執行批次時發生錯誤。錯誤訊息為: 由於某個無效的多部名稱,故無法處理來自 SQL Server 的結果 "xxxxxx","4" 目前的限制不足。 也發現如果只查某幾個欄位是OK的。 所以我就一個個欄位試,發現其中有個型別為image的欄位,如果要這樣跨DB伺服器查詢時,就會出現這樣的錯誤訊息。 目前的解決方式就是先不查這個欄位了。

製作多重開機OS–Win7 + Ubuntu 10.10

圖片
一直以來就很想玩多重開機OS,以前都是先裝xp,再安裝Ubuntu,因為Ubuntu本身的支援性夠高,所以也都還蠻容易安裝的。 後來出來了Win7,基本上如果跟以前的作法一樣,先安裝Win7,再安裝Ubuntu的話,應該也是還好。只是這時開機磁碟區就由Ubuntu的GRUB來管理了。但是如果重新安裝Win7的話,就會發現開機磁碟區被Win7給覆寫了。造成無法再以Ubuntu來重開機了。除非,就是也再重新安裝Ubuntu。 自己的心中一直有個疑問,那就是開機磁碟區一定要用Ubuntu來管理的嗎?是不是可以由Win7來管理,而Ubuntu一樣可以跟它共存呢? 我想到的解法就是在安裝Ubuntu時,它的GRUB可能不要安裝到Win7的主要開機磁碟區中。不過,這只是我的想法,後來就找了一些資料,發現這種方式的確是可行的,在 安裝Ubuntu時可指定GRUB的安裝位置 。至於Win7的多重開機選單的管理,就可以交給EasyBCD來處理了。 於是我開始用VirtualBox來進行測試。一開始我先建立一個虛擬機器,有20G的硬碟空間。 接著我用Win98製作的開機片,配合SPFDisk來事先規劃好分割區。我的分割區如下: 1. NTFS主分割區 10G 2. Ext 4 分割區 5G 3. 延伸分割區 5G 3-1 SWAP 640MB 3-2 分享空間 4.3G 4.3G的分享空間,是希望在兩種作業系統間都可以共用來儲存資料。 現在要開始來安裝Win7了。一開始我是先用SPFDisk將第二個分割區給設定成隱藏,原本是希望不要讓Win7看到,不然它可能會先配置D:給它。到時要改就麻煩了。 不過,安裝時發現Win7還是看得到這個隱藏的分割區,所以也沒辦法就還是先安裝看看了。後來發現,因為我是設成Ext4的格式,所以Win7還是不會自動地將它當作是D:。太好了。所以,請記得也要先將第二個要給Ubuntn使用的磁碟區設成Ext4喔。 Win7的安裝就依基本的方式安裝就好。 現在要來安裝Ubuntu了。安裝Ubuntu時,大部份也都是依基本的設定來進行安裝,只是一開始要指定Root的磁碟區,並且也要指定SWAP區。 接下來,在指定分割區這頁,請不要急著按下下一步。要先將GRUB的安裝目錄設成sd2。畫面如下: 接著就是進行安裝囉

CSS心得 vertical-align沒啥用!?

最近在使用CSS開發網頁的版面時,才發現到 原來vertical-align不是我想要的valign功能 。 vertical-align是給inline元素用的,一般元素用不太到。 所以如果需要讓文字能置中的話(一般文字,連結的文字等),要改用line-height屬性。而line-height屬性就設定外層元素的高度就可以了。 如果對CSS的padding、margin不太瞭解的話可以參考 有關CSS的各區塊意義說明 。

固定取得週一日期

如何利用T-SQL語法,固定取得每一週的週一日期呢? declare @crtDate datetime set @crtDate = '2010/11/17' -- 計算要由目前往回推幾天才會到週一 select datepart( weekday, @crtDate) - 2 -- 正式查詢語法 select dateadd( weekday, 2 - datepart( weekday, @crtDate) , @crtDate)

如何設定GridView編輯時使用DropDownList,且可指定預設值

設定編輯時使用DropDownList 1. 先將你的欄位,設定成TemplateField 2. 再到GridView物件中,使用「編輯樣版」的功能 3. 選擇EditItem Template,並拉入一個DropDownList控制項 4. 開始設定DropDownList的資料來源,設定方式就跟一般的DropDownList設定一樣 5. 設定如下的預設值 6. 完成 指定預設值 只要在 中加否 SelectedValue=""的屬性就好了。 雖然這個屬性一開始在輸入時,它不會自動帶出intellicense的資訊,原本以為是不可行的。沒想到,直接手動輸入後,還是一樣有效。 範例: <asp:TemplateField HeaderText= "組別" SortExpression= "TeamID" > <EditItemTemplate> <asp:TextBox ID= "textEditTeam" runat= "server" Text= '<%# Bind("TeamID") %>' ></asp:TextBox> <asp:DropDownList ID= "dlEditTeam" runat= "server" DataSourceID= "sqlTeam" DataTextField= "TeamName" DataValueField= "TeamID" SelectedValue= '<%# Bind("TeamID") %>' > </asp:DropDownLis

使用ASP.NET MasterPage下的Logout計時登出

目前新式的ASP.NET或多或少都會使用到MasterPage的開發方式,就是所有網站都有一致的版面。 最近在設計某個網站的Logout頁面時,也採用了MasterPage的方式。不過一般如果登出後,都會先顯示已登出的資訊,再等待一段時間後,就自動再切換到登入的畫面中。 一開始要實作這個功能時,發現有些人是建議要使用JavaScript的timer來實作。可是,在使用MasterPage的模式下,子頁面無法去寫JavaScript的程式碼。所以這種方式不可行。 後來又查了一下,發現原來 使用Response就可以達到這個目的 了。只要在Page_Load()函式中加入以下的程式碼就OK了。 protected void Page_Load(object sender, EventArgs e) { string destinationURL = "http://www.mysite.com" Response.AppendHeader("REFRESH", "5;URL=" + destinationURL); }

設定GridView的可排序欄位標題樣式

在ASP.NET如果使用GridView,且設定欄位是可排序時,那這些欄位的標題會變成是HyperLink的模式。 此時,如果要設定這些可排序欄位標題(GridView Sortable Header)的樣式的話,需要使用以下的CSS語法: in .css tr.GridViewHeader { font-weight: normal; color:Black; text-decoration:none; text-align:left; background-image:url(../images/testImgs/test.gif); height:16px; } tr.GridViewHeader a:visited { font-weight: normal; color:Black; text-decoration:none; } tr.GridViewHeader a:link { font-weight: normal; color:Black; text-decoration:none; } in code: myGrid.HeaderStyle.CssClass = "GridViewHeader"; 資料來源: http://forums.devx.com/showthread.php?t=160887

啟用RunAs功能

在Windows Server 2008以後的版本,原本在滑鼠右鍵中的「Run As」功能被移除了。 因為在使用遠端偵錯時會需要以不同的使用者身份來執行程式,所以還是需要使用到這項功能。於是就上網找了一下,原來還真有人幫忙提供了 一個程式來進行Run As的功能 。 下載後,會得到一下個ShellRunAs.exe。請在命令列中執行它,並給它命令列指令:/reg。 執行後,就可以在滑鼠的右鍵選單中看到「Run As」的選項了。

用Asynchronous Agents Library撰寫Actor-Based程式

多處理器的時代已經來臨了。所有的程式設計架構都將朝向多執行緒的方式來開發。 不過,使用多執行緒配合多處理器的方式來開發程式並不一定保証就會讓效能達到最高峰。原因在於我們有些週邊的處理效率過慢。造成整體的效能無法提昇。 多執行緒的程式開發架構有很多種,其中有一種Actor-Based程式架構非常適合用來解決上述的問題,也就是在程式架構中會使用到慢速週邊的部份。 每個應用程式的元件都可以視為是一個Actor,每個Actor都可以接收、傳送及處理訊息。所以Actor-Based程式架構是以訊息處理為主的一種架構。 在Visual Studio 2010中也引入了一個Asynchronous Agents Library(AAL)函式庫可用來進行Actor-Based程式開發。 相關的資料可參考MSDN中的「 用Asynchronous Agents Library撰寫Actor-Based程式 」

再回首 -- HTML語法

現在看到的多數網站的內容,有時會發現網站的作者會大量地使用div、span等語法。可是有時回想一下使用這些語法真的是有必要或有意義的嗎? 在「 有意義的標籤:POSH及其超越 」一文中作者指出這些被濫用的語法。並提倡要使用最原始的HTML語法來撰寫網站。 在這篇文章中,作者也引用了另一個網站的內容。主要也是提到要 儘量使用HTML基本的語法 。如果有表格式的資料要呈現的話,也要 儘量使用最完整的table 來表示。而不是用一堆無意義的div、span來架構。

以寫程式的專業來寫CSS

我個人目前對網頁程式的開發還沒有太多的經驗。至於CSS的應用也是在一開始的簡單應用而已。 今天看到一篇文章在討論 CSS的最佳開發規範 時,才意識到原來寫CSS也是要以寫程式的專業方式來對待它,這樣才能寫出一份讓人看得懂、可維護的CSS檔喔。

MongoDB初次使用

圖片
最近在MSDN中發現了一種新的非關聯式資料庫-- MongoDB 。第一次下載下來試用看看。 在這篇參考文章中,作者要我們 先測試一下MongoDB 。一開始作者有提到要在C:\建立一個data目錄,在這個目錄中再建一個子目錄db。可是一開始沒有搞懂作者的意思。以為其實不用手動建這個目錄的話,MongoDB也可以自行新增才對。於是就開始試著要啟動MongoDB的服務,也就是執行: mongod.exe 結果當然就是失敗囉。看了一下這一堆文字中,突然看到了/data/db/的字串。這不就是那位作者要我們手動建立的目錄嗎?難道是少了這個目錄。 當然,要手動到C:\下建立這個目錄也是可以。只是想說一定要建在C:\下,而且一定要是data/db這樣的目錄結構嗎? 於是就下了 mongod.exe --help的指令,想要看一下mongod.exe有什麼其它相關的設定。果然看到了一個--dbpath的指令。我想這個應該是用來指定要使用的資料庫路徑的吧。 所以我就在D:\下建了data/db的目錄。並用以下的指令來啟動MongoDB的服務: mongod.exe --dbpath D:\data\db 果然可以正常啟動了。 接著就是要測試一下這個資料庫是否是真的正確地執行中了。 此時要下的指令就是mongo.exe 執行後果然可以得到回應: 而資料庫也收到用戶端的連接需求: 接著就是要用C#來連接並使用MongoDB了。目前我使用的MongoDB C# driver是: mongodb-csharp driver 測試用的程式碼為: namespace FirstMongoDB { class Program { static void Main( string [] args) { var mongo = new Mongo(); mongo.Connect(); var db = mongo.GetDatabase( "northwind" ); var categories = db.GetCollection( "

T-SQL中將float完整轉成字串的方式

最近因為有些需求,要利用T-SQL的語法將某個float的欄位中的數值轉成字串。 一開始會想到的就是用cast及convert這兩個函式。不過在使用後發現這兩個函式在將float值轉成字串時,都會有小數位數不足的問題。 後來查了一下網路中的相關資料,才發現 原來在T-SQL的MSDN中就有提到使用str()來轉換float成字串的解法 了。 測試的語法如下: -- 宣告一個變數來儲存要轉換的float數值 declare @TestValue as float set @TestValue = 0.952508696508641; -- 使用cast,convert及str來進行轉換 select @TestValue as Value, cast( @TestValue as varchar(100) ) as [Cast], convert( varchar(100), @TestValue ) as [convert], str( @TestValue, 25, 20 ) as [str] 結果如下: Value                         Cast         convert                str 0.952508696508641 0.952509 0.952509       0.9525086965086410 可以發現使用cast()或convert()這兩個函式時,就算我字串的長度給了100,它還是只有六位數。而使用str()的話,就可以自行控制小數位數了。

如何讓APS.NET的Login元件置中

ASP.NET中提供了一個Login的元件,不過,這個元件一般都是被放置在一個 中。 如果直接針對這個Login設定text-align:center的話,那只有文字會置中對齊,整個元件還是靠左對齊的。 要讓這個Login元件能置中對齊的話,就要用包含它的 來下手了。而針對div使用align:center的話,也是沒有用的(好像IE6有支援,但其它瀏覽器就不支援了)。所以最好的作法就是利用設定width及margin:auto的方式來 讓 能置中放置 。

NULLIF()如何用才好

今天突然看到一篇文章在 說明NULLIF()的使用 。不過看過這篇文章後,覺得NULLIF()好像在這篇文章中使用起來有點多此一舉,似乎不用NULLIF()還更好些。 因為在下面的SQL指令中與其用NULLIF()來判斷,不如就直接判斷就好。 When NULLIF(A.Value, 0) IS NULL Then 0 可是我想既然會提供NULLIF()這個函式,就一定會有它好用的地方才對。於是在網路上查了一下相關的文章,發現這篇的作者倒是提到一個重點,那就是在Count()函式中是不會計算NULL值的,所以 在此使用NULLIF()的話,可以簡化不少程式碼 。

.NET 4.0 可轉散發套件

使用VS2010開發的程式要安裝在使用者端時,使用者端需先安裝 .NET 4.0 可轉散發套件

不要在建構子中呼叫虛擬函式

圖片
最近發現當在建構子中設計要去呼叫虛擬函式時,會發生衍生類別因為還未完全執行完建構子的初始化動作,就直接呼叫它所改寫的虛擬函式的話,可能會引發一些問題。 例如: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace VS2020Test { public class CallVirtualFuncFromCtor { public static void UT() { MyDerivative md = new MyDerivative(2, 5); } } public class MyBase { protected int id = 0; public MyBase( int i) { id = i; ShowID(); } public virtual void ShowID() { Console.WriteLine( "[Base] ID " + id.ToString()); } } public class MyDerivative : MyBase { protected int id2 = 0; public MyDerivative( int id, int id2) : base (id) { this .id2 = id2; } public override void ShowID() { Console.WriteLine( "[Derivative] ID " + id.ToString() +

程式碼產生器--Visual T4

圖片
由網路上看到Visual Studio有擴充的套件,是用來產生程式碼的程式碼產生器 -- Visual T4 。 於是就下載它的Community版本來試用。結果安裝完成後,發現沒有任何變化。而且在「開始」的所有程式中,也找不到對應的項目。想說是不是安裝失敗。 於是就直接用檔案總管去找,也是沒有找到任何相關的檔案。 只好到它的討論區看看了,後來發現有人詢問有關在VS2005上使用的問題,發現有人回了一篇 在VS2005如何簡單測試Visual T4 的方式,一試,果然是有安裝成功。 有成功的話 ,畫面會如下。關鍵字會用顏色標示出來。

Topalov西洋棋局奇怪走法

圖片
最近在研究西洋棋時,找到 某個網站 中有棋王Topalov的一局賽局,看到一半時,雙方走到如下圖的局勢,此時白棋已走完(Re5-q5),接著要換黑棋的Topalov走了,原本我想的是他會走Ka6-a5,來個將軍抽軍,結果不是,他反而是走Ra6-f6。真是怪了,結果最後以平手結束。

在VS2010中編譯OpenCV 2.1

圖片
最近開始使用VS2010了,突然想到以前有在用OpenCV。所以就想開始準備一下在VS2010中使用OpenCV。 首先當然是要下載OpenCV的最新版本囉。一開始我用Google查詢時,它將我帶到SourceForge中的OpenCV 2.0.0a版。我以為這已是最新的版本,後來才發現最新的是 2.1版 。於是就下載OpenCV 2.1。 下載完畢後,先將它解壓縮。解開後裏面有很多檔案,可是就是找不到VS2010可用的方案檔(*.sln)。於是就去看了一下OpenCV裏的doc目錄,看看說明文件中有沒有說明如何用VS2010來編譯OpenCV。果然裏面有提到這部份。 但是要用VS2010來編譯OpenCV的話,首先要能產生VS2010可以使用的.sln檔。在OpenCV中它提到要使用CMake來產生其它編譯器所需的相關專案檔案。於是就去下載了最新的 CMaker 2.8 。 下載完成後,就先將CMaker 2.8安裝起來。不過,因為先前在下載CMaker時有看到網站中有一段說明,大意是說CMaker2.8是在VS2010之前發行的版本,所以對VS2010的支援會有些問題,需要再更新它的模組檔。所以我就下載 CMakeVS10FindMake.cmake , 將它更新到CMaker安裝目錄中的Modules裏。 接著就是照OpenCV的說明文件中使用CMake GUI介面的方式來產生VS2010的方案檔。正確的方式如下圖: 在Where is the source code欄中,請填入OpenCV2.1的根目錄 ,而不要以為它要的是OpenCV2.1目錄下的src目錄(如第二張圖)。如果填錯的話,可能會得到如第二張圖那樣的結果,最後是無法正確產生VS2010所需的方案檔的。 一切都沒有設錯的話,最後按下「Generate」後,到你指定的輸出目錄中就可以看到VS2010的方案檔了。 我開啟方案檔並建置後,是看到有不少警告,不過最後也都正確地建置成功了。 當然 在這篇文章中也有介紹如何產生VS2010所需的方案檔 ,不過,這篇文章的作者還多加了TBB的功能。這是我沒有加的部份。有需要的人也可以參考一下。

WCF不使用安全性來進行通訊

圖片
最近要開始在另一台電腦上利用WCF模式連到其它台電腦上的伺服器程式時,才發現會有安全性的問題而無法連線。 查了一下資料, 發現有如何設定不使用安全性的方式來進行通訊的資料 ,果然設定過後,就可以暫時不使用安全性來進行通訊了。 伺服器端app.config檔的設定 主要就是要手動加入一個 區段,並設定 區段(如果你是用這種通訊協定的話)。在 區段中,指定一個名稱給它,並將所有的安全性設為None。 最後記得在所有的endpoint區段中,加入使用的bindingConfiguration=""。 用戶端的app.config檔的設定 用戶端的部份原本就會有 區段,所以只要找到這個區段,並將它的安全性都設為None。

XPTable接收資料修改的事件

圖片
XPTable 算是一個不錯用的免費套件,它是用C#語言寫成的。不過好像好久沒有更新了。 最近在使用時,需要接收XPTable中每個Cell的變動資訊。一開始是使用XPTable本身的一個事件:EditingStopped。可是這個事件雖然是在編輯結束時會收到通知,但在此時,XPTable並未將資料放入到Cell中。所以根本就沒有機會取得目前最新的資訊。 後來才發現,原本是要為每個Cell去接收它的PropertyChanged的事件。在觸發這個事件時,才會知道新的值為何。

安裝SQL2005測試資料庫--AdvantureWork

一般在安裝SQL 2005時,如果沒有特別指定的話,它是不會自動為你安裝測試用的資料庫AdvantureWork的。 要自行安裝的話,如果只是拿原本的SQL 2005安裝光碟來安裝的話,也是無法正確安裝的。後來就上網查了一下資料, 原來是要再自行去下載測試資料庫的安裝檔 。 不過,目前這些測試資料庫的安裝檔都不在微軟的網站裏了,都已經移到CodePlex中。有需要的人 要到CodePlex中下載 。 SQL 2005測試資料庫 AdvnatureWork的下載 在此。 安裝後,其實只是將資料庫的檔案放到你的電腦中而已。直接開啟Management Studio的話,還是看不到AdvantureWork這個資料庫。你必須手動去「附加」這個資料庫。

檔案組成分析工具 -- Xinorbish

圖片
電腦使用久了,就會發現硬碟中充滿了許多檔案,佔了許多的空間,可是想要刪除又不知要由哪下手。 當然大家都知道,要刪除的話,就找佔用最多空間的優先看看是否可以刪除。不過,如果要用Windows本身內建的檔案總管來一個個看每個目錄的總容量的話,那真是要按不少下的滑鼠。 最近看到一個好用的檔案組成分析工具 -- Xinorbis 。它可以幫你分析你所指定的檔案中,各種檔案的組成比例,也可以幫你分析每個資料夾所佔用的空間。讓你可以快速地知道要由哪個資料夾下手去刪除檔案所得到的效益是最大。

利用PDF及掃描器保存雜誌內容(使用ScanToPDF)

喜愛訂閱雜誌的人,在訂閱一段時間後,一定會開始面臨家裹的空間不足,取捨是否要將舊雜誌丟棄回收的兩難問題。 有些雜誌雖然過期了,不過,其中可能會有些內容是你有興趣,想要能保存下來以便未來可以參考用的。有種方式就是將你需要的那幾頁給剪下來,裝訂成一本來保存。不過,久了之後,也是會累積一定的量,佔用一定的室內空間。 目前最好的方式就是將它用電子化的方式保存下來。例如將這些雜誌的內容掃描之影像檔,裝訂成一份PDF來保存。 要達成這種方式,目前有一套不錯用的軟體 ScanToPDF 。可以直接連接掃描器,將所需的雜誌內容掃描成圖檔再儲存到PDF檔中。 而且PDF檔可以分段儲存,也就是可以將新的掃描圖檔附加到既有的PDF文件中。

Revo Uninstaler

圖片
雖然微軟的作業系統中有內建的「新增/移除程式」,但它的移除功能總是令人覺得有點不完全。可能是它的移除功能就是直接去叫要被移除的程式自已去移除吧。這樣也不是不好,一般來說應用程式應該會知道自己安裝了哪些東西,要移除哪些東西。不過,也有可能它就是故意不將某些東西移除,也說不一定。 所以最好的方式,就是找一個公正第三人來進行移除囉。在PCHome上看到有介紹一套免費的移除軟體 Revo Uninstaller ,就下載下來試用一下囉。 Revo Uninstaller有免費及付費版本。當然是先試用一下免費的功能,再看要不要付費買這套軟體了。 安裝完成後,立即來試用一下。 Revo Uninstaller的主畫面 找一個要移除的程式進行移除。移除的模式有四種,可以選擇只使用此應用程式本身提供的移除功能,或是再另外幫你找出需要移除的登錄檔及其它檔案等等。預設是選「穩建」模式。 選好移除模式後,就開始進行移除作業了。 移除完成後,會再幫你掃瞄看是否還有其它需要移除的項目。 如果有需要移除的登錄檔的話,也會列出來詢問你看是否要進行移除。 除了登錄檔之外,還會列出一些相關檔案但未被移除的項目。 最後就是完成移除的動作。

MS SQL 資料庫檔案移動

有時會遇到需要將已存在的資料庫由某個目錄移到另一個目錄。 移動的方式有幾種: 一種是 利用SQL Managerment介面來下SQL指令移動 。 另一種則是用手動的方式。先卸離資料庫,再用檔案總管移動檔案(含Log檔),再用附加的方式掛載資料庫。 以上是目前試過的方式,記錄一下,以免忘記。

C# 免費函式庫

好用的 C# Docking Control .

設定SQL Server主動通知排程狀態

圖片
一般在SQL Server中,或多或少都會設定一些資料庫所需的排程作業。這些作業會定時地在指定的時間啟動、執行。執行如果成功那也就還好,但如果失敗的話,或許就要重新執行一次,或是要做另外的處理。 可是總不可能每天都在固定的時間去檢查每個作業執行的結果吧。這樣例行性的檢查工作,如果也能請SQL Server代勞的話,那管理人員就可以更專心地去處理其它重要的工作。只要當排程執行失敗時,SQL Server能主動通知一下的話。 以下,我就來分享一下,如何在SQL Server 2005中設定讓排程在失敗時(或是執行成功時)寄送警告的訊息。警告的方式有許多種。在此就先介紹使用寄送電子郵件的方式。 首先要讓排程在執行後,不論是成功或失敗時能寄送電子郵件的話,首先要在SQL Server中設定用來寄送電子郵件的方式。 SQL Server可用來寄送電子郵件的方式有兩種:一種是使用SQL Mail;另一種是使用Database Mail。 這次我要分享的是使用Database Mail來寄送電子郵件的設定方式。 在Enterprise Manager的管理介面中,找到您要設定的資料庫伺服器。找出在伺服器中的「管理」中的「Database Mail」。 在Database Mail項目上按下右鍵,會出現如下圖的選單。選擇第一項:設定Database Mail。 接著會出現一連串的精靈式設定方式,導引您去一步步地設定好Database Mail。 此時,直接執行下一步。會出現如下圖的畫面。在這個畫面中,如果您是第一次設定的話,可選擇第一個選項:執行下列工作以設定Database Mail。如果您先前有已設好的項目的話,可以選擇第二個選項來進行修改。 如果您是第一次設定的話,在下一步時,會出現如下圖的畫面,要求您設定「設定檔」。 在其中的「設定檔名稱」中您可以自行取一個名稱來識別這個設定檔。例如上圖中的Report Mail。「描述」的部份可寫可不寫。 接著在下方的「SMTP」帳戶中是要設定在使用這個設定檔時,所可以使用的電子郵件寄送伺服器的設定。一開始會是空白的。此時請到右邊的「加入」中開始新增第一個SMTP的設定。 在開始新增時,一開始會出現如上圖的視窗。會讓您加入已設定好的SMTP設定。不過,如果您是

全國繳費網--可以線上繳費,且可以繳過期的帳單喔

今天在看這個月的「Smart智富雜誌」時,才知道原來有 全國繳費網 這種網站,可以透過網路的方式來繳交帳單。好處有: 金額不限2萬元。可以繳超過2萬元。這樣繳一些像保險費這種大宗的帳單就方便了。 手續費較低。利用金融卡線上轉帳,只要10元的手續費。比到ATM轉帳來得便宜喔。

實作泛型版本的XML資料讀寫器

在實務上,目前自行開發一個泛型類別或函式的機會的確是不多。能想的到的範例,大致上就是利用XMLSerializer來序列化物件時可以改寫成泛型的版本吧。 利用XMLSerializer我們可以將任何型別的物件(當然會有些基本限制)給轉換成XML的格式,並儲存到檔案中。 在第一個版本中,我們實作了一個XMLPersistence類別,其中有兩個靜態函式Load()及Save(),可用來將型別為MySettings的物件儲存到指定的檔名中,或是由指定的檔名中讀取出來,還原成一個MySettings的物件。 XMLPersistence.Test()是用來測試的程式碼。說明如何使用XMLPersistence這個類別。 在做完第一版後,可以發現Load()跟Save()這兩個函式中,其實我們如果能將MySettings這個型別抽離出來,作為一個參數的話,那Load()跟Save()這兩個函式就可以改寫成泛型的函式。不論你需要儲存或讀出的型別的哪一種,都可以透過這兩個泛型函式來儲存成xml檔,或是由xml讀出轉回成物件。 程式碼下載: XMLPersistence.cs using System; using System.Collections.Generic; using System.Text; using System.Xml.Serialization; using System.IO; namespace UT { /// <summary> /// 要用來儲存成xml檔案的類別 /// </summary> public class MySettings { public string DBName = "" ; public string ServerIP = "" ; public string User = "" ; public string Password = "" ; /// <summary> /// xml persistence時需要預設建構子

好用的Android軟體

圖片
Handcent SMS Barcorde Scaner AddinTimer AddinTimer不僅可以定時控制常用的功能,如定時飛行/定時提醒/定時藍牙/定時WIFI/定時情景/定時壁紙等功能,還可以整點報時/定時拍照/定時錄音等有趣的功能。 Simi Clock Simi Colok widgetsoid widgetsoid Fold Organizer Folder Organizer 記帳 CWMONEY 理財筆記 使用方式 Simply Lockscreen 使用方式 Elixir RayDial Descrption Ray Dialer RayDial Descrption Battery Status 在狀態列上顯示目前電池用量 Fast Reboot 在不用重開機的情況下,執行重啟的動作。可以釋放出更多的RAM。 AndAndo GPS軌跡記錄程式 Advanced Tally Counter 計數器軟體。可以設定數個計數器。一般是用來計算例如每月的ATM提款次數(因為一般每個月會有限幾次是免費使用)。 KeepassDroid 密碼管理器 Jort行事曆軟體 可同步Google行事曆及工作清單 Screen Off and Lock 觸控就能關閉螢幕。減少使用開關鍵的次數。 親筆 手寫記事軟體。可記錄你親筆手寫的結果。 音量控制 控制手機中所有可調整的音量 DropSync 自動同步手機中某個資料夾到Dropbox中。可自定進行同步的時間、檔案大小限制、以及只在有WiFi下才同步等等