發表文章

目前顯示的是 6月, 2011的文章

使用者 IIS APPPOOL 的登入失敗

圖片

VBA 針對Excel中無Time元件的替代方法

範例1: myTimer.rar 範例2: myTimer2.rar VBA 針對Excel中無Time元件的替代方法 我們有時候需要每隔一段時間就去執行一段程序,例如顯示時間。這時候要用到計時器,在VBA我們可以用SetTimer及KillTimer兩個API或用OnTime方法來做。 下面例子在作用中的工作表A1顯示現在時間 1.使用SetTimer、KillTimer Private Declare Function SetTimer Lib "user32" (ByVal hWnd As _                                                 Long, ByVal nIDEvent As Long, ByVal uElapse As Long, _                                                 ByVal lpTimerFunc As Long) As Long Private Declare Function KillTimer Lib "user32" (ByVal hWnd As _                                                  Long, ByVal nIDEvent As Long) As Long Dim hTimer Sub TimerProc()     Range("A1") = Format(Now, "hh:mm:ss AM/PM") End Sub Sub Init(Interval&)     hTimer = SetTimer(0, 0, Interval, AddressOf TimerProc) End Sub Sub Terminate()     Call KillTimer(0, hTimer) End Sub  Sub beginTest()     Init 1000 End Sub2.使用Application.OnTime Public NextTime As Date Sub UpdateTime()     Activ

PHP Mailer SMTP送信範例 For V5.1

PHP Mailer SMTP送信範例 For V5.1 範例下載:  PHPMailer_Demo.rar (33.74 KB) 原始元件下載:  PHPMailer_v5.1.zip (109.09 KB) 一般而言PHP就已經提供了Mail()函數可以使用,但裡面的功能似乎有點限制,此外也無法使用SMTP驗證方式來做送信的動作,因此寫此範例來提供需要的人使用 範例說明. <?php // 載入外部Class require("class.phpmailer.php"); // 宣告PHPMailer物件 $mail = new PHPMailer(); // 設定使用SMTP發信 $mail->IsSMTP(); // 設定SMTP伺服器位置 $mail->Host = "smtp.tongtai.com.tw"; // SMTP servers // 設定SMTP服務的POST $mail->Port = 25; // 設定安全驗證開啟 $mail->SMTPAuth = true; // ==================== 寄件者資料設定 ==================== // 設定寄件者的送信帳號(SMTP) $mail->Username = ""; // 設定寄件者的送信密碼(SMTP) $mail->Password = ""; // 設定寄件者EMail $mail->From = " erichuang@tongtai.com.tw "; // 設定寄件者名稱 $mail->FromName = "ERIC"; // ==================== 收件者資料設定 ==================== // 設定收件者EMail(有加名稱) $mail->AddAddress(" erichuang@tongtai.com.tw ","艾瑞克"); // 設定收件者EMail(無名稱) //$mail->AddAddress

VBA Replace-取代字串

VBA Replace-取代字串 此函數最常運用在將字串的空白清除。 函數: Replace(變數,目標字串,取代字串) 範例: Replace("取代字串 Replace 的用法," ","") 結果: 取代字串Replace的用法

VBA InStr-搜尋

VBA InStr-搜尋 此函數是用在搜尋變數中的值,並傳回該變數中的第幾個位置 函數: InStr(搜尋引數的起始,字串運算式,比對字串) 範例: Dim SearchString, SearchChar, MyPos SearchString ="XXpXXpXXPXXP"    ' 被搜尋的字串。 SearchChar = "P"    ' 要尋找字串 "P"。 ' 從第四個字元開始,以 [文字比對] 的方式找起。傳回值為 6(小寫 p)。 ' 小寫 p 和大寫 P 在 [文字比對] 下是一樣的。 MyPos = Instr(4, SearchString, SearchChar, 1)    ' 從第一個字元開使,以 [二進位比對] 的方式找起。傳回值為 9(大寫 P)。 ' 小寫 p 和大寫 P 在 [二進位比對] 下是不一樣的。 MyPos = Instr(1, SearchString, SearchChar, 0) ' 預設的比對方式為 [二進位比對](最後一個引數可省略)。 MyPos = Instr(SearchString, SearchChar)    ' 傳回 9。 MyPos = Instr(1, SearchString, "W")    ' 傳回 0。

PHP 字串表示方法,你都瞭解嗎?

PHP的字串表示方法,你都瞭解嗎? 表示字串是PHP的第一關。沒有一個程式能離開字串。但是你知道字串的表示方法的有多少種方式,有多麼魔幻嗎?如果你仔細看過這篇文章,必將能給你的PHP之旅帶來幫助。 字串可以用三種字面上的方法定義, 1.單引號 2.雙引號 3.定界符(HERE文檔) 單引號 指定一個簡單字串的最簡單的方法是用單引號(’)括起來。 例如: echo 'We are letters!'; echo '也可以有中文'; echo '也能直接包含換行      這是第二行了      第三行     ';單引號裏不能再出現單引號。要在單引號裏表示一個單引號,需要用反斜線(\)轉義,和很多其他語言一樣。如果在單引號之前或字串結尾需要出現一個反斜線,需要用兩個反斜線表示。注意如果試圖轉義任何其他字元(即除了\和’),反斜線本身也會被顯示出來!所以通常不需要轉義反斜線本身。 echo '這裏有一個單引號\',呵呵'; echo '兩個反斜杠表示一個反斜杠\\,嘿嘿'; echo '如果反斜杠後邊不是單引號或者反斜杠,這個反斜杠會直接顯示出來\,\n, \t恩...';埋伏一句,和其他兩種語法不同,單引號字串中出現的變數和轉義序列不會被變數的值替代。 ================================================= 雙引號 如果用雙引號(”)括起字串,PHP有更強大的功能。 雙引號中支持更多的轉義序列: 序列        含義 \n        換行(LF 或 ASCII 字元 0×0A(10)) \r        回車(CR 或 ASCII 字元 0×0D(13)) \t        水準跳位字元(HT 或 ASCII 字元 0×09(9)) \\        反斜線 \$        美元符號 \”        雙引號 \[0-7]{1,3}        此正則運算式序列匹配一個用八進制符號表示的字元 \x[0-9A-Fa-f]{1,2}        此正則運算式序列匹配一個用十六進位符號表示的字元 此外,和單引號一樣,如果試圖轉義任何其他字元,

JavaScript 複選multiple 左右資料移轉

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <html xmlns=" http://www.w3.org/1999/xhtml "> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script language="javascript"> /* textareaChange(select FromtID, select ToID, string Cmd)  * FromtID 來源元件  * ToID 目的元件  * Cmd A:全部來源資料到目的  */ function textareaChange(FromtID, ToID, Cmd) {  alert( document.getElementById(FromtID).options.length);  for(var i = 0 ; i < document.getElementById(FromtID).options.length  ; i++)  {   if(Cmd == "A" | document.getElementById(FromtID)[i].selected)   {    document.getElementById(ToID).options.add(     new Option(      document.getElementById(FromtID)[i].text,      document.getElementById(FromtID)[i].value));    document.getElementById(FromtID).remove(i);   }  } } </script>

JavaScript 連動式下拉選單 兩層下拉選單

範例: 依據縣市地區找尋郵遞區號 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>範例</title> </head> <script type="text/javascript" language="JavaScript"> // 產生區域 function SelZero(strCode) {                 document.forms["FormCode"].Zero.options.length = 0;                // 動態控制表單物件方法一                 document.FormCode.Zero.options.length = 0;                                // 動態控制表單物件方法二                 document.getElementById("Zero").options.length = 0;                // 動態控制表單物件方法三                         if(strCode == 0 )                                                                         // 第一個條件如果 縣市 選擇第一個的話則新增一個 Option         {        

PHP 繪圖

PHP 繪圖 以下範例是用來產生出一張A4紙 畫出 3mm x 3mm格子 <?php // example2.php // set the HTTP header type to PNG header("Content-type: image/png"); // set the width and height of the new image in pixels $mm = 35; $width = 2480; $height = 3508; // create a pointer to a new true colour image $im = ImageCreateTrueColor($width, $height); // switch on image antialising if it is available ImageAntiAlias($im, true); // sets background to white $white = ImageColorAllocate($im, 255, 255, 255); ImageFillToBorder($im, 0, 0, $white, $white); // define a black colour $red = ImageColorAllocate($im, 255, 0, 0); $black = ImageColorAllocate($im, 0, 0, 0); // make a new line and add it to the image while(true){         if($i * $mm > $height) { break;}          ImageLine($im, 0, $i * $mm, $width, $i*$mm, $black);          $i++; } $i = 0; while(true){         if($i * $mm > $width) { break;}          ImageLine($im, $i * $mm, 0, $i*$mm, $height, $black);          $i++;

PHP 檔案讀取用法

PHP txt 檔案讀取用法 txt 檔案讀取用法 範例應用1(正向讀取): 顯示出title.txt檔案裡的文字 應用函數fopen、fgets、feof、fclose 範例 <?php $fp = fopen("title.txt", "r");  //開啟文字檔 $line = 0 ;  //計用變數 while( ! feof( $fp ) ) {  //讀到檔尾時, feof()函數會傳回 true     $line++ ;  //累加計數用變數     $buf = fgets( $fp, 4096 );  //每列最多讀取4KB     $buf2 = fread( $fp, 40);  //列最多讀取40 Work     echo "第 $line 行=> $buf";  //是html的換行語法 } fclose($fp);  //關閉開啟文字檔 ?> ============================================================ 範例應用2(反向讀取): 顯示出title.txt檔案裡的文字 應用函數file、count、array_pop <?php $fe=file("title.txt"); while(count($fe)){     echo array_pop($fe);  //利用原本的陣列 不用在另設$key $value變數 } ?>

JavaScript 鍵盤控制事件

JavaScript 鍵盤控制事件(Web模式下即時判斷鍵盤的狀態) Key Codes對照表:  Key Codes.htm 鍵盤控制事件 <script type="text/javascript"> function ChkKey {   kc=event.keyCode;   if(kc==13)   {     alert("您所輸入的按鍵為Enter");   } } </script> <body>   <input type="text" id="KeyEvent" name="KeyEvent" value="" onkeypress="CheckMO();" /> </body> 複合鍵的判斷  <script>       function getKeyValue() {           s1.innerHTML = "";           if (event.shiftKey && event.keyCode != 16)               s1.innerHTML = "Shift一起被按下";           else if (event.ctrlKey && event.keyCode != 17)               s1.innerHTML = "Ctrl一起被按下";           else if (event.altKey && event.keyCode != 18)               s1.innerHTML = "Alt一起被按下";       s2.innerHTML = "鍵值 = " + event.keyCode;        }       document.body.onkeydown = getKeyValue;       </scrip

JavaScript 取得下拉選單的文字

JavaScript 取得下拉選單的文字 <html> <head> <script type="text/javascript"> function getOption()   {   var x=document.getElementById("mySelect")   alert(x.options[x.selectedIndex].text)   } </script> </head> <body> <form> Select your favorite fruit: <select id="mySelect">   <option>Apple</option>   <option>Orange</option>   <option>Pineapple</option>   <option>Banana</option> </select> <br /><br /> <input type="button" onclick="getOption()" value="Alert text of selected option"> </form> </body> </html> 

JavaScript 關於IE8上使用document.all

在 HTML 中,每個元素都可以有自己專屬的 ID 。 在 HTML 中要使用 id 屬性來指定 ID ,且在 HTML 中是不能有元素使用同一個 ID 的,但是可以不使用 ID 。所以在上面的範例中,我們可以用 document.getElementById("text1") 來取得 ID 為 text1 的元素。 getElementsByName(elementName) 若用 document.getElementsByName 的話,則可以取得所有某特定 Name 的元素集合。回傳的元素集合是一個陣列。所以在上面的範例中,我們可以用 document.getElementsByName("text1") 來取得 Name 為 text1 的元素集合,而在元素集合中的第一個元素則是 document.getElementsByName("text1")[0] 。 註: getElementsByName 在 DOM Level 3 中已經被拿掉了。 getElementsByTagName(tagName) 若用 document.getElementsByTagName 的話,則可以取得所有某特定類型的元素集合。回傳的元素集合是一個陣列。所以在上面的範例中,我們可以用 document.getElementsByTagName("input") 來取得類型為 input 的元素集合,而在元素集合中的第一個元素則是 document.getElementsByTagName("input")[0] 。 總結:所以像 document.all 這種非標準的語法就別再使用了,請改用 document.getElementById(elementId) 。 另外要注意的是,除了 getElementsByName 跟 getElementsByTagName 中都有一個 s ,而 getElementById 則沒有喔!你就把它想成是因為 getElementById 只是取得單一元素,而 getElementsByName 跟 getElementsByTagName 都是取得元素集合,所以是複數型態就要加 s 囉。 且 getElement

JavaScript 檢查MAIL格式

function FunEmailCheck(vEmail) {     var fResult    =    false;     var sEmail    =    vEmail;     if(sEmail.length > 5)     {         if (sEmail.indexOf("!")>=0)  { return fResult; }         if (sEmail.indexOf("|")>=0)  { return fResult; }         if (sEmail.indexOf(":")>=0)  { return fResult; }         if (sEmail.indexOf(",")>=0)  { return fResult; }         if (sEmail.indexOf(";")>=0)  { return fResult; }         if (sEmail.indexOf("(")>=0)  { return fResult; }         if (sEmail.indexOf(")")>=0)  { return fResult; }         if (sEmail.indexOf("<")>=0)  { return fResult; }         if (sEmail.indexOf(">")>=0)  { return fResult; }         if (sEmail.indexOf("[")>=0)  { return fResult; }         if (sEmail.indexOf("]")>=0)  { return fResult; }         if (sEmail.indexOf("@")<1)   { return fResult; }       

JavaScript 開啟視窗控制方法

JavaScript 開啟視窗控制方法 Java Script 開啟視窗控制方法 開啟視窗控制方法 JavaScrip範例 Response.Write(" <script> parent.document.location= 'index.aspx' </script> ") Response.End() 完整的寫法 Response.Write(" <script language=javascript>") Response.Write(" parent.location.href='/index.aspx';") Response.Write(" <script>") Response.End() 開啟新視窗的寫法 // 簡易開始 Respose.Write("<script language='javascript'>window.open('test.asp');</script>");  // 控制開啟 Respose.Write("<script language='javascript'>window.open('test.asp','','resizable=1,scrollbars=0,status=1,menubar=no,toolbar=no,location=no,     menu=no');</script>"); 各種開啟方法的差異 1.Response.Redirect("XXX.aspx",true)——直接轉向新的頁面,原視窗被代替; 2.Response.Write("<script>window.open('XXX.aspx','_blank')</script>")——原視窗保留,另外新增一個新頁面; 3.Response.Write("&l

JavaScript 表單另開視窗要設定視窗屬性

Java Script 表單另開視窗要設定視窗屬性 <script> function sendout(){   window.open('','myForm','...視窗屬性...');   form1.action='...';   form1.submit(); } </script> <form id="form1" name="form1" method="post" target="myForm"> </form> <form id="form2" name="form2" method="post" target="myForm" onSubmit="window.open('','myForm','...視窗屬性...');"> </form>

JavaScript 直接執行指定網頁(轉址)+Net轉址應用範例

Java Script 直接執行指定網頁(轉址)+Net轉址應用範例 使用方法 : <script type="text/javascript">     if(top.usrID == null)     {       location = "home.html"    }   </script> Net轉址應用範例 : <html> <script type="text/javascript"> function convurl() {         var urlmap = location.href;         urlmap = urlmap.replace("http://","");        // 清除 http://         urlmap = urlmap.replace("/","");                // 清除 /         // 網址轉換         switch(urlmap)         {                 case "service.tongtai.com.tw":                         location = " http://service.tongtai.com.tw/ttphpweb/e_service ";                         break;                 case "bbs.tongtai.com.tw":                         location = " http://bbs.tongtai.com.tw/tongtaihome ";                         break;                 case "webcalendar.tongtai.com.tw":                 

Java Script 取得網址&轉址

Java Script 取得網址&轉址 取得目前使用者所連結進來的網址名稱 location.href; 網址轉換 location = http://www.tongtai.com.tw/ ; 以下是一個轉址的範例,依據網址前端的位置來判斷該網址的所在位置 function convurl() {   var urlmap = location.href;   urlmap = urlmap.replace("http://","");        // 清除 http://   urlmap = urlmap.replace("/","");                    // 清除/符號   // 網址轉換   switch(urlmap)   {     case "service.tongtai.com.tw":       location = " http://service.tongtai.com.tw/ttphpweb/e_service ";       break;     case "bbs.tongtai.com.tw":       location = " http://bbs.tongtai.com.tw/tongtaihome ";       break;     case "webcalendar.tongtai.com.tw":       location = " http://webcalendar.tongtai.com.tw/webcalendar ";       break;     default:       alert("請再次確任您的網址是正確的");       break;   } }

JavaScript 取得網址資訊

<script type="text/javascript">    //http://www.Name.com.tw/index.aspx        document.write("location.href : "+location.href+"<br/>");      document.write("location.protocol : "+location.protocol+"<br/>");      document.write("location.hostname : "+location.hostname+"<br/>");      document.write("location.host : "+location.host+"<br/>");      document.write("location.port : "+location.port+"<br/>");      document.write("location.pathname : "+location.pathname+"<br/>");      document.write("location.search : "+location.search+"<br/>");      document.write("location.hash : "+location.hash+"<br/>"); </script> 顯示: location.href : http://www.name.com.tw/ location.protocol : http location.hostname : functionlab.org location.host : functionlab.org:80

JavaScript 限制只能輸入數字

JavaScript 限制只能輸入數字   <script> function Fun_InputNum(obj) {     //45:- , 46:. , 47:/ , 48~57:0~9     if (!(event.keyCode >= 45 && event.keyCode <= 57 &&  event.keyCode != 47))  event.returnValue = false; } </script> <input name="XXX" onkeypress="Fun_InputNum(this)" />

JavaScript SubStr & SubString 的差異處

JavaScript SubStr & SubString 的差異處 SubStr (x,y) 從x開始,取出y個字元 SubString (x,y) 取x到y這個範圍的字元 <script type="text/javascript">   var strText = "AbcTEXT321";   Alert(strText.substr(3,4);        //取出 TEXT   Alert(strText.substring(3,6);     //取出 TEXT </script>

ASP 陣列資料做排序

ASP 陣列資料做排序 sub SubSort() for i=0 to 2 'Array數量 vFlag = true vTempNO = i vTemp = cint(vNOList(vTempNO)) do while(vFlag) if 0 < vTempNO then if vTemp < cint(vNOList(vTempNO - 1)) then '把小的往前移 vNOList(vTempNO) = vNOList(vTempNO - 1) vNOList(vTempNO - 1)= vTemp else vFlag = false end if else vFlag = false end if vTempNO = vTempNO - 1 loop next end sub

ASP 伺服器超時 Timeout 處理

ASP 伺服器超時 Timeout 處理 影響伺服器產生超時的設定大致有: 1. Server.ScriptTimeout 2. Connection對象的CommandTimeOut屬性 3. Command對象的CommandTimeOut屬性 4. IE瀏覽器的設定 Server.ScriptTimeout 預設值是90秒 要增大它,在你的asp檔案中加一句,如下: Server.ScriptTimeout=999 '單位(秒) Connection和Command CommandTimeOut 預設是30秒 要增大它,在你的asp檔案中加一句,如下: con.CommandTimeOut = 999 '單位(秒) 如果設為零,將無限等待,沒有timeout限制 IE也有個超時設定 5分鐘從伺服器得不到資料,也超時 解決方法: (原文請參照微軟KB中的Q181050) 1. IE要4.01 sp1以上版本 2. 在註冊表中HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrentVersionInternet Settings中加一DWORD類型 ReceiveTimeout,值設為比如8個9 3. restart computer

VMWare 安裝 Mac Os x 問題收集

錯誤訊息: The CPU has been disabled by the guest operating system 解決方法: 在 .vmx 中的資料 追加這一行來繞過CPU檢查 cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"

N進位轉換

最近工作上剛好有需要用到這個順手寫寫也記錄下來,在網路上都找不到相關的資源,寫出來給現在Google到的您參考參考 以下範例是以62進位來做示範,當然你可以自行創造自己的進位法,但是每個進位所要代表的符號必須由您自己來訂定。 說明: strArr變數 ,這個很重要喔,想要使用此程式的人要特別注意這個變數的涵義,裡面的值代表著進位轉換的符號,變數裡的字元數也就是代表著進位數,如果你是要換算十六進位當然把變數的值改為 0123456789ABCDEF( PS:注意我裡面有寫 String2Int這個方法要注意到如果是16進位請將值統一轉為大寫或小寫以免判斷符號時找不到符號 )。 C#寫法 /// /// 62進位 Int64 Convert String /// Ex: /// Int2String(218340105584896) = "zzzzzzzz" /// /// Decimal /// 62 String static String Int2String(Int64 intValue) { String strValue = String.Empty; String strArr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; while (intValue != 0) { int intRem = 0; intRem = (int)(intValue % strArr.Length); strValue = strArr.Substring(intRem, 1) + strValue; intValue /= strArr.Length; } return strValue;

LINQ In & Not In

-- 正向 IN 查詢 SELECT * FROM CITYDATA WHERE CITY IN ('TP', 'KH') -- 反向 IN 查詢 SELECT * FROM CITYDATA WHERE NOT CITY IN ('TP', 'KH') // 正向 IN 查詢 var TB = FROM CD IN CITYDATA WHERE (New String() {"TP", "TW"}).Contains(cd.City) SELECT CD; // 反向 IN 查詢 var TB = FROM CD IN CITYDATA WHERE Not (New String() {"TP", "TW"}).Contains(cd.City) SELECT CD;

SQL Server 取得資料庫所有資訊

--List DBNAME 取得該Server中所有DB名稱 select name from master.dbo.sysdatabases --List Table name 取得該DB中所有資料表名稱 SELECT '['+SCHEMA_NAME(schema_id)+'].['+name+']' AS SchemaTable FROM sys.tables --List Column Property 取得所有資料表中的規格資料 SELECT a.Table_schema +'.'+a.Table_name as 表格名稱 ,b.COLUMN_NAME as 欄位名稱 ,b.DATA_TYPE as 資料型別 ,isnull(b.CHARACTER_MAXIMUM_LENGTH,'') as 長度 ,isnull(b.COLUMN_DEFAULT,'') as 預設值 ,b.IS_NULLABLE as 允許空值 ,( SELECT value FROM fn_listextendedproperty (NULL, 'schema', a.Table_schema, 'table', a.TABLE_NAME, 'column', default) WHERE name='MS_Description' and objtype='COLUMN' and objname Collate Chinese_Taiwan_Stroke_CI_AS = b.COLUMN_NAME )