2012年4月4日 星期三

Vim筆記(六)

將整份文件內兩個以上的空白,都變成一個空白
:%s/\s\{2,\}/ /g

2012年4月3日 星期二

Ajax Login 登入範例

這是一個 AJAX Login 登入的範例

1. HTML Code(user_login.htm):

<html>
  <head>
    <meta charset="utf-8"/>
    <title>AJAX Login</title>
    <script src="user_login.js"></script>
  </head>
  <body>
    <h3><a href="http://www.aleixcortadellas.com/main/2009/03/01/ajax-post/">AJAX Login</a></h3>
    <form name="myform" id="myform">
      <div id="msg" style="color:red;display:none;"></div>
      Account: <input type="text" name="account"><br/>
      Password: <input type="password" name="pwd"><br/>
      <span id="btn"><input type="button" name="sb" id="sb" value="Login"></span><br/>
      <span style="color:blue;">(tip: guest / guest)</span><br/>
      <a href="index.htm">Home</a>
    </form>
  </body>
</html>



2. Javascript Code(user_login.js):

window.onload = initPage;
function initPage() {
  // 取得「送出」按鈕的參考
  var subBtn = document.getElementById("sb");
  // 為按鈕加入事件處理器
  subBtn.onclick = function () {
    MakeRequest(); // 建立請求的函式
  }
}

function createRequest() {
  if (window.XMLHttpRequest) {
    return new XMLHttpRequest();
  } else if(window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP");
  } else {
    alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
  }
}

var request = createRequest(); // 建立請求物件

function MakeRequest() {
  form = document.getElementById("myform");
  if (request != null) {
    // 取得輸入的文字
    var sPost = "";
    for(i=0;i<form.elements.length;i++) {
      inp = form.elements[i];
      switch(inp.type) {
        case "text":
        case "textarea":
        case "select-one":
        case "radio":
        case "password":
          if (inp.name && inp.value) {
            sPost+="&"+escape(inp.name)+"="+escape(inp.value);
          }
          break;
        default:
          break;
      }
    }

    var url = "user_login.php?1=1";

    // 利用 POST 方法、請求目的地 url、true 為非同步
    request.open("POST", url, true);

    // 回應處理函式 displayResult
    request.onreadystatechange = displayResult;
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    request.send(sPost); // 送出請求
  }
}

function displayResult() {
  if (request.readyState == 4) { // 確認 readState
    if (request.status == 200) { // 確認 status
      var disp = document.getElementById("msg"); // 取得顯示位置
      disp.innerHTML = request.responseText;
      if (request.responseText=="Succcess") {
        var btnInput = document.getElementById("btn"); // 取得按鈕位置
        btnInput.style.display="none";
      }
      disp.style.display="block";
    }
  }
}



3. PHP Code(user_login.php):

<?php

$aRow =&$_POST;
$aStr = array();

if (!isset($aRow['account'])) $aRow['account']="";
if (!isset($aRow['pwd'])) $aRow['pwd']="";

if (!$aRow['account']) $aStr[] = "Enter account";
if (!$aRow['pwd']) $aStr[] = "Enter password";

if (!count($aStr)) {
  if ($aRow['account']=="guest" and $aRow['pwd']=="guest") {
    $aStr[] = "Succcess";
  } else {
    $aStr[] = "Account and password is not correct";
  }
}
echo implode("<br>",$aStr);

?>



4. 寫好後, 執行 user_login.htm , 完成!

Ajax Suggest 建議的範例

Ajax Suggest 建議的範例:

1. HTML Code(clienthint.htm):
<html>
  <head>
    <script src="clienthint.js"></script>
  </head>
  <body>
    <h3><a href="http://www.w3school.com.cn/php/php_ajax_suggest.asp">Ajax Suggest</a></h3>
    <form>
      First Name: <input type="text" id="txt1" onkeyup="showHint(this.value)">
    </form>
    <p>Suggestions: <span id="txtHint" /></p>
    <a href="index.htm">Home</a>
  </body>
</html>


2. Javascript Code(clienthint.js):
var xmlHttp;
function showHint(str) {
  if (str.length==0) {
    document.getElementById("txtHint").innerHTML="";
    return;
  }
  xmlHttp=GetXmlHttpObject()
  if (xmlHttp==null) {
    alert ("Browser does not support HTTP Request");
    return;
  }
  var url="clienthint.php";
  url=url+"?q="+str;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

function stateChanged() {
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
    document.getElementById("txtHint").innerHTML=xmlHttp.responseText
  }
}

function GetXmlHttpObject() {
  var xmlHttp=null;
  try {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  } catch (e) {
    // Internet Explorer
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}


3. PHP Code(clienthint.php):
<?php

// Fill up array with names
$a[]="Anna";
$a[]="Brittany";
$a[]="Cinderella";
$a[]="Diana";
$a[]="Eva";
$a[]="Eric";
$a[]="Fiona";
$a[]="Gunda";
$a[]="Hege";
$a[]="Inga";
$a[]="Johanna";
$a[]="Kitty";
$a[]="Linda";
$a[]="Nina";
$a[]="Ophelia";
$a[]="Petunia";
$a[]="Amanda";
$a[]="Raquel";
$a[]="Cindy";
$a[]="Doris";
$a[]="Eve";
$a[]="Evita";
$a[]="Sunniva";
$a[]="Tove";
$a[]="Unni";
$a[]="Violet";
$a[]="Liza";
$a[]="Elizabeth";
$a[]="Ellen";
$a[]="Wenche";
$a[]="Vicky";

//get the q parameter from URL
$q=$_GET["q"];

//lookup all hints from array if length of q>0
if (strlen($q) > 0) {
  $hint="";
  for($i=0; $i<count($a); $i++) {
    if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q)))) {
      if ($hint=="") {
        $hint=$a[$i];
      } else {
        $hint=$hint." , ".$a[$i];
      }
    }
  }
}

//Set output to "no suggestion" if no hint were found
//or to the correct values
if ($hint == "") {
  $response="no suggestion";
} else {
  $response=$hint;
}

//output the response
echo $response;
?>


4. 寫好後, 執行 clienthint.htm , 完成!

2011年11月1日 星期二

20111101 常用軟體列表

1. HeidiSQL_6.0 - MySQL Client
2. ToYcon 0.9 - Picture change Icon
3. dbvis_windows_7_1_5 - MySQL Client
4. MWSnap300 - Capture Screen
5. httpwatch_Professional_5.2.14 - IE Debug
6. ClickKey.exe - Click Sound
7. MemCleaner - Memory Clean
8. DateEdit - File Date Editer
9. ZoomIt - Zoom.Pen....
10. navicat091_lite_en.exe - MySQL Client
11. Convertz802 - 簡繁轉換
12. FileZilla-3.5.0 - SFTP
13. TeamViewer - TeamViewer
14. NTPClock - 時間校正
15. PStartSetup211 - 軟體捷徑功能
16. RocketDock-v1.3.5 - 仿 Mac
17. vncviewer - VNC
18. win32-chewing-0.3.4.8 - 新酷音輸入法 for Windows
19. CmdHerePowertoySetup - 右鍵 Open Command Prompt Here
20. UnxUtils.zip - Unix 指令
21. pointofix - 在螢幕上畫畫
22. SQLyog407 - MySQL Client
23. SynergyInstaller-1.3.1 - KVM多台電腦遙控
24. Universal-USB-Installer-1.8.6.7 - Linux 安裝在 USB 工具
25. WinScp - SFTP
26. TreeSizeFree - 觀看資料夾容量大小
27. FastStone Capture v5.3 cht - 螢幕擷取
28. Hinedo - 聽廣播
29. jruler - 螢幕尺
30. Vim - 文字編輯器
31. PDFX_vwr_Port - 看 PDF
32. FirefoxPortable - Firefox瀏覽器
33. HiRadio - 聽廣播
34. TimeRadioV5.5 - 聽廣播
35. portaputty - putty
36. VMware - 虛擬器
37. ColorPix - 顏色擷取器
38. Notepad++ - 程式編輯器
39. Dropbox - 免費空間 Client
40. Avira AntiVir - 小紅傘防毒軟體

2011年10月21日 星期五

由 github 將 dotfile 專案抓回來

先安裝 git core (在 ubuntu 底下):
#sudo apt-get install git-core

將專案 clone 回來(https的網址, 請參考專案的網址)
# git clone https://userproject@github.com/userproject/dotfile.git

將 dotfile 內的資料, 指到指定的資料夾內
#cd ~/dotfile
#ln -fs `pwd`/vim ~/.vim
#ln -fs `pwd`/vimrc ~/.vimrc

參考網站:
http://huan-lin.blogspot.com/2011/05/git-basic-workflow.html
http://c9s.blogspot.com/2009/11/git-dotfiles.html
http://gavaee.wordpress.com/2011/10/11/git-安裝及使用/

http://help.github.com/linux-set-up-git/
http://antbsd.twbbs.org/~ant/wordpress/?p=3044

===========================================================

如果在電腦上新增一個專案, 可用以下方式:
mkdir ~/dotfile
cd ~/dotfile
以下是要放入的檔案
mv ~/.vim vim
mv ~/.vimrc vimrc
git config --global user.name "user real name"
git config --global user.email "user email"
git init
touch README
git add README   # 如果只有幾個檔案, 可以此方式
git add .  #如果此資料夾下檔案都要, 使用此方式
git commit -m "commit description ..."
(https的網址, 請參考專案網址)
git push https://userproject@github.com/userproject/dotfile.git







2011年10月12日 星期三

Vim Tab Tips

:tab ball -->將所有在 buffer 內的檔案,都放到 tab 上去

gt --> 下個 tab

gT --> 上個 tab

Ctrl-PgDn --> 下個 tab

Ctrl-PgUp --> 上個 tab


2011年9月13日 星期二

HiRadio

[LiveUpdate]
Version=1

[HiRadioUrl]
RadioUrl=http://b1.mediayou.net/cgi-bin/mmsurl_hinet?id=

[HiRadio]
RadioList=77
Title1=NEWS98 新聞網
Files1=187
Title2=中廣新聞網
Files2=207
Title3=ASIAFM 衛星音樂台
Files3=321
Title4=Apple line 蘋果線上
Files4=248
Title5=BestRadio 台中好事 903
Files5=211
Title6=BestRadio 台北好事 989
Files6=212
Title7=BestRadio 花蓮好事 935
Files7=303
Title8=BestRadio 高雄港都 983
Files8=213
Title9=HitFm 聯播網 台中 91.5
Files9=88
Title10=HitFm 聯播網 高雄 90.1
Files10=90
Title11=HitFm 聯播網台北 91.7
Files11=222
Title12=Kiss Radio 南投廣播
Files12=258
Title13=Kiss Radio 台南知音廣播
Files13=255
Title14=Kiss Radio 大苗栗廣播
Files14=256
Title15=Kiss Radio 大眾廣播電台
Files15=156
Title16=Kiss Radio 網路音樂台
Files16=308
Title17=中廣古典網
Files17=162
Title18=中廣流行網
Files18=205
Title19=中廣音樂網 I Radio
Files19=206
Title20=台北之音經典音樂台
Files20=222
Title21=台北愛樂
Files21=228
Title22=台灣之音-音樂
Files22=313
Title23=太陽電台
Files23=289
Title24=奇美古典音樂網
Files24=294
Title25=寶島新聲廣播電台
Files25=259
Title26=台灣之音-華語
Files26=315
Title27=復興廣播電台 短波網
Files27=288
Title28=復興廣播電台 第一網
Files28=286
Title29=復興廣播電台 第二網
Files29=287
Title30=正聲台北調幅台
Files30=317
Title31=正聲台北調頻台
Files31=198
Title32=漢聲光華網-中波
Files32=281
Title33=漢聲光華網-短波
Files33=309
Title34=漢聲廣播電台
Files34=215
Title35=漢聲廣播電台全國調頻網
Files35=216
Title36=綠色和平台灣文化廣播電台
Files36=327
Title37=ICRT
Files37=177
Title38=台灣之音-FM
Files38=312
Title39=台灣之音-亞洲
Files39=311
Title40=台灣之音-歐美及方言
Files40=314
Title41=ASIA FM92.3亞太電台
Files41=295
Title42=ASIA FM92.7亞州電台
Files42=210
Title43=GOLD FM-台中城市廣播
Files43=226
Title44=GOLD FM-台北健康電台
Files44=229
Title45=IC 之音
Files45=148
Title46=佳音廣播電台
Files46=201
Title47=佳音電台2台
Files47=250
Title48=全國廣播
Files48=202
Title49=台中廣播
Files49=230
Title50=台北廣播電台- 都會資訊頻道
Files50=208
Title51=台北廣播電台喔海洋頻道
Files51=238
Title52=真心之音廣播電台
Files52=217
Title53=大千電台
Files53=109
Title54=大愛網路電台
Files54=325
Title55=宜蘭中山電台
Files55=301
Title56=環宇廣播
Files56=282
Title57=警廣長青網
Files57=271
Title58=飛碟電台
Files58=232
Title59=中廣客家頻道
Files59=160
Title60=大漢之音
Files60=300
Title61=寶島客家
Files61=241
Title62=新客家廣播電台
Files62=254
Title63=高屏溪客家電台
Files63=298
Title64=警廣全國交通網
Files64=269
Title65=警廣台中台
Files65=260
Title66=警廣台北台
Files66=261
Title67=警廣台南台
Files67=263
Title68=警廣宜蘭台
Files68=265
Title69=警廣新竹台
Files69=268
Title70=警廣花蓮台
Files70=266
Title71=警廣高雄台
Files71=267
Title72=警廣台東台
Files72=358
Title73=Flyradio飛揚調頻895
Files73=357
Title74=佳音CCM
Files74=340
Title75=全國廣播音樂網
Files75=338
Title76=嘉義之音
Files76=368
Title77=青春線上
Files77=356