Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

旗標電腦文摘 第228期 93.7.15
內容提供:
   旗標出版公司

旗 標 電 腦 文 摘

第228期 2004.7.15

旗標電腦文
已發行電子報






Windows XP 系統還原急救大全

書號:F944
定價:198 元

施威銘研究室 著

我要線上購買


本期文摘:修復 Word 文件檔 4 大絕技

本文摘錄自旗標 F944「Windows XP 系統還原急救大全」一書 您是否有在撰寫長篇論文時, 遇到斷電、當機等意外, 導致文件內容全部遺失的經驗?本單元就要教您如何還原這些遺失的文件內容, 減少您的損失。

善用 Word 內建功能, 檔案毀損不用怕

Word 是目前最多人使用的文書編輯軟體, 其內建的文件還原、修復功能也十分完備, 除了具備『自動儲存』 機制, 也可以修復壞損的郵件。在此我們就提供 4 個招式, 教您如何利用 Word 內建的功能選項, 來保障辛苦建立的文件內容。


以下操作我們是以 Word 2002 做為示範, 其中第 2、4 招是 Word 2002 的專屬功能, 另外兩招則可適用於 Word 2000 與 Word 97。

第 1 招:縮短自動儲存的間隔

  • Word 具備自動儲存功能, 當您在建立檔案的過程中, 假設發生各種突發狀況 (例如:突然斷電), 可以藉此挽回部份文件內容, 減少不必要的損失。請先在 Word 執行 『工具/選項』 命令, 開啟選項交談窗。
  • 切換到儲存頁次, 並勾選允許幕後儲存檔案多選鈕 (預設即是選取狀態), 然後再選取下方的儲存自動回復資訊時間間隔多選鈕, 並在後方欄位輸入自動儲存的間隔, 建議設定為 3~5 分鐘。最後請按下確定鈕套用設定值即可。

若設定的自動儲存時間過短, 容易佔用系統資源, 而影響正常作業。

第 2 招:利用自動復原功能救回文件

Word 具備『自動復原』功能, 在程式不正常關閉時, Word 會保留先前自動儲存的內容。待使用者重新啟動 Word 之時, 視窗左方會出現復原文件窗格, 只要按下復原項目, 就會顯示先前建立的文件內容, 若是需要保留, 可以直接按下 鈕進行儲存。

第 3 招:挖出 Word 的暫存檔

  • Word 每次自動儲存時, 都會將文件內容存成一個暫存檔, 要是誤刪或是遺失檔案, 可以從這些暫存檔下手, 找回失去的文件內容。不過這些檔案為隱藏檔, 必須更改資料夾選項設定, 使之正常顯示。請先在瀏覽視窗中執行『工具/資料夾選項』命令, 然後切換到檢視頁次, 並勾選顯示所有檔案與資料夾單選鈕, 按下確定鈕套用設定即可。
  • 接著請進入 Word 並啟動開啟舊檔交談窗, 然後將檔案類型切換為所有檔案項目, 切換到原始文件的編輯路徑後就會看到名稱為 "~WRLXXXX.tmp" 格式的暫存檔, 您可以將它們一一開啟, 看看是否為遺失的文件。
第 4 招:強迫開啟損壞檔案

8有時由於文件已經毀損, Word 會拒絕開啟檔案, 這時您可以利用『強迫開啟』 的方法, 看看是否可救回部份文件內容。請在開啟舊檔交談窗中, 任選一個文件檔, 然後按下開啟鈕右方的小箭頭展開延伸項目, 並執行『開啟並修復』命令, 即可強迫 Word 開啟指定的檔案, 並嘗試進行修復動作。

利用 WordRecovery 搶救損壞嚴重的 Word 文件

WordRecovery 是由 OfficeRecovery 公司出品的軟體, 專門用來修復 Word 文件檔, 即使檔案毀損嚴重, 也可以幫您搶回部份可讀的內容, 減少您的損失。若是您以 Word 內建的功能都無法還原原始文件內容, 試試 WordRecovery 也許會有意想不到的效果。 ==== WordRecovery 的試用限制

WordRecovery 試用版在功能有以下 2 點限制: 文件復原後, 在頁首、頁尾的位置, 會有軟體公司的名稱與網址 (可手動刪除)。 文件內容中, 每個句子只會回復前 10 個單字, 其餘則以 "demo" 取代。 若您覺得該軟體功能還不錯, 可以在網站上付費註冊成正式版。 =======

WordRecovery 的取得與安裝

請先連結到 WordRecovery 的軟體介紹網頁 http://www.officerecovery.com/word/, 然 後按下網頁中的 Download a free demo version 超連結即可取得 WordRecovery 的安裝程式。
您也可以選擇下載 OfficeRecovery, 除了整合了 WordRecovery 外, 也可修復其他 Office 文件。

修復損壞的 Word 檔

  • 程式安裝完畢後, 請執行『開始/所有程式/WordRecovery/Word Recovery』命令啟動軟體。然後按下 鈕, 並選擇要進行修復的 Word 文件檔, 按下 Recovery 鈕即可開始進行修復。
  • 在 Diagnostics 窗格中會顯示修復的狀況, 所有修復作業都完成後, WordRecovery 會要求使用者儲存修復後的檔案, 請自行決定儲存的路徑與檔名, 並按下儲存鈕即可。
  • 檔案修復後, 您可以利用 Word 開啟文件, 看看修復的狀況如何。在此筆者測試的結果還不錯, 居然連文件中的圖案都一併修復了, 不過由於使用的是試用版, 因此並無法完整回復文件內容。

據筆者的使用經驗, WordRecovery 對英文文件的修復結果較佳, 中文檔案則常會出現奇怪的亂碼內容。


 --- 本篇完

 
  • 這本書還有以下內容哦:
    • 資料備份面面觀
    • 免安裝!用 XP 內建工具備份檔案及系統設定
    • 利用 Ghost 備份還原硬碟資料
    • 誤刪檔案沒關係,使用 FinalData 什麼都能救!
    • 使用 SPFDisk 搶救被刪掉的硬碟分割區
欲知詳情請參考:
   
F944 Windows XP 系統還原急救大全          我要買這本書
........................................ ........................................
 



ASP.NET Starter Kit 商務網站速成

書號:F8927
定價:450 元

周世雄 著

我要線上購買

 


本期文摘:JAVA 的連結(Links)模組動作原理


本文摘錄自旗標 F8927「ASP.NET Starter Kit 商務網站速成」一書

連結(Links)模組動作原理

「連結」模組,可顯示連結,顯示連結的動作順序:
  • 預存程序Portal_GetLinks:從Portal_Links資料表取得連結。
  • LinksDB.vb:GetLinks() 執行預存程序Portal_GetLinks。
  • Links.ascx:呼叫GetLinks() 資料繫結到DataList控制項,顯示連結到畫面。

取得連結預存程序

預存程序Portal_GetLinks,從Portal_Links資料表,取得此模組代號(ModuleID)的連結,依照ViewOrder欄位順序排序:

PROCEDURE Portal_GetLinks
(
    @ModuleID int
)
AS
SELECT
    ItemID,
    CreatedByUser,
    CreatedDate,
    Title,
    Url,
    ViewOrder,
    Description

FROM Portal_Links WHERE ModuleID = @ModuleID 
ORDER BY ViewOrder

GO 



LinksDB.vb的GetLinks() 執行預存程序Portal_GetLinks,從資料庫取得資料傳回到DataReader:



Public Function GetLinks(ByVal moduleId As Integer) 
As SqlDataReader
  '取得資料庫連線字串, 並設定預存程序名稱
  Dim myConnection As New 
SqlConnection(ConfigurationSettings.
AppSettings("connectionString"))
  Dim myCommand As New 
SqlCommand("Portal_GetLinks", myConnection)

  '命令為預存程序類型
  myCommand.CommandType = CommandType
.StoredProcedure

  '預存程序輸入參數
  Dim parameterModuleId As New 
SqlParameter("@ModuleID", SqlDbType.Int, 4)
  parameterModuleId.Value = moduleId
  myCommand.Parameters.Add(parameterModuleId)
  '連線資料庫並執行預存程序
  myConnection.Open()
  Dim result As SqlDataReader = myCommand
.ExecuteReader(CommandBehavior.CloseConnection)

  '傳回DataReader 
  Return result
End Function 



連結Web使用者控制項

Web使用者控制項Links.ascx包括一個DataList控制項:


 
  
   
   
  
  

其中ChooseURL由IsEditable是否為true來決定是否傳回編輯的超連結:
Protected Function ChooseURL(ByVal itemID As String, ByVal modID As String, ByVal URL As String) As String If IsEditable Then Return "~/DesktopModules/EditLinks.aspx?ItemID=" & CStr(itemID) & "&mid=" & modID Else Return URL End If End Function

Links.ascx.vb,當網頁載入時將執行Page_Load(),其中呼叫LinksDB.vb的GetLinks(),從資料庫的Portal_Links資料表取得此模組的連結資料,儲存於DataReader後,再資料繫結到DataList控制項,當呼叫DataBind() 時執行Web使用者控制項的「<%# … %>」部份:

Private Sub Page_Load(ByVal sender As 
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  If IsEditable Then
    linkImage = "~/images/edit.gif"
  Else
    linkImage = "~/images/navlink.gif"
  End If

  '到資料庫取得連結列表並做資料繫結以顯示出來
  Dim links As New ASPNET.StarterKit.Portal.LinkDB()

  myDataList.DataSource = links.GetLinks(ModuleId)
  myDataList.DataBind()
End Sub  



編輯連結

EditLinks.aspx負責編輯連結:
動作 呼叫LinksDB.vb 呼叫預存程序
新增連結 AddLink() Portal_AddLink
更新連結 UpdateLink() Portal_UpdateLink
刪除連結 DeleteLink() Portal_DeleteLink


譬如按下更新按鈕,Page.IsValid = True判斷是否輸入驗證OK,若為新增連結呼叫AddLink(),若為更新連結呼叫UpdateLink():

Private Sub UpdateBtn_Click(ByVal sender As Object, 
ByVal e As EventArgs) Handles updateButton.Click
  If Page.IsValid = True Then
    Dim links As New ASPNET.StarterKit.Portal.LinkDB()
    If itemId = 0 Then

      '新增連結
      links.AddLink(moduleId, itemId, Context.User.Identity.
 Name,TitleField.Text, UrlField.Text, MobileUrlField.Text, 
 Int32.Parse(ViewOrderField.Text), DescriptionField.Text)

    Else
      '更新連結
      links.UpdateLink(moduleId, itemId, Context.User.Identity.
 Name,TitleField.Text, UrlField.Text, MobileUrlField.Text, 
 Int32.Parse(ViewOrderField.Text), DescriptionField.Text)
    End If

    '編輯完畢後由ViewState取得返回的URL重新導向
    Response.Redirect(CStr(ViewState("UrlReferrer")))
  End If
End Sub

譬如更新連結時呼叫LinksDB.vb之UpdateLink():

Public Sub UpdateLink(ByVal moduleId As Integer, ByVal itemId As
 Integer, ByVal userName As String, ByVal title As String, 
 ByVal url As String, ByVal mobileUrl As String, 
 ByVal viewOrder As Integer, ByVal description As String)

  If userName.Length < 1 Then
    userName = "unknown"
  End If

  '取得資料庫連線字串, 並設定預存程序名稱
  Dim myConnection As New 
SqlConnection(ConfigurationSettings.AppSettings
("connectionString"))
  Dim myCommand As New SqlCommand
("Portal_UpdateLink", myConnection)
  '命令為預存程序類型
  myCommand.CommandType = CommandType.StoredProcedure

  '預存程序輸入參數
  Dim parameterItemID As New SqlParameter
("@ItemID", SqlDbType.Int, 4)
  parameterItemID.Value = itemId
  myCommand.Parameters.Add(parameterItemID)

  Dim parameterUserName As New 
SqlParameter("@UserName", SqlDbType.NVarChar, 100)
  parameterUserName.Value = userName
  myCommand.Parameters.Add(parameterUserName)

  Dim parameterTitle As New 
SqlParameter("@Title", SqlDbType.NVarChar, 100)
  parameterTitle.Value = title
  myCommand.Parameters.Add(parameterTitle)

  Dim parameterDescription As New 
SqlParameter("@Description", SqlDbType.NVarChar, 100)
  parameterDescription.Value = description
  myCommand.Parameters.Add(parameterDescription)

  Dim parameterUrl As New 
SqlParameter("@Url", SqlDbType.NVarChar, 100)
  parameterUrl.Value = url
  myCommand.Parameters.Add(parameterUrl)

  Dim parameterMobileUrl As New 
SqlParameter("@MobileUrl", SqlDbType.NVarChar, 100)
  parameterMobileUrl.Value = mobileUrl
  myCommand.Parameters.Add(parameterMobileUrl)

  Dim parameterViewOrder As New 
SqlParameter("@ViewOrder", SqlDbType.Int, 4)
  parameterViewOrder.Value = viewOrder
  myCommand.Parameters.Add(parameterViewOrder)

  '連線資料庫並執行預存程序
  myConnection.Open()
  myCommand.ExecuteNonQuery()
  myConnection.Close()
End Sub
譬如更新連結預存程序Portal_UpdateLink:
PROCEDURE Portal_UpdateLink
(
    @ItemID      int,
    @UserName    nvarchar(100),
    @Title       nvarchar(100),
    @Url         nvarchar(250),
    @MobileUrl   nvarchar(250),
    @ViewOrder   int,
    @Description nvarchar(2000)
)
AS
UPDATE Portal_Links
SET
    CreatedByUser = @UserName,
    CreatedDate   = GetDate(),
    Title         = @Title,
    Url           = @Url,
    MobileUrl     = @MobileUrl,
    ViewOrder     = @ViewOrder,
    Description   = @Description
WHERE ItemID = @ItemID

GO

簡單吧?

 --- 本篇完

 
  • 這本書還有以下內容哦:
    • 電子商務入門套件進階開發
    • 入口網站入門套件進階開發
    • 專案追蹤入門套件進階開發
    • 社群入門套件進階開發
    • 報表入門套件進階開發
欲知詳情請參考:
 
F8927 ASP.NET Starter Kit 商務網站速成
         我要買這本書
........................................ ........................................
我想索取前幾期的電子報  

好書能增進知識、提高學習效率
卓越的品質是旗標的信念與堅持

歡迎光臨旗標網站 - http://www.flag.com.tw


版權所有人:旗標出版股份有限公司     本電子報內容未經授權請勿轉載