2009年5月18日 星期一

Java 開啟外部 IE 程式相關紀錄

一. 開啟 IE 之參數意義:
請參考下列文章
http://blog.miniasp.com/?tag=/ie7

二. Java 開啟外部 IE 程式
直接使用
Process p = Runtime.getRuntime().exec("C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE"+"網址"); 應該沒問題,但若不是開啟IE程式而是其他console程式則可能面臨到下列問題:


基本上你要先分辨外部程式的 output stream 為何。有的是 error stream, 有的則
是 standard output stream。這兩個分別可用 p.getErrorStream()
和 p.getInputStream() 來 catch。如果外部程式有輸出但你沒做 catch 的動
作,外部程式就會停住不動。 IE 通常是不會有 standard output 的,所以沒
問題。反觀 javac 就會有 output, error 交錯出現,你要分別做 catch。

from : http://www.javaworld.com.tw/jute/post/view?bid=29&id=20146&sty=3&age=0&tpg=1&ppg=1#20146

三.
a. Runtime class 可能的相關問題
http://www.javaworld.com.tw/jute/post/view?bid=5&id=142555&tpg=1&ppg=1&sty=1&age=0#142555

b. 使用Java呼叫Windows的外部程式(如:Ping)
http://www.javaworld.com.tw/jute/post/view?bid=29&id=31477&sty=3&age=0&tpg=1&ppg=1#31477

2009年2月20日 星期五

20090220 取得目前時間

1. C
time_t timep; 宣告變數
time(&timep); 取得目前時間:取得1970截至目前的'秒數'
ctime(&timep); 轉換成真實世界所使用之格式,
格式為:"Wed Jun 30 21:40:08 1993 \n"

2. Java
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
// 使用SimpleDateFormat來格式化時間格式,參數形式參考最下面
String time = sdf.format(new Date());
輸入new Date()至sdf.format函式中,要注意的是new Date()回傳值
是1970截至目前的'毫秒數'
最後,使用下面的代號應該可以自行排出想要的格式,如yy 代表年份,ss 代表秒數等

參考自Java doc 1.4版,格式概述
Date and Time Pattern Result
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy" Wed, Jul 4, '01
"h:mm a" 12:08 PM
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700

2009年2月18日 星期三

20090219/ Java thread 整理

1. 如何 Create Java thread
A. 實作Runnable介面
宣告:
class A extends B implements Runnable
{
public A() {
}
public void run()
{ ……… }
}
啟動:
A th = new A();
Thread t1 = new Thread(th,"執行緒A");
t1.start(); //啟動的程式碼比下面多一排
B. 繼承Thread類別
宣告:
class A extends Thread
{
public A(int length, String name) {
}
public void run()
{ ………
}
}
啟動:
A th = new A();
th.start();

2. 同一支Java file 如何產生兩個不同的 thread code
class ThreadTest1 {
public static void main(String[] args){

MyThread T = new MyThread();
MyRunnable R = new MyRunnable();
Thread TR = new Thread(R);

T.start();
TR.start();
}
}

class MyThread extends Thread {
public void run(){
System.out.println("MyThread run...");
}
}

class MyRunnable implements Runnable {
public void run(){
System.out.println("MyRunnable run...");
}
}

參考自
http://www.javaworld.com.tw/jute/post/view?bid=29&id=102834&sty=3

2009年2月16日 星期一

20090217 備忘

1. Java Int 與 String 之互轉
A. Int to String
String str = String.valueOf(i);
String str = Interger.toString(i);

B. String to Int
int i = Interger.parseInt(str);
Interger.parseInt還有支援其他種參數,請自行參考Java doc
參考自
http://www.javaworld.com.tw/jute/post/view?bid=29&id=9557

2.日文促音與漢字之輸入
例がっこう(学校) => 
  之輸入方式為 ga, kko, u 再按下空白鍵就可得到漢字

2008年5月8日 星期四

鎖住 JFrame 類似程式作設定的 功能

增加 windows listner

f2.addWindowFocusListener(new WindowFocusListener(){

//Override
public void windowGainedFocus(WindowEvent e) {
// TODO Auto-generated method stub

}

//Override
public void windowLostFocus(WindowEvent e) {
// TODO Auto-generated method stub
f2.requestFocus()
注意
一定要同時宣告 lost 與 gain 不能會編不過

參考:
某一討論區論壇的七樓

2008年5月7日 星期三

java serial commapi rs232 programming ( 基本使用)

SerialDemo 程式展示了
選擇參數, 開port , 寫字串, 等功能

import javax.comm.*

1, SerialParameters para
para.setPortName
para.BaudRate();
para.DataBits();
para.StopBits();


範例程式
listPortChoices函式可以偵測裝置是否存在

至於 CommPortIdentifier.getPortIdentifiers 函式
則是用來取得所有 commport 的使用權 類似註冊的感覺
這一點可由 demo code 看到

範例如下
Enumeration en = CommPortIdentifier.getPortIdentifiers();

// iterate through the ports.
while (en.hasMoreElements()) {
portId = (CommPortIdentifier) en.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
portChoice.addItem(portId.getName());
}
}
參考
http://checko.blogspot.com/2003/04/javaserial-port-programming.html

Java netbeans 使用注意事項

netbeans 6.1 之前可能會有中文問題
因此要到下面的路徑將參數修改為UTF-8

1. Tools->Options->Advanced Options->Editing->Java Sources->Default Encoding
2. Properties->Build->Compiling->Additional Compiler Options
加上 -encoding UTF-8

參考
http://blog.csdn.net/chenweionline/archive/2007/05/31/1632787.aspx