2011年12月21日 星期三

合計記錄值至另一筆記錄中

Imports System.Data.OleDb

Public Class Form1
    Dim cn As OleDbConnection
    Dim cnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\dbtest.mdb;Persist Security Info=True"

    Private Sub 資料表1BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 資料表1BindingNavigatorSaveItem.Click
        Me.Validate()
        Me.資料表1BindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.DbtestDataSet)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: 這行程式碼會將資料載入 'DbtestDataSet.資料表1' 資料表。您可以視需要進行移動或移除。
        Me.資料表1TableAdapter.Fill(Me.DbtestDataSet.資料表1)
    End Sub
    Sub sqlExec(ByVal sqlStr)
        Dim cmd As OleDbCommand = New OleDbCommand(sqlStr, cn)
        cmd.ExecuteNonQuery()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        '
        Dim a() = {"明", "天", "明天"}
        Dim f2Value = "後天"
        Call sumTo(a, f2Value)
        Me.資料表1TableAdapter.Fill(Me.DbtestDataSet.資料表1)
    End Sub

    Sub sumTo(ByVal a, ByVal f2Value)
        cn = New OleDbConnection(cnStr)
        cn.Open()
        '
        Dim cmd As New OleDbCommand("SELECT * FROM 資料表1", cn)
        Dim dr As OleDbDataReader = cmd.ExecuteReader()

        Dim sum = 0
        Do While dr.Read()
            For Each elm In a
                If dr.Item("f2").ToString = elm Then
                    sum = sum + dr.Item(2)
                End If
            Next
        Loop

        Dim sqlStr As String = "update 資料表1 set f3= " & sum & " where f2 =" & "'" & f2Value & "';"
        sqlExec(sqlStr)

        cn.Close()
    End Sub
End Class

image

image

2011年12月1日 星期四

SQL指令Update Access 資料庫

Imports System.Data.OleDb

Public Class Form1
    Private Sub 資料表1BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 資料表1BindingNavigatorSaveItem.Click
        Me.Validate()
        Me.資料表1BindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.DbtestDataSet)

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: 這行程式碼會將資料載入 'DbtestDataSet.資料表1' 資料表。您可以視需要進行移動或移除。
        Me.資料表1TableAdapter.Fill(Me.DbtestDataSet.資料表1)

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim cn As OleDbConnection
        Dim cnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\dbtest.mdb;Persist Security Info=True"
        cn = New OleDbConnection(cnStr)
        cn.Open()
        Dim f2Value = "fff"
        Dim f3Value = 20
        Dim sqlStr As String = "update 資料表1 set f2= '" & f2Value & "' where f3 >" & f3Value
        Dim cmd As OleDbCommand = New OleDbCommand(sqlStr, cn)
        cmd.ExecuteNonQuery()
        cn.Close()

        Me.資料表1TableAdapter.Fill(Me.DbtestDataSet.資料表1)
    End Sub
End Class

image

2011年11月28日 星期一

用批次檔執行目錄下的檔案

 

@ECHO OFF     

FOR %%C IN (*.EXE *.BAT) DO %%C   

 

如何用批次檔執行目錄下的檔案? - iT邦幫忙::IT知識分享社群

2011年11月27日 星期日

Visual Studio 11 的 11 個不同!

 

Visual Studio 11 的 11 個不同!

星期五, 十一月 25, 2011

Visual Studio 11 顯然是為微軟的 Windows 8 所準備的大餐,鑒於 Win8 對比 Win7 的變化太大,用 Visual Studio 2010 就顯得不與時俱進起來,微軟在 9 月份 BUILD 大會上發佈 Windows 8 的開發者預覽版本時,就一併對外公開提供了 Visual Studio 11 的開發者預覽版本下載

☆數位夢想☆: Visual Studio 11 的 11 個不同!

2011年11月21日 星期一

2011年11月14日 星期一

System.Security 命名空間

 

System.Security 命名空間包含表示 .NET Framework 安全性系統和使用權限的類別。子命名空間提供的型別,可控制安全物件的存取和稽核安全物件、允許驗證、提供密碼編譯服務、根據原則控制作業和資源的存取,以及支援應用程式建立之內容的版權管理。

System.Security 命名空間

XML 詞彙

 

定義關於 XML 標準的術語。

A

attribute
XML 結構式建構。一個以等號分隔的名稱/值組,包含於標記內的項目中,用以修改項目的特定功能。所有屬性值 (包括大小與寬度等) 事實上都是文字字串而非數值。對於 XML,所有值都必須包含在引號中。

您可以使用屬性清單宣告,來宣告 XML 項目型別的屬性。

XML 詞彙

Console 類別

表示主控台應用程式 (Console Application) 的標準輸入、輸出和錯誤資料流。 此類別無法被繼承。

Console 類別

強式名稱 (Strong Name)

 

透過 Storng Name,它可以讓使用該組件的開發人員能確定這個組件是來自於建置的廠商或開發人員,而不是從中被竄改過。

[.NET] 有關強式名稱 (Strong Name) 的兩三事 - 小朱® 的技術隨手寫- 點部落

別再掉進DLL地獄(DLL Hell)~.NET解決之道

 

嚴格名稱(Strong names)是一種在.NET 架構下可減少 .NET DLL 陷阱的功能

別再掉進DLL地獄的陷阱裡(DLL Hell)~.NET解決之道

2011年10月27日 星期四

平台即服務(PaaS)

 

平台即服務是英文Platform as a Service的中文翻譯(簡稱PaaS),這是在軟體即服務(英文Software as a Service,簡稱SaaS)之後興起的一種新的軟體應用模式或者架構。是應用服務提供商(英文the Application Service Provider,簡稱為ASP)的進一步發展。

e化部落 平台即服務(PaaS)

PaaS (Platform as a Service) 服務型平台

 

PaaS為一種服務型的主機平台。服務型軟體(Saas)衍生出來的一種服務型態,使用者不用自已建置執行軟體的主機和OS等平台,透過網路利用提供PaaS服務業者的平台。而且能夠省去主機的維護和障礙對應的人力和時間。Amazon從2006年開始提供「Amazon EC」、「Amazon S3」的服務,在海外已有多數的企業在開始使用。Google也在世界各地積極的建置資料中心,2008年4月發表類似Amazon的PaaS服務,稱為「Google APP Engine」。提供Saas服務著名的美國salesforce公司,2007年也將提供SaaS服務的平台公開,開始展開PaaS的業務。

e化部落 PaaS (Platform as a Service) 服務型平台

2011年10月25日 星期二

網路存取保護 (NAP)

管制哪些電腦能與內部網路建立連線

  1. 『沒安裝 XXX 防毒軟體者不能連線』
  2. 『沒啟用 IPSec 加密者不能連線』
  3. 『沒安裝電腦憑證者不能連線』

2011年10月11日 星期二

98-372: Microsoft .NET Fundamentals

 

About this Exam

Candidates for this exam are seeking to prove knowledge and skills on Microsoft .NET fundamentals.

Audience Profile

Candidates for this exam should have a solid foundational knowledge of the topics outlined in this preparation guide.  It is recommended that candidates be familiar with the concepts of and have hands-on experience with the technologies described here either by taking relevant training courses or by working with tutorials and samples available on MSDN and in Microsoft Visual Studio. Candidates are expected to have some experience with a .NET language such as C# or Microsoft Visual Basic .NET.

Credit Toward CertificationWhen you pass Exam 98-372: Microsoft .NET Fundamentals, you complete the requirements for the following certification(s):

Microsoft Technology Associate: Microsoft .NET Fundamentals

Note This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format.

Microsoft .NET Fundamentals

Microsoft Technology Associate Exam 98-372: Microsoft .NET Fundamentals (VB)

Skillset Description

了解 .NET Framework 概念

了解 .NET Framework 中的命名空間與類別

了解 .NET 程式碼編譯

了解 .NET Framework 中的 I/O 類別

了解安全性

了解 .NET 語言

了解記憶體管理

Microsoft .NET Fundamentals

 

Exam 98-372:

Microsoft .NET Fundamentals

Published:
May 12, 2011

Language(s):
English

Audience(s):
IT Professionals,Developers

Technology:
Microsoft .NET Framework 4

Type:
Proctored Exam

About this Exam

Candidates for this exam are seeking to prove knowledge and skills on Microsoft .NET fundamentals.

Audience Profile

Candidates for this exam should have a solid foundational knowledge of the topics outlined in this preparation guide.  It is recommended that candidates be familiar with the concepts of and have hands-on experience with the technologies described here either by taking relevant training courses or by working with tutorials and samples available on MSDN and in Microsoft Visual Studio. Candidates are expected to have some experience with a .NET language such as C# or Microsoft Visual Basic .NET.

Credit Toward CertificationWhen you pass Exam 98-372: Microsoft .NET Fundamentals, you complete the requirements for the following certification(s):

Microsoft Technology Associate: Microsoft .NET Fundamentals

Note This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format.

Skills Being MeasuredThis exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.

Understanding .NET Framework Concepts

  • Understand basic application settings.
    • This objective may include but is not limited to: understanding app.config and web.config
  • Understand events and event handling in the .NET Framework.
    • This objective may include but is not limited to: understanding the event-driven programming model and event handlers, raising events, and implementing delegates
  • Understand structured exception handling in the .NET Framework.
    • This objective may include but is not limited to: understanding error handling concepts, exceptions, and exception types

Understanding Namespaces and Classes in the .NET Framework

  • Understand .NET class hierarchies.
    • This objective may include but is not limited to: understanding system classes, classifications of classes, and logical organization of classes
  • Understand Object Oriented Concepts in the .NET Framework.
    • This objective may include but is not limited to: understanding how inheritance works in .NET, polymorphism, and interfaces
  • Understand .NET namespaces.
    • This objective may include but is not limited to: understanding the reason for namespaces, the organization of namespaces in the class library, and how to use namespaces in an application
  • Understand and create class libraries.
    • This objective may include but is not limited to: understanding the logical grouping of classes and the logic behind class libraries (what they are, why they are important)
  • Understand and use different data types in the .NET Framework.
    • This objective may include but is not limited to: understanding intrinsic data types, values types, reference types, boxing, unboxing, and .NET collection classes
  • Understand generics.
    • This objective may include but is not limited to: understanding generics infrastructure, generic interfaces, generic delegates, contravariant and covariant generic type arguments, generic methods, verifiability, and constraints

Understanding .NET Code Compilation

  • Understand the fundamentals of Microsoft Intermediate Language (MSIL) and Common Language Infrastructure (CLI).
    • This objective may include but is not limited to: understanding what MSIL is, what the CLI is, how source code is compiled into MSIL, and how code is Just-in-Time (JIT) compiled
  • Understand the use of strong naming.
    • This objective may include but is not limited to: understanding why strong naming is used, how to sign assemblies to support strong naming, and Global Assembly Cache (GAC)
  • Understand version control.
    • This objective may include but is not limited to: understanding how .NET applications are versioned and how to run different versions on the same computer
  • Understand assemblies and metadata.
    • This objective may include but is not limited to: understanding .NET assemblies, shared assemblies, and metadata in .NET

Understanding  I/O Classes in the .NET Framework

  • Understand .NET file classes.
    • This objective may include but is not limited to: understanding read/write file classes and stream readers and writers
  • Understand console I/O.
    • This objective may include but is not limited to: understanding System.Console classes for input and output
  • Understand XML classes in the .NET Framework.
    • This objective may include but is not limited to: understanding XMLReader, XMLWriter, and XML Schemas

Understanding Security

  • Understand the System Security namespace.
    • This objective may include but is not limited to: understanding permissions and what cryptography is
  • Understand authentication and authorization.
    • This objective may include but is not limited to: understanding code access security, access control, and policies

Microsoft .NET Fundamentals

2011年9月4日 星期日

Win7下開或關Windows功能空白一片

 

一鍵修複系統的原理是調用Windows系統本身的命令,即用管理員權限執行 sfc /scannow 這個修複命令,主要原理是檢測系統文件的完整性,把Windows7的系統文件給檢查一遍,替換回系統自帶的最穩定的DLL等文件。
軟媒小編特別提示:這個一鍵修複系統的命令,大家請善用,很多系統出問題的,都可以用這個來修複。

Win7下開或關Windows功能空白一片-Windows7 - 王朝網絡 - wangchao.net.cn

在Windows 7「命令提示字元」使用「telnet」指令

在預設的情況下,使用Windows 7 「命令提示字元」是不能無法下「telnet」指令的。

因此要先對Windows 7 做開啟「telnet」指令的動作,如下:

(1) 開啟「控制台」

(2) 在「程式集」項目下,點選「解除安裝程式」

(3) 點選左側「開啟或關閉Windows功能」

(4) 對「Telnet 用戶端」打勾

(5) 此時至「命令提示字元」輸入「telnet」指令就有作用了,這樣就大功告成...

 

在Windows 7「命令提示字元」使用「telnet」指令 @ 只要肯努力......! :: 痞客邦 PIXNET ::

2011年8月22日 星期一

多型 (C# 程式設計手冊)

 

多型 (Polymorphism) 常被視為物件導向程式設計在封裝 (Encapsulation) 和繼承 (Inheritance) 以外的第三個支柱。 「多型」是一個希臘字,表示「多種形體」,並有兩個特殊的面向:

  1. 在執行階段,在如方法參數和集合或陣列等地方,衍生類別的物件會被視為基底類別的物件。 當這樣的情況發生時,物件的宣告型別和其在執行階段的型別將不再相同。

  2. 基底類別可以定義與實作虛擬「方法」(Method),而衍生類別可以覆寫它們,表示衍生類別會提供本身的定義與實作。 在執行階段,當用戶端程式碼呼叫方法時,CLR 會查詢物件的執行階段型別,並叫用虛擬方法的覆寫。 因此在您的原始程式碼中,您可以呼叫基底類別上的方法,並讓衍生類別版本的方法執行。

虛擬方法能讓您以統一的方法使用相關物件的群組。 例如,假設您有一個繪圖應用程式,可以讓使用者在繪圖介面上建立各種類型的圖案。 在編譯時期,您並不知道使用者究竟會建立哪一種圖案。 然而,應用程式必須追蹤建立的所有圖案類型,並根據使用者的滑鼠動作更新圖案。 您可以使用多型,以兩個基本的步驟解決這個問題:

  1. 建立類別階層,其中每個特定的圖案類別都衍生自一般的基底類別。

  2. 透過對基底類別方法的單一呼叫,使用虛擬方法叫用任何衍生類別上的適當方法。

首先,建立稱為 Shape 的基底類別,以及像 Rectangle、Circle 和 Triangle 等衍生類別。 給予 Shape 類別稱為 Draw 的虛擬方法,並在每個衍生類別中覆寫此方法,以繪製該類別所代表的特定圖案。 建立 List<Shape> 物件,並在其中加入 Circle、Triangle 和 Rectangle。 使用 foreach 迴圈逐一查看清單,並呼叫清單中每個 Shape 物件上的 Draw 方法,以更新繪圖介面。 雖然清單中的每個物件都有 Shape 的宣告型別,但會受到叫用的是執行階段型別 (每個衍生類別中受覆寫版本的方法)。

多型 (C# 程式設計手冊)

2011年8月14日 星期日

執行非同步作業

 

執行非同步作業

SQL Server 允許應用程式執行非同步資料庫作業。非同步處理可讓方法立即執行,而不會在呼叫的執行緒上封鎖。這樣可允許多執行緒的許多功能與彈性,而不需要開發人員明確建立執行緒或處理同步。當初始化資料庫連接或初始化執行命令的結果時,應用程式會要求非同步處理。

執行非同步作業

2011年8月13日 星期六

加入 Installer 至服務應用程式

 

若要將安裝程式加入您的服務應用程式
  1. 在 [方案總管] 中,存取您希望加入安裝元件之服務的 [設計] 檢視。

  2. 按一下設計工具的背景 (Background) 來選取服務本身 (而不是它的內容)。

  3. 當設計工具取得焦點時,按一下滑鼠右鍵,再按 [加入安裝程式]。

    新類別 (ProjectInstaller) 和兩個安裝元件 (ServiceProcessInstallerServiceInstaller) 會加入至您的專案,服務的屬性值則會被複製到元件中。

  4. 按一下 ServiceInstaller 元件,並確認 ServiceName 屬性值是設定為和服務本身的 ServiceName 屬性相同的值。

  5. 若要決定如何啟動服務,請按一下 ServiceInstaller 元件,並將 StartType 屬性值設定為適當的值。


    結果

    Manual

    服務安裝後必須手動啟動。如需詳細資訊,請參閱 HOW TO:啟動服務

    Automatic

    每當電腦重新開機時,服務將會自行啟動。

    Disabled

    無法啟動服務。

  6. 若要決定在哪一個安全性內容中執行服務,請按一下 ServiceProcessInstaller 元件,並設定適當的屬性值。如需詳細資訊,請參閱 HOW TO:指定服務的安全性內容

  7. 覆寫任何需要執行自訂處理的方法。如需詳細資訊,請參閱 HOW TO:覆寫安裝元件的預設方法

  8. 針對專案中的每一個其他服務執行步驟 1 到步驟 7。

HOW TO:加入 Installer 至服務應用程式

ClickOnce 部署概觀

ClickOnce 是一項部署技術,可讓您建立透過最少的使用者互動來安裝和執行的自行更新 Windows 架構應用程式。ClickOnce 部署能克服部署中固有的三個主要問題:

  • 更新應用程式的困難 若使用 Microsoft Windows Installer 部署,每當應用程式更新時,使用者就必須重新安裝整個應用程式;而經由使用 ClickOnce 部署,您可以自動提供更新,並且只會下載應用程式中經過變更的那部分,然後再從新的並存資料夾重新安裝完整、更新的應用程式。

  • 對使用者電腦的影響:如果使用 Windows Installer 部署,應用程式通常會仰賴共用元件,而且可能會造成版本控制衝突。不過,只要使用 ClickOnce 部署,每個應用程式都是獨立的 (Self-Contained),而且不會干擾其他應用程式。

  • 安全性權限 Windows Installer 部署需要系統管理權限,並且只允許有限的使用者進行安裝;而 ClickOnce 部署可讓非系統管理員的使用者進行安裝,並且僅授與應用程式所必要的那些「程式碼存取安全性」權限。

在過去,這些問題有時會讓開發人員決定建立 Web 應用程式而非 Windows 架構應用程式,雖然安裝方便,但是卻犧牲了 Windows Form 的豐富使用者介面和回應速度。不過,在使用 ClickOnce 部署的應用程式中,您可以同時擁有這兩種最佳技術。

ClickOnce 部署概觀

Windows Installer 部署

 

Windows Installer 部署可讓您建立安裝程式套件散發給使用者,而使用者會執行安裝程式,逐步執行精靈安裝應用程式。這是藉由將「安裝」專案加入至方案中達成的。在建置時,專案便會建立可散發給使用者的安裝檔案,使用者則會執行安裝檔案,並會逐步執行精靈安裝應用程式。

下列主題將幫助您更快熟悉 Windows Installer 部署。

Windows Installer 部署

安裝及解除安裝服務

 

若要手動安裝您的服務
  1. 存取專案的編譯可執行檔所在的目錄。

  2. 在命令列中,以您的專案輸出為參數執行 InstallUtil.exe。在命令列中輸入下列程式碼:

    複製

    installutil yourproject.exe





HOW TO:安裝及解除安裝服務

ProjectInstaller

 

使用 Visual Studio .NET 可以讓 .NET Framework 更容易運用。Visual Studio .NET 可以幫助您建立 Windows 服務 (以安裝程式完成)、監視檔案系統的變更,以及寫入事件日誌。這些工作都會使用設計工具與元件完成,而不需要撰寫程式碼。例如,要在服務專案中加入安裝程式,只需選取服務設計工具介面,然後按一下 [屬性] 視窗底部的 [加入安裝程式] (請參閱圖 3)。這樣就會加入稱為 ProjectInstaller.vb 的新模組,它包含了安裝服務需要的所有程式碼。

搭配 Visual Basic .NET 使用 .NET Framework

如何手動重建效能計數器程式庫值 InstallUtil

 

若要解決這個問題,系統中心 Manager 2007 中的,您必須重新安裝。NET Framework 組件,建立 [效能] 計數器。若要這樣做,請使用 /i 選項中的。NET 架構安裝程式工具 (Installutil.exe) 重新安裝下列組件:

  • Microsoft.Mom.ConfigService.dll
  • Microsoft.Mom.Sdk.ServiceDataLayer.dll
  • Microsoft.Mom.DatabaseWriteModules.dll
  • Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll
例如,在命令提示字元中輸入下列命令,並在每一行命令之後按 ENTER:

InstallUtil Microsoft.Mom.ConfigService.dll /i
InstallUtil Microsoft.Mom.Sdk.ServiceDataLayer.dll /i
InstallUtil Microsoft.Mom.DatabaseWriteModules.dll /i
InstallUtil Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll /i

如何手動重建效能計數器程式庫值

安裝程式與合併模組的建議

 

Visual Studio 讓您建立兩種不同類型的安裝程式:Windows Installer (.msi) 和合併模組 (.msm)。Windows 安裝程式是用來安裝應用程式及檔案至另一台電腦上,而合併模組是用來安裝多重應用程式所共用的元件。

兩種類型的主要區別為訴求對象的不同。應用程式的使用者會直接使用的任何檔案 (如可執行檔、文件及 HTML 網頁) 應封裝於 Windows 安裝程式內。只能由開發者使用的檔案 (如 DLL、控制及資源) 應封裝於合併模組,然後經由開發者封裝到 Windows 安裝程式上,再提供給一般使用者。

安裝程式與合併模組的建議事項

合併模組專案

[合併模組] 專案讓您建立可重複使用的安裝元件。就如同動態連結程式庫能讓您在應用程式間分享程式碼一樣,合併模組能讓您在 Windows 安裝程式間分享安裝程式碼。

合併模組 (.msm 檔) 是一個包含安裝元件所需的所有檔案、資源、登錄項目及安裝邏輯的單獨套裝。合併模組無法單獨安裝,必須在 Windows Installer (.msi) 檔案內容中使用。

合併模組能讓您擷取一特定元件的所有相依性,以確保安裝正確版本。一旦您散發了合併模組就無法再做修改,而應為元件的每個後續版本建立新的合併模組。

為了避免版本問題,多重應用程式所共用的元件或檔案都應該使用合併模組。

合併模組專案

管理多種程式語言元件方案在 Visual Basic 2005 或 Visual Basic.NET 中

 

管理多種程式語言元件方案
本文將告訴您,如何建立包含下列三個專案的方案:
  • 一個小型應用 Microsoft Visual Basic 2005 或 Microsoft Visual Basic.NET Windows 程式在其他兩個專案類別中所使用的方法。
  • Visual C# 類別庫專案,具有方法,存取北風貿易資料庫,並傳回一個資料集。
  • Visual Basic 2005 或 Visual Basic.NET 類別庫的專案,具有方法,會採用字串的 陣列清單 物件,並傳回串連藉由使用 StringBuilder 類別的執行個體的單一字串。

如何管理多種程式語言元件方案在 Visual Basic 2005 或 Visual Basic.NET 中

在檔案系統編輯器中新增及移除資料夾

 

在預設情況下,[檔案系統編輯器] 會顯示一套標準資料夾,代表目標電腦上的資料夾結構。其他的標準資料夾 (做為參考之特殊資料夾),也可依需要加入至部署專案。如需詳細資訊,請參閱特殊資料夾和自訂資料夾

您也可以加入自己的最上層自訂根資料夾,或是在任何最上層資料夾下加入子資料夾。

HOW TO:在檔案系統編輯器中新增及移除資料夾

特殊資料夾和自訂資料夾

 

特殊資料夾和自訂資料夾

特殊資料夾在 [檔案系統編輯器] 內代表預先定義的 Windows 資料夾。Windows 資料夾的實體位置可能會在每部電腦上有所不同。例如,系統資料夾可能在一部電腦上位於 C:\Windows,在另一部電腦位於 D:\Windows,在第三部電腦則位於 C:\Winnt。

特殊資料夾和自訂資料夾

檔案系統編輯器

檔案系統編輯器。使用這個編輯器時,您可以自訂使用者桌面和 [開始] 功能表,並將檔案及捷徑加入應用程式資料夾中。

Microsoft Corporation

.NET 部署手冊

 

Mic

簡介
.NET Framework 的概觀
建立部署專案計畫
Visual Studio .NET 中的部署專案
部署 .NET Framework
伺服器端的部署
用戶端的部署
部署 Web 服務
部署 .NET 應用程式所用的 SQL Server 資料庫
摘要

rosoft Corporation

建立 Windows 服務 Service 專案

 

C#.NET][VB.NET] 如何建立 Windows 服務 Service 專案

Service是在Windows背景執行的組件(Assembly),不需要任何與使用者互動的操作介面,記得之前在VB6時代也有寫過Service,那時是用NTSVC.ocx,而現在.NET Framework 也提供了相關的類別,功能更是強大,可以讓人省去不少開發的時間。

[C#.NET][VB.NET] 如何建立 Windows 服務 Service 專案 - 余小章 @ 大內殿堂- 點部落

部署功能的自訂動作編輯器

項目

說明

安裝

在所有檔案都已安裝後,會在安裝的安裝階段結束時,執行置於此節點之下的自訂動作。

認可

會在安裝的認可階段結束 (在安裝階段完成且沒有發生錯誤時發生) 時,執行置於此節點之下的自訂動作。

復原

會在安裝的復原階段結束 (在發生安裝錯誤時觸發) 時,執行置於此節點之下的自訂動作。

解除安裝

會在安裝的解除安裝階段結束 (在解除安裝應用程式時發生) 時,執行置於此節點之下的自訂動作。

自訂動作編輯器

自訂動作編輯器

Uninstall 會復原由 Install 所做的改變

 

在安裝失敗的情況下,來源的安裝會復原先前安裝的服務。

如果服務正在執行,則 Uninstall 方法會嘗試停止該服務。 不論這個成功與否,Uninstall 會復原由 Install 所做的改變。 如果建立新來源以記錄事件,則會刪除該來源。

ServiceInstaller 類別 (System.ServiceProcess)

2011年8月11日 星期四

Try Exception 屬性 (System)

名稱

說明

Data

取得由索引鍵/值組所組成的集合,提供關於此例外狀況的額外使用者定義資訊。

HelpLink

取得或設定與這個例外狀況相關聯說明檔的連結。

HResult

取得或設定 HRESULT,它是指派給特定例外狀況的編碼數值。

InnerException

取得造成目前例外狀況的 Exception 執行個體。

Message

取得描述目前例外狀況的訊息。

Source

取得或設定造成錯誤的應用程式或物件的名稱。

StackTrace

取得呼叫堆疊上之立即框架的字串表示。

TargetSite

取得擲回目前例外狀況的方法。

Exception 屬性 (System)

VB.NET控制項事件程序中的引數-sender、 e

 

當程式想要判斷引發事件的物件是那一個的時候, 就會使用到sender參數, 而e參數就更常用了, 例如處理滑鼠左鍵按下的事件時, 就可以利用e參數得知滑鼠點中的座標

VB.NET控制項事件程序中的引數

逐步解說:建立支援複雜資料繫結的使用者控制項

 

在 Windows 應用程式中顯示表單的資料時,您可以從 [工具箱] 中選擇現有的控制項,但如果應用程式需要標準控制項中沒有的功能時,您也可以撰寫自訂控制項。本逐步解說將示範如何建立實作 ComplexBindingPropertiesAttribute 的控制項。實作 ComplexBindingPropertiesAttribute 的控制項會包含可繫結至資料的 DataSource 和 DataMember 屬性。這類控制項與 DataGridViewListBox 很相似。

逐步解說:建立支援複雜資料繫結的使用者控制項

Windows Form 視覺繼承

在某些情況下,您可能會決定讓某個專案呼叫某個表單,且該表單類似您過去專案中所建立的表單。 或者,您可建立包含各種設定 (例如浮水印或特定的控制項配置) 的基本表單,以便於往後專案中使用,而每次的重複動作都包含對原始表單範本所做的修改。 表單的繼承 (Inheritance) 可以讓您建立基底表單並從中進行繼承,並且加以修改,不過可同時保留任何您需要的原始設定。

您可以使用程式設計方式或使用 Visual 繼承選取器建立衍生之類別的表單。

Windows Form 視覺繼承

修改基底表單外觀的效果

 

在應用程式的開發過程中,您可能必須經常變更供該專案 (或其他專案) 內其他表單繼承的基底表單的外觀。

包含基底表單的專案建置完成時,基底表單外觀在設計階段的變更 (屬性的設定或控制項的增刪) 會反映至繼承的表單上。 僅儲存基底表單的變更是不夠的。 若要建置專案,請從 [建置] 功能表中選擇 [建置]。

修改基底表單外觀的效果

顯示強制回應和非強制回應 Windows Form

 

若要將表單以強制回應對話方塊顯示

  • 呼叫 ShowDialog 方法。

顯示強制回應和非強制回應 Windows Form

2011年8月10日 星期三

使用區域變數視窗

使用區域變數視窗

Visual Studio .NET 2003

[區域變數] 視窗中顯示出目前內容的區域變數。

若要顯示區域變數視窗

  • 請在 [偵錯] 功能表中選擇 [視窗],然後按一下 [區域變數]。(偵錯工具必須正在執行或處於中斷模式)。

預設的內容是含目前執行位置的函式。您可以選擇在 [區域變數] 視窗中顯示的替代內容。

使用區域變數視窗

逐步解說:使用 Visual C# 繼承 Windows Form 控制項

  1. 在 [檔案] 功能表上指向 [新增],然後按一下 [專案] 以開啟 [新增專案] 對話方塊。
  2. 從 [C# 專案] 清單選取 [Windows 控制項程式庫] 專案範本,然後在 [名稱] 方塊中輸入 ValueButtonLib

:

:

 

使用 Visual C# 繼承 Windows Form 控制項

逐步解說:使用 Visual C# 繼承 Windows Form 控制項

VC++寫DLL給VC#使用

這次會這樣測試是因為未來兩個月內我會將我現在手頭用VC++寫的分析程式(目前還未完成)做成DLL(Dynamic Link Library)檔去和學長用C#寫的介面做連結

VC++寫DLL給VC#使用

VC++寫DLL給VC#使用 @ ~心事集散地~ :: 痞客邦 PIXNET ::

2011年8月6日 星期六

cross-language interoperability

 

CLR可說是.NET最核心的部分。從字面上就可以知道,它是一個可以讓不同語言寫成的應用程式都能正常運作的執行環境,這又被稱做 cross-language interoperability (跨語言的互通性)。CLR是如何達到跨語言的互通呢?若一個語言的編譯器想要使開發出來的.NET應用程式能在CLR中執行,它必須遵守Common Language Specification(共通語言規範,CLS)的規則。也就是說,不管是誰要自己寫一個支援.NET的編譯器,都必須遵守這規則。這樣,我們產生出來的應用程式就可以跟所有其他的.NET應用程式一起執行、交互使用。

微軟電子書苑

2011年6月12日 星期日

施振榮:挫折是必然的,沒有挫折就不是人生

 

施振榮:「挫折是必然的,沒有挫折就不是人生。失敗多了,表示眼界看得多了,也是一種成長。」和施振榮談話,讓人想起禪宗的師徒對話。徒弟不斷地從「我」出發,追問「那我怎麼辦?」師父的答案,永遠是「如果能將我放下,何需擔心怎麼辦?」

施振榮:挫折是必然的,沒有挫折就不是人生 - 天下雜誌400期

2011年5月17日 星期二

部署的新功能

 

  • 檔案關聯。

  • 錯誤 URL,這會指定 ClickOnce 安裝時要在對話方塊中顯示的網站。

  • 套件名稱,這會指定 [開始] 功能表上應用程式將會安裝在其中的資料夾名稱。

  • 排除部署提供者 URL,這會指定是否要從部署資訊清單排除部署提供者 URL。

  • 部署的新功能

    即時運算視窗

     

    [即時運算] 視窗是於設計階段用來偵錯與評估運算式、執行陳述式、列印變數值等。即時模式允許在偵錯期間,輸入開發語言要執行或評估的運算式。若要顯示 [即時運算] 視窗,請開啟專案進行編輯,然後從 [偵錯] 功能表選擇 [視窗],再選取 [即時運算]。

    您可以使用這個視窗發出個別的 Visual Studio 命令。可用的命令包括 EvaluateStatement,它可用來指派值給變數。[即時運算] 視窗也支援 IntelliSense。

    即時運算視窗

    2011年5月16日 星期一

    軟體工程方法

     

    一、軟體工程方法

    做任何事情都有一定的方法,做軟體也不例外。拿蓋房子來打比方吧,大致是依照「拆除 -> 挖地基 -> 打樁 -> 建築房屋主結構 -> 裝潢…」等流程完成。於是,在軟體業剛興起時,工程師也期望有一套與蓋房子類似的法則可遵循,好讓整個專案順利完成、並符合顧客期望。

    1968 年,北大西洋公約組織(NATO)召集 50 多位一流的資訊人員,討論如何制訂一種標準流程,好讓軟體開發能有一定的軌跡可循。也在當時,軟體工程(Software Engineering)這個名詞第一次出現。從當時到現在,軟體工程方法就百花齊放。不過所有的方法大致可以分為下列三種類型(依照出現時間先後順序排列):

    • 瀑布式模型(Waterfall Model):1970 年代
    • 反覆式模型(Iterative Model):1970 年代 ~ 1990 年代
    • 敏捷軟體開發(Agile Software Development):1990 年代 ~ 現代

    BCL:BarbeQ's Computer Land: 「敏捷軟體開發」心得(一):敏捷?那不敏捷長得什麼樣子?

    資訊系統分析與設計─系統生命週期

     

    雛形式生命週期法 ( Prototyping Life Cycle )

    資訊系統分析與設計─系統生命週期

    資訊系統分析與設計─系統生命週期

     

    系統發展生命週期 ( System Development Life Cycle , SDLC ) 】

    系統發展生命週期的模型可分為下列幾種:

    一、瀑布模型 ( Water fare Model )

    資訊系統分析與設計─系統生命週期

    2011年5月15日 星期日

    Application Layer Gateway Service

     

    Application Layer Gateway Service
    微軟: 提供網際網路連線共用和網際網路連線防火牆的第三方通訊協定插件的支援。
    補充: 如果你不使用網際網路連線共用 (ICS) 提供多台電腦的網際網路存取和 XP 的網際網路連線防火牆 (ICF) 你可以關掉這個功能。

    XP的服務

    2011年5月11日 星期三

    使用區域變數視窗

     

    使用區域變數視窗

    Visual Studio .NET 2003

    [區域變數] 視窗中顯示出目前內容的區域變數

    若要顯示區域變數視窗

    • 請在 [偵錯] 功能表中選擇 [視窗],然後按一下 [區域變數]。(偵錯工具必須正在執行或處於中斷模式)。

    預設的內容是含目前執行位置的函式。您可以選擇在 [區域變數] 視窗中顯示的替代內容。

    使用區域變數視窗

    MaskedTextBox 類別 (System.Windows.Forms)

     

    MaskedTextBox 類別是增強型 TextBox 控制項,可支援接受或拒絕使用者輸入的宣告式語法。使用 Mask 屬性之後,您可以指定下列輸入,而不需在應用程式中編寫任何自訂的驗證邏輯:

    • 必要輸入字元。

    • 選擇性輸入字元。

    • 位於遮罩中指定位置上的預期輸入類型,例如,數字或是英文字母或英數字元。

    • 應該直接出現在 MaskedTextBox 中的遮罩常值或字元,例如,電話號碼中的連字號 (-) 或是價格中的貨幣符號。

    • 輸入字元的特殊處理,例如,將英文字母字元轉換成大寫。

    MaskedTextBox 類別 (System.Windows.Forms)

    2011年5月3日 星期二

    部署--佈署?

     

    將已完成的應用程式或元件傳送到其他電腦上進行安裝的過程稱為部署部署是一個多階段的程序,開始於在開發人員的電腦上建立應用程式,而結束於應用程式已安裝且準備好在使用者電腦上執行時。

    部署 (Visual C++)

    2011年5月2日 星期一

    ASP.NET 狀態管理建議事項

     

    ASP.NET 支援的用戶端狀態管理選項:

    • 檢視狀態

    • 控制項狀態

    • 隱藏欄位

    • Cookie

    • 查詢字串

    ASP.NET 狀態管理建議事項

    Application、Page、Control 生命週期 (事件觸發的順序)

           :

           :

    Page: SaveViewState
    Control: SaveViewState
    Page: SavePageStateToPersistenceMedium
    Page: SaveStateComplete
    Page: CreateHtmlTextWriter
    Page: RenderControl
    Page: Render
    Page: RenderChildren
    Control: RenderControl
    Page: VerifyRenderingInServerForm
    Page: CreateHtmlTextWriter
    Control: Unload

    Application、Page、Control 生命週期 (事件觸發的順序) - Huan-Lin 學習筆記 on DotBlogs- 點部落

    何時使用繼承

     

    繼承階層架構中的物件繼承基底類別中所定義的欄位、屬性、方法及事件,所以物件應具有與其基底類別的 "Is a" 關聯性。代表與其他類別 "Has a" 關聯性的類別不適合繼承階層架構,因為這些類別會繼承不適當的屬性及方法。例如,如果 CustomerReferral 類別衍生自之前討論的 Customer 類別,則會繼承如 ShippingPrefs 和 LastOrderPlaced 之類無意義的屬性。應使用沒有關聯的類別或介面來代表此類的 "Has a" 關聯性。下圖分別顯示 "Is a" 和 "Has a" 關聯性的範例。

    "Is a" 和 "Has a" 的關聯性

    何時使用繼承

    Windows 服務應用程式簡介

     

    Microsoft Windows 服務,也就是先前的 NT 服務,可讓您建立長期執行的應用程式,在應用程式本身的 Windows 工作階段 (Session) 中執行。 這些服務可以在電腦啟動時自動啟動,也可以暫停或重新啟動,都不會顯示任何使用者介面。 這些功能使得服務非常適合在伺服器中使用,或每當需要不干擾使用同一部電腦之其他使用者的長期執行功能時使用。

    Windows 服務應用程式簡介

    2011年2月22日 星期二

    2011年1月22日 星期六

    電腦網路原理

     

    電腦網路原理

    作者: 范文雄/吳進北/盧佳君

    ‧書號: AEN002100
    出版日: 2010/04/29

    ISBN: 9789861818900
    EAN: 9789861818900

    電腦網路原理

    電腦軟體設計丙級檢定學術科--Visual Basic 2008

     

    電腦軟體設計丙級檢定學術科--Visual Basic 2008(2011最新版)(附影音教學光碟)

    作者: 林文恭/吳進北

    ‧書號: AER011400
    出版日: 近期出版

    ISBN: 9789862761076
    EAN: 9789862761076

     

    電腦軟體設計丙級檢定學術科--Visual Basic 2008(2011最新版)(附影音教學光碟)

    2011年1月21日 星期五

    學會寫程式Visual Basic 2008(附光碟)

     

    學會寫程式Visual Basic 2008(附光碟)

    作者: Idea 3小組

    ‧書號: AEL007800
    出版日: 2009/05/22

    ISBN: 9789861817095
    EAN: 9789861817095

    學會寫程式Visual Basic 2008(附光碟)

    2011年1月12日 星期三

    '判斷檔案存在否

    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            MsgBox(IO.File.Exists("C:\KeyinErrMsg1.log"))
        End Sub
    End Class

    ref: http://social.msdn.microsoft.com/forums/zh-TW/232/thread/5529426a-2489-47f8-b487-3584f1482f87

    '判斷路徑存在否

    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            MsgBox(IO.Directory.Exists("C:\temDir"))
        End Sub
    End Class

    取得目錄下所有檔案名稱

    '取得目錄下所有檔案名稱
    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim fArray() As String
            fArray = IO.Directory.GetFiles("C:\windows\", "*.txt")
            For Each f As String In fArray
                Debug.Print(f)
            Next
        End Sub
    End Class