2007年6月28日 星期四

Ruby 連mysql 使用utf-8

1.找 app/config/database.yml 修改成
development:
adapter: mysql
database: dbname
username: username
password: password
host: ip port: 3306
encoding: utf8

2.找app/config/environment.rb最上面加$KCODE="u"

3.找app/controllers/environment.rb修改成
class ApplicationController < ActionController::Base
# Pick a unique cookie name to distinguish our session data from others'
session :session_key => '_testmysql_session_id'

before_filter :set_charset
def set_charset
@headers["Content-Type"] = "text/html; charset=utf-8"
end
suppress(ActiveRecord::StatementInvalid) do
ActiveRecord::Base.connection.execute "SET NAMES UTF8"
end

end

Calling Stored Procedures from Rails

Anyway, to call a stored procedure in Rails I used the following:

sql = "declare @result int \n"

sql += "declare @some_value uniqueidentifier \n"

sql += "exec @result = my_stored_procedure @input1 = 'hello', @input2 = 'world', @output = @some_value output \n"

sql += "select @result\n" # change this to select @some_value if you want to access the output parameter

result = connection.select_value(sql)


EX:
sql = "declare @iid int "
sql += "exec sp_test_insert_02 'aabbccdd', @iid output "
sql += "select @iid "
@res = ActiveRecord::Base.connection.select_value(sql)

Rails 架構


Rails 常用的小抄


Ruby的Symbol是什麼?

Ruby Symbol是代表一個字串的符號, 並且有下面兩個特性
1. 不可變動性 (所代表的字串內容不可更改)
2. 唯一性 (系統中代表同一個字串的symbol 是同一個instance)

在Ruby中, Symbol也是一個class, 但是它並不是String的subclass.
Symbol class不提供 Symbol.new 讓我們使用,

如果要產生Symbol的instance要使這個方式
>x = :abc
=>:abc
上面程式告訴Ruby, 我要產生一個Symbol的instance, 他所代表的字串是"abc"
>x.class
=>Symbol
我們可以看出來, x的class是Symbol而不是String
>y = :abc
=>:abc
>x.object_id
=>243938
>y.object_id
=>243938
上面我們看出 Symbol的唯一性, x和y是同一個object. (因為x和y的object_id是一樣的)

Symbol有什麼用? 也就是說Ruby為什麼要有Symbol?
有兩個原因第一是節省記憶體空間(space), 第二是增加執行時的效率(performance)
如果你是Java的programmer,應該知道, Java的String內容是不能改變的. 然後Ruby的String卻完全不是這麼一回事,
>m = "abc"
=>"abc"
>n = "abc"
=>"abc"
>m.object_id
=>23225030
>n.object_id
=>23222010
>m[0]="A"
=>"A"
>m
=>"Abc"
看出來了嗎? m和n都是字串"abc", 但是的卻是不同的instance (object_id不一樣), 而且字串的內容是可以修改的.
但是..........字串是程式中常常用到的, Ruby中的 每一個"abc", 其實都是 String.new("abc"), 如果我們程式中有太多的"abc", 那麼, Ruby就會create一堆的 String instance...., 所以如果我們可以在程式裡多用:abc 來取代"abc", 那麼就可以節省掉一些記憶體的空間. symbol最普遍應用的就是就屬hashmap的key值了.

Symbol第二個好處就是增加執行時的performance, Symbol在ruby內部除了代表一個字串外, 其實也代表了一個數字

如果ruby執行到 m.do_something, 在Ruby的內部, 會在m中找一個名稱叫做 do_something, 如果Ruby用字串比對的方式在m中去找名稱叫 "do_something"的method, 那麼performance將會很低(因為字串的比對是很花時間的), 所以Ruby會將 "do_something"轉成 :do_something, 由於:do_something也代表了某個數字(假設代表的數字是34), 因為Ruby只要在m中尋找 34這一個method, 這樣比用字串比對去找"do_something"要快得多了....
所以在Ruby當中 m.do_something 事實上是呼叫 m.send(:do_something)

Ruby 中 “require”, “load” 和 “include” 有甚麼不同呢?

請參考這裡 http://anw.stikipad.com/ocean/show/require+load+and+include
require” 和 “load” 用途是一致的, 用來載入新的程式庫, “include” 是用來 mix-in 模組.

1. “require” 可載入某個 a.rb 檔案, 且可以省略 ”.rb”. 而且它只會在第一次的時候載入, 若再次 “require” 時就會忽略
require 'a'
a = A.new


2. “load” 和 “require” 一樣但要用 a.rb 全名, 且每次一定會重新載入
load 'a.rb'
a = A.new

3. 載入程式庫的順序呢(類似 java class path)? Ruby 把這個資訊存在 ”$:” 系統全域變數上, 你可以藉著 RUBYLIB 或 ruby -I 來加入新的載入目錄.
puts $:

4. “include” 用來 mix-in 某個模組, 可以減少書寫的長度
require 'webrick'
include WEBrick

//可以不用 server = WEBrick::HTTPServer.new(...)
//server = HTTPServer.new(...)

2007年6月25日 星期一

使某區塊的程式全部往後移

若要使某區塊的程式全部往後移,則先選擇程式,再按Shift+Ctrl+I,如下圖

若要使某區塊的程式全部往前移,則先選擇程式,再按Shift+Ctrl+U,如下圖


2007年6月22日 星期五

讓你的ROR也能連SQL Server

在 ./config/database.yml 寫上..

development:
adapter: sqlserver #固定寫法
database: database_name
host: server_name #若有port的話..寫法為 server_name,5555
username: user_name
password: your_pw_here

相關文章:http://wiki.rubyonrails.org/rails/pages/HowtoConnectToMicrosoftSQLServer

若想下載ADO.rb: ADO.rb

Vista系統變慢的四大原因

如果你的Windows Vista作業系統安裝後,系統變的越來越慢呢?下面筆者給大家分析一下。
1、註冊表變得更加臃腫了
註冊表對於系統速度的影響,有點說不清道不明。微軟設計註冊表,給應用程式一個統一存放配置資訊的地方,因為註冊表在系統啟動時載入,所以應用程式在啟動時,使用註冊表項比使用外部配置檔案要快。但是如果註冊表太大的話,將消耗很多的系統資源,為什麼有那麼多註冊表清理軟體存在,因為註冊表垃圾太多了,不光是應用軟體製造註冊表垃圾,Windows自己也製造註冊表垃圾。  

在製造註冊表垃圾的軟體當上,微軟的軟體應該是名列前矛,像Office、.NET Framework,都是寫註冊表達數量巨大的軟體。Windows Vista的註冊表,據估計至少比Windows XP臃腫一倍。

2、預裝了更多的字體
Windows XP/2003只預裝了60種左右的TrueType字體,到了Windows Vista,居然達到了190種之多,數量翻了三倍還多,大家應該知道,系統安裝的字體越多,越影響速度。根據這篇文章的測試,安裝100種字體,系統延遲增加5.33秒,Windows Vista預裝190多種字體,那麼系統啟動速度將會增加延遲近10秒。而且問題是,這些字體我們需要嗎? 
 
用戶需要用這些字體寫文檔嗎?需要用它們來做設計嗎?基本上是不需要的。微軟推出什麼所謂的雅黑字體,號稱花費上億美元,一個字100美元,抄襲Mac OSX,也只是東施效顰而已,Windows Vista的界面,還是那麼醜陋,和Mac OSX根本沒法比。而且更搞笑的是,居然傳出Windows Vista某個字體有缺字的情況。

3、捆綁了不止一個的.NET運行環境
這個東西是個速度殺手,而且是一般用戶所不需要的。搞軟體開發的都知道,.NET用來做Web應用還好,但是如果用來做桌面應用,是不好的,它實在太慢了,用戶不能忍受一個啟動時慢吞吞的,處理工作時延遲太久。所以到目前為止,用.NET開發的桌面應用軟體仍然是少之又少,就像微軟,也不敢用它來做Office的主要開發工具,最多只是在一些小功能上用到.NET。.NET的可惡之處,在於它與系統緊密結合,所以十分影響作業系統的速度。 
 
首先它在安裝的時候寫了太多的註冊表項,至少幾萬條。第二點就是它在Windows啟動時就載入了許多DLL,微軟為了造成.NET速度快的假像,於是就在Windows啟動時預先載入.NET的DLL(手法如同Office)。而且,Windows Vista還不止預裝一個.NET運行環境。不信你去C:WINDOWSMicrosoft.NETFramework這個目錄看一下,看有幾個以版本號命名的目錄。相比之下,.NET的對手Java就不是這樣,在Windows平檯上,它只註冊了很少的DLL,而且並不在系統啟動時載入。在非Windows平檯上,Java還可以是綠色軟體。

4、使用了更加複雜、花俏的界面技術
Windows Vista使用了所謂的Aero、Flip 3D界面技術,可惜這些東西並不能給用戶帶來方便,而且外觀設計並不優秀,甚至比較醜陋。最可惡的一點是,它們消耗極大的系統資源。微軟的界面技術,又是東施效顰,越效越噁心。沒想到微軟這種保守的跟屁蟲公司居然敢把任務欄和標題欄做成黑色調,功能表欄做成青色,控制按鈕搞得大小不一,而且尺寸加大,變成扁平狀,這種設計好像很大膽,很有創意,但是不難發現,這種設計十分醜陋。
  
如果說Mac OSX就像水晶一樣美麗的話,那麼Windows Vista看起來就像劣質的塑膠和破麻布一般醜陋,要知道Mac OSX的界面那是6年前的設計呢。微軟東施效顰算是效到底了,這回把圖示也搞大了,可是那些圖示除了帶來系統垃圾以外,有什麼用呢,誰要用你的大圖示啊,再看看shell32.dll裡面,新圖示舊圖示夾在一塊,就是那麼的不協調。什麼Aero、Flip 3D,不僅是視覺垃圾,更是系統垃圾。

2007年6月17日 星期日

PHP 物件導向程式設計 相關網站

http://php.igt.com.tw/unit_111.htm

Delphi 執行時發生『找不到重要的DLL檔-QTINTF.DLL』錯誤訊息

Delphi 封裝應用程式後,在某些PC上會發生『找不到重要的DLL檔-QTINTF.DLL』錯誤訊息
避免uses 一些QXXX.pas
其需要連結qtintf.Dll
有些作業系統無此DLL

PHP正規表達式基本語法

首先讓我們看兩個特殊的符號'^'和'$'。他們的作用是分別指出一個字串的開始和結束。例子如下:
"^The":表示所有以"The"開始的字串("There","The cat"等);
"of despair$":表示所以以"of despair"結尾的字串;
"^abc$":表示開始和結尾都是"abc"的字串--呵呵,只有"abc"自己了
"notice":表示任何包含"notice"的字串。

最後那個例子,如果你不使用兩個特殊字元,你就在表示要查找的串在被查找串的任意部分--你並不把它定位在某一個頂端。

其他還有'*','+'和'?'這三個符號,表示一個或一序列字元重復出現的次數。它們分別表示"沒有或更多","一次或更多"還有"沒有或一次"。下面是幾個例子:

"ab*":表示一個字串有一個a後面跟著零個或若干個b。("a", "ab", "abbb",……);
"ab+":表示一個字串有一個a後面跟著至少一個b或者更多;
"ab?":表示一個字串有一個a後面跟著零個或者一個b;
"a?b+$":表示在字串的末尾有零個或一個a跟著一個或幾個b。

也可以使用範圍,用大括弧括起,用以表示重復次數的範圍。

"ab{2}":表示一個字串有一個a跟著2個b("abb");
"ab{2,}":表示一個字串有一個a跟著至少2個b;
"ab{3,5}":表示一個字串有一個a跟著3到5個b。

請注意,你必須指定範圍的下限(如:"{0,2}"而不是"{,2}")。還有,你可能注意到了,'*','+'和'?'相當於"{0,}","{1,}"和"{0,1}"。

還有一個'¦',表示"或"操作:
"hi¦hello":表示一個字串裏有"hi"或者"hello";
"(b¦cd)ef":表示"bef"或"cdef";
"(a¦b)*c":表示一串"a""b"混合的字串後面跟一個"c";

'.'可以替代任何字元:

"a.[0-9]":表示一個字串有一個"a"後面跟著一個任意字元和一個數位;
"^.{3}$":表示有任意三個字元的字串(長度為3個字元);
方括號表示某些字元允許在一個字串中的某一特定位置出現:

"[ab]":表示一個字串有一個"a"或"b"(相當於"a¦b");
"[a-d]":表示一個字串包含小寫的'a'到'd'中的一個(相當於"a¦b¦c¦d"或者"[abcd]");
"^[a-zA-Z]":表示一個以字母開頭的字串;
"[0-9]%":表示一個百分號前有一位元的數位;
",[a-zA-Z0-9]$":表示一個字串以一個逗號後面跟著一個字母或數位結束。

也可以在方括號裏用'^'表示不希望出現的字元,'^'應在方括號裏的第一位。(如:"%[^a-zA-Z]%"表示兩個百分號中不應該出現字母)。

為了逐字表達,你必須在"^.$()¦*+?{\"這些字元前加上轉移字元'\'。

請注意在方括號中,不需要轉義字元。

PHP的正規表達方式有一些內置的通用字符:
[[:alpha:]] 任何字母,等於[a-zA-Z]
[[:digit:]] 任何數字 ,也就是[0-9]
[[:alnum:]] 任何字母和數字,也等於[a-zA-Z0-9]
[[:space:]] 表示所有鍵盤操作,如空白、Tab、Enter、Backspace,相當於[\n\t\r\x0b]
[[:upper:]] 任何大寫字母 ,也就是[A-Z]
[[:lower:]] 任何小寫字母 ,也就是[a-z]
[[:punct:]] 任何標點符號
[[:xdigit:]] 任何16進制的數字,相當於[0-9a-fA-F]

[[:blank:]] 表示空格,等於[\t]

特殊字符:
\s:(小寫s)用于匹配單個空格符,包括tab键和換行
\S:(大寫S)用于匹配除單個空格符之外的所有字符
\d:用于匹配从0到9的數字
\w:(小寫w)用于匹配字母,數字或底線(_)
\W:(大寫W)用于匹配所有與\w不匹配的字符
. :用于匹配除換行符之外的所有字符



php檢查Server的Port是否能正常連線

host能輸入domain跟ip

給它主機名稱跟port,如果正常連線會傳回ture失敗傳回false,監測時間大概一秒鐘,超過則算失敗

function chkservice($host, $port)
{
if (ini_get('display_errors')==1)
{
//判斷ini的display errors的設定
$ch_ini_display=1;
ini_set('display_errors', 0);//設定連線錯誤時不要display errors
}

$hostip = gethostbyname($host); //檢查輸入的host name dns正解
if (!$x = fsockopen($hostip, $port, $errno, $errstr, 1)) //測試連線
{
return false;
}
else
{
return ture;
if ($x)
{
fclose($x); //關閉連線
}
}

if ($ch_ini_display==1)
{
ini_set('display_errors', 1); //將ini的display error設定改回來
}
}

2007年6月13日 星期三

設置 Ruby 開發環境

使用工具與軟體:

1、Java Runtime Environment (JRE) (這是我們用的 IDE - Aptana 所需的執行環境)
下載後直接安裝

2、下載 Ruby
A、安裝時,建議安裝在 X:\Java\Ruby 下,較好管理,安裝時,有個元件 (Sci-TE) 可以取消不安裝
B、安裝完成後,請進入 dos 畫面,進入 X:\Java\Ruby 的資料夾下,鍵入 gem install --include-dependencies 這個會將 Rails 安裝起來

3、Aptana IDE (這套是以 Eclipse 為核心開發的 Ruby 編輯器
A、下載完後直接安裝,建議安裝在 X:\Java\Aptana 的資料夾下 (X 指的是你自己想安裝的磁碟機)
B、啟動時,會詢問你想要的工作資料夾, 建議是 X:\Java\Work 底下
C、更新 Package:
a、啟動 Aptana 後,請先至 【說明】 => 【軟體更新】 => 【尋找與安裝...】 => 【搜尋要安裝的新特性】
     => 選擇全部的元件後下一步,將所有的元件裝起來

2007年6月12日 星期二

改變網頁字型的大小

檢視-字型 :即可調整字的大小

若網頁沒有工具列則:
工具->網際網路選項->一般->存取設定
將"略過Web網頁上指定的字型大小"打勾後按確定,然後再去檢視-字型 ,調整字體大小即可

2007年6月9日 星期六

世界各國網域名稱代碼總表

網域名稱 國家或地區名稱(英文)(中文)

AD Andorra 安道爾
AE United Arab Emirates 阿拉伯聯合大公國
AF Afghanistan 阿富汗
AG Ntigua and Barbuda 安地卡及巴布達
AI Angola 安圭拉
AL Albania 阿爾巴尼亞
AM Armenia 亞美尼亞
AN Netherlands Antilles 荷屬安的列斯群島
AO Angola 安哥拉
AQ Antarctica 南極洲
AR Argentina 阿根廷
AT Austria 奧地利
AU Australia 澳大利亞
AW Aruba 阿魯巴
AZ Azerbaijan 亞塞拜然
BA Bosnia Hercegovina 波士尼亞
BB Barbados 巴貝多
BD Bangladesh 孟加拉
BE Belgium 比利時
BF Burkina Faso 布吉納法索
BG Bulgaria 保加利亞
BH Bahrain 巴林
BI Burundi 蒲隆地
BJ Benin 貝南
BM Bermuda 百慕達
BN Brunei Darussalam 汶萊
BO Bolivia 玻利維亞
BR Brazil 巴西
BS Bahamas 巴哈馬
BT Bhutan 不丹
BV Bouvet Island 波維特島
BW Botswana 波札那
BY Byelorussian SSR 白俄羅斯
BZ Belize 貝里斯
CA Canada 加拿大
CC COCOS Islands 可可斯群島(椰子島)
CF The Central African Republic 中非共和國
CG Congo 剛果
CH Switzerland 瑞士
CI Lvory Coast 象牙海岸
CK Cook Island 科克群島
CL Chile 智利
CM Cameroon 喀麥隆
CN China 中國大陸
CO Colombia 哥倫比亞
CR Costa rica 哥斯大黎加
CU Cuba 古巴
CV Cape Verde,Republic of 維德角
CX Christmas Island 耶路撒冷
CY Cyprus 賽普勒斯
CZ Czech Republic 捷克共和國
DE Grmany 德國
DJ Djibouti 吉布地
DK Denmark 丹麥
DM Gominica 多明哥
DO Dominica 多米尼加
DZ Algeria 阿爾及利亞
EC Ecuador 厄瓜多
EE Estonia 愛沙尼亞
EG Egypt 埃及
EH West Sahara 西撒哈拉
ES Spain 西班牙
ET Ethiopia 衣索比亞
FI Finland 芬蘭
FJ Fiji 斐濟
FK Falkland Islands 福克蘭群島
FM Micronesia 密克羅尼西亞
FO Faroe Islands 法羅群島    
FR France 法國
GA Gabon 加彭
GB United Kingdom 英國
GD Grenada 格瑞納達
GE Georgia 喬治亞
GF French Guiana 法屬圭亞那
GH Ghana 迦納
GI Gibraltar 直布羅陀
GL Greenland 格陵蘭
GM Gambia 甘比亞
GN Guinea 幾內亞
GP Guadeloupe 瓜德魯普島
GQ Equatorial Guinea 赤道幾內亞
GR Greece 希臘
GT Guatemala 瓜地馬拉
GU Guam 關島
GW Guinea-Bissau 幾內亞比索
GY Guyana 圭亞那
HK Hong Kong 中國香港
HM Heard and McDonald Islands 赫德及麥當勞群島
HN Honduras 宏都拉斯
HR Croatia 克羅埃西亞
HT Haiti 海地
HU Hungary 匈牙利
ID Indonesia 印度尼西亞
IE Ireland 愛爾蘭
IL Israel 以色列
IN India 印度
IO British Indian Ocean Territory 英聯邦的印度洋領域
IQ Iraq 伊拉克
IR Iran 伊朗
IS Iceland 冰島
IT Italy 意大利
JM Jamaica 牙買加
JO Jordan 約旦
JP Japan 日本
KE Kenya 肯亞
KG Kyrgyzstan 吉爾吉斯
KH Cambodia 高棉(柬埔寨)
KI Kiribati 吉里巴斯
KM Comoros 科摩羅
KN St. Kitts and Nevis 聖克里斯多福及尼維斯
KP Korea, Democratic People's Rep. Of 北韓
KR Korea, Republic Of 南韓
KW kuwait 科威特
KY Cayman Islands 開曼群島
KZ Kazakstan 哈薩克
LA Laos 寮國
LB Lebanon 黎巴嫩
LC St. Lucia 聖露西亞
LI Liechtenstein 列支敦斯登
LK Sri Lanka 斯里蘭卡
LR Liberia 賴比瑞亞
LS Lesotho 賴索托
LT Lithuania 立陶宛
LU Luxembourg 盧森堡
LV Latvia 拉脫維亞
LY Libya 利比亞
MA Morocco 摩洛哥
MC Monaco 摩納哥
MD Moldova,Republic of 摩爾多瓦
MG Malagasy 馬達加斯加
MH Marshall Islands 馬紹爾群島
MK Macedonia 馬其頓
ML Mali 馬利
MM Burma 緬甸
MN Mongolia 蒙古
MO Macao 中國澳門
MP Northern Nariana Islands 北聖    
MQ Martinique 聖馬丁  
MR Mauritania 茅利塔尼亞
MS Montserrat 蒙瑟拉特島  
MT Malta 馬爾他
MU Mauritius 模里西斯
MV Maldives 馬爾地夫
MW Malawi 馬拉威
MX Mexico 墨西哥
MY Malaysia 馬來西亞
MZ Mozambique 莫三比克
NA Namibia 納米比亞
NC New Caledonia 新加勒多尼亞
NE Niger 尼日
NF Norfolk Island 諾福克群島    
NG Nigeria 奈及利亞
NI Nicaragua 尼加拉瓜
NL Netherlands 荷蘭
NO Norway 挪威
NP Nepal 尼泊爾
NR Naura 諾魯
NT Neutral Zone 中立區      
NU Niue 紐威島
NZ New Zealand 紐西蘭
OM Oman 阿曼
PA Panama 巴拿馬
PE Peru 秘魯
PF French Polynesia 法屬玻里尼西亞
PG Papua,Territory of 巴布亞新幾內亞
PH Philippines 菲律賓
PK Pakistan 巴基斯坦
PL Poland 波蘭
PM St.Pierre and Miquelon 聖皮耳  
PN Pitcairn Islands 皮特開恩群島
PR Puerto Rico 波多黎各(美)
PT Portugal 葡萄牙
PW Palau 帛琉
PY Paraguay 巴拉圭
QA Qatar 卡達
RE Reunion Island 留尼旺島   
RO Romania 羅馬尼亞
RU Russia 俄羅斯聯邦
RW Rwanda 盧安達
SA Saudi Arabia 沙烏地阿拉伯
SB Solomon Islands 所羅門群島
SC Seychelles 塞席爾
SD Sudan 蘇丹
SE Sweden 瑞典
SG Singapore 新加坡
SH St.Helena 聖赫勒拿島
SI Slovene 斯洛法尼亞
SJ Svalbard and Jan Mayen Islands 凡帝   
SK Slovakia 斯洛伐克
SL Sierra leone 獅子山
SM San Marino 聖馬利諾
SN Senegal 塞內加爾
SO Somali 索馬利亞
SR Surinam 蘇利南
ST Sao Tome and Principe 聖多美及普林西比
SU USSR(formerly) 蘇聯(前)
SV El Salvador 薩爾瓦多
SY Syria 敘利亞
SZ Swaziland 史瓦濟蘭
TC Turks and Caicos Islands 土克斯及開科斯群島
TD Chad 查德
TF French Southern Territoties 法屬南部屬地
TG Togo 多哥
TH Thailand 泰國
TJ Tsjikistan 塔吉克
TK Tokela 托克勞群島
TM Turkomanstan 土庫曼
TN Tunisia 突尼西亞
TO Tonga 東加
TP East Timor 帝汶
TR Turkey 土耳其
TT Trinidad and Tobago 千里達及托貝哥
TV Tuvalu 吐瓦魯
TW Taiwan 台灣
TZ Tanzania 坦尚尼亞
UA Ukiain 烏克蘭
UG Uganda 烏干達
UK England 英國(正式代碼為GB)
UM United States Minor Outlying Islands 美屬邊疆群島
US America 美國
UY Uruguay 烏拉圭
UZ Uzbekstan 烏茲別克
VA Vatican 梵蒂岡(羅馬教庭)
VC St. Vincent and the Grenadines 聖文森及格   
VE Venezuela 委內瑞拉
VG Virgin Islands(British) 英屬維爾京群島(英)
VI Vigin Islands(U.S.) 英屬維爾京群島(美)
VN Vietnam 越南
WF Wallis and Furtuna Islands 沃利斯和富圖納群島    
WS Western Samoa 西薩摩亞
YE Yemen 葉門
YU Yugoslavia 南斯拉夫
ZA South Africa 南非
ZM Zambia 尚比亞
ZR Zaire 扎伊爾
ZW Zimbabwe 辛巴威
ZZ Other 其他國家

2007年6月4日 星期一

delphi匯出至excel的相關指令

不知如何用DELPHI寫EXCEL的程式時,可進入Excel後按"巨集錄制",錄後進入巨集查看,再將指令copy後貼上至Delphi的OLE指令中

2007年6月3日 星期日

XMLHttpRequst安全問題!

瀏覽器在設計物件之初,已經考慮到安全性的問題,因而限制XMLHttpRequest請求的資源與呼叫的腳本程式,兩者必須在同一個網域內,不能存取網域外的資源,藉此降低風險。

XMLHttpRequest物件請求的所有資源都必須與呼叫腳本在同一個網域內。
這個安全限制使得XMLHttpRequest物件不能請求腳本所在網域之外的資料。
所以要避免使用XMLHttpRequest存取外部URL

參考來源:Ajax技術手冊