站內搜尋:Yahoo搜尋的結果,如果沒有給完整的網址,請在站內再搜尋一次!

顯示具有 AS/400 標籤的文章。 顯示所有文章
顯示具有 AS/400 標籤的文章。 顯示所有文章

2015-10-03

JavaScript 半形轉全形‏

AS/400中文自有 0E 0F 隱藏字元的問題,這對需要計算有中文字和ASCII字元混雜的字串長度來說,好像有一點小複雜,所以就來個投機的方法,就把所有ASCII的半形字元轉換為對應的全形文字,來避開 0E 0F所帶來計算實際字串長度所帶來的困擾。

function Half2Full() {
    var i = 0;
    vat aTmp = new Array();
    var zStr1 = document.getElementById("字串來源ID").value;
    var zStr2 = "";
    for(i = 0; i < zStr1.length; i++) {
        if(zStr1.charCodeAt(i) >=0 && zStr1.charCodeAt(i) <= 32) {
            aTmp[i] = 0;   //ascii 小於等於 32的字元,都先清為 null
        } else if(zStr1.charCodeAt(i) >=33 && zStr1.charCodeAt(i) <= 126)  {
            aTmp[i] = zStr1.charCodeAt(i) + 65248;   //ascii介於33~126之間的字元,加上65248準備轉為全型unicode
        } else {
            aTmp[i] = zStr1.charCodeAt(i);
        }
        zStr2 += String.fromCharCode(aTmp[i]);    //轉為全型unicode
    }
    document.getElementById("字串來源ID").value = zStr2;  //裝轉換結果回填到原來源字串位置
}

2013-04-03

如何使用ASP執行AS/400的RGP程式(有傳入參數值,並回傳參數值)

只要掌握幾個要點,要透過ASP來執行AS/400的RGP程式,並不是一件很難的事
使用IBMDA400所提供的ADODB(OLEDB)連線存取功能,以connection物件建立連線,再以command物件建立要傳入傳出的參數,執行command,即可透過ASP執行RPG程式。
<%
  set conn=server.createobject("ADODB.connection")    
  ConnStr = "Provider=IBMDA400;Data Source=400主機網址;User Id=帳號;Password=密碼;"
  conn.open ConnStr
  set ccmd = server.CreateObject("ADODB.Command")
  set ccmd.ActiveConnection = conn
  ccmd.CommandType = adCmdText   
  '''必須包含{{}},這個RGPNAME共有三個參設
  ccmd.CommandText = "{{call TSTLIB.RGPNAME(?,?,?)}}"
  ccmd.NamedParameters = True
  ccmd.Prepared = True
  '''依序建立這三個參數
  '''第一個參數以資料型態char(10),值=zPara1,傳入給RPG的PARA1接收。
  set para = ccmd.CreateParameter("PARA1",adChar,adParamInput,10,zPara1)
  ccmd.Parameters.Append para
  set para = ccmd.CreateParameter("PARA2",adChar,adParamInput,10,zPara2)
  ccmd.Parameters.Append para
  '''第三個參數以資料型態char(10),接收給RPG的PARA3的回傳值。
  set para = ccmd.CreateParameter("PARA3",adChar,adParamOutput,10,zPara3)
  ccmd.Parameters.Append para
  ccmd.Execute()
  zPARA = ccmd.Parameters("PARA3").value
  conn.close()
%>