發表文章

目前顯示的是 11月, 2008的文章

精品程式碼收藏

圖片
1. oncontextmenu="window.event.returnvalue=false" 將徹底過濾滑鼠游標右鍵 no 可用於Table 2. 取消選取、防止複製 3. onpaste="return false" 不准複製貼上 4. oncopy="return false;" oncut="return false;" 防止複製 5. IE地址欄前換成自己的圖示 6. 可以在[我的最愛]中顯示出你的圖示 7. 關閉輸入法 8. 永遠都會帶著框架 9. 防止被人frame 10. 網頁將不能被另存為 11. onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'"> 12. 怎樣通過asp的手段來檢查來訪者是否用了代理 <% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then response.write " 您通過了代理伺服器,"& _ "真實的IP為"&Request.ServerVariables("HTTP_X_FORWARDED_FOR") end if %> 13. 取得元件的絕對位置 //javascript //VBScript 14. 游標是停在文字輸入方塊文字的最後 15. 判斷上一頁的來源 asp: request.servervariables("HTTP_REFERER") java script: document.referrer 16. 最小化、最大化、關閉視窗 本例適用於IE 17. <

分行模組,自動識別英文和型號數

Function cuttextlen(intext, lens) If Len(intext) <= lens Then cuttextlen = intext Else tmptext = intext GetTexts = "" Do While Not Len(tmptext) <= lens GetTexts = GetTexts + Left(tmptext, lens) tmptext = Right(tmptext, Len(tmptext) - lens) Do While (Asc(Left(tmptext, 1)) >= 65 And Asc(Left(tmptext, 1)) <= 90) Or (Asc(Left(tmptext, 1)) >= 97 And Asc(Left(tmptext, 1)) <= 122) Or (Asc(Left(tmptext, 1)) >= 45 And Asc(Left(tmptext, 1)) <= 57) GetTexts = GetTexts + Left(tmptext, 1) tmptext = Right(tmptext, Len(tmptext) - 1) 'If Len(tmptext) <= lens Then Exit Do Loop GetTexts = GetTexts & " " Loop cuttextlen = GetTexts & tmptext End If End Function 實際範例位置還是WWW.HIFI-CHINA.COM 本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw 原文網址:http://bbs.flash2u.com.tw/dispbbs_58_53516_16.html

ASP如何獲取客戶端真實IP地址

在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 來取得客戶端的IP地址,但如果客戶端是使用代理伺服器來瀏覽,那取到的就是代理伺服器的IP地址,而不是真正的客戶端IP地址。要想透過代理伺服器取得客戶端的真實IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 來讀取。不過要注意的事,並不是每個代理伺服器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 來讀取客戶端的真實 IP,有些用此方法讀取到的仍然是代理伺服器的IP。還有一點需要注意的是:如果客戶端沒有通過代理伺服器來瀏覽,那麼用 Request.ServerVariables ("HTTP_X_FORWARDED_FOR") 取到的值將是空的。因此,如果要在程式中使用此方法,可以這樣處理: ...... userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR") ...... 即:如果客戶端通過代伺服器,則取 HTTP_X_FORWARDED_FOR 的值,如果沒通過代裡伺服器,就取 REMOTE_ADDR 的值。 以下是引用片段: 0 Then strIPAddr = Request.ServerVariables("REMOTE_ADDR") ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR&qu

ASP.NET 產生 PDF 或 XPS 檔

以下 ASP.NET 程式碼可以在伺服器端使用 Excel 檔當樣版, 修改 Excel 檔儲存格內容,然後使用列印或另存的方式來產生 PDF 或 XPS 檔, 先決條件是伺服器端有安裝 Office 2007 (如果要另存 PDF, XPS), 以及安裝增益集: http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=4d951911-3e7e-4ae6-b059-a2e79ed87041 不要忘記加入參考: Microsoft.Office.Tools.Excel 代碼: Imports Microsoft.Office.Interop Imports System.IO Partial Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim oExcel As New Excel.Application Dim oBooks As Excel.Workbooks, oBook As Excel.Workbook Dim oSheets As Excel.Sheets, oSheet As Excel.Worksheet Dim oCells As Excel.Range Dim sFile As String, sTemplate As String ' Excel 檔路徑 sTemplate = Server.MapPath("Demo.xlsx") ' 副檔名可以改成 .xls, .xps, .pdf sFile = Server.MapPath(Session.SessionID & ".pdf") oExcel.Visible = False oExcel.DisplayAlert

asp.net常用函數表

數字處理 Int(number) 傳回小於或等於接收參數的最大整數值。 Math.Abs(number) 取得數值的絕對值。 Math.Acos 傳回餘弦函數 (Cosine) 是指定數字的角。 Math.Asin 傳回正弦函數 (Sine) 是指定數字的角。 Math.Atan 傳回正切函數 (Tangent) 是指定數字的角。 Math.Atan2 傳回正切函數是兩個指定數字之商數的角。 Math.BigMul 產生兩個 32 位元數字的完整產品。 Math.Ceiling 傳回大於或等於指定數字的最小整數。 Math.Cos 傳回指定角的餘弦函數。 Math.Cosh 傳回指定角的雙曲線餘弦函數。 Math.DivRem 計算兩個數字的商數,也傳回餘數做為輸出參數。 Math.Exp 傳回具有指定乘冪數的 e。 Math.Floor 傳回小於或等於指定數字的最大整數。 Math.IEEERemainder 傳回指定數字除以另一個指定數字所得的餘數。 Math.Log 傳回指定數字的對數。 Math.Log10 傳回指定數字的底數 10 對數。 Math.Max 傳回兩個指定數字中較大的一個。 Math.Min 傳回兩個數字中較小的一個。 Math.Pow 傳回具有指定乘冪數的指定數字。 Math.Round 將值捨入至最接近的整數或是指定的小數位數數字。 Math.Sign 傳回數值,指示數字的正負號。 Math.Sin 傳回指定角的正弦函數。 Math.Sinh 傳回指定角的雙曲線正弦函數。 Math.Sqrt 傳回指定數字的平方根。 Math.Tan 傳回指定角的正切函數。 Math.Tanh 傳回指定角的雙曲線正切函數。 Math.Truncate 計算數字的整數部分。 CallByName (object, procname, usecalltype,[args()]) 執行一個物件的方法、設定或傳回物件的屬性。 Log(number) 取得數值的自然對數。 型態轉換 CBool(expression) 轉換運算式為Boolean 型態。 CByte(expression) 轉換運算式為Byte 型態。 CChar(expression) 轉換運算式為字元型態。 CDate(expre

建立縮圖

當我在更新我的Ajax示例的時候,我需要為某個目錄下的圖片創建縮略圖。可用的工具實在是多不勝數,不過我還是想分享一下我所使用的一段非常簡單的代碼。 這段程式會提取根目錄下的所有jpg檔,為它們創建160*120的縮略圖,並將圖片拷貝到完整路徑下。 namespace ThumbNailer { class Program { static void Main(string[] args) { string rootPath = @"C:\Users\brada\Desktop\ForDemo"; string thumbPath = Path.Combine(rootPath, "Thumb"); if (Directory.Exists(thumbPath)) DirectoryDelete(thumbPath); Directory.CreateDirectory(thumbPath); int imageNumber = 0; foreach (string s in Directory.GetFiles(rootPath, "*.jpg")) { imageNumber++; Console.WriteLine("{0}:{1}", imageNumber, s); Image i = Image.FromFile(s); Image thumb = i.GetThumbnailImage(160, 120, null, IntPtr.Zero); thumb.Save(Path.Combine(thumbPath, GetName(imageNumber))); } } static void DirectoryDelete(string directo

動態建立控制項的正確方法

很多 ASP.NET 初學者對於在 Web Form 動態建立控制項的問題困擾,常見到的問題是為何動態建立的控制項無法像拖曳到畫面上的控制項有一樣的效果,例如無法載入 ViewState 的資料 (無法呈現更新的值) 及動態控制項事件處理等等問題。 以下這個範例就是說明如何在 Web Form 上動態建立一個 TextBox 及 Button 控制項,並處理 Button 的 Click 事件。 以下為《VB》原始碼 開新視窗複製到剪貼簿列印出來? Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init Dim oTextBox As New TextBox() Dim oButton As New Button() oTextBox.ID = "myTextBox" oTextBox.Text = "AAA" 'TextBox的初始值為 AAA Me.Form.Controls.Add(oTextBox) oButton.ID = "myButton" oButton.Text = "按鈕" Me.Form.Controls.Add(oButton) '將 Button 的 Click 事件導向 Button_Click 函式 AddHandler oButton.Click, AddressOf Button_Click End Sub 'Button 的 Click 事件導向函數 Protected Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim oTextBox As TextBox = Nothing oTextBox = CType(Me.FindControl("myTextBox"), TextBox)

New 與 Dispose

Dim oEmp as ObjEmployee oEmp = New ObjEmployee Dim oEmp as ObjEmployee oEmp = New ObjEmployee 而且少了New就不能執行,那麼什麼是New呢 New是產生執行個體,不過相信很多人又要問,什麼是【產生執行個體】 (能不能講明白一點啊!! ) 這要提到電腦的程式運作過程。程式在電腦上跑,會把程式的區段,在記憶體裡面挖一塊空間,然後把程式碼載入那塊空間 接著程式在運作的時候,就是記憶體與CPU之間溝通、運算、記錄等動作,而把【挖塊記憶體,把程式載到那塊空間】這個過程就是【產生執行個體】。 因此沒有New的話會怎樣,程式區塊根本沒有載入到記憶體中,因此也無法運作執行 講的擬人化一點 Dim oEmp as ObjEmployee '宣告oEmp是ObjEmployee這種物件類別(此時有魂無體) oEmp = New ObjEmployee '產生執行個體(此時投胎轉世,靈魂變成實體,可以開始工作) 什麼是Dispose 當一個物件已經使用完後,未來不會再使用,此時這個物件已經完成他這一生(New完之後到現在)的任務。因此他可以塵歸塵、土歸土...一切還諸天地...此時就進行Dispose 然而實際上,在記憶體中,當物件Dispose的時候,並沒有把該段記憶體清空,只是標註,這段空間不再使用,直到GC啟動把他清空才算真正的清空。 因此如果用完後,不進行Dispose...那麼就會等到該位置很久沒動作了(就像有個人躺在地上,已經超過一定時間(一個月??)沒動作,也沒呼吸),才會被其他的程式拿來用。 以上說明的是New(生)與Dispose(死)的關係 本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw 原文網址:http://bbs.flash2u.com.tw/dispbbs_58_85547_2.html

自動關閉視窗

把關閉視窗的程式碼放到 alert 後面。 Me.ClientScript.RegisterStartupScript(GetType(String), "", " ")