2013年12月12日 星期四

[CSS]改變背景

<style>
body
{
background-image:url('AED.jpg'); //抓入圖片
background-attachment:fixed;           //捲動圖固定
background-position:center;             //可設定位置
background-repeat:no-repeat;        //是否重複
background-size:1100px 800px;      //圖大小
}
</style>

2013年12月9日 星期一

[HTML]Button產生器

網址


button直接呼叫移出移入function


  • <form name="groovyform">
  • <input
  •    type="button"
  •    name="groovybtn1"
  •    class="groovybutton"
  •    value="Check"
  •    title=""
  •    onMouseOver="goLite(this.form.name,this.name)"
  •    onMouseOut="goDim(this.form.name,this.name)" >
  • </form>



  • <script language="javascript">

  • function goLite(FRM,BTN)
  • {
  •    window.document.forms[FRM].elements[BTN].style.color = "#FFFFFF";
  •    window.document.forms[FRM].elements[BTN].style.backgroundColor = "#000000";
  •    window.document.forms[FRM].elements[BTN].style.borderStyle = "solid";
  • }

  • function goDim(FRM,BTN)
  • {
  •    window.document.forms[FRM].elements[BTN].style.color = "#FFFF00";
  •    window.document.forms[FRM].elements[BTN].style.backgroundColor = "#330000";
  •    window.document.forms[FRM].elements[BTN].style.borderStyle = "dotted";
  • }

  • </script>
參考


2013年12月3日 星期二

[HTML]表單資料傳到PHP端接收

[HTML端]
建立form,使用post方式傳送,傳到php.php這個php中(好繞口),這個php與js檔案放在同一個資料夾

  • <form name="formName" id="formId" method="post" action="php.php" ></form>

建立輸入攔,並給他一個name(到時候在php端用這個name去找他)

  • <input type="text" name="myUserName">

建立一個傳送按鈕,將網頁轉到php並將欄位資料傳過去

  • <input type="submit" id="submitBtnId" value="Submit" >
[PHP端]
宣告一變數來接收
  • $ok $_POST["myUserName"];
顯示出來
  • echo "myok:" .$ok. <br>;   (用.串接)


[PHP]PHPMailer

下載,解壓縮後整包放進網頁資料夾


開啟ssl功能

  • 找到php.ini(http://localhost/phpinfo.php)

















  • 取消註解 extension=php_openssl.dll



基本格式





另一種附加檔案寫法(可重新命名檔名)

  • $mail->AddAttachment("upload/temp/filename.zip", "newname.zip");



中文亂碼問題

  • $mail->CharSet = "utf8";


中文附檔名問題

  • 打開class.phpmailer.php
  • //filename = basename($path);
  • 加入 
              if (false === strpos($path, ‘/’))
                    $filename = $this->EncodeHeader($path);
              else
                    $filename = $this->EncodeHeader(substr($path, strrpos($path, ‘/’) + 1));


參考:






























2013年12月2日 星期一

[C++]LibXL:操控Excel

download libray

  • LibXL for Windows 3.5.3 : http://www.libxl.com/download/libxl.zip

Using library

  • 解壓縮後整包放到C槽

建立在Microsoft Visual C++環境下

  • add include directory in your project, for example: c:\libxl\include_cpp

          Project -> Properties -> C/C++ -> General -> Additional Include Directories






















  • add library directory in your project, for example: c:\libxl\lib
          Project -> Properties -> Linker -> General -> Additional Library Directories


















  













  • add libxl.lib in project dependencies:
         Project -> Properties -> Linker -> Input -> Additional Dependencies




















  • copy bin\libxl.dll to directory of your project

使用前先引入標頭檔與命名空間
  • #include "libxl.h"
  • using namespace libxl;

建立一個excel物件叫book
  • Book* book = xlCreateBook();
如果建立book成功的話,在book內新建一個分頁物件叫sheet
  • if(book)
  • Sheet* sheet = book->addSheet(L"Sheet1");
如果建立sheet成功在sheet內寫入字串或數字
  • if(sheet)
  • sheet->writeStr(2, 1, L"Hello, World !"); //寫在excel的3,b
  • sheet->writeNum(3, 1, 1000); //寫在excel的4,b
  • col and row參數都比實際excel位置 都會少1
寫完了要存檔成叫做example.xls的excel檔案

存檔完關閉
  • book->release();
讀取一個excel檔(如果讀取成功)

讀取excel內的第一的分頁
  • Sheet* sheet = book->getSheet(0);
讀取某欄位的字串或數字
  • const wchar_t* s = sheet->readStr(2, 1);
if(s) wcout << s << endl;
  • double d = sheet->readNum(3, 1);
cout << d << endl;




網站:http://www.libxl.com/home.html



[Javascript]下載Canvas圖片

宣告一個canvas
  • var canvasObj = document.getElementById("canvasId");
  • var context = canvasObj.getContext("2d");

對canvas的context畫一方塊
  • context.fillStyle = 'rgb(200, 0, 0)';
  •  context.fillRect (10, 10, 55, 50);

到本地去抓名為img.jpg的圖片
  • var image = new Image();
  • image.src = "img.jpg";

等到圖片讀取完成後,將圖片載到canvas上
  • image.onload = function()
{
context.drawImage(image,0,0,300,300);
}
將Canvas轉成dataURI
  • var type = 'png';
  • var dataURL = canvasObj.toDataURL(type);

將mime-type改為image/octet-stream,強制讓瀏覽器直接download,在本地的圖片好像可以不用
  • var _fixType = function(type)

{

    type = type.toLowerCase().replace(/jpg/i, 'jpeg');
    var r = type.match(/png|jpeg|bmp|gif/)[0];
    return 'image/' + r;

};
  • imgData = imgData.replace(_fixType(type),'image/octet-stream');
取得系統時間,自1970/1/1開始計算毫秒,並降低長度
  • var d=new Date();
  • var t=d.getTime();
  • t = t - 1386041000000;
建立檔名(使用者姓名+系統時間+副檔名)
  • var filename = objName.value + t + '.' + type;
圖片存檔函數(給他dataURI與檔名)

  • var saveFile = function(data, filename)

{

var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');

save_link.href = data;
save_link.download = filename;
var event = document.createEvent('MouseEvents');
event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
save_link.dispatchEvent(event);
};
  • saveFile(dataURL,filename);