Windows7 讀卡機轉帳問題

作業系統: Windows 7
讀卡機: EZ100PU幸運草
驅動程式: http://www.ittec.com.tw/download.htm
程序: 郵局WebATM轉帳

問題:
使用Windows 7 後, 每次在轉帳時都要您將晶片卡拔除再插入, 但插入後卻無法成功轉帳. 出現的錯誤訊息: “請檢查晶片卡是否正確插入…”. 其實問題是出在Windows 7針對讀卡機的其中一項服務. 將此服務停用後, 重開機問題就解決了.

Step1:
1

Step2: 將Certificate Propagation服務停用
pic2

Step3: 重開機

MYSQL 除錯

很多時候我們在下SQL語言時出錯卻一直找不出原因, 很多時候是因為在MYSQL內的COLUMN使用了reserved word 而造成的. 以下為MYSQL 的reserved word, 如果你在命名table.column時就要儘可能避開使用這些保留變數了.

ACCESSIBLE 	ADD 	ALL
ALTER 	ANALYZE 	AND
AS 	ASC 	ASENSITIVE
BEFORE 	BETWEEN 	BIGINT
BINARY 	BLOB 	BOTH
BY 	CALL 	CASCADE
CASE 	CHANGE 	CHAR
CHARACTER 	CHECK 	COLLATE
COLUMN 	CONDITION 	CONSTRAINT
CONTINUE 	CONVERT 	CREATE
CROSS 	CURRENT_DATE 	CURRENT_TIME
CURRENT_TIMESTAMP 	CURRENT_USER 	CURSOR
DATABASE 	DATABASES 	DAY_HOUR
DAY_MICROSECOND 	DAY_MINUTE 	DAY_SECOND
DEC 	DECIMAL 	DECLARE
DEFAULT 	DELAYED 	DELETE
DESC 	DESCRIBE 	DETERMINISTIC
DISTINCT 	DISTINCTROW 	DIV
DOUBLE 	DROP 	DUAL
EACH 	ELSE 	ELSEIF
ENCLOSED 	ESCAPED 	EXISTS
EXIT 	EXPLAIN 	FALSE
FETCH 	FLOAT 	FLOAT4
FLOAT8 	FOR 	FORCE
FOREIGN 	FROM 	FULLTEXT
GRANT 	GROUP 	HAVING
HIGH_PRIORITY 	HOUR_MICROSECOND 	HOUR_MINUTE
HOUR_SECOND 	IF 	IGNORE
IN 	INDEX 	INFILE
INNER 	INOUT 	INSENSITIVE
INSERT 	INT 	INT1
INT2 	INT3 	INT4
INT8 	INTEGER 	INTERVAL
INTO 	IS 	ITERATE
JOIN 	KEY 	KEYS
KILL 	LEADING 	LEAVE
LEFT 	LIKE 	LIMIT
LINEAR 	LINES 	LOAD
LOCALTIME 	LOCALTIMESTAMP 	LOCK
LONG 	LONGBLOB 	LONGTEXT
LOOP 	LOW_PRIORITY 	MASTER_SSL_VERIFY_SERVER_CERT
MATCH 	MEDIUMBLOB 	MEDIUMINT
MEDIUMTEXT 	MIDDLEINT 	MINUTE_MICROSECOND
MINUTE_SECOND 	MOD 	MODIFIES
NATURAL 	NOT 	NO_WRITE_TO_BINLOG
NULL 	NUMERIC 	ON
OPTIMIZE 	OPTION 	OPTIONALLY
OR 	ORDER 	OUT
OUTER 	OUTFILE 	PRECISION
PRIMARY 	PROCEDURE 	PURGE
RANGE 	READ 	READS
READ_WRITE 	REAL 	REFERENCES
REGEXP 	RELEASE 	RENAME
REPEAT 	REPLACE 	REQUIRE
RESTRICT 	RETURN 	REVOKE
RIGHT 	RLIKE 	SCHEMA
SCHEMAS 	SECOND_MICROSECOND 	SELECT
SENSITIVE 	SEPARATOR 	SET
SHOW 	SMALLINT 	SPATIAL
SPECIFIC 	SQL 	SQLEXCEPTION
SQLSTATE 	SQLWARNING 	SQL_BIG_RESULT
SQL_CALC_FOUND_ROWS 	SQL_SMALL_RESULT 	SSL
STARTING 	STRAIGHT_JOIN 	TABLE
TERMINATED 	THEN 	TINYBLOB
TINYINT 	TINYTEXT 	TO
TRAILING 	TRIGGER 	TRUE
UNDO 	UNION 	UNIQUE
UNLOCK 	UNSIGNED 	UPDATE
USAGE 	USE 	USING
UTC_DATE 	UTC_TIME 	UTC_TIMESTAMP
VALUES 	VARBINARY 	VARCHAR
VARCHARACTER 	VARYING 	WHEN
WHERE 	WHILE 	WITH
WRITE 	XOR 	YEAR_MONTH
ZEROFILL 	  	 

The following are new reserved words in MySQL 5.1:

ACCESSIBLE 	LINEAR 	MASTER_SSL_VERIFY_SERVER_CERT
RANGE 	READ_ONLY 	READ_WRITE

參考資料: http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

Lenovo G450 Drivers for XP 驅動程式

購買新的Lenovo G450, 卻發現其提供的DRIVER只是FOR VISTA only,
若您要安裝XP的驅動程式, 可以使用以下的懶人包連結:

其中要注意的是AUDIO DRIVER的部分要先下載Microsoft UAA再安裝音效卡才會成功.

Microsoft UAA Bus Driver for high Definition Audio 下載網址:
http://america.giga-byte.com/FileList/Driver/motherboard_driver_audio_realtek_azalia.exe

順便附上Microsoft Install 3.1的下載連結:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=889482FC-5F56-4A38-B838-DE776FD4138C

Lenovo G450 Chipset Driver
Intel Chipset driver 9.0.0.1011

Lenovo G450 Sound Audio Driver
Conexant Audio Driver 3.66.9.50

Lenovo G450 Graphics Video VGA Driver (Intel)
Intel Onboard Graphics Driver 6.14.10.5002

Lenovo G450 Graphics Video VGA Driver (NVIDIA)
NVIDIA Display Driver 6.14.11.8611

Lenovo G450 Ethernet LAN Network Driver
Broadcom Ethernet Driver 11.7.2.0

Lenovo G450 Wireless LAN WLAN Driver (Broadcom)
Broadcom Wireless LAN Driver 5.10.38.14

Lenovo G450 Wireless LAN Driver (Intel)
Intel Wireless WiFi Link Driver 12.2.0.11

Lenovo G450 Bluetooth Driver
Broadcom Bluetooth Driver 5.1.0.5400

Lenovo G450 Webcam Camera Driver
Lenovo Easy Camera Driver 6.32.1018.17/ 5.8.50.6/5.8.0.8

Lenovo G450 Card Reader Driver
Realtek USB 2.0 Card Reader Driver 6.0.6000.75

Lenovo G450 Energy Management Driver
Lenovo Energy Management Driver 3.0.3.0

Intel Matrix Storage Manager Driver 8.8.0.1009

Lenovo G450 Touchpad Driver
Alps Pointing-device Driver 7.2.1602.309

Bruker 軟體產生的 Analysis.baf 處理

要處理Bruker儀器所產生DATA, 須要通過第三方軟體來轉換成ASCII CODE
Bruker 軟體產生的 Analysis.baf 沒辦法用 ncdump.exe 來處理,
只能用Bruker自行開發的免費軟體CompassXport, 轉換成 mzXML格式,
一般上mzXML就可以拿到R 或其他程式處理(因為是明碼)
步驟如下:
1. http://www.brukerdaltonics.com, 註冊Bruker帳號, 登入
2. Service & Support, Download
3. 下載CompassXport
使用方法請參考以下連接, 以及官方的FAQ說明書

參考資料:
http://www.ms-utils.org/wiki/pmwiki.php/Main/SoftwareList
http://www.ionsource.com/functional_reviews/CompassXport/CompassXport.htm

PHP4 iconv 問題

環境: PHP4 + Apache4 + Windows
函數: iconv (http://tw.php.net/iconv)

最近有幫舊電腦寫程式,
發現PHP4預設不支援iconv, 先別擔心升級PHP5所帶來的其他風險,
其實是有辦法可以在PHP4下解決的:

1. 在C:\php\dll 底下有個 php_iconv.dll
2. 將此DLL放到 c:\Windows\system32\ 底下
3. 在C:\php\php.ini 將 extension 下的 php_iconv.dll Uncomment掉(把分號拿掉)
4. 重新啟動Apache.
5. It works!

好用的Presentation工具ZoomIt

好用的放大鏡

之前出席微軟的研討會上看到講師很輕易的放大縮小桌面的控制項,
當下就很好奇的問朋友:”Windows按甚麼可以這樣來Present?”,
結果朋友說:”好像是Ctrl+….”,
後來測試後發現不行~ = = 原來這不是Windows內建的功能,
而是第三方軟體的功能, 叫做: ZoomIt.

真的很方便, 在教學的時候特別好用, 還可以用滑鼠在上面寫字喔~
您也可以自訂熱鍵, 以便於操作.

已經在Windows 7, Windows Vista, Windows XP上測試, 都沒有相容性問題,
也不用特別安裝, 下載後只要Agree就可以開始使用.

下載網址: http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx

預設熱鍵: Ctrl+1, Ctrl+2, Ctrl+3, Ctrl+4

這樣以後Present就方便多了, 也比較能夠讓聽眾更加清楚您所指的方向.
小小的控制項, 不用再讓聽眾看得很吃力了~

Javascript Blink

在網路上找到的blink不是只能用於IE就是只相容於FF, 於是自己嘗試寫了一個JavaScript Blink的功能.
在IE8 及FF測試都沒問題. 閃爍的頻率在SetTimeout裡面可以設定, 1000表示1秒, 2000為2秒, 以此類推.




征才 


JavaScript除錯application/javascript

剛在JavaScript寫程式時,
發現我的Ajax功能在FireFox可以跑成功, Firebug也偵測不出問題,
但用IE時卻出現錯誤, 顯示說某某行找不到物件.
後來去找了很久才知道原來問題出在一個平時很少注意的地方:

乍看之下可能會覺得以上兩行沒有甚麼差別, 但其實問題就在type的部分,
在FF是可以辨識成功的, 但在IE(測試環境IE8)的情況下就讀取不到Javascript.
所以以後要多注意囉.

PHP swfUpload 大量檔案上傳

PHP的File Upload功能固然強大, 但要滿足大量檔案上傳的需求仍需要搭配AJAX或是Flash object, 這篇文章就是要介紹一個好用的Flash Uploader, 讓你可以直接從Windows, 在同一個目錄下選取要上傳的檔案, 達成輕鬆上傳的目的.

SwfUpload

官方網站: http://swfupload.org/

範例: http://demo.swfupload.org/v220/index.htm

index.php FLASH檔案上傳的頁面

<!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=big5″ />
<link href=”style.css” rel=”stylesheet” type=”text/css” />
<link href=”default.css” rel=”stylesheet” type=”text/css” />
<title>測試</title>
<script type=”text/javascript” src=”swfupload/swfupload.js”></script>
<script type=”text/javascript” src=”js/swfupload.swfobject.js”></script>
<script type=”text/javascript” src=”js/swfupload.queue.js”></script>
<script type=”text/javascript” src=”js/fileprogress.js”></script>
<script type=”text/javascript” src=”js/handlers.js”></script>
<script type=”text/javascript”>
var swfu;

SWFUpload.onload = function () {
var settings = {
flash_url : “swfupload/swfupload.swf”,
upload_url: “upload.php”, //負責處理上傳的PHP檔案
post_params: {
“PHPSESSID” : “NONE”,
“HELLO-WORLD” : “Here I Am”,
“.what” : “OKAY”
},
file_size_limit : “100 MB”,
file_types : “*.*”,
file_types_description : “All Files”,
file_upload_limit : 100,
file_queue_limit : 0,
custom_settings : {
progressTarget : “fsUploadProgress”,
cancelButtonId : “btnCancel”
},
debug: false,

// Button Settings
button_image_url : “images/XPButtonUploadText_61x22.png”,
button_placeholder_id : “spanButtonPlaceholder”,
button_width: 61,
button_height: 22,

// The event handler functions are defined in handlers.js
swfupload_loaded_handler : swfUploadLoaded,
file_queued_handler : fileQueued,
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_start_handler : uploadStart,
upload_progress_handler : uploadProgress,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,
queue_complete_handler : queueComplete,    // Queue plugin event

// SWFObject settings
minimum_flash_version : “9.0.28”,
swfupload_pre_load_handler : swfUploadPreLoad,
swfupload_load_failed_handler : swfUploadLoadFailed
};

swfu = new SWFUpload(settings);
}

</script>

</head>

<body>

<form id=”form1″ action=”index.php” method=”post” enctype=”multipart/form-data”>
<div id=”divSWFUploadUI”>
<div class=”fieldset  flash” id=”fsUploadProgress”>
<span class=”legend”>Upload Queue</span>
</div>
<p id=”divStatus”>0 Files Uploaded</p>
<p>
<span id=”spanButtonPlaceholder”></span>
<input id=”btnCancel” type=”button” value=”Cancel All Uploads” disabled=”disabled” style=”margin-left: 2px; height: 22px; font-size: 8pt;” />
<br />
</p>
</div>
<noscript>
<div style=”background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966;  padding: 10px 15px;”>
We’re sorry.  SWFUpload could not load.  You must have JavaScript enabled to enjoy SWFUpload.
</div>
</noscript>
<div id=”divLoadingContent” class=”content” style=”background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;”>
SWFUpload is loading. Please wait a moment…
</div>
<div id=”divLongLoading” class=”content” style=”background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;”>
SWFUpload is taking a long time to load or the load has failed.  Please make sure that the Flash Plugin is enabled and that a working version of the Adobe Flash Player is installed.
</div>
<div id=”divAlternateContent” class=”content” style=”background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;”>
We’re sorry.  SWFUpload could not load.  You may need to install or upgrade Flash Player.
Visit the <a href=”http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash”>Adobe website</a> to get the Flash Player.
</div>
</form>

</body>

</html>

upload.php , 負責處理上傳後的PHP

$upload_name = “Filedata”;

if(isset($_FILES[$upload_name])) {

$filename = $_FILES[$upload_name][‘name’];
copy($_FILES[$upload_name][‘tmp_name’], $filename);

}