• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 124,  comments - 29,  trackbacks - 0
            建議文件conn.inc
            1<%
            2set conn=server.createobject("adodb.connection")
            3provider="provider=microsoft.jet.oledb.4.0;"
            4DBPath ="data source=" & Server.MapPath("db.mdb")
            5conn.Open provider & DBPath
            6%>

            然后再每個頁前面加一句<!--#include file="conn.inc--">
            posted @ 2008-06-08 21:54 天書 閱讀(149) | 評論 (0)編輯 收藏
            Public Function SplitPageShow(ByRef rs)
                rs.PageSize 
            = 5 'pagesize屬性指定了每頁要顯示的記錄條數(shù) 
                Page = "1"
                Page 
            = CLng(Request("Page")) 'string型轉(zhuǎn)化為long型 
                If Page < 1 Then Page = 1 
                
            If Page > rs.PageCount Then Page = rs.PageCount 
                
            If Page <> 1 Then 
                   Response.Write 
            "<A HREF=Manage.asp?Page=1>第一頁</A>"
                   Response.Write 
            "<A HREF=Manage.asp?Page="& (Page-1& ">上一頁</A>" 
                
            End If 
                
            If Page <> rs.PageCount Then 
                   Response.Write 
            "<A HREF=Manage.asp?Page=" & (Page+1& ">下一頁</A>" 
                   Response.Write 
            "<A HREF=Manage.asp?Page="& rs.PageCount & ">最后一頁</A>" 
                
            End If 
                Response.write
            "頁碼:" & Page & "/" & rs.PageCount & "</font>" 
                
            '每一頁的顯示 
                
                
            '循環(huán)顯示每條記錄 
                rs.AbsolutePage = Page '把頁碼賦給absolutepage屬性從而知當(dāng)前頁的首條記錄號 
                For iPage = 1 To rs.PageSize
                Response.WRITE 
            "<TR><TD bgcolor='#FFFFFF'>" & rs("ID"& "</TD>" 
                Response.WRITE 
            "<TD bgcolor='#FFFFFF'>" & rs("Title"& "</TD>" 
                Response.WRITE 
            "<TD bgcolor='#FFFFFF'>" & rs("CName"& "</TD>" 
                Response.WRITE 
            "<TD bgcolor='#FFFFFF'><a href='Update.asp?id="&rs("ID"&"'>修改</a></TD>" 
                Response.WRITE 
            "<TD bgcolor='#FFFFFF'><a href='DeleteProcess.asp?id="& rs("ID"&"'>刪除</a></TD></TR>"
                rs.MoveNext 
                
            If rs.EOF Then Exit For 
                
            Next 

            End Function
            posted @ 2008-06-08 21:44 天書 閱讀(144) | 評論 (0)編輯 收藏

            事件是最實用的委托應(yīng)用程序之一。
            EventHandler這是一個事件委托,定義在system.EventHandler;
            btnOne.Click+=new EventHandler(Button_Click);
            btnTwo.Click+=new EventHandler(Button_Click);

            EventHandler委托沒有返回值,參數(shù)必需是object和EventArgs
            private void Button_Click(object sender,Eventargs e)
            {
            }
            上面定義的是一個接收器

            操作系統(tǒng)對每個輸入設(shè)備產(chǎn)生的操作,如按下MOUSE或鍵盤,就會發(fā)送一條消息,應(yīng)用程序就得捕獲消息,并根據(jù)消息調(diào)用委托,通過委托調(diào)用相應(yīng)的過程處理消息,沒有處理的消息再發(fā)送給操作系統(tǒng),由操作系統(tǒng)處理。
            發(fā)送消息:按下MOUSE左鍵,首先由操作系統(tǒng)捕獲交給當(dāng)前應(yīng)用程序,再由當(dāng)前應(yīng)用程序交給當(dāng)前窗口,如果當(dāng)前窗口處理完就告訴應(yīng)用程序由應(yīng)用程序告訴操作系統(tǒng)。如果當(dāng)前程序沒的處理也告訴操作系統(tǒng),由它處理。如果當(dāng)前窗口處理就根據(jù)當(dāng)前窗口的情況及狀態(tài)通知委托,由委托調(diào)用用定義的處理過程,或者交回操作系統(tǒng)。

            posted @ 2008-05-20 12:53 天書 閱讀(208) | 評論 (0)編輯 收藏

            1:地板透明化注:透明物體最后畫出
                g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE );
                g_pd3dDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA );
                g_pd3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);

            2:畫出反射對象注:一份頂點數(shù)據(jù)通過矩陣變換畫出反射對象
             D3DXMATRIXA16 tmp;
             D3DXMatrixScaling(&tmp,1,-1,1);//通過放縮矩陣來實現(xiàn)倒影(或D3DXMatrixReflect(&tmp,&plane);)

            3:Stencil Buffer 模板緩存啟用Stencil Buffer保證轉(zhuǎn)到地板下面時看不到實際存在的反射物體以免漏餡
            鏡面既要最先畫又要最后畫,那么畫兩遍,最先畫時設(shè)置Aphha混合如下不改變后臺緩存只是在模板緩存中標(biāo)記鏡面區(qū)域為1.
            最先畫地板時:
             //設(shè)置模板緩存
             g_pd3dDevice->SetRenderState(D3DRS_STENCILENABLE,true);
             g_pd3dDevice->SetRenderState(D3DRS_STENCILFUNC,D3DCMP_ALWAYS);
             g_pd3dDevice->SetRenderState(D3DRS_STENCILREF,0x1);
             g_pd3dDevice->SetRenderState(D3DRS_STENCILMASK,0xffffffff);
             g_pd3dDevice->SetRenderState(D3DRS_STENCILWRITEMASK,0xffffffff);
             g_pd3dDevice->SetRenderState(D3DRS_STENCILZFAIL,D3DSTENCILOP_KEEP);
             g_pd3dDevice->SetRenderState(D3DRS_STENCILFAIL,D3DSTENCILOP_KEEP);
             g_pd3dDevice->SetRenderState(D3DRS_STENCILPASS,D3DSTENCILOP_REPLACE);
             

             //繪制地板鏡面
             g_pd3dDevice->SetRenderState(D3DRS_ZENABLE, FALSE);
             g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
             g_pd3dDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ZERO);
             g_pd3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);
            繪制物體影像時啟用模板緩存并對其函數(shù)狀態(tài)進(jìn)行設(shè)置:
                 g_pd3dDevice->SetRenderState(D3DRS_STENCILENABLE,true);
                 g_pd3dDevice->SetRenderState( D3DRS_STENCILFUNC,D3DCMP_EQUAL);
            最后在渲染時照常:
                g_pd3dDevice->SetStreamSource( 0, obj.g_pVB, 0, sizeof(CUSTOMVERTEX) );
                g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
                g_pd3dDevice->SetIndices( obj.g_pIB );
                g_pd3dDevice->SetTexture( 0, g_pTexture[obj.textureID] ); //設(shè)置紋理
                g_pd3dDevice->DrawIndexedPrimitive(D3DPT_TRIANGLELIST,0,0,obj.numOfVertex,0,obj.numOfFace);
            其中 g_pd3dDevice->DrawIndexedPrimitive(D3DPT_TRIANGLELIST,0,0,obj.numOfVertex,0,obj.numOfFace);這句話根據(jù)模板緩存的設(shè)置及開啟情況,寫入后臺緩沖區(qū)的同時寫入模板緩存?;蛟谂c模板緩存中數(shù)據(jù)比較后決定是否要往后臺緩沖區(qū)中寫。

            posted @ 2008-05-17 19:25 天書 閱讀(1985) | 評論 (3)編輯 收藏
            D3D中燈光的表現(xiàn)注意事項:
            1:一定要注意平面法向量的方向,進(jìn)而再確定光源的位置。到底在平面的哪一側(cè)才能把平面照亮。
            2:因為點光源中只有少數(shù)幾條對平面其作用的光線,所以當(dāng)平面離光源越遠(yuǎn)(照亮范圍內(nèi))照亮的區(qū)域越大。
            3:光源照射后渲染三角形時當(dāng)平面被分割的三角形越多,三角形頂點在光照范圍內(nèi)時容易照亮。
            posted @ 2008-05-12 14:08 天書 閱讀(225) | 評論 (0)編輯 收藏
            漫反射顏色,紋理顏色,光照效果表現(xiàn)
                    光源所造成的明暗效果是表現(xiàn)在Diffuse上,也就是設(shè)定的Material上的。紋理要想表現(xiàn)出光照的明暗效果,就要啟用紋理階段混合了
             1   D3DMATERIAL9 mtrl;
             
            2   ZeroMemory( &mtrl, sizeof(D3DMATERIAL9) );
             
            3
             
            4   mtrl.Diffuse.r = mtrl.Ambient.r = 1.0f;
             
            5   mtrl.Diffuse.g = mtrl.Ambient.g = 1.0f;
             
            6   mtrl.Diffuse.b = mtrl.Ambient.b = 1.0f;
             
            7   mtrl.Diffuse.a = mtrl.Ambient.a = 0.0f;
             
            8   g_pd3dDevice->SetMaterial( &mtrl );
             
            9   //漫反射顏色和紋理顏色疊加,光照效果折痕表現(xiàn)。光源效果只表現(xiàn)在diffuse上
            10   g_pd3dDevice->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_MODULATE);
            11   g_pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE);
            12   g_pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG2,D3DTA_DIFFUSE);

                   
            posted @ 2008-04-30 11:00 天書 閱讀(316) | 評論 (0)編輯 收藏
             cctype開頭的c表示ctype程序是c++語言繼承自c語言的一部分。<cctype>頭文件為操作字符串提供了有用的函數(shù)
            isspace(c)        如果c是一個空白字符就返回真
            isalpha(c)         如果c是一個文字字符就返回真
            isdigit(c)           如果c是一個數(shù)字字符就返回真
            isalnum(c)         如果c是一個字母或數(shù)字就返回真
            ispunct(c)          如果c是一個標(biāo)點符號就返回真
            isupper(c)         如果c是一個大寫字母就返回真
            islower(c)          如果c是一個小寫字母就返回真
            toupper(c)         產(chǎn)生c對應(yīng)的大寫字母
            tolower(c)         產(chǎn)生c對應(yīng)的小寫字母
            posted @ 2008-04-27 10:16 天書 閱讀(488) | 評論 (0)編輯 收藏

                        c++標(biāo)準(zhǔn)模板庫中表示大小的類型是一個無符號整數(shù)類型,這種類型不存放負(fù)值。 比如:vector<T> homework;  homework.size()-100會生成無符號類型的結(jié)果,也就是說它永遠(yuǎn)不會比0小,即便homework.size()<100。
                        不管什么時候,如果一個表達(dá)式中同時出現(xiàn)普通的整數(shù)和無符號類型的整數(shù),普通的整數(shù)就會被轉(zhuǎn)換成無符號類型。一個值得注意的地方是:vector<double>::size_type,與所有標(biāo)準(zhǔn)庫表示大小的類型相同,也是一個無符號整數(shù)類型。

            posted @ 2008-04-24 13:43 天書 閱讀(503) | 評論 (0)編輯 收藏

            vector<NODE>::iterator FindMin(vector<NODE> &vect)
            {
             vector<NODE>::iterator min = vect.begin();
             vector<NODE>::iterator iter = vect.begin();
             while(iter != vect.end())
             {
              if((*itor).Value < (*min).Value)
              {
               min = iter;
              }
              iter ++;
             }
             return min;
            }

                    iterator的概念源自于對遍歷一個線性容器工具的抽象,即如何你能訪問這個容器的某個元素。對于最簡單的數(shù)組,當(dāng)然可以用數(shù)組的索引值,因為數(shù)組是連續(xù)存放在內(nèi)存中的;但對于鏈表,就必須用指針。除此之外,還有還有很多種數(shù)據(jù)結(jié)構(gòu)需要提供一個方便的工具來訪問其中的元素,方法有ID,關(guān)鍵字等等。為了統(tǒng)一所有的容器的這種工具的使用,一般提供一整套容器的開發(fā)者就會用一種方式來表示各種容器的訪問工具。例如C++   STL就是使用iterator。MFC自己的容器使用position。C#和java也有自己的方法,但方法是不變的。  
                    iterator的用法可以被統(tǒng)一,但不同的底層容器實現(xiàn)其iterator的原理是不一樣的。例如iterator++你可以理解為移動到容器的下一個元素,如果底層如果是數(shù)組,把索引值加一就行;如果底層是鏈表,就得執(zhí)行類似于m_pCurrent   =   m_pCurrent->pNext;的操作。因此每種容器都有自己的iterator實現(xiàn)方法。
              C++   STL   iterator的常用方法有:  
              iterator++     移到下個元素  
              iterator--     移到上個元素  
              *iterator       訪問iterator所指元素的值]  
                <   >   ==   !=     iterator之間的比較,例如判斷哪個元素在前  
              iterator1   +   iterator2     iterator之間的加法運算,類似于指針加法

            posted @ 2008-04-23 13:27 天書 閱讀(5019) | 評論 (0)編輯 收藏
            C++ Lists(鏈表)

            Lists將元素按順序儲存在鏈表中. 與 向量(vectors)相比, 它允許快速的插入和刪除,但是隨機(jī)訪問卻比較慢.

            assign() 給list賦值
            back() 返回最后一個元素
            begin() 返回指向第一個元素的迭代器
            clear() 刪除所有元素
            empty() 如果list是空的則返回true
            end() 返回末尾的迭代器
            erase() 刪除一個元素
            front() 返回第一個元素
            get_allocator() 返回list的配置器
            insert() 插入一個元素到list中
            max_size() 返回list能容納的最大元素數(shù)量
            merge() 合并兩個list
            pop_back() 刪除最后一個元素
            pop_front() 刪除第一個元素
            push_back() 在list的末尾添加一個元素
            push_front() 在list的頭部添加一個元素
            rbegin() 返回指向第一個元素的逆向迭代器
            remove() 從list刪除元素
            remove_if() 按指定條件刪除元素
            rend() 指向list末尾的逆向迭代器
            resize() 改變list的大小
            reverse() 把list的元素倒轉(zhuǎn)
            size() 返回list中的元素個數(shù)
            sort() 給list排序
            splice() 合并兩個list
            swap() 交換兩個list
            unique() 刪除list中重復(fù)的元素
            posted @ 2008-04-23 13:02 天書 閱讀(448) | 評論 (0)編輯 收藏
            僅列出標(biāo)題
            共13頁: First 5 6 7 8 9 10 11 12 13 

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(5)

            隨筆檔案

            文章分類

            文章檔案

            好友的Bolg

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久综合九色综合网站| 久久精品国产一区| 久久亚洲AV成人无码电影| A级毛片无码久久精品免费| 久久精品无码一区二区app| 久久无码AV一区二区三区| 激情久久久久久久久久| 久久精品极品盛宴观看| 狠狠色婷婷综合天天久久丁香 | 久久亚洲精品国产亚洲老地址| 午夜人妻久久久久久久久| 国产福利电影一区二区三区久久久久成人精品综合 | 无码国内精品久久综合88| 99久久精品免费看国产| 99久久婷婷国产综合亚洲| 久久99久久99精品免视看动漫| 久久久久波多野结衣高潮| 国产激情久久久久久熟女老人 | 久久精品国产亚洲AV忘忧草18 | 久久久精品久久久久特色影视 | 99久久婷婷国产一区二区| 伊人久久精品线影院| 欧美激情一区二区久久久| 精品久久久久久成人AV| 欧美麻豆久久久久久中文| 亚洲国产精品无码久久久不卡 | 久久国产精品无码一区二区三区| 久久精品国产亚洲AV无码娇色| 久久精品国产亚洲AV香蕉| 99久久精品国产一区二区三区 | 蜜臀久久99精品久久久久久小说| 久久精品国产91久久麻豆自制 | 久久综合给合久久狠狠狠97色 | 久久99精品久久久久久9蜜桃| 精品国产乱码久久久久软件| 一本一本久久aa综合精品| 久久久久国产| 欧美亚洲国产精品久久蜜芽| 亚洲国产精品无码久久久秋霞2 | 大蕉久久伊人中文字幕| 欧美精品久久久久久久自慰|