發表文章

目前顯示的是 2011的文章

12月10日 陳起寧的歷年作品索引

陳起寧的作品附件索引大綱 目錄 1. RFID在 施工船段的 應用 -----------頁數2,編號A 2. 應用RFID之智慧型冰箱研究開發-- 頁數3,編號B 3. Web2.0技術探討-以專案管理為例----- 頁數4,編號C 4. 瀏覽器上的有限元素分析模型展現----- 頁數6,編號D 5. 二維不規則形狀排版研究 ------------- 頁數7,編號E 6. 三維電腦幾何模型展示WEB-based系統- 頁數8,編號F 7. 國際系統工程亞洲分會(APCOSE)網站--- 頁數8,編號G 8. 高中數學科競試第一名--------------- 頁數9,編號H 9. 高中物理科競試第一名--------------- 頁數9,編號I 10. 人工智慧遊戲開發------------------- 頁數10,編號J 11. OpenGL 3D貪食蛇遊戲開發---------頁數11 ,標號 K

12月8日 [MySQL]觸發器(Triggers) 寫法和 介紹

圖片
當我們在 MySQL 下 更新指令(update ,insert ,delete ) 時 可能同時要昨其他事情,這時候MySQL 提供了可以寫腳本的地方 ex: CREATE TABLE test1(a1 INT); CREATE TABLE test2(a2 INT); CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY); CREATE TABLE test4( a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b4 INT DEFAULT 0 ); delimiter | CREATE TRIGGER testref BEFORE INSERT ON test1 FOR EACH ROW BEGIN INSERT INTO test2 SET a2 = NEW.a1; DELETE FROM test3 WHERE a3 = NEW.a1; UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1; END; | delimiter ; INSERT INTO test3 (a3) VALUES (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL); INSERT INTO test4 (a4) VALUES (0), (0), (0), (0), (0), (0), (0), (0), (0), (0); 把 表單和 trigger 設定好了,接下來對表單作修改 mysql> INSERT INTO test1 VALUES -> (1), (3), (1), (7), (1), (8), (4), (4); 我門來看一下結果巴!! mysql> SELECT * FROM test1; +------+ | a1 | +------+ | 1 | | 3 | | 1 | | 7 | | 1 | | 8 | | 4 | | 4 | +------+ 8 rows in set

12月2日 [JAVA] JRadioButton 如何把它變成單選的

如題~~~ 這時候要增加一種容器是 javax.swing.ButtonGroup 的列別物件 在初始化的時時候加入 到這個容器內(需要單選的按鈕) 如:   buttonGroup1.add(jRadioButton1); buttonGroup1.add(jRadioButton2);

11月24日 使用 tomcat 的設定

tomcat 在 linux 安裝好後 要去改 profile 檔案 如下;在檔尾處加上下述幾行 export PATH=/usr/local/jdk1.6.0_14/bin/:$PATH CLASSPATH=./:/usr/local/jdk1.6.0_14/lib/:/usr/local/jdk1.6.0_14/jre/lib/ export PATH export CLASSPATH export CATALINA_HOME=/usr/local/apache-tomcat-6.0.18

11月24日 [MySQL] 修改 設定檔

例如在centos 下,/etc/my.cnf. 範例 修改城預設 ust-8 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 init_connect='SET collation_connection = utf8_general_ci' init_connect='SET NAMES utf8' default-character-set=utf8 character-set-server=utf8 collation-server=utf8_general_ci [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

10月20日 [javascrupt]日期比較

if ((Date.parse("4/21/2007")).valueOf() > (new Date()).valueOf()){ alert('今天比 2007/4/21還小'); } else { alert('今天比 2007/4/21還大'); }

10月6日 IFrame如何呼叫外層的方法

我們在 a.php 裡面有一個 IFrame 且 SRC=test.php a.php================================================= test.php=================================================== // ======================================================================test.php end 在 parent.aa();" 在這裡的parent指的就是它的父物件,為 a.php 所以用這麼方法就可以呼叫了阿!!

9月30日 好用的日期選擇器

圖片
再用 vb.net 或者是 java 都有幫你準備一個 date dialog 但是 在寫網頁時候沒有這種元件給你使用,現在推薦一個很好用的日期選擇器 JSCal2 http://www.dynarch.com/projects/calendar/ 下載網是:  http://www.dynarch.com/projects/calendar/download/1.7/JSCal2-1.7.zip 這邊就小小的示範一下如何使用 先載入 .js 和 .css 檔 < script src = "DateJsAndCSSsrc/js/jscal2.js" > script > < script src = "DateJsAndCSSsrc/js/lang/en.js" > script > < link rel = "stylesheet" type = "text/css" href = "DateJsAndCSSsrc/css/jscal2.css" /> < link rel = "stylesheet" type = "text/css" href = "DateJsAndCSSsrc/css/border-radius.css" /> < link rel = "stylesheet" type = "text/css" href = "DateJsAndCSSsrc/css/steel/steel.css" /> 再來設定 觸發的按鈕,和得到資訊的textbox,在 body 加入 < input size = "30" id = "f_date1" /> < button id = "f_btn1" > ... button > < br /> <

8月19日 不用對每個物件寫觸發事件的方法

這很像在寫JAVA 的觸發事件一樣,你的listener 是整個表單,還是每個物件都加一個listener,現在就是整個網頁的觸發事件都寫在這裡在

8月16日 開啟或關閉 SELinux

用LINUX 會決得榜手榜腳,但你也只是自己用,不是來假設伺服器,那麼就可以把selinux 關掉 開啟或關閉 SELinux From OSWikiHK Jump to: navigation, search [編輯] CentOS/Fedora/RedHat 的 /etc/sysconfig/selinux 在新版本中的 Red Hat 和 Fedora 上,修改檔案 /etc/sysconfig/selinux: # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=enforcing # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted 把 SELINUX 設定為 disable, 下次啟動系統後將會停止 SElinux。 [編輯] Linux 核心參數(Kernel Parameter) 或者可以在核心參數後加上: selinux=0 (停止) 或 selinux=1 (開啟)參數 在 RHEL5 測 selinux=0 成功停止 在 RHEL5 測 selinux=1 開啟失敗(依然聽從 /etc/selinux/config 內 disabled 設定) 檔案 /boot/grub/menu.lst title Fedora Core (2.6.18-1.2798.fc6) root (hd0,0) kern

7月3日 JOGL 如何把非法線向量的線隱藏起來

gl.glCullFace(GL.GL_BACK); // Set Culling Face To Back Face gl.glEnable(GL.GL_CULL_FACE); // Enable Culling 沒錯就是這兩行!!

6月24日 LINUX 重新安裝 ,LINUX 改安裝XP

如題,通常遇到這兩件是很煩~~ 用正規的方法步驟多,而且不式每台電腦用法都是一樣的~~ 但是這裡要介紹一下我想到的一勞永逸的方法 先準備下述東西: (1).3.5開機片(把A磁片放入,按格式化選擇製作開機片) (2).去下載 spfdisk (3).XP 光碟 (4).LINUX 光碟 開時說明: (1)剛剛下載的 spfdisk 剪下到 開機片 (2)去bios 去設定 A碟開機 (3)打下這個指令 spfdisk /mbr (4) 好這時候放入XP 光碟 就可以安裝(當然要選擇成光碟開機) (5)如果你要安裝centos 等到 XP灌到 複製資料哪裡 就可以重開然後用 3.5 開機 (6)做這個網站的事 http://linux.vbird.org/linux_basic/0140spfdisk.php#1 (到格式化哪裡) (7)選擇系統ID 83 (新版的 Linux 都可以不用作這個) (8)放入centos 光碟(當然要選擇成光碟開機) ~~~不管這樣都可以冠 也不用一值換方法摟!!

6月23日 用 centos 架apache 網頁伺服器會遇到的困難

如果用 centos 內建的apche 架的話 應該是會看到歡迎頁面,就算你在 /var/www/html 下面 放了你自己的網頁,但是就是連不到,永遠都是歡迎頁面 這時你要去 /etc/httpd/conf.d 把 welcom.conf 刪掉或是把裡面的內容MARK起來 這時候你就可以在 /var/www/html 放入你想要的網頁 但是這時 你用browser 開啟你的網頁時 會發現 這個錯誤 403 You don't have permission to access on this server. 這時候 你就要去 /var/www/html 把你的網頁的權限 改成 755 指令如下 #chmod 755 filename ~~~~這樣就OK摟 !!

6月15日 如何在insert資料時,自動抓時間和日期

通常在資料庫中都會有一個欄位是時間和日期,如果是使用著的時間那大家的時間就大亂 如果要抓server時間可能要寫一大堆ajax等等... 還好mysql 幫你準備好了 CURDATE() 和 CURTIME() 這兩個函數給你用 example CURDATE() //This assumes you have already created the 'dateplayground' table //Connect to DB $query_manual = "INSERT INTO dateplayground (dp_name, dp_date) VALUES ('DATE: Manual Date', '2020-2-14')"; $query_auto = "INSERT INTO dateplayground (dp_name, dp_date) VALUE ('DATE: Auto CURDATE()', CURDATE() )"; mysql_query($query_manual) or die(mysql_error()); mysql_query($query_auto) or die(mysql_error()); ?> example CURTIME() $query_manual = "INSERT INTO dateplayground (dp_name, dp_datetime) VALUES ('DATETIME: Manual DateTime', '1776-7-4 04:13:54')"; $query_autodate = "INSERT INTO dateplayground (dp_name, dp_datetime) VALUE ('DATETIME: Auto CURDATE()', CURDATE() )"; $query_autotime = "INSERT INTO dateplayground (dp_name, dp_datetime) VALUE ('DATETIME: Auto CURTIM

6月15日 /etc/profile 修改好了不想重新開機這麼辦!

像是要修改JAVA的環境變數,就要修改profile,修改玩都要重新開機 真的很麻煩 其實用這了指令就可以了 #source /etc/profile 打這個指令就可以不用重新開機 ,有可以reload profile

6月11日 使用 IE 無法下載檔案(擋跳出)

從 Microsoft Windows XP SP2 之後的作業系統有針對檔案下載作過濾,所以使用者常在下載檔案的時候被 IE 阻擋,導致無法下載。 此時看看瀏覽畫面的上面是不是有一個小橫槓出現(如下圖),告訴您無法下載檔案。 如果確實是上述問題導致無法下載,請設定您的瀏覽器設定,讓 Xuite WebHD 的檔案可以順利下載至您的電腦中。 設定信任網域 在IE視窗,功能表上,工具(T)->網際網路選項(O)->安全性->信任的網站,點選網站,將「webhd.xuite.net」及「*.webhd.xuite.net」加入。若您不排斥,甚至可以將「*.xuite.net」及「*.hinet.net」加入。 針對下載部分做設定 在IE視窗,功能表上,工具(T)->網際網路選項(O)->安全性->網際網路=>自訂層級(C)->下載->自動提示下載檔案,將設定改成「啟用」。

6月2日 Firefox VS IE 的 style.display

近開始寫 JQuery CSS JS AJAX 才發現 JQuery真的有它的用途 不過我不是覺得他寫的很精簡,而是他幫你省下JS的FF和IE相容的問題 像是 DIV元素裡的 style.display='block' style.display='none' 像是熱門的滑門選單 都會用到display example:http://www.o-asp.com/jscode/show.asp?action=view&id=859 IE 和 FF 都有這兩個功能 而且效果好像是一樣!! 但是麻煩就是這裡阿 其實這兩個還是有點不一樣,IE的運作原理style.display='none' 是把元素拿掉在畫面上 ,但是這個元素其實還在,而FF style.display='none' 是把整個元素清掉 呼叫style.display='block' 是把元素在reload一次 這點對一般人來說是沒關西,但是對寫Applet的人卻是很痛苦的~~ 應為 reload 會把 applet 也reload ,那原本applet的資訊也會不見~~

6月1日 childNodes vs children

childNodes 是 FF 而 children 是 IE 的用法 雖然這兩個用法上一樣 但是其實這裡面還是有些出入 FF的element.childNodes是element下所有的元素(Array) 而element.children 只又在 element 下一層而已 //test.js //Switch Tab Effect info=navigator.appName.toUpperCase(); function switchTab(tabpage,tabid){ if(info == "MICROSOFT INTERNET EXPLORER"){ var oItem = document.getElementById(tabpage); for(var i=0;i var x = oItem.children(i); x.className = ""; var y = x.getElementsByTagName('a'); y[0].style.color="#333333"; } document.getElementById(tabid).className = "Selected"; var dvs=document.getElementById("cnt").getElementsByTagName("div"); for (var i=0;i if (dvs[i].id==('d'+tabid)) dvs[i].style.display='block'; else if(dvs[i].id.substring(0,4)=='dTab'){ dvs[i].style.display='none'; } } } if (info == "NETSCAPE"){ var oItem = document.getElementById(tabpage); for

6月1日 CSS 標籤元素同時使用兩個class

像在 JQuery $('#DIVNAME').addclass(class1); 像這樣可以一值增加class類別 所以那CSS要寫兩個以上的class? 要同時讓一個標籤元素使用兩個class 您可能會先想到要這麼寫 class="slide" class="work"> 這樣好像有點多此一舉 其實指定兩個class只需要以一個半行空格來作為分隔就可以了 class="slide work"> 如果兩個樣式中有「重複則以後者得到優先應用權」 顯示後者work的綠色.也有前者slide的2px文字間距

6月1日 抓取螢幕上的圖像

import java.io.*; import java.net.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import javax.imageio.*; import java.io.*; public class ScreenCapture { //test main public static void main(String[] args) throws Exception{ String userdir = System.getProperty("user.dir"); File tempFile = new File("d:","temp.png"); ScreenCapture capture = ScreenCapture.getInstance(); capture.captureImage(); JFrame frame = new JFrame(); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); JLabel imagebox = new JLabel(); panel.add(BorderLayout.CENTER,imagebox); imagebox.setIcon(capture.getPickedIcon()); capture.saveToFile(tempFile); capture.captureImage(); imagebox.setIcon(capture.getPickedIcon()); frame.setContentPane(panel); frame.setSize(400,300); frame.show(); System.out.println("Over"); } private ScreenCapture() { try{ robot = new Robot(); } catch(AWTExceptio

6月1日 當DOM物件的VALUE被修改可啟動的even

onchange=alert("!Q");> 放在 body 裡面 當輸入值時 會發生事件!!

5月31日 java 如何擷取一段文字 substr和substring

javaScript substr和substring的差異如下: Str="一個字串變數"; Str.substr(N1,N2) :從N1(指定位置)截取N2(所要截取之字元長度) Str.substring(N1,N2) :從N1(指定位置)截取到N2(指定位置) PS. javascript的起始位置是0

5月21日 在安裝drupal發生mysql 錯誤

再資料庫建置好的時候 接下來會跑出一大堆的錯誤訊息 例如 Warning: Couldn't fetch mysqli in .../includes/database. mysqli .inc ... 這樣時就去 ..\drupal\sites\default\settings.php 修改 $db_url = 'mysql i ://......; 改成 $db_url = 'mysql://......; 這樣就OK摟!!

4月29日 Rainy days and mondays

Talking to myself and feeling old Sometimes I'd like to quit Nothing ever seems to fit Hangin' around, nothing to do but frown Rainy days and Mondays always get me down What I've got they used to call the blues Nothing is really wrong Feeling like I don't belong Walking around some kind of lonely clown Rainy days and Mondays always get me down Funny but it seems I always wind up here with you It's nice to know somebody loves me Funny but it seems that it's the only thing to do To run and find the one who loves me (*)What I feel is come and gone before No need to talk it out We know what it's all about Hanging around, nothing to do but frown Rainy days and Mondays always get me down Funny but it seems that it's the only thing to do Run and find the one who loves me Repeaat(*) Hanging around, nothing do to but frown Rainy days and Mondays always get me down =========================================== 喃喃自語,覺得自己已老 有時我想放棄 做什麼事都不對勁 無所是事 整天眉頭深鎖 雨天和星期一總讓我心情低落

4月25日 Java .class 不想讓人家解讀

那最好的方法就是用 JAVA 混淆器 保證那個人就算把他反編譯也看不懂~~它還是會自己重寫一次XD 我這介紹的反編譯軟體是 proguard下载(http://proguard.sourceforge.net/ 官方网址无法下载) http://internap.dl.sourceforge.net/sourceforge/proguard/proguard4.2.zip 我建議是用4.3的版本,下載完後在bin的資料夾裡,點選 proguardgui.bat 即可執行 然後在"input/output"的選項裡 點選 "add input"選你要加密的jar檔 在選 "add output" 你要選擇存檔的地方,接下來下面增加你要的lib你電腦JAVA 的LIB 放的地方,和你這個jar有用到的LIB ,其他的就一值按NEXT ,把所有不用選擇檔的選項都選了~~~ 然後按 "process" ~~大功告成

4月1日 小紅傘設例外

圖片
若您確定某個檔案沒有病毒,可是 Antivir 卻一直對它發出警告,您就可以手動將該檔案加入例外區,讓Antivir忽略對此檔案的掃描。 作法如下: Step 1. 打開 Antivir ,並點選功能表上的「Extras」→ 「Configuration」,並勾選「Expert Mode」,再選擇「Scanner」→ 「Exception」。 Step 2. 按一下 圖示,並選定要新增的資料夾或檔案後,再按下「Add >>」,就可以了 Step 3. 如果要從例外區移除檔案或資料夾,只要選取要移除的項目,然後按「< Step 4. 同樣地,選擇「Gurad」→「Scan」→「Exception」,再選擇檔案或資料夾加入例外區即可。 Step 5. 而Guard是指「即時防護」,而Scanner是指「手動掃描」。

3月6日 Alt 鍵妙用12招!

01、啟動功能表: 按下Alt鍵可以啟動活動視窗的功能表欄,使功能表欄的第一個功能表成為高亮條,而按下Alt鍵和一個字母就可以啟動這個字母所代表的功能表項,如按下Alt+F就可以啟動當前視窗的“檔案(File)”選單。此外,在對話方塊中,同時按下Alt鍵和帶下劃線的字母則可以選定該選項並執行相應 的動作 02、終止某一進程: 按下Ctrl+Alt+Del組合鍵即可彈出一個“關閉程式”對話方塊,選取某一進程,然後點擊“結束任務”即可快速終止該進程。而再次按下Ctrl+Alt+Del組合鍵則可重新啟動電腦(適合於98、ME)。    03、 彈出下啦清單: 在對話方塊中,可以通過Alt+向下箭頭鍵來彈出所選的下啦清單,以免去移動滑鼠尋找並點擊列表框下箭頭按鈕之苦。    04、快速查看屬性: 按下Alt+Enter組合鍵或在按住Alt鍵的同時滑鼠左鍵雙擊某物件(如資源管理器右邊視窗中的檔案夾、檔案、桌面上的圖示等,左邊視窗中的檔夾不行),則可快速打開其“內容”對話方塊。其作用相當於點滑鼠右鍵,並選取“內容”。    05、切換DOS視窗: 按下Alt+Enter組合鍵可以在視窗和全螢幕方式下切換 MS-DOS。   06、萬能抓圖熱鍵: 在運行遊戲或其他應用軟體中,當螢幕上出現精美的畫面時按下Alt+ PrintScreen組合鍵,就可以把當前活動視窗或對話方塊的內容拷貝至剪貼簿,然後調用“小畫家”或其他繪圖程式,選取“編輯”功能表中的“貼上”,即可貼出一幅漂亮的畫面來。    07、關閉應用程式: 按下Alt+F4鍵可以最快的方式關閉任何應用程式,而不用在檔功能表或工具例中尋找並單擊“退出”或“關閉”。    08、切換應用程式: 按住Alt鍵不放,再連續按下Tab鍵則可以在一個對話方塊中顯示出當前已經運行的所有程式的圖示和當前啟動的程式的圖示及其名稱,只要釋放Alt鍵便可以立刻切換到該應用程式中,稱之為“冷切換”。 09、打開控制選單: 在應用程式中,按下Alt+空白鍵可以直接打開系統控制選單。    10、 復原上一動作: 在Windows 98的各個對話方塊中,凡是對編輯框的動作都可以通過Alt+Backspace鍵來撤銷,其效果和Ctrl+Z完全一樣。該功能同樣適用於微軟的各文字處理軟體,如記事本、 書寫器、WORD等。另外,也可用該組合鍵來撤銷檔移動或重命名

2月11日 ftp 指令

用習慣cuteFTP 的人們阿 或是 IE 但是其實在 DOS ,MAC 和 LINUX 都可以用指令操作 FTP ls 顯示 ascii 模式的檔案 ls dir 顯示所有目錄清單 dir cd 切換遠端伺服器目錄 cd download lcd 切換本機目錄 lcd c:\ get 下載單一檔案 get abc.exe mget 下載複數檔案 mget *.exe put 上傳單一檔案 put abc.exe mput 上傳複數檔案 mput *.exe prompt 開/關詢問模式 prompt pwd 顯示目前所在目錄位置 pwd bye 離開 FTP Server bye ? 顯示指令清單 ? ! 暫時離開 ftp 模式,回復執行 exit ! binary 切換到二進制下載模式 binary ascii 切換到文字下載模式 ascii open 連線到 FTP Server open cle.linux.org.tw help 顯示\指令說明 help ls 如果FTP 不是21的話 就要用別種方法摟 這需要用到 ftp 的子命令 open , 語法如下 open Computer [Port] 實例: C:\Documents and Settings\Administrator>ftp ftp> open 192.168.66.162 9000

2月4日 [JAVA]final 用法

就是這個final變數創好以後,類別的任何方法都無法在修改此值 public class Test { public void testPrint( final int i) { // 這裡不可修改i的值 System.out.println(i); } public static void main(String[] args) { int x = 5, y = 6; Test t = new Test(); t.testPrint(x); t.testPrint(y); } }

1月14日 JOGL 使用遮蔽效果

在 public void init(GLAutoDrawable drawable) { ............................... gl.glEnable( GL.GL_DEPTH_TEST ); //加入這一行 ............................... } 但是在清Buffer時候不能用一班的清法,會把整個畫面給清掉 在 public void display(GLAutoDrawable drawable){ ........................................ gl.glClear( GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT );//要改寫成這個 ........................................... }

1月6日 java japplet 呼叫(使用) javascript

在你的japplet 的程式碼加入這幾行 就可以使用 javascript 的方法摟 //################################################################ try { getAppletContext().showDocument(new URL("javascript:location.reload()")); //javascript 的重新整理的功能 } catch (MalformedURLException ex) { System.out.println(ex) }