包裹classes全部目錄到sample.jar
命令=> jar -cvf sample.jar
關於META-INF目錄和MANIFEST.MF文件另外做學習
2009年9月30日 星期三
JAVA筆記-classpath路徑
-sourcepath 用來設定.java檔的位置
-classpath或-cp 用來指向副檔名為.jar、.zip、.class的位置
不同的classpath以;符號來分隔(linux下,用:符號)
ex: -classpath classpath1;classpath2;classpath3
若C:\prg\SCJP\classes\com\pet\water下有Fish.class
Fish.class的套件設定是package com.pet.water
絕對路徑,在C:\目錄下
C:\>java C:\prg\SCJP\classes com.pet.water.Fish
相對路徑,C:\prog\SCJP目錄下
C:\prg\SCJP>java -cp .\classes com.pet.water.Fish
不用設定-cp,C:\prg\SCJP\classes目錄下
C:\prg\SCJP\classes>java com.pet.water.Fish
-classpath或-cp 用來指向副檔名為.jar、.zip、.class的位置
不同的classpath以;符號來分隔(linux下,用:符號)
ex: -classpath classpath1;classpath2;classpath3
若C:\prg\SCJP\classes\com\pet\water下有Fish.class
Fish.class的套件設定是package com.pet.water
絕對路徑,在C:\目錄下
C:\>java C:\prg\SCJP\classes com.pet.water.Fish
相對路徑,C:\prog\SCJP目錄下
C:\prg\SCJP>java -cp .\classes com.pet.water.Fish
不用設定-cp,C:\prg\SCJP\classes目錄下
C:\prg\SCJP\classes>java com.pet.water.Fish
JAVA筆記-package和import
file1
##ReadMore##
file2
file3
package water;
public class Fish
{
public static name = "Jerry" ;
}
##ReadMore##
file2
/* file2.java不在同一個package,程式碼的調用方法 */
public class PetScore
{
public static void main(String[] args)
{
String Name = water.Fish.name ;
}
}
file3
/* 調用import,類似C語言的include */
import water.*;
public class PetScore
{
public static void main(String[] args)
{
String Name = Fish.name ;
}
}
2009年9月28日 星期一
C/C++筆記-設定、測試、清除的位元運算
const int BIT = 0x01;
char flags = 0; //初始狀態位元
/* 設定一個位元 */
flag |= BIT; //flags變成BIT狀態
/* 測試位元 */
if(flags & BIT != 0)
cout << "BIT flag is set" ;
else
cout << "No BIT detected" ;
/* 清除位元 */
//清除位元是指flags與BIT有相同位元的地方,都必須清為0
flag = flag & ~BIT;
##ShowAll##
2009年9月25日 星期五
JAVA筆記-for-each多維陣列輸出
##ShowAll##
String[][] exams = {{"SCJP","SCWCD","SCMAD"},{"MCSD","MCAD","MCDBA"}};
for(String[] ex : exams)
{
for(String e : ex)
{
System.out.print(e + ", ");
}
}
JAVA筆記-label函式標籤
##ShowAll##
//有點像goto,但此方法似乎不會破壞程式結構
OuterLoop:
for( ; ; )
{
InnerLoop:
for( ; ; )
{
continue OuterLoop; //跳到OuterLoop標籤的函式
break OuterLoop; //跳出OuterLoop標籤的函式
}
}
JAVA筆記-final關鍵字使用
用final修飾過的類別(class)不能被繼承
函式(method)不能被重載,在C++加上const的函式意指回傳值不能被改變
變數不能被更改,意指常數,等於一般C++的const變數
在JAVA內,通常定義常數方法是static final PI = 3.1412;
函式(method)不能被重載,在C++加上const的函式意指回傳值不能被改變
變數不能被更改,意指常數,等於一般C++的const變數
在JAVA內,通常定義常數方法是static final PI = 3.1412;
2009年9月24日 星期四
C/C++筆記-函式預設參數
void draw(const int width, const int height, double scale=1.0);
...
//---> 以下兩呼叫函式是相等的
draw(3, 5, 1.0); //採用尺度比例
draw(3, 5,); //採用預設比例
##ShowAll##
DVDFab HD Decrypter 解除DVD防拷
解除DVD防拷,使用AnyDVD使用要錢的,
免費的有DVD43,但是好像只有英文版
一般使用免費軟體,從防拷到燒錄大概的步驟是
DVD43(或AnyDVD)解除防拷+DVDShrink轉檔(或切割)+Imburn燒錄
若使用DVDFab Platinum它全包了,但是這款要錢
包含解除防拷+DVD9轉DVD5(或切割)+DVD燒錄
而DVDFab Decrypter是DVDFab Platinum的精簡版,
在解除防拷功能方面是不用錢的,方便好用
其中內含的試用功能,可將DVD備份轉擋到許多指定的可攜式裝置
整個流程相當複雜,我覺得非必要不要嘗試,很累人的,
但學會之後,卻又是一大驚喜 DVDFab HD Decrypter
(註:DVD9轉DVD5(或切割),
這一步驟是因為原裝一片DVD容量是一般空白DVD容量的兩倍,
所以必須透過破壞壓縮轉檔或者切割成兩片)
使用DVDFab破解DVD防拷教學 =>
DVDFab HD Decrypter 破解、備份有防拷保護的DVD影片光碟?
參考文章(下載):DVDFab HD Decrypter 免安裝中文版
以前大學時為了幫朋友燒錄完整的正版DVD影音, 弄的我嘔心瀝血,
而且我那時甚至連DVD有防拷都不了解, 我研究了很多相關影音軟體,
熬夜兩個晚上, 燒了好幾片光碟,才好不容易弄出來,
因為那個時候, DVD相關的軟體其實並不多,一堆備份軟體,
但光備份沒用,必須還要解除防拷 ,
想要燒錄完整正版DVD影音是很困難的,防拷、轉檔、切割、播放、、、
我的電腦配備也不是很強,每一步驟的執行都很花時間,
時間又非常趕燒出來後,不管NeroShow或PowerDVD,
都出現一些不同的播放錯誤這都是因為防拷解除不完全,
可是那時我不知道究竟原因是什麼,
後來終於在找到AnyDVD後,終於燒成功了,
AnyDVD+Nero+PowerDVD,完整備份,可在DVD播放器上觀看
吃力不討好的工作,沒錢又被唸動作太慢,超失落的
免費的有DVD43,但是好像只有英文版
一般使用免費軟體,從防拷到燒錄大概的步驟是
DVD43(或AnyDVD)解除防拷+DVDShrink轉檔(或切割)+Imburn燒錄
若使用DVDFab Platinum它全包了,但是這款要錢
包含解除防拷+DVD9轉DVD5(或切割)+DVD燒錄
而DVDFab Decrypter是DVDFab Platinum的精簡版,
在解除防拷功能方面是不用錢的,方便好用
其中內含的試用功能,可將DVD備份轉擋到許多指定的可攜式裝置
整個流程相當複雜,我覺得非必要不要嘗試,很累人的,
但學會之後,卻又是一大驚喜 DVDFab HD Decrypter
(註:DVD9轉DVD5(或切割),
這一步驟是因為原裝一片DVD容量是一般空白DVD容量的兩倍,
所以必須透過破壞壓縮轉檔或者切割成兩片)
使用DVDFab破解DVD防拷教學 =>
DVDFab HD Decrypter 破解、備份有防拷保護的DVD影片光碟?
參考文章(下載):DVDFab HD Decrypter 免安裝中文版
以前大學時為了幫朋友燒錄完整的正版DVD影音, 弄的我嘔心瀝血,
而且我那時甚至連DVD有防拷都不了解, 我研究了很多相關影音軟體,
熬夜兩個晚上, 燒了好幾片光碟,才好不容易弄出來,
因為那個時候, DVD相關的軟體其實並不多,一堆備份軟體,
但光備份沒用,必須還要解除防拷 ,
想要燒錄完整正版DVD影音是很困難的,防拷、轉檔、切割、播放、、、
我的電腦配備也不是很強,每一步驟的執行都很花時間,
時間又非常趕燒出來後,不管NeroShow或PowerDVD,
都出現一些不同的播放錯誤這都是因為防拷解除不完全,
可是那時我不知道究竟原因是什麼,
後來終於在找到AnyDVD後,終於燒成功了,
AnyDVD+Nero+PowerDVD,完整備份,可在DVD播放器上觀看
吃力不討好的工作,沒錢又被唸動作太慢,超失落的
2009年9月23日 星期三
C/C++筆記-懸盪參考
// Dangling Renferences 懸盪參考
const int& min(const int& i1, const int& i2)
{
if(i1 < i2)
return (i1);
return (i2);
}
int main()
{
const int& = min(1+2, 3+4); //傳回位址,所以取址
return 0;
}
/* 傳回的min(1+2, 3+4)是暫存的參考指標,
函式執行完後會被刪除,然而&i仍指向這個參考指標 */
##ShowAll##
C/C++筆記-const參數與函式
//i1、i2在函式中是const變數,不能改變值
const int& min(const int& i1, const int& i2)
{
if(i1 < i2)
return (i1);
return (i2);
}
int main()
{
min(1+2, 3+4);
return 0;
}
/*
* const的函式意義是指,若函式是傳回參考指標變數,
* 則該變數傳回後不能直接變更回傳值
* min(1+2,3+4)=0;由於是const函式,傳回值不能作改變
*/
##ShowAll##
C/C++筆記-將變數傳遞進參考指標函式
//好處是傳一般變數即可
void inc_counter(int& counter)
{
++counter;
}
int main()
{
int a_count = 0;
inc_counter(a_count);
std::cout << a_count << '\n' ; //傳回值+1
return 0;
}
/* 這種作法似乎不能用在C語言 */
##ShowAll##
2009年9月22日 星期二
C/C++筆記-namespace格式化變數名稱
/* 避免命名變數名稱冗長,如core_ui_games_back_ */
//---> ex1:
namespace std
{
istream cin;
ostream cout;
ostream cerr;
}
std::cout << "namespace" ; //使用方法,std::cout
/* 加上using namespace std;程式碼後,可直接使用cout */
//---> ex2:
namespace display
{
int width;
int height;
bool visible;
};
using display::width; //使用using
width=10; //之後要就可直接使用width
/* 但應避免使用using,以免有重複名稱 */
##ShowAll##
2009年9月21日 星期一
C/C++筆記-用static_cast轉換C,C++字串
//C++字串轉C字串
char c_stype[100];
string a_string("something");
strcpy(c_style,a_string.c_str());
//C字串轉C++字串
a_string = c_style;
a_string = static_cast(c_style); //使用static_cast
/* C字串稍快一點,但使用strcpy和strcat有超過字串範圍的風險 */
##ShowAll##
C/C++筆記-strcpy和strcat超出字串範圍的風險
strcpy和strcat使用時會有超出字串範圍的風險
解法1:可用assert函式來避免
解法2:strncpy(name,"Oualline",sizeof(name)-1);
最後一個會自動補'\0'
解法2:strncat(name,"Oualline",sizeof(name)-strlen(name)-1);
若空間已滿,則'\0'就不會自動加入,需自行填入,
多寫一行程式碼 name[sizeof(name)-1]='\0';
加上此行程式碼若未超出空間會多一個'\0',但不影響
解法1:可用assert函式來避免
解法2:strncpy(name,"Oualline",sizeof(name)-1);
最後一個會自動補'\0'
解法2:strncat(name,"Oualline",sizeof(name)-strlen(name)-1);
若空間已滿,則'\0'就不會自動加入,需自行填入,
多寫一行程式碼 name[sizeof(name)-1]='\0';
加上此行程式碼若未超出空間會多一個'\0',但不影響
2009年9月19日 星期六
C/C++筆記-assert防止陣列索引溢出
/* 叫用#include <assert.h> 來檢查有無超過範圍 */
int primes[] = {2,3,5,7,11,13,17};
int index = 10;
assert(index < (sizeof(primes)/sizeof(primes[0])));
assert(index >= 0);
std::cout << primes[index] ;
/* 用起來其實很累人,但一些大型source code,會看到在用 */
##ShowAll##
C/C++筆記-螢幕輸出特殊字元
\b 游標後退一個位元
\f 換頁
\n 換行
\r 游標到目前的行開頭
\t 到下一個定位點
\' 輸出'
\" 輸出"
\\ 輸出\
\nnn 輸出八進位ASCII字元
\xNN 輸出十六進位ASCII字元
\f 換頁
\n 換行
\r 游標到目前的行開頭
\t 到下一個定位點
\' 輸出'
\" 輸出"
\\ 輸出\
\nnn 輸出八進位ASCII字元
\xNN 輸出十六進位ASCII字元
2009年9月17日 星期四
PDF-XChange Viewer PDF快速啟動閱讀
除了Adobe Reader之外,許多人會用免費軟體Foxit Reader來看PDF,
Foxit Reader支援中文沒那麼強,而且沒有分頁瀏覽
PDF-XChange Viewer PDF功能很強大,但我用不到那麼多,
速度快有分頁功能,中文支援強,這很好用
參考文章(下載):PDF-XChange Viewer 免安裝中文版 ##ShowAll##
Foxit Reader支援中文沒那麼強,而且沒有分頁瀏覽
PDF-XChange Viewer PDF功能很強大,但我用不到那麼多,
速度快有分頁功能,中文支援強,這很好用
參考文章(下載):PDF-XChange Viewer 免安裝中文版 ##ShowAll##
C/C++筆記-逗號運算子
/* ,運算子是敘述結合,同等於{} */
if (total < 0) {
std::cout << "You owe nothing\n" ;
total = 0 ;
}
// 上面敘述同等於
if (total < 0)
std::cout << "You owe nothing\n", total = 0;
/* 常用在for迴圈內 */
for(two=0,three=0; two<10; two+=2,three+=3)
std::cout << two+three ;
##ShowAll##
StickyPad 備忘桌面貼 (支援鬧鐘)
以前都用記事本備忘,
還是用個好看絢麗的桌面貼
快速鍵:視窗鍵+N
參考文章(下載):StickyPad 漂亮、好用的備忘錄桌面貼
2010/03 note
Windows 7有內建便條籤,就不需要了
2010/12 note
其他相似軟體Stickies、hott notes、Sticker
還是用個好看絢麗的桌面貼
快速鍵:視窗鍵+N
參考文章(下載):StickyPad 漂亮、好用的備忘錄桌面貼
2010/03 note
Windows 7有內建便條籤,就不需要了
2010/12 note
其他相似軟體Stickies、hott notes、Sticker
C/C++筆記-memset動態配置記憶體
memset是在標準程式庫中,用組合語言撰寫
執行速度會較快且簡易,但只用在部分情況
memset是少見的記憶體配置方法
執行速度會較快且簡易,但只用在部分情況
memset是少見的記憶體配置方法
//calloc配置記憶體方法
foo_var = (struct foo*)calloc(3, sizeof(foo));
//等同於下列,此程式碼將結構內容清除為0
memset(foo_var, '\0', sizeof(foo)*3);
##ShowAll##
2009年9月12日 星期六
C/C++筆記-main的命令列引數
//main的引數是指外部傳給main函數的引數
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf("argc = %d\n",argc); //argc會傳回引數的個數
for(int i=0;i<argc;i++)
printf("%s\n",argv[i]); //*argv[]儲存成字元陣列
system("pause");
}
##ReadMore##
範例:
輸入命令:print_file -v -l 40
命令引數會放在argv[0]、argv[1]、argv[2]、argv[3]
argc為4
argv[1]可拆成argv[1][0]='-'和argv[1][1]='v'
PS:
引數中有數字,可利用atoi將字串轉為整數
atoi(&argv[1][2]);
C/C++筆記-union聯合,使用同一塊記憶體
union成員是共用一個記憶體空間,只能設定一個成員
union value {
long int i_value;
float f_value;
}data;
main() {
data.f_value = 5.0;
data.i_value = 3; //data.f_value內容被刪除
data.f_value = 5.5; //data.i_value內容被刪除
}
##ShowAll##
C/C++筆記-代表null的字元
char name[6];
name[0] = 'J';
name[1] = 'a';
name[2] = '\0';
name[3] = 'e';
name[4] = 's';
name[5] = 'm';
printf("%s",name);
畫面只會輸出Ja,讀到'\0'會認定字串已結束
##ShowAll##
C/C++筆記-getchar()、putchar()輸出入字元
//輸入一個字元,會傳回該字元的ASCII值,若發生錯誤會回傳EOF
int getchar(void)
//若輸出成功,會傳回該字元的ASCII值,若發生錯誤會回傳EOF
int putchar(int ch)
C/C++筆記-strcpy複製字串
//連同'\0',from字串複製到to字串
strcpy(char *to, const char *from)
strncpy(char *to, const char *from, size_t len)
C/C++筆記-strcat連結字串
//str1之後接str2
strcat(char *str1, const char *str2)
strncat(char *str1, const char *str2, size_t len)
C/C++筆記-strcmp比較字串
strcmp(const char *str1, const char *str2)
strncmp(const char *str1, const char *str2, size_t len)
/* 相等傳回0,小於傳回負數,大於傳回正數 */
C/C++筆記-前置處理器#define
//取消先前#define定義
#undef
#if
#else
#endif
//如果已被定義
#ifdef
#endif
//如果未被定義,則去定義
#ifndef
#define
#endif
//顯示程式名稱與行數等錯誤訊息
#if
#error "wrong"
#endif
##ShowAll##
C/C++筆記-檔案內字串搜尋程式碼
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define fn "textfile.txt"
int search(FILE*,char *);
int main(void)
{
int last=0;
char buf[80];
FILE *fp;
fp = fopen(fn,"r+");
scanf("%s",buf); //輸入要找的字串
while(1)
{
int line = search(fp,buf);
if(line)
printf("%s found in line %d.\n",buf,line+last);
else
break;
last += line; //更新目前計算的行數
}
fclose(fp);
system("pause");
return 0;
}
int search(FILE *fp,char *s)
{
int i,j=0;
char buf[80];
for(i=1 ; fgets(buf,80,fp) != NULL ; i++)
if(strstr(buf,s) != NULL) //從buf字串中找s字串
return i;
return 0;
}
##ShowAll##
C/C++筆記-fseek()、ftell()、rewind()變更串流內的位置函數
/*
會從指定的origin位置移動offset個位元組
origin定義:
SEEK_SET,串流開始位置
SEEK_CUR,串流目前位置
SEEK_END,串流結束位置
若更改成功則傳回0值
*/
int fseek(FILE *fp, long offset, int origin);
/* 回傳串流目前位置,發生錯誤傳回-1 */
long ftell(FILE *stream);
/* 將串流的目前位置設為該串流的開頭 */
void rewind(FILE *stream);
##ShowAll##
C/C++筆記-fread()、fwrite()輸出入二進制串流
//數值不必轉為字元形式,效率較優勢
fread(void *buffer, size_t size, size_t num, FILE *fp);
/*
代表讀取num個大小為size的位元組,
之後存入buffer陣列(任意型態),
最後回傳成功讀取的資料數,
檢查回傳值是否等於num值則成功
*/
int n=999;
FILE *fp;
//開啟為二進位檔
if((fp = fopen("binfile","wb")) == NULL) exit(1);
//寫入一個整數999到檔案
if(fwrite(&n, sizeof(int), 1, fp) != 1) exit(1);
fclose(fp);
##ShowAll##
C/C++筆記-fprintf()、fscanf()輸出入串流
//與printf()、scanf()函數功能相同
fprintf(FILE *fp, char *control string, arguments...);
fscanf()(FILE *fp, char *control string, arguments...);
C/C++筆記-fgets()、fputs()輸出入字串
char buf[80];
FILE *fp;
if((fp = fopen("textfile","r")) == NULL) exit(1);
while((ch = fgets(buf,80,fp)) != NULL) //一次讀取一行,一行不超過80個字元
fput(buf,stddout); //將字串輸出到螢幕
fclose(fp);
##ShowAll##
2009年9月11日 星期五
C/C++筆記-fgetc()、fputc()輸出入字元
FILE *fp;
if((fp = fopen("textfile","r")) == NULL) exit(1);
while((ch = fgetc(fp)) != EOF) //將字元一個個讀入
fput(ch,stddout); //將字元一個個輸出到螢幕
fclose(fp);
##ShowAll##
C/C++筆記-指標多重間接參照
/*
* 指標本身也是有記憶體位址,
* 所以宣告一個指向指標形態變數的指標是合法的
*/
int **pp,*p,x=5;
pp = &p;
p = &x;
**pp = 10; //最後x值是10
##ShowAll##
C/C++筆記-顯示檔案內容並計算字數程式碼
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
File *fp;
char f[10],buf[80]; //檔名不超過10個字母,一行不超過80字元
scanf(%s,f);
if((fp = fopen(f,"r")) == NULL) exit(1);
while(fgets(buf,80,fp)) != NULL)
fputs(buf,stdout); //將檔案一行行輸出
printf("\n");
rewind(fp); //將串流fp指回檔案開頭
for(i=0;;i++)
if(fscanf(fp,"%s",buf) == EOF)
break;
fclose(fp);
system("pause");
return 0;
}
##ShowAll##
C/C++筆記-指標意義、指標運算、陣列指標
//&運算子的意義為:取得變數的記憶體位址
//*運算子的意義為:取得變數的記憶體值
int *ptr,a;
ptr = &a;
ptr++; //將指標ptr指向變數a的後4個bytes
ptr = ptr - 20; //將指標ptr指向變數a的後20*4個bytes
int *ptr,a[10];
ptr = a+5;
printf(%d %d,*a,*ptr) //會印出陣列a[0]的數值和a[5]的數值
##ShowAll##
C/C++筆記-typedef用法
typedef int width;
相似#define width int
但typedef可定義更複雜的物件
##ReadMore##
使用範例:
相似#define width int
但typedef可定義更複雜的物件
##ReadMore##
//使用在陣列上
typedef int group[10];
group totals;
for(i=0; i<10; ++i)
totals[i] = 0;
使用範例:
//typedef 舊型態名稱 新型態名稱
typedef unsigned int pint;
pint a; //a的型態等同於unsigned int
typedef struct snake {
int head;
int tail;
int body;
}SNAKE;
SNAKE sn1; //等同於struct snake宣告
C/C++筆記-realloc重新配置記憶體空間
int *p;
p = (int *)malloc(sizeof(int) * 5);
p = (int *)realloc(p, sizeof(int) * 10); //將記憶體空間變大
C/C++筆記-malloc動態配置記憶體
/* 配置一個int大小的記憶體空間 */
int *p;
p = (int *)malloc(sizeof(int));
/* 配置一個struct大小的記憶體空間 */
struct ex{
int a;
char[2];
};
struct ex *p;
p = (struct ex *)malloc(sizeof(struct ex));
free(p); //釋放記憶體
##ShowAll##
C/C++筆記-fopen()、fclose()開關檔
//開檔
FILE *fp;
if((fp = fopen("file","r")) == NULL)
{
printf("file open error!\n");
}
//關檔
fclose(fp);
/*---開檔模式---*/
//[讀、寫、附加]
//"r", "w", "a"
//[讀、寫、附加,二進位模式]
//"rb", "wb", "ab"
//[不存在回傳NULL、存在刪除原檔、不存在建立新檔,皆可讀可寫]
//"r+", "w+", "a+"
//[不存在回傳NULL、存在刪除原檔、不存在建立新檔,皆可讀可寫,二進位模式]
//"rb+", "wb+", "ab+"
##ShowAll##
2009年9月10日 星期四
Google閱讀器 RSS訂閱文章
之前是用GreatNews軟體來訂閱Blog文章,
但後來發現不夠方便,只能在單一主機上使用,
常常要往來不同電腦,還是要用Google的雲端技術比較好
而且除了最新文章之外,還可以撈到之前的所有舊文章,
這一點就比其他RSS訂閱軟體還要好了
連結網址:Google閱讀器
參考文章:如何用Google Reader訂閱部落格RSS?
但後來發現不夠方便,只能在單一主機上使用,
常常要往來不同電腦,還是要用Google的雲端技術比較好
而且除了最新文章之外,還可以撈到之前的所有舊文章,
這一點就比其他RSS訂閱軟體還要好了
連結網址:Google閱讀器
參考文章:如何用Google Reader訂閱部落格RSS?
Lingoes靈格斯 免費翻譯軟體
大陸製的,很賊地同時集合其他軟體的翻譯辭典
除了內建幾個翻譯辭典外,
還有非常大量的外掛補充包,什麼都有,
Google翻譯、Yahoo翻譯、譯點通翻譯、、、
也因此確實比Dr.Eye好用了
辭典補充包:詞典庫
參考文章(下載):靈格斯翻譯家 Lingoes Translator 免安裝中文版
##ShowAll##
除了內建幾個翻譯辭典外,
還有非常大量的外掛補充包,什麼都有,
Google翻譯、Yahoo翻譯、譯點通翻譯、、、
也因此確實比Dr.Eye好用了
辭典補充包:詞典庫
參考文章(下載):靈格斯翻譯家 Lingoes Translator 免安裝中文版
##ShowAll##
2009年9月4日 星期五
VirtualBox 免費虛擬作業系統
比VMware幾百MB相比,這小巧的太多了,而且免費
介面簡潔,功能齊備,簡單易操作,從此不用VMware了
一些常用附加功能簡易說明:
參考文章(下載):VirtualBox 中文版
簡易教學:VirtualBox v3.0.4 虛擬電腦,練重灌、測軟體、玩病毒,不怕搞壞電腦!
詳細教學:VirtualBox2.1 使用心得(2.2另外附註說明)
其他教學:虛擬LINUX下,放大縮小調整螢幕
虛擬LINUX下,與實體OS共享資料夾
(註:共享資料夾,不能與掛載文件夾的名稱相同)
介面簡潔,功能齊備,簡單易操作,從此不用VMware了
一些常用附加功能簡易說明:
- 虛擬LINUX,放大縮小調整螢幕 =>
安裝VirtualBox客戶端軟體即完成 - 虛擬LINUX,與實體OS共享資料夾=>
root身份下輸入mount -t vboxsf sourcefolder targetfolder - 虛擬WINDOWS,用VirtualBox共享資料夾
我的電腦 > 右鍵 > 連接網路磁碟機 > 瀏覽 > 點選共享的資料夾
參考文章(下載):VirtualBox 中文版
簡易教學:VirtualBox v3.0.4 虛擬電腦,練重灌、測軟體、玩病毒,不怕搞壞電腦!
詳細教學:VirtualBox2.1 使用心得(2.2另外附註說明)
其他教學:虛擬LINUX下,放大縮小調整螢幕
虛擬LINUX下,與實體OS共享資料夾
(註:共享資料夾,不能與掛載文件夾的名稱相同)
piaip AppLocale (Microsoft AppLocale修改版本) 解決軟體亂碼
使用簡體軟體會有亂碼,可用Microsoft AppLocale來解決
而piaip AppLocale修改了一些Microsoft AppLocale的亂碼問題
參考文章(下載):pAppLocale
而piaip AppLocale修改了一些Microsoft AppLocale的亂碼問題
參考文章(下載):pAppLocale
2009年9月1日 星期二
訂閱:
文章
(
Atom
)