1."開始"->"控制台"->"程式集"->"開啟或關閉Windows功能"後, 勾選"Telnet用戶端", 'Telnet伺服器', 'TFTP用戶端'
2.開啟"Windows檔案總管", 選擇"電腦"後按滑鼠右鍵, 選擇"管理"->"服務與應用程式"->"服務", 選擇"Telnet"後按滑鼠右鍵, 選擇"內容", 在"啟動類型"選擇"自動"或"手動", 再按下"啟動"
2012年12月26日 星期三
2012年9月23日 星期日
101年年度親子環島旅遊
八月十五日請了四天年假進行我們家一年一次的全家旅行, 今年我們全家要進行熱氣球腳踏車騎乘的汽車環島之旅.
中壢->花蓮 (東華大學,立川魚場,豐春冰果室)
颱風剛過兩周, 蘇花才搶通一周, 為了避免卡在蘇花公路, 我們一大早五點多由中壢出發經雪隧, 蘇花到花蓮. 正如預期雪隧一路順暢, 到了南方澳買了早餐後才開上蘇花公路, 拜公路總局之賜, 雖然沿途是柔腸寸斷, 處處都是搶通的痕跡, 我們超乎預期的才八點多就到了花蓮.
晚上住的是假日經典飯店, 要下午三點才能進房, 所以先到東華大學欣賞美麗如畫的風景
然後提前到立川漁場吃午餐, 中午太熱, 摸黃金蜆還太早跑去理想大地吃紅豆冰, 趁空查手機得知豐春冰果室很有名, 於是就先驅車前往尋找, 沒想到非假日還是人山人海, 柴燒紅豆竽頭冰是絕對不能錯過的, 由於使用的是古早的慢式製冰法, 竽頭冰綿到不像話, 配上柴燒的紅豆與招牌的甘蔗冰, 真不是浪得虛名的名店.
下午回到立川漁場摸黃金蜆, 今年費用比較貴(200元),又不能折抵漲價的九層塔炒黃金蜆(200元), 雖然還是很好吃, 但是來了好幾次, 也不再那麼吸引人了,(餐廳內的價格與外面的簡餐價格相同, 但是有冷氣), 想到以後可能不會再來了, 所以晚餐就到餐廳內再次享受黃金蜆大餐了.
晚上回到假日經典飯店, 沒想到還是保持的與兩年前一樣新穎與熱誠, 借個wii竟然馬上派出兩位服務人員引導我們至會議室, 感覺真像VIP,教育訓練做的真的不錯, 真是值得推薦的飯店. 晚上到市區吃個蚵仔煎與愛玉冰來當晚餐還真是不錯,暑假的花蓮還真是熱鬧呀!
花蓮->花蓮 (慈濟精舍,七星潭,花蓮酒廠,自行車道,南濱夜市)
隔日先去花蓮慈濟精舍參觀, 再沿著七星潭逛一下柴魚博物館,吃個稻草燒的生魚片,
經過花蓮酒廠逛逛酒廠商品,前年來這還享用了現釀啤酒與黑麥汁,因為待會還要單車騎乘,所以只好割愛了.
接著準備住進今晚的洄瀾客棧, 休息一下並享用花蓮名產的下午茶來補充體力後,
就要享受海天一色微風輕拂的花蓮單車騎乘,路線是沿花蓮港到南濱夜市,順便逛逛夜市,體驗一下花蓮人的生活.
花蓮->關山 (馬路"上"日本料理,豐春冰果室,雲山水,六十石山)
八月十七日,花蓮到關山,中午買了知名的"馬路上"日本料理(花蓮市光復街30之1號)當午餐後,便朝關山前進,到了壽豐鄉又嘴饞的到豐春冰果室買柴燒紅豆竽頭冰,順道看看美麗如詩如畫的雲山水
金針花季當然要看看,六十石山規畫的還不錯,沿路單向通車避免會車的危險,滿山遍野的金針花相伴,配上炸金針與金針排骨還真是享受.
晚上住進山水居並享用當地有名的關山飯包後,等待明日的熱氣球.
關山->台東 (熱氣球,關山自行車道,池上飯包,初鹿牧場,原生藥用植物園)
十八日四點半起床,掙扎了好久才把大家從床鋪上挖起來,帶著四雙睡眼惺忪的眼睛,朝鹿野高台前進,到了現場才發現人山人海,要搭熱氣球的票(繫留飛行,也就是熱氣球底下綁著繩索,只能上下飛行)早已賣完,還好我們只是來看看熱氣球的,看著扁扁的熱氣球加熱灌風,約二十分鐘才終於完成充氣,聽著台上主持人介紹飛行員來自的國家,並與大家打招呼後,隨即駕著熱氣球緩緩昇空.
帶著驚奇的心情回到飯店,準備關山自行車道騎乘,關山環鎮自行車道應該是全國數一數二早的自行車道,環繞關山鎮的自行車道雖然有高有低,但還是適合全家大小一起來運動,路線終點還是一個很大的公園,非常適合親子共遊.即使是坐火車到關山,站前就有飯店住宿與腳踏車租借非常方便,關山鎮公所做的真不錯.
便當便當好吃的便當(台語發音),當聽到這個聲音你會想到哪裡?不是福隆就是池上,池上飯包打出池上米的名聲,來到池上不吃吃池上飯包絕對對不起自己的肚皮,今天的午餐當然就是池上飯包,在火車上吃著池上飯包真是令人回味,吃飽後還能到樓上參觀飯包博物館.
台東->高雄 (太麻里金針山,南迴公路)
太麻里金針山的路比較沒有六十石山明確,用GoogleMap還開到荒涼的山上,還好及時回頭免得到時候上新聞就好笑了. 沿著牌樓後上山與下山是同一條路,沿著山路還可以眺望太平洋,進入金針山後,沿路或多或少都有些金針花,有點搞不清楚哪裡才是金針花區,最後到了忘憂谷才真的是有比較多的金針花,不過停車是個大問題,靠著山路邊停車要小心一點,才不會出問題.或許用付費搭小巴來管制上山的車輛才不會有三多的問題(花多,人多,車輛多).
欣賞完金針花後便是長時間無聊的路途,走南迴到高雄市區會花上半天的時間,還好大家也都玩得有點累了,在便利商店休息的時候居然碰上有人徒步環島,這比單車環島還更神,"小饅頭"加油,不是每個人都會有您這樣的毅力與經歷,希望您一切平安順利.
高雄->中壢 (蓮池潭騎腳踏車,龔家楊桃湯,海青王家口袋燒餅,劉家酸菜白肉鍋)
早晨從蓮潭會館起床,今天是我們環島的最後一天,在路邊用信用卡借了四輛腳踏車來個環潭旅遊,高雄真熱,還好只是在蓮池潭環繞一周,沿途還蠻多樹蔭,途中還有龍虎塔可逛,騎到快沒力的我,趕快騎完一圈後就去找海青王家口袋燒餅當早餐補充體力,又買了龔家楊桃湯止渴,真的只有眷村區才有便宜大碗又實在的東西.
中午肚子還飽飽的,吃不太下,找了個口味較重的劉家酸菜白肉鍋,這白肉鍋還真讚,飽飽的肚子還是把火鍋與水餃給吃光了.回途又再買了四杯的龔家楊桃湯,當作此次環島尾聲的最後一擊.
中壢->花蓮 (東華大學,立川魚場,豐春冰果室)
颱風剛過兩周, 蘇花才搶通一周, 為了避免卡在蘇花公路, 我們一大早五點多由中壢出發經雪隧, 蘇花到花蓮. 正如預期雪隧一路順暢, 到了南方澳買了早餐後才開上蘇花公路, 拜公路總局之賜, 雖然沿途是柔腸寸斷, 處處都是搶通的痕跡, 我們超乎預期的才八點多就到了花蓮.
晚上住的是假日經典飯店, 要下午三點才能進房, 所以先到東華大學欣賞美麗如畫的風景
然後提前到立川漁場吃午餐, 中午太熱, 摸黃金蜆還太早跑去理想大地吃紅豆冰, 趁空查手機得知豐春冰果室很有名, 於是就先驅車前往尋找, 沒想到非假日還是人山人海, 柴燒紅豆竽頭冰是絕對不能錯過的, 由於使用的是古早的慢式製冰法, 竽頭冰綿到不像話, 配上柴燒的紅豆與招牌的甘蔗冰, 真不是浪得虛名的名店.
下午回到立川漁場摸黃金蜆, 今年費用比較貴(200元),又不能折抵漲價的九層塔炒黃金蜆(200元), 雖然還是很好吃, 但是來了好幾次, 也不再那麼吸引人了,(餐廳內的價格與外面的簡餐價格相同, 但是有冷氣), 想到以後可能不會再來了, 所以晚餐就到餐廳內再次享受黃金蜆大餐了.
晚上回到假日經典飯店, 沒想到還是保持的與兩年前一樣新穎與熱誠, 借個wii竟然馬上派出兩位服務人員引導我們至會議室, 感覺真像VIP,教育訓練做的真的不錯, 真是值得推薦的飯店. 晚上到市區吃個蚵仔煎與愛玉冰來當晚餐還真是不錯,暑假的花蓮還真是熱鬧呀!
花蓮->花蓮 (慈濟精舍,七星潭,花蓮酒廠,自行車道,南濱夜市)
隔日先去花蓮慈濟精舍參觀, 再沿著七星潭逛一下柴魚博物館,吃個稻草燒的生魚片,
接著準備住進今晚的洄瀾客棧, 休息一下並享用花蓮名產的下午茶來補充體力後,
就要享受海天一色微風輕拂的花蓮單車騎乘,路線是沿花蓮港到南濱夜市,順便逛逛夜市,體驗一下花蓮人的生活.
花蓮->關山 (馬路"上"日本料理,豐春冰果室,雲山水,六十石山)
八月十七日,花蓮到關山,中午買了知名的"馬路上"日本料理(花蓮市光復街30之1號)當午餐後,便朝關山前進,到了壽豐鄉又嘴饞的到豐春冰果室買柴燒紅豆竽頭冰,順道看看美麗如詩如畫的雲山水
金針花季當然要看看,六十石山規畫的還不錯,沿路單向通車避免會車的危險,滿山遍野的金針花相伴,配上炸金針與金針排骨還真是享受.
晚上住進山水居並享用當地有名的關山飯包後,等待明日的熱氣球.
關山->台東 (熱氣球,關山自行車道,池上飯包,初鹿牧場,原生藥用植物園)
十八日四點半起床,掙扎了好久才把大家從床鋪上挖起來,帶著四雙睡眼惺忪的眼睛,朝鹿野高台前進,到了現場才發現人山人海,要搭熱氣球的票(繫留飛行,也就是熱氣球底下綁著繩索,只能上下飛行)早已賣完,還好我們只是來看看熱氣球的,看著扁扁的熱氣球加熱灌風,約二十分鐘才終於完成充氣,聽著台上主持人介紹飛行員來自的國家,並與大家打招呼後,隨即駕著熱氣球緩緩昇空.
帶著驚奇的心情回到飯店,準備關山自行車道騎乘,關山環鎮自行車道應該是全國數一數二早的自行車道,環繞關山鎮的自行車道雖然有高有低,但還是適合全家大小一起來運動,路線終點還是一個很大的公園,非常適合親子共遊.即使是坐火車到關山,站前就有飯店住宿與腳踏車租借非常方便,關山鎮公所做的真不錯.
便當便當好吃的便當(台語發音),當聽到這個聲音你會想到哪裡?不是福隆就是池上,池上飯包打出池上米的名聲,來到池上不吃吃池上飯包絕對對不起自己的肚皮,今天的午餐當然就是池上飯包,在火車上吃著池上飯包真是令人回味,吃飽後還能到樓上參觀飯包博物館.
台東->高雄 (太麻里金針山,南迴公路)
太麻里金針山的路比較沒有六十石山明確,用GoogleMap還開到荒涼的山上,還好及時回頭免得到時候上新聞就好笑了. 沿著牌樓後上山與下山是同一條路,沿著山路還可以眺望太平洋,進入金針山後,沿路或多或少都有些金針花,有點搞不清楚哪裡才是金針花區,最後到了忘憂谷才真的是有比較多的金針花,不過停車是個大問題,靠著山路邊停車要小心一點,才不會出問題.或許用付費搭小巴來管制上山的車輛才不會有三多的問題(花多,人多,車輛多).
欣賞完金針花後便是長時間無聊的路途,走南迴到高雄市區會花上半天的時間,還好大家也都玩得有點累了,在便利商店休息的時候居然碰上有人徒步環島,這比單車環島還更神,"小饅頭"加油,不是每個人都會有您這樣的毅力與經歷,希望您一切平安順利.
高雄->中壢 (蓮池潭騎腳踏車,龔家楊桃湯,海青王家口袋燒餅,劉家酸菜白肉鍋)
早晨從蓮潭會館起床,今天是我們環島的最後一天,在路邊用信用卡借了四輛腳踏車來個環潭旅遊,高雄真熱,還好只是在蓮池潭環繞一周,沿途還蠻多樹蔭,途中還有龍虎塔可逛,騎到快沒力的我,趕快騎完一圈後就去找海青王家口袋燒餅當早餐補充體力,又買了龔家楊桃湯止渴,真的只有眷村區才有便宜大碗又實在的東西.
中午肚子還飽飽的,吃不太下,找了個口味較重的劉家酸菜白肉鍋,這白肉鍋還真讚,飽飽的肚子還是把火鍋與水餃給吃光了.回途又再買了四杯的龔家楊桃湯,當作此次環島尾聲的最後一擊.
2012年8月30日 星期四
Web 欄位輸入控制
in javascript:
function functionxxx(e)
{
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
reg = /\\d|[\\b]/;//allow number only and backspace
return reg.test(keychar);
}
in HTML:
onKeyPress=return functionxxx(event);
//數字與Backspace鍵
reg = /\\d|[\\b]/;
function functionxxx(e)
{
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
reg = /\\d|[\\b]/;//allow number only and backspace
return reg.test(keychar);
}
in HTML:
onKeyPress=return functionxxx(event);
//數字與Backspace鍵
reg = /\\d|[\\b]/;
//數字,a~f,A~F與Backspace鍵
reg = /\\d|[a-f]|[A-F]|[\\b]/;
reg = /\\d|[a-f]|[A-F]|[\\b]/;
//reg:Regular Expression
正規表示式
字元 | 說明 | 簡單範例 |
---|---|---|
\ | 避開特殊字元 | /A\*/ 可用於比對 "A*",其中 * 是一個特殊字元,為避開其特殊意義,所以必須加上 "\" |
^ | 比對輸入列的啟始位置 | /^A/ 可比對 "Abcd" 中的 "A",但不可比對 "aAb" |
$ | 比對輸入列的結束位置 | /A$/ 可比對 "bcdA" 中的 "A",但不可比對 "aAb" |
* | 比對前一個字元零次或更多次 | /bo*/ 可比對 "Good booook" 中的 "booo",亦可比對 "Good bk" 中的 "b" |
+ | 比對前一個字元一次或更多次,等效於 {1,} | /a+/ 可比對 "candy" 中的 "a",但不可比對 "caaandy" |
? | 比對前一個字元零次或一次 | /e?le?/ 可比對 "angel" 中的 "el",但不可比對 "angle" |
. | 比對任何一個字元(但換行符號不算) | /.n/ 可比對 "nay, an apple is on the tree" 中的 "an" 和 "on",但不可比對 "nay" |
(x) | 比對 x 並將符合的部分存入一個變數 | /(a*) and (b*)/ 可比對 "aaa and bb" 中的 "aaa" 和 "bb",並將這兩個比對得到的字串設定至變數 RegExp.$1 和 RegExp.$2。 |
xy | 比對 x 或 y | /a*b*/g 可比對 "aaa and bb" 中的 "aaa" 和 "bb" |
{n} | 比對前一個字元 n 次,n 為一個正整數 | /a{3}/ 可比對 "lllaaalaa" 其中的 "aaa" 但不可比對 "aa" |
{n,} | 比對前一個字元至少 n 次,n 為一個正整數 | /a{3,}/ 可比對 "aa aaa aaaa" 其中的 "aaa" 及 "aaaa" 但不可比對 "aa" |
{n,m} | 比對前一個字元至少 n 次,至多 m 次,m、n 均為正整數 | /a{3,4}/ 可比對 "aa aaa aaaa aaaaa" 其中的 "aaa" 及 "aaaa" 但不可比對 "aa" 及 "aaaaa" |
[xyz] | 比對中括弧內的任一個字元 | /[ecm]/ 可比對 "welcome" 中的 "e" 或 "c" 或 "m" |
[^xyz] | 比對不在中括弧內出現的任一個字元 | /[^ecm]/ 可比對 "welcome" 中的 "w" "l" "o" 可見出其與 [xyz] 功能相反 同時請同學也注意 /^/ 與 [^] 之間功能的不同 |
[\b] | 比對退位字元(Backspace character) | 可以比對一個 backspace ,也請注意 [\b] 與 \b 之間的差別 |
\b | 比對英文字的邊界,例如空格 | 例如 /\bn\w/ 可以比對 "noonday" 中的 'no' ; /\wy\b/ 可比對 "possibly yesterday." 中的 'ly' |
\B | 比對非「英文字的邊界」 | 例如, /\w\Bn/ 可以比對 "noonday" 中的 'on' , 另外 /y\B\w/ 可以比對 "possibly yesterday." 中的 'ye' |
\cX | 比對控制字元(Control character),其中 X 是一個控制字元 | /\cM/ 可以比對 一個字串中的 control-M |
\d | 比對任一個數字,等效於 [0-9] | /[\d]/ 可比對 由 "0" 至 "9" 的任一數字 但其餘如字母等就不可比對 |
\D | 比對任一個非數字,等效於 [^0-9] | /[\D]/ 可比對 "w" "a"... 但不可比對如 "7" "1" 等數字 |
\f | 比對 form-feed | 若是在文字中有發生 "換頁" 的行為 則可以比對成功 |
\n | 比對換行符號 | 若是在文字中有發生 "換行" 的行為 則可以比對成功 |
\r | 比對 carriage return | |
\s | 比對任一個空白字元(White space character),等效於 [ \f\n\r\t\v] | /\s\w*/ 可比對 "A b" 中的 "b" |
\S | 比對任一個非空白字元,等效於 [^ \f\n\r\t\v] | /\S/\w* 可比對 "A b" 中的 "A" |
\t | 比對定位字元(Tab) | |
\v | 比對垂直定位字元(Vertical tab) | |
\w | 比對數字字母字元(Alphanumerical characters)或底線字母("_"),等效於 [A-Za-z0-9_] | /\w/ 可比對 ".A _!9" 中的 "A" "_" "9" |
\W | 比對非「數字字母字元或底線字母」,等效於 [^A-Za-z0-9_] | /\W/ 可比對 ".A _!9" 中的 "." " " "!" 可見出其與 \w 功能恰好相反 |
\ooctal | 比對八進位,其中octal是八進位數目 | /\oocetal123/ 可比對 與 八進位的ASCII中 "123" 所相對應的字元值 |
\xhex | 比對十六進位,其中hex是十六進位數目 | /\xhex38/ 可比對 與 16進位的ASCII中 "38" 所相對應的字元 |
通用式 | 說明及範例 | 比對不成立之字串 |
---|---|---|
/a/ | 含字母 "a" 的字串,例如 "ab", "bac", "cba" | "xyz" |
/a./ | 含字母 "a" 以及其後任一個字元的字串,例如 "ab", "bac"(若要比對.,請使用 \.) | "a", "ba" |
/^xy/ | 以 "xy" 開始的字串,例如 "xyz", "xyab"(若要比對 ^,請使用 \^) | "axy", "bxy" |
/xy$/ | 以 "xy" 結尾的字串,例如 "axy", "abxy"以 "xy" 結尾的字串,例如 "axy", "abxy" (若要比對 $,請使用 \$) | "xya", "xyb" |
/[13579]/ | 包含 "1" 或 "3" 或 "5" 或 "7" 或 "9" 的字串,例如:"a3b", "1xy" | "y2k" |
/[0-9]/ | 含數字之字串 | 不含數字之字串 |
/[a-z0-9]/ | 含數字或小寫字母之字串 | 不含數字及小寫字母之字串 |
/[a-zA-Z0-9]/ | 含數字或字母之字串 | 不含數字及字母之字串 |
/b[aeiou]t/ | "bat", "bet", "bit", "bot", "but" | "bxt", "bzt" |
/[^0-9]/ | 不含數字之字串(若要比對 ^,請使用 \^) | 含數字之字串 |
/[^aeiouAEIOU]/ | 不含母音之字串(若要比對 ^,請使用 \^) | 含母音之字串 |
/[^\^]/ | 不含 "^" 之字串,例如 "xyz", "abc" | "xy^", "a^bc" |
通用表示法的特定字元 | 說明 | 等效的通用表示法 |
---|---|---|
\d | 數字 | [0-9] |
\D | 非數字 | [^0-9] |
\w | 數字、字母、底線 | [a-zA-Z0-9_] |
\W | 非 \w | [^a-zA-Z0-9_] |
\s | 空白字元 | [ \r\t\n\f] |
\S | 非空白字元 | [^ \r\t\n\f] |
通用表示法 | 說明 |
---|---|
/a?/ | 零或一個 a(若要比對? 字元,請使用 \?) |
/a+/ | 一或多個 a(若要比對+ 字元,請使用 \+) |
/a*/ | 零或多個 a(若要比對* 字元,請使用 \*) |
/a{4}/ | 四個 a |
/a{5,10}/ | 五至十個 a |
/a{5,}/ | 至少五個 a |
/a{,3}/ | 至多三個 a |
/a.{5}b/ | a 和 b中間夾五個(非換行)字元 |
與通用式相關的方法 | 功能 |
---|---|
re.exec(string) | 從字串 string 抽取符合通用式 re 的子字串,並以字串陣列傳回 |
re.test(string) | 以字串 string 比對通用式 re,並傳回比對結果(true 代表比對成功,false 代表比對失敗) |
string.search(re) | 通用式 re 在某個字串 string 出現的位置 |
string.match(re) | 從字串 string 抽取符合通用式 re 的子字串,並以字串陣列傳回,此功能和 re.exec(string) 相同 |
string.replace(re, newStr) | 將字串 string 符合通用式 re 的部分,代換為 newStr |
2012年8月24日 星期五
花東親子旅遊
花蓮:
1.海濱自行車道(洄瀾客棧~南濱夜市)(免費)
2.立川漁場摸黃金蜆(門票),豐春冰果室吃柴燒紅豆芋頭冰
3.慕谷慕魚(免費)
4.柴魚博物館,七星潭(免費)
5.鯉魚潭(免費)
6.自強夜市,南濱夜市,市區夜市(免費)
7.東華大學(免費)
8.雲山水(免費)
9.六十石山金針花(免費)
10.光復糖廠(免費)
11.馬太鞍濕地
12.兆豐農場(門票,非常大)
13.瑞穗牧場(免費)
台東:
1.悟饕池上飯包博物館(免費,可買好吃的飯包)
2.關山鎮環鎮自行車道(13公里)+親水公園(門票 50元但值得)
3.鹿野高台熱氣球(免費)
4.初鹿牧場(門票小貴 100元 不能抵消費,區域不大)
5.原生應用植物園(門票可以完全抵消費)
6.太麻里金針山(免費,有點遠且規模比不上六十石山,但路途中可遠眺海岸)
1.海濱自行車道(洄瀾客棧~南濱夜市)(免費)
2.立川漁場摸黃金蜆(門票),豐春冰果室吃柴燒紅豆芋頭冰
3.慕谷慕魚(免費)
4.柴魚博物館,七星潭(免費)
5.鯉魚潭(免費)
6.自強夜市,南濱夜市,市區夜市(免費)
7.東華大學(免費)
8.雲山水(免費)
9.六十石山金針花(免費)
10.光復糖廠(免費)
11.馬太鞍濕地
12.兆豐農場(門票,非常大)
13.瑞穗牧場(免費)
台東:
1.悟饕池上飯包博物館(免費,可買好吃的飯包)
2.關山鎮環鎮自行車道(13公里)+親水公園(門票 50元但值得)
3.鹿野高台熱氣球(免費)
4.初鹿牧場(門票小貴 100元 不能抵消費,區域不大)
5.原生應用植物園(門票可以完全抵消費)
6.太麻里金針山(免費,有點遠且規模比不上六十石山,但路途中可遠眺海岸)
2012年1月6日 星期五
Write ini with TIniFile
#include "IniFiles.hpp"
void __fastcall TMain::Config1Click(TObject *Sender)
{
//config setting
if (FrmConfig->ShowModal() == mrOk)
{
try
{
String iniDirPath = ExtractFilePath(Application->ExeName)+ "\Config.ini";//ini data path
TIniFile *aIniFile = new TIniFile(iniDirPath);
aIniFile->WriteString("Path","SharePath",FrmConfig->edtPort->Text);
aIniFile->WriteString("Port","ComunicationPort",FrmConfig->edtPath->Text);
}
catch(...)
{
ShowMessage("Save Config Data Fail!");
}
}
}
void __fastcall TMain::Config1Click(TObject *Sender)
{
//config setting
if (FrmConfig->ShowModal() == mrOk)
{
try
{
String iniDirPath = ExtractFilePath(Application->ExeName)+ "\Config.ini";//ini data path
TIniFile *aIniFile = new TIniFile(iniDirPath);
aIniFile->WriteString("Path","SharePath",FrmConfig->edtPort->Text);
aIniFile->WriteString("Port","ComunicationPort",FrmConfig->edtPath->Text);
}
catch(...)
{
ShowMessage("Save Config Data Fail!");
}
}
}
limited TEdit key in 0~9 and value in BCB
//limited 0~9 and value < 65535 in BCB
void __fastcall TMain::edtPortKeyPress(TObject *Sender, char &Key)
{
if (((Key >= '0') && (Key <= '9')) || (Key == '\b'))
{
if ((Key >= '0') && (Key <= '9'))
{
if (StrToInt(edtPort->Text+Key) > 65535)
Key = 0;
}
}
else
{
Key = 0;
}
}
void __fastcall TMain::edtPortKeyPress(TObject *Sender, char &Key)
{
if (((Key >= '0') && (Key <= '9')) || (Key == '\b'))
{
if ((Key >= '0') && (Key <= '9'))
{
if (StrToInt(edtPort->Text+Key) > 65535)
Key = 0;
}
}
else
{
Key = 0;
}
}
訂閱:
文章 (Atom)