每天進(jìn)步一點(diǎn)點(diǎn)
          Welcome ,My new friends!!!
          posts - 11,comments - 1,trackbacks - 0
          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章檔案

          新聞分類

          新聞檔案

          收藏夾

          友情鏈接

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

               摘要:       上次出去幫一個(gè)朋友的朋友給一個(gè)原有的.net項(xiàng)目添加一個(gè)新的功能模塊。結(jié)果,很傷,原因很簡(jiǎn)單,由于我對(duì)dotnet的工作機(jī)理想當(dāng)然,個(gè)人觀點(diǎn)占據(jù)上風(fēng),導(dǎo)致在初期設(shè)計(jì)的時(shí)候就走上了一天錯(cuò)誤的道路,郁悶了很長(zhǎng)一段時(shí)間,決定花一定時(shí)間去真正理解一些更底層,更基礎(chǔ)的東西。現(xiàn)在忽然發(fā)現(xiàn)自己在過去很長(zhǎng)的一段時(shí)間有些舍本逐末了,檢討~~~~ 這...  閱讀全文
          posted @ 2009-05-27 11:38 moonandsun 閱讀(420) | 評(píng)論 (0)編輯 收藏

          web2.0這個(gè)名詞不止一次的在我眼前出現(xiàn),有時(shí)候由于它的出現(xiàn)過于頻繁,以至于我還沒來(lái)得及去想,已漸漸的在內(nèi)心中接受了這個(gè)名詞。初識(shí)web2.0是在去年,具體什么時(shí)候已記不太清楚,當(dāng)初我腦海中的web2.0和我現(xiàn)在的認(rèn)識(shí)不盡相同,我當(dāng)時(shí)的認(rèn)識(shí)只是web2.0的一個(gè)方面,甚至可以說與我們所說的web2.0不相關(guān)。當(dāng)時(shí)我和我的幾個(gè)師兄在一起做一個(gè)web項(xiàng)目,當(dāng)然他們常常會(huì)提到web2.0標(biāo)準(zhǔn),起初我不是很理解,當(dāng)然現(xiàn)在也依然模糊。從網(wǎng)上在了點(diǎn)資料。網(wǎng)上如是說:WEB2.0標(biāo)準(zhǔn)不是某一個(gè)標(biāo)準(zhǔn),而是一系列標(biāo)準(zhǔn)的集合。網(wǎng)頁(yè)主要由三部分組成:結(jié)構(gòu)(Structure)、表現(xiàn)(Presentation)和行為(Behavior)。對(duì)應(yīng)的標(biāo)準(zhǔn)也分三方面:結(jié)構(gòu)化標(biāo)準(zhǔn)語(yǔ)言主要包括XHTML和XML,表現(xiàn)標(biāo)準(zhǔn)語(yǔ)言主要包括CSS,行為標(biāo)準(zhǔn)主要包括對(duì)象模型(如W3C DOM)、ECMAScript等。這些標(biāo)準(zhǔn)大部分由W3C起草和發(fā)布,也有一些是其他標(biāo)準(zhǔn)組織制訂的標(biāo)準(zhǔn),比如ECMA(European Computer Manufacturers Association)的ECMAScript標(biāo)準(zhǔn)。恍然大明白,原來(lái)自己在很長(zhǎng)一段時(shí)間都在為web2.0標(biāo)準(zhǔn)努力。不由暗暗自喜。后來(lái),每次上網(wǎng),看雜志(尤其程序員),看報(bào)紙(電腦報(bào)),web2.0的字眼是滿天飛。既然自己要考研,并且準(zhǔn)備在計(jì)算機(jī)方面發(fā)展,我認(rèn)為有必要了解web2.0。


          web2.0是相對(duì)于web1.0來(lái)說的. 首先就易用性和交互性方面來(lái)說,Web1.0里,互聯(lián)網(wǎng)內(nèi)容是由少數(shù)編輯人員(或站長(zhǎng))定制的,比如搜狐;而在Web2.0里,每個(gè)人都是內(nèi)容的供稿者。標(biāo)由于web2.0主張多然參與,所以互聯(lián)網(wǎng)內(nèi)容也更加豐富和多樣化,同時(shí)web2.0采用了標(biāo)簽(tag),多媒體技術(shù),rss訂閱,在線協(xié)作等功能,用戶在使用互聯(lián)網(wǎng)的過程也更方便、快捷。就我的一個(gè)上網(wǎng)習(xí)慣來(lái)說,我關(guān)注最多的是IT技術(shù)方面的發(fā)展,一般我經(jīng)常去csdn,cnblogs,itpub等網(wǎng)站,以前我看文章都是一個(gè)網(wǎng)站一個(gè)網(wǎng)站的打開,有時(shí)候發(fā)現(xiàn)某個(gè)人的博客很適合自己的口味,于是想關(guān)注這位博主的最新動(dòng)態(tài),于是收藏的網(wǎng)址越來(lái)越多,每天想把自己關(guān)注的事情看一遍很費(fèi)時(shí)間。現(xiàn)在可不一樣了,發(fā)現(xiàn)自己的喜歡網(wǎng)站或博客,訂閱到自己的google reader中,每天上網(wǎng)第一件事,打開google reader,有什么最新新聞,最新動(dòng)態(tài)一目了然。都是互聯(lián)網(wǎng)提供的便利啊。

          其次,web2.0相對(duì)于web1.0來(lái)說更突出人的作用,在互聯(lián)網(wǎng)的新時(shí)代,信息是由每個(gè)人貢獻(xiàn)出來(lái)的。各個(gè)人共同組成互聯(lián)網(wǎng)信息源。Web2.0的靈魂是人。同是,為了更好的發(fā)揮“人”的作用,web2.0的形式也更多樣化,出現(xiàn)了各種各樣的互聯(lián)網(wǎng)服務(wù),例如博客、威客、播客、維基、P2P下載、社區(qū)、分享服務(wù)等等。是“人”能夠從互聯(lián)網(wǎng)上得到不同程度上的滿足。現(xiàn)如今,用戶即所謂的“人”所產(chǎn)生的信息在互聯(lián)網(wǎng)內(nèi)容中所占的比重越來(lái)越大,而且隨著web2.0的發(fā)展,這一趨勢(shì)還會(huì)不斷加強(qiáng)。web2.0為所有互聯(lián)網(wǎng)用戶提供了一個(gè)展示自我和自我實(shí)現(xiàn)的平臺(tái)。而且隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,web2.0在生活信息化、辦公信息化方面的作用也會(huì)一步步提升,是人們的生活、學(xué)習(xí)、工作更加便捷和輕松。

          總之,web2.0從某種程度上改變了人們的生活。


           

          posted @ 2009-05-20 21:14 moonandsun 閱讀(166) | 評(píng)論 (0)編輯 收藏

                  好長(zhǎng)一段時(shí)間沒有寫日志,生活在繁忙中迷茫了一段,細(xì)細(xì)想來(lái)也不知道都干了些什么,于技術(shù)方面更是毫無(wú)長(zhǎng)進(jìn),靜下心來(lái)下篇文章,安撫一下浮躁的心靈。

                  現(xiàn)在開始Maven2的學(xué)習(xí)。

                  第一步不用說,下載Maven2,以待安裝。

                  其實(shí)我們有必要了解Maven2到底是一個(gè)干么的東西,要使用它首先得知道它是干么的。

                  先看看ReadMe.txt

            What is it?
            -----------

            Maven is a software project management and comprehension tool. Based on
            the concept of a Project Object Model (POM), Maven can manage a project's
            build, reporting and documentation from a central piece of information.
           
                   now we got it .it is a tool which can manage and  comprehend  our project .

                   系統(tǒng)需求,一般我們都能達(dá)到,忽略。

           System Requirements
            -------------------

            JDK:
              1.4 or above (this is to execute Maven - it still allows you to build against 1.3
              and prior JDK's).
            Memory:
              No minimum requirement.
            Disk:
              No minimum requirement. Approximately 100MB will be used for your local repository,
              however this will vary depending on usage and can be removed and redownloaded at
              any time.
            Operating System:
              No minimum requirement. On Windows, Windows NT and above or Cygwin is required for
              the startup scripts. Tested on Windows XP, Fedora Core and Mac OS X.s
                 
                   下一步,安裝。我建議看看文檔。
           
            Installing Maven
            ----------------

            1) Unpack the archive where you would like to store the binaries, eg:

              Unix-based Operating Systems (Linux, Solaris and Mac OS X)
                tar zxvf apache-maven-2.0.x.tar.gz
              Windows 2000/XP
                unzip apache-maven-2.0.x.zip

            2) A directory called "apache-maven-2.0.x" will be created.

            3) Add the bin directory to your PATH, eg:

              Unix-based Operating Systems (Linux, Solaris and Mac OS X)
                export PATH=/usr/local/apache-maven-2.0.x/bin:$PATH
              Windows 2000/XP
                set PATH="c:\program files\apache-maven-2.0.x\bin";%PATH%

            4) Make sure JAVA_HOME is set to the location of your JDK


                   我用的是winXP,看這句就可以了。

                   set PATH="c:\program files\apache-maven-2.0.x\bin";%PATH% 

                  其中 “c:\program files\apache-maven-2.0.x\bin”為maven2解壓路徑。

                  最后一步測(cè)試一下是否成功。

            5) Run "mvn --version" to verify that it is correctly installed.

                  


                  OK,it works~~~


               














          posted @ 2009-05-05 22:10 moonandsun 閱讀(225) | 評(píng)論 (0)編輯 收藏

          十進(jìn)制,八進(jìn)制,十六進(jìn)制,二進(jìn)制相互轉(zhuǎn)換

          ' 用途:將十進(jìn)制轉(zhuǎn)化為二進(jìn)
          ' 輸入:Dec(十進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:Long
          ' 輸出:DEC_to_BIN(二進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647,輸出最大數(shù)為1111111111111111111111111111111(31個(gè)1)
          Public Function DEC_to_BIN(Dec As Long) As String
              DEC_to_BIN = ""
              Do While Dec > 0
                  DEC_to_BIN = Dec Mod 2 & DEC_to_BIN
                  Dec = Dec \ 2
              Loop
          End Function

          ' 用途:將二進(jìn)制轉(zhuǎn)化為十進(jìn)制
          ' 輸入:Bin(二進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:BIN_to_DEC(十進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:Long
          ' 輸入的最大數(shù)為1111111111111111111111111111111(31個(gè)1),輸出最大數(shù)為2147483647
          Public Function BIN_to_DEC(ByVal Bin As String) As Long
              Dim i As Long
              For i = 1 To Len(Bin)
                  BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1))
              Next i
          End Function

          ' 用途:將十六進(jìn)制轉(zhuǎn)化為二進(jìn)制
          ' 輸入:Hex(十六進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:HEX_to_BIN(二進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function HEX_to_BIN(ByVal Hex As String) As String
              Dim i As Long
              Dim B As String
              
              Hex = UCase(Hex)
              For i = 1 To Len(Hex)
                  Select Case Mid(Hex, i, 1)
                      Case "0": B = B & "0000"
                      Case "1": B = B & "0001"
                      Case "2": B = B & "0010"
                      Case "3": B = B & "0011"
                      Case "4": B = B & "0100"
                      Case "5": B = B & "0101"
                      Case "6": B = B & "0110"
                      Case "7": B = B & "0111"
                      Case "8": B = B & "1000"
                      Case "9": B = B & "1001"
                      Case "A": B = B & "1010"
                      Case "B": B = B & "1011"
                      Case "C": B = B & "1100"
                      Case "D": B = B & "1101"
                      Case "E": B = B & "1110"
                      Case "F": B = B & "1111"
                  End Select
              Next i
              While Left(B, 1) = "0"
                  B = Right(B, Len(B) - 1)
              Wend
              HEX_to_BIN = B
          End Function

          ' 用途:將二進(jìn)制轉(zhuǎn)化為十六進(jìn)制
          ' 輸入:Bin(二進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:BIN_to_HEX(十六進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function BIN_to_HEX(ByVal Bin As String) As String
              Dim i As Long
              Dim H As String
              If Len(Bin) Mod 4 <> 0 Then
                  Bin = String(4 - Len(Bin) Mod 4, "0") & Bin
              End If
              
              For i = 1 To Len(Bin) Step 4
                  Select Case Mid(Bin, i, 4)
                      Case "0000": H = H & "0"
                      Case "0001": H = H & "1"
                      Case "0010": H = H & "2"
                      Case "0011": H = H & "3"
                      Case "0100": H = H & "4"
                      Case "0101": H = H & "5"
                      Case "0110": H = H & "6"
                      Case "0111": H = H & "7"
                      Case "1000": H = H & "8"
                      Case "1001": H = H & "9"
                      Case "1010": H = H & "A"
                      Case "1011": H = H & "B"
                      Case "1100": H = H & "C"
                      Case "1101": H = H & "D"
                      Case "1110": H = H & "E"
                      Case "1111": H = H & "F"
                  End Select
              Next i
              While Left(H, 1) = "0"
                  H = Right(H, Len(H) - 1)
              Wend
              BIN_to_HEX = H
          End Function

          ' 用途:將十六進(jìn)制轉(zhuǎn)化為十進(jìn)制
          ' 輸入:Hex(十六進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:HEX_to_DEC(十進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:Long
          ' 輸入的最大數(shù)為7FFFFFFF,輸出的最大數(shù)為2147483647
          Public Function HEX_to_DEC(ByVal Hex As String) As Long
              Dim i As Long
              Dim B As Long
              
              Hex = UCase(Hex)
              For i = 1 To Len(Hex)
                  Select Case Mid(Hex, Len(Hex) - i + 1, 1)
                      Case "0": B = B + 16 ^ (i - 1) * 0
                      Case "1": B = B + 16 ^ (i - 1) * 1
                      Case "2": B = B + 16 ^ (i - 1) * 2
                      Case "3": B = B + 16 ^ (i - 1) * 3
                      Case "4": B = B + 16 ^ (i - 1) * 4
                      Case "5": B = B + 16 ^ (i - 1) * 5
                      Case "6": B = B + 16 ^ (i - 1) * 6
                      Case "7": B = B + 16 ^ (i - 1) * 7
                      Case "8": B = B + 16 ^ (i - 1) * 8
                      Case "9": B = B + 16 ^ (i - 1) * 9
                      Case "A": B = B + 16 ^ (i - 1) * 10
                      Case "B": B = B + 16 ^ (i - 1) * 11
                      Case "C": B = B + 16 ^ (i - 1) * 12
                      Case "D": B = B + 16 ^ (i - 1) * 13
                      Case "E": B = B + 16 ^ (i - 1) * 14
                      Case "F": B = B + 16 ^ (i - 1) * 15
                  End Select
              Next i
              HEX_to_DEC = B
          End Function
          ' 用途:將十進(jìn)制轉(zhuǎn)化為十六進(jìn)制
          ' 輸入:Dec(十進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:Long
          ' 輸出:DEC_to_HEX(十六進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647,輸出最大數(shù)為7FFFFFFF
          Public Function DEC_to_HEX(Dec As Long) As String
              Dim a As String
              DEC_to_HEX = ""
              Do While Dec > 0
                  a = CStr(Dec Mod 16)
                  Select Case a
                      Case "10": a = "A"
                      Case "11": a = "B"
                      Case "12": a = "C"
                      Case "13": a = "D"
                      Case "14": a = "E"
                      Case "15": a = "F"
                  End Select
                  DEC_to_HEX = a & DEC_to_HEX
                  Dec = Dec \ 16
              Loop
          End Function

          ' 用途:將十進(jìn)制轉(zhuǎn)化為八進(jìn)制
          ' 輸入:Dec(十進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:Long
          ' 輸出:DEC_to_OCT(八進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647,輸出最大數(shù)為17777777777
          Public Function DEC_to_OCT(Dec As Long) As String
              DEC_to_OCT = ""
              Do While Dec > 0
                  DEC_to_OCT = Dec Mod 8 & DEC_to_OCT
                  Dec = Dec \ 8
              Loop
          End Function

          ' 用途:將八進(jìn)制轉(zhuǎn)化為十進(jìn)制
          ' 輸入:Oct(八進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:OCT_to_DEC(十進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:Long
          ' 輸入的最大數(shù)為17777777777,輸出的最大數(shù)為2147483647
          Public Function OCT_to_DEC(ByVal Oct As String) As Long
              Dim i As Long
              Dim B As Long
              
              For i = 1 To Len(Oct)
                  Select Case Mid(Oct, Len(Oct) - i + 1, 1)
                      Case "0": B = B + 8 ^ (i - 1) * 0
                      Case "1": B = B + 8 ^ (i - 1) * 1
                      Case "2": B = B + 8 ^ (i - 1) * 2
                      Case "3": B = B + 8 ^ (i - 1) * 3
                      Case "4": B = B + 8 ^ (i - 1) * 4
                      Case "5": B = B + 8 ^ (i - 1) * 5
                      Case "6": B = B + 8 ^ (i - 1) * 6
                      Case "7": B = B + 8 ^ (i - 1) * 7
                  End Select
              Next i
              OCT_to_DEC = B
          End Function

          ' 用途:將二進(jìn)制轉(zhuǎn)化為八進(jìn)制
          ' 輸入:Bin(二進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:BIN_to_OCT(八進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function BIN_to_OCT(ByVal Bin As String) As String
              Dim i As Long
              Dim H As String
              If Len(Bin) Mod 3 <> 0 Then
                  Bin = String(3 - Len(Bin) Mod 3, "0") & Bin
              End If
              
              For i = 1 To Len(Bin) Step 3
                  Select Case Mid(Bin, i, 3)
                      Case "000": H = H & "0"
                      Case "001": H = H & "1"
                      Case "010": H = H & "2"
                      Case "011": H = H & "3"
                      Case "100": H = H & "4"
                      Case "101": H = H & "5"
                      Case "110": H = H & "6"
                      Case "111": H = H & "7"
                  End Select
              Next i
              While Left(H, 1) = "0"
                  H = Right(H, Len(H) - 1)
              Wend
              BIN_to_OCT = H
          End Function

          ' 用途:將八進(jìn)制轉(zhuǎn)化為二進(jìn)制
          ' 輸入:Oct(八進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:OCT_to_BIN(二進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function OCT_to_BIN(ByVal Oct As String) As String
              Dim i As Long
              Dim B As String
              
              For i = 1 To Len(Oct)
                  Select Case Mid(Oct, i, 1)
                      Case "0": B = B & "000"
                      Case "1": B = B & "001"
                      Case "2": B = B & "010"
                      Case "3": B = B & "011"
                      Case "4": B = B & "100"
                      Case "5": B = B & "101"
                      Case "6": B = B & "110"
                      Case "7": B = B & "111"
                  End Select
              Next i
              While Left(B, 1) = "0"
                  B = Right(B, Len(B) - 1)
              Wend
              OCT_to_BIN = B
          End Function

          ' 用途:將八進(jìn)制轉(zhuǎn)化為十六進(jìn)制
          ' 輸入:Oct(八進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:OCT_to_HEX(十六進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function OCT_to_HEX(ByVal Oct As String) As String
              Dim Bin As String
              Bin = OCT_to_BIN(Oct)
              OCT_to_HEX = BIN_to_HEX(Bin)
          End Function

          ' 用途:將十六進(jìn)制轉(zhuǎn)化為八進(jìn)制
          ' 輸入:Hex(十六進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:HEX_to_OCT(八進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function HEX_to_OCT(ByVal Hex As String) As String
              Dim Bin As String
              Hex = UCase(Hex)
              Bin = HEX_to_BIN(Hex)
              HEX_to_OCT = BIN_to_OCT(Bin)
          End Function


          VB自帶函數(shù):
          十進(jìn)制轉(zhuǎn)八進(jìn)制:Oct(num)
          十六進(jìn)制轉(zhuǎn)八進(jìn)制:oct("&H" & num)
          十進(jìn)制轉(zhuǎn)十六進(jìn)制:hex(num)
          八進(jìn)制轉(zhuǎn)十六進(jìn)制:hex("&O" & num)

          十六進(jìn)制轉(zhuǎn)換為十進(jìn)制
              Dim str As String                     
              str = Text2.Text
              Text10.Text = CLng("&H" & str)

          文章出處:http://blog.programfan.com/article.asp?id=11903
          感謝作者的無(wú)私奉獻(xiàn)、、、、

          posted @ 2009-03-29 10:57 moonandsun 閱讀(1466) | 評(píng)論 (0)編輯 收藏
          一、在VB中聲明API函數(shù)有兩種方法:如果我們只在某個(gè)窗體中使用API函數(shù),我們可以在窗體代碼的General部分聲明它:


            聲明的語(yǔ)法是:

            Private Declare Function ...

            Private Declare Sub.....

            這里必須采用Private聲明,因?yàn)檫@個(gè)API函數(shù)只能被一個(gè)窗體內(nèi)的程序所調(diào)用。


            如果我們的程序有多個(gè)窗體構(gòu)成,而且我們需要在多個(gè)窗體中使用同一個(gè)API函數(shù),就需要在模塊中聲明了。

            先添加一個(gè)模塊(如圖示),

            然后采用如下語(yǔ)法聲明:

            Public Declare Function....

            Public Declare Sub....

            Public聲明的含義是把API函數(shù)作為一個(gè)公共函數(shù)或過程,在一個(gè)工程中的任何位置(包括所有的窗體和模塊)都能直接調(diào)用它。 聲明完畢我們就能在程序中使用此API函數(shù)了。


            二、可采用以下幾種方式使用API函數(shù),以SetWindowPos函數(shù)為例:

            (1)忽略函數(shù)返回值的調(diào)用:

              SetWindowPos Form1.hWnd, -2 ,0 ,0 ,0, 0, 3

            注意此時(shí)函數(shù)的參數(shù)是不加括號(hào)的。

            (2)Call方法調(diào)用:

              Call SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3)

            注意這里需要加上括號(hào),但我們不取回函數(shù)的返回值。

            (3)取得函數(shù)返回值的調(diào)用:

              MyLng = SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3)

            此時(shí)需要加上括號(hào),而且我們必須事先定義一個(gè)變量(變量的類型與函數(shù)返回值類型相同)來(lái)存儲(chǔ)API函數(shù)的返回值。


            三、幾個(gè)問題的說明:


            (1)聲明中的Lib 和 Alias 是怎么回事

            一般情況下WIN32API函數(shù)總是包含在WINDOWS系統(tǒng)自帶的或是其它公司提供的動(dòng)態(tài)連接庫(kù)DLL中,而Declare語(yǔ)句中的Lib關(guān)鍵字就用來(lái)指定DLL(動(dòng)態(tài)連接庫(kù))文件的路徑,這樣VB才能找到這個(gè)DLL文件,然后才能使用其中的API函數(shù)。如果我們只是列出DLL文件名而不指出其完整的路徑的話,VB會(huì)自動(dòng)到.EXE文件所在目錄、當(dāng)前工作目錄、WINDOWS\SYSTEM目錄、WINDOWS目錄下搜尋這個(gè)DLL文件。所以如果所要使用DLL文件不在上述幾個(gè)目錄下的話,我們應(yīng)該指明其完整路徑。

            Alias用于指定API函數(shù)的別名,如果我們調(diào)用的API函數(shù)要使用字符串(參數(shù)中包含String型)的話,Alias關(guān)鍵字是必須的。這是因?yàn)樵贏NSI和Unicode字符集中同一API函數(shù)的名稱可能是不一樣的,為了保證不出現(xiàn)聲明錯(cuò)誤,我們使用Alias關(guān)鍵字指出API函數(shù)的別名,一般來(lái)說在WIN9X平臺(tái)下我們把API函數(shù)名后加一個(gè)大寫A作為別名即可。


            (2)常見的API參數(shù)類型的說明

            API函數(shù)的參數(shù)中最常見的是長(zhǎng)整Long型數(shù)據(jù)類型,例如API中的句柄、一些特定的常量、函數(shù)的返回值都是此類型 的值;另外幾種常見的參數(shù)類型有:整型Integer、Byte型、String型等。


            (3)聲明中的ByVal是作什么用的

            這跟VB的參數(shù)傳遞方式有關(guān),在默認(rèn)情況下VB是通過地址傳遞方式傳遞函數(shù)的參數(shù)、而有些API函數(shù)要求必須采用傳值方式來(lái)傳遞函數(shù)參數(shù)(這兩種參數(shù)傳遞方式是不同的,前者傳遞的是一個(gè)指針,而后者要求是參數(shù)真實(shí)的值)。這樣就會(huì)發(fā)生錯(cuò)誤,解決的辦法是在API函數(shù)參數(shù)聲明的前面加上ByVal關(guān)鍵字,這樣VB就采用傳值方式傳遞參數(shù)了。


            (4)怎樣得到完整的API函數(shù)聲明

            VB自帶了API文本查看器API TEXT VIEWER,我們可以在其中找到API函數(shù)的完整聲明,然后把它粘貼到程序中即可。

          原文地址:http://www.enet.com.cn/article/2004/0312/A20040312293927.shtml
          posted @ 2009-03-28 16:46 moonandsun 閱讀(161) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 邛崃市| 合水县| 柘城县| 湖口县| 塔河县| 平陆县| 宝鸡市| 博湖县| 隆回县| 通渭县| 东乡| 耿马| 建水县| 昌宁县| 红河县| 府谷县| 勐海县| 南丹县| 阳谷县| 农安县| 怀安县| 库尔勒市| 河东区| 永胜县| 扶余县| 神池县| 开江县| 德安县| 临沧市| 呼玛县| 瑞丽市| 元江| 林州市| 革吉县| 安远县| 邹平县| 平顶山市| 隆林| 神池县| 牡丹江市| 庄河市|