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

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

旗 標 電 腦 文 摘

第213期 2004.4.1

旗標電腦文摘
已發行電子報





MSN 哈拉全攻略-視訊聊天、傳檔、密技、外掛

書號:F512
定價:280 元
施威銘研究室 著

我要線上購買


本期文摘:好用的 MSN 外掛程式

本文摘錄自旗標 F512「MSN 哈拉全攻略-視訊聊天、傳檔、密技、外掛」一書

當 MSN Messenger 遇上 Messenger Plus! 已經是如 此精采了, 沒想到現在網路上還流傳著一大堆 Messen ger Plus! 的增強外掛。這些外掛程式的檔案普遍都 不大, 是屬於小而精美的程式。在這些外掛軟體中有 些是增強 MSN Messenger 的功能;有些則是讓面板、 表情圖或訊息文字更美麗;有的就只是純粹好玩而已。

不過在介紹各式各樣的外掛之前, 必須先告訴您 一件事, 那就是並非所有在網路上流傳的外掛程式, 在安裝和使用上都沒有問題。通常您都必須先安裝 Messenger Plus! 才能再安裝這些外掛程式;另外在使 用外掛時您必須注意軟體的版本問題, 您必須挑選與 Messenger Plus! 相容的版本;最後, 有些小外掛在 安裝時會相衝, 您若自行下載安裝, 請特別注意相容性的問題。

有了以上的概念後, 我們再向您介紹在 MSN Messenger 上, 『顯示為離線』、『登出』、『關閉』、『結束』等功能的差異。因為, 某些外掛程式有很多都必須『結束』MSN Messenger, 再重新啟動才能運作;有些則是『登出』某個帳號然後安裝或直接執行外掛軟體就可以了。為了不要造成您的誤解, 請看以下的介紹:

區分『顯示為離線』、『登出』、『關閉』、『結束』的差異

MSN Messenger 既然有區分『顯示為離線』、『登出』、『關閉』、『結束』命令, 必定有它的道理, 這些命令會在您的電腦上和連絡人的電腦畫面上產生不同的作用, 以下筆者就詳細解釋給您聽:
顯示為離線:顧名思義就是您的狀態為看起來是離
  線的, 然而您並不是真的離線了, 您還是能在 MSN 
  Messenger視窗上看到其他的連絡人。當您『顯示為
  離線』 時您雖然看得到其他的連絡人, 但是無法傳
  訊息給他們;而且連絡人會發現您是離線的狀態, 
  他們可能以為您真的關掉電腦了呢。

◇登出:是指您不再以目前的 .NET Passport 帳號來
  執行 MSN Messenger。它就像 Windows 的登出命令
  一樣, 軟體本身並沒有結束作業, 但是您並沒有使
  用該軟體的權利, 您必須輸入登入用的帳號和密碼
  來執行 MSN Messenger。

◇關閉:MSN Messenger 中關閉視窗的功能並非真正
  的讓這個軟體無法作用, 反而比較像『縮小到工具
  列』命令。

◇結束:『結束』命令就相當於您把 MSN Messenger 
  關機了。通常微軟在維護 MSN 伺服器或您要更新 M
  SN Messenger 軟體到最新版時, 電腦都會自動結束 
  MSN Messenger, 這樣一來您就完全無法使用 MSN M
  essenger了。
jnrzloader 讓 MSN 一上線就顯示為離線

茫茫網海中流傳著這麼多 MSN Messenger 的外掛程式, 筆者第一個推薦這一套 jnrzloader 軟體, 它可以讓您一開啟 MSN Messenger 就顯示為離線, 然後當您想上線時再手動調整狀態即可, 其他人永遠都不知道您到底是何時上線的, 真的是非常值得推薦的超強外掛。

先到 www.mess.be 下載 jnrzloader

您可以到 "www.mess.be" 下載最新版的 jnrzloader,請連結到下列的網址下載:

http://www.mess.be/

進入後, 在首頁的廣告橫幅(Banner)下方, 有四個下拉式選單,點一下[Download], 並選擇「Search our files」,在搜尋欄中輸入" jnrzloader ", 就可看到關於這個軟體的相關訊息和下載位置。

從網站下載下來的軟體通常是經過ZIP壓縮過, 解壓縮後就會有一個" jnrzloadermsn610207(www.mess.be) "的資料夾。

====注意=======================================
請先確認您電腦中的 MSN 版本, 再下載相對應的 jnrzloader
發行版, 以免版本不符造成 MSN 無法使用。
===============================================

開始使用 jnrzloader 讓您成為網路上的隱形人

如果您希望 MSN Messenger 一啟動就是離線的狀態的話, 您必須先關閉 Windows 的自動開啟 MSN Messenger 功能, 這樣子您就可以每次開啟電腦後再手動執行 jnrzloader。

緊接著我們就要讓 jnrzloader 發揮作用了, 請先 『結束』 MSN Messenger, 然後雙按您剛剛解壓縮得到的" jnrzloadermsn610207(www.mess.be) "資料夾, 點兩下左鍵執行 MSNLoader.exe 檔案, 您就會發現 MSN Messenger 一上線就是「顯示為離線」。

--- 本篇完
 
  • 這本書還有以下內容哦:
    • 展現個性化的 MSN
    • 啟用視訊交談,面對面溝通無距離
    • 最炫最酷的 Messenger Plus! 玩法
    • 增強 MSN Messenger 的隱私功能
    • 嚴選!MSN Messenger 外掛大合輯
欲知詳情請參考:
 
F512 MSN 哈拉全攻略-視訊聊天、傳檔、密技、外掛          我要買這本書
........................................ ........................................



ASP.NET Starter Kit 商務網站速成

書號:F8927
定價:450 元
周世雄 著

我要線上購買

 


電子商務網站 ─ 購物車動作原理【下】


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

本期文摘承接上一期(第212期)電子報,「購物車動作原理」的主題介紹,這一次我們繼續探討更新購物車,和最後的步驟「結帳」,這樣就完成了整個購物車的基本功能了。


更新購物車

當更改購物車的商品數量或刪除後,按下 [Update You
r Shopping Cart] 按鈕後將執行UpdateShoppingCartD
atabase() :

================================================

'更新購物車(Shopping Cart)資料庫
Sub UpdateShoppingCartDatabase()
  Dim cart As ASPNET.StarterKit.Commerce.ShoppingCartDB = New
 ASPNET.StarterKit.Commerce.ShoppingCartDB()

  '取得使用者的shopping cart ID
  Dim cartId As String = cart.GetShoppingCartId()

  '循環取得購物車商品明細
  Dim i As Integer
  For i = 0 To MyList.Items.Count - 1

   '取得row's controls references 
   Dim quantityTxt As TextBox = CType(MyList.Items(i).
 FindControl("Quantity"), TextBox)
   Dim remove As CheckBox = CType(MyList.Items(i).
 FindControl("Remove"),CheckBox)

   Dim quantity As Integer
   Try
    quantity = CInt(quantityTxt.Text)

    '若數量有變動, 或勾選刪除
    If quantity <> CInt(MyList.DataKeys(i)) Or remove.Checked
 = True Then

     Dim lblProductID As Label =
CType(MyList.Items(i).FindControl("ProductID"), Label)
     If quantity = 0 Or remove.Checked = True Then
      '若數量為0, 或勾選刪除則移除此項目
      cart.RemoveItem(cartId, CInt(lblProductID.Text))
     Else
      '更新項目
      cart.UpdateItem(cartId, CInt(lblProductID.Text), 
 quantity)
     End If
    End If
   Catch
    MyError.Text = "部份輸入有誤."
   End Try
  Next
End Sub   
================================================
結帳

當結帳按下 [Final Check Out] 按鈕後將執行Checkou
tBtn_Click (),首先執行UpdateShoppingCartDatabas
e先更新購物車,再導向結帳Checkout.aspx程式:

================================================

Private Sub CheckoutBtn_Click(ByVal sender As Object, ByVal e 
 As System.Web.UI.ImageClickEventArgs) Handles CheckoutBtn.
  Click'更新購物車(Shopping Cart)
  UpdateShoppingCartDatabase()

  Dim cart As ASPNET.StarterKit.Commerce.ShoppingCartDB = New
 ASPNET.StarterKit.Commerce.ShoppingCartDB()

  '計算shopping cart ID
  Dim cartId As String = cart.GetShoppingCartId()

  '若購物車不是空的, 則導向買單(checkout)網頁
  If cart.GetItemCount(cartId) <> 0 Then
   Response.Redirect("Checkout.aspx")
  Else

   MyError.Text = "購物車是空的, 不能買單."
  End If
End Sub   
================================================ 結帳Checkout.aspx程式,包括DataGrid控制項: ================================================

<asp:DataGrid id="MyDataGrid" width="90%" BorderColor="Black"
 GridLines="Vertical" cellpadding="4" Font-Name="Verdana" 
 Font-Size="8pt"ShowFooter="True"
 HeaderStyle-CssClass="CartListHead" 
 FooterStyle-CssClass="cartlistfooter"
 ItemStyle-CssClass="CartListItem"
 AlternatingItemStyle-CssClass="CartListItemAlt"
 AutoGenerateColumns="False"
 runat="server" Font-Names="Verdana">
  <AlternatingItemStyle  CssClass="CartListItemAlt">
 </AlternatingItemStyle>
  <ItemStyle CssClass="CartListItem"></ItemStyle>
  <HeaderStyle CssClass="CartListHead"></HeaderStyle>
  <FooterStyle CssClass="cartlistfooter"></FooterStyle>

  <Columns>
   <asp:BoundColumn DataField="ModelName" HeaderText="產品名
 稱"></asp:BoundColumn>
   <asp:BoundColumn DataField="ModelNumber" HeaderText="型號號
 碼"></asp:BoundColumn>
   <asp:BoundColumn DataField="Quantity" HeaderText="數
 量"></asp:BoundColumn>
   <asp:BoundColumn DataField="UnitCost" HeaderText="價格"
 DataFormatString="{0:c}"></asp:BoundColumn>
   <asp:BoundColumn DataField="ExtendedAmount" HeaderText="小
 計"DataFormatString="{0:c}"></asp:BoundColumn>
  </Columns>
</asp:DataGrid>   
================================================ 當網頁載入時將執行Page_Load(),ShoppingCartDB.vb 的GetItems () 執行預存程序CMRC_ShoppingCartList ,取得購物車資料庫的資料從資料庫的CMRC_ShoppingC art資料表取得購物車的資料後,再資料繫結ModelName (產品名稱)、ModelNumber(型號)、Quantity(數 量)、UnitCost(價格)欄位到DataList控制項顯示結 帳清單: ================================================

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
 System.EventArgs) Handles MyBase.Load
 If Page.IsPostBack = False Then
   '取得shopping cart ID
   Dim cart As ASPNET.StarterKit.Commerce.ShoppingCartDB = New
 ASPNET.StarterKit.Commerce.ShoppingCartDB()
   Dim cartId As String = cart.GetShoppingCartId()

   '結帳商品列表
   MyDataGrid.DataSource = cart.GetItems(cartId)
   MyDataGrid.DataBind()

   '更新總金額
   TotalLbl.Text = String.Format("{0:c}", cart.GetTotal
 (cartId))
 End If
End Sub   
================================================ 當結帳按下 [Submit] 按鈕後將執行SubmitBtn_Click (),執行PlaceOrder()下訂單: ================================================

Private Sub SubmitBtn_Click(ByVal sender As Object, ByVal e As
 System.Web.UI.ImageClickEventArgs) Handles SubmitBtn.Click
  Dim cart As ASPNET.StarterKit.Commerce.ShoppingCartDB = New
 ASPNET.StarterKit.Commerce.ShoppingCartDB()

  '取得shopping cart ID
  Dim cartId As String = cart.GetShoppingCartId()

  '取得customerID
  Dim customerId As String = User.Identity.Name

  If (Not cartId Is Nothing) And (Not customerId Is Nothing) 
   Then'下訂單(Place the order)

   Dim ordersDatabase As ASPNET.StarterKit.Commerce.OrdersDB = 
 New ASPNET.StarterKit.Commerce.OrdersDB()
   Dim orderId As Integer = ordersDatabase.PlaceOrder( 
 customerId,cartId)

   Header.Text = "結帳完畢(Check Out Complete)!"
------------------------------------------------

   Message.Text = "<b>您的訂單代號(Order Number)為: </b>" &
orderId
   SubmitBtn.Visible = False
  End If
End Sub   
================================================ OrdersDB.vb的PlaceOrder () 執行預存程序CMRC_Orde rsAdd: ================================================

Public Function PlaceOrder(ByVal customerID As String, ByVal 
 cartID As String) As Integer
  '由Web.Config取得資料庫連線字串, 設定預存程序名稱
  Dim myConnection As SqlConnection = New SqlConnection
(ConfigurationSettings.AppSettings("ConnectionString"))
  Dim myCommand As SqlCommand = 
New SqlCommand("CMRC_OrdersAdd",myConnection)

  '設定命令為預存程序
  myCommand.CommandType = CommandType.StoredProcedure

  '輸入預存程序輸入參數值
  Dim parameterCustomerID As SqlParameter = New SqlParameter
 ("@CustomerID", SqlDbType.Int, 4)
  parameterCustomerID.Value = CInt(customerID)
  myCommand.Parameters.Add(parameterCustomerID)

  Dim parameterCartID As SqlParameter = New SqlParameter(
 "@CartID", SqlDbType.NVarChar, 50)
  parameterCartID.Value = cartID
  myCommand.Parameters.Add(parameterCartID)

  Dim parameterShipDate As SqlParameter = New SqlParameter(
 "@ShipDate", SqlDbType.DateTime, 8)
  parameterShipDate.Value = CalculateShippingDate(customerID
  , cartID)
  myCommand.Parameters.Add(parameterShipDate)

  Dim parameterOrderDate As SqlParameter = New SqlParameter(
 "@OrderDate", SqlDbType.DateTime, 8)
  parameterOrderDate.Value = DateTime.Now
  myCommand.Parameters.Add(parameterOrderDate)

  '預存程序輸出參數
-----------------------------------------------

  Dim parameterOrderID As SqlParameter = New SqlParameter(
 "@OrderID", SqlDbType.Int, 4)
  parameterOrderID.Direction = ParameterDirection.Output
  myCommand.Parameters.Add(parameterOrderID)

  '連線資料庫並執行預存程序
  myConnection.Open()
  myCommand.ExecuteNonQuery()
  myConnection.Close()

  '傳回OrderID
  Return CInt(parameterOrderID.Value)
End Function   
================================================ 預存程序CMRC_OrdersAdd,首先新增資料到訂單資料表 CMRC_Orders,接著複製購物車資料到訂單明細資料表C MRC_OrderDetails,最後移除購物車資料: ================================================

CREATE Procedure CMRC_OrdersAdd
(
    @CustomerID int,
    @CartID     nvarchar(50),
    @OrderDate  datetime,        
    @ShipDate   datetime,
    @OrderID    int OUTPUT
)
AS
BEGIN TRAN AddOrder

/* 新增資料到訂單資料表CMRC_Orders */
INSERT INTO CMRC_Orders(CustomerID, OrderDate, ShipDate)
VALUES(@CustomerID, @OrderDate, @ShipDate)
SELECT @OrderID = @@Identity    

/* 複製購物車資料到訂單明細資料表CMRC_OrderDetails */
INSERT INTO CMRC_OrderDetails(OrderID, ProductID, Quantity, 
UnitCost)
SELECT @OrderID, CMRC_ShoppingCart.ProductID, 
    Quantity, CMRC_Products.UnitCost
FROM CMRC_ShoppingCart 
-----------------------------------------------

  INNER JOIN CMRC_Products ON CMRC_ShoppingCart.ProductID =
CMRC_Products.ProductID
WHERE CartID = @CartID

/* 移除購物車資料 */
EXEC CMRC_ShoppingCartEmpty @CartID

COMMIT TRAN AddOrder
GO   
================================================ 學會了嗎? --- 本篇完
 
  • 這本書還有以下內容哦:
    • 線上購物與 Web Services
    • 電子商務入門套件進階開發 ─ 尋商品動作原理
    • 入口網站入門套件可用的寶在那裡
    • 入口網站安全機制動作原理
    • 建構專案工時記錄系統
欲知詳情請參考:
 
F8927 ASP.NET Starter Kit 商務網站速成
         我要買這本書
........................................ ........................................
我想索取前幾期的電子報  

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

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


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