2010年4月7日

          基于Domino8.5.1創(chuàng)建Web應(yīng)用程序

          http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Master_Table_of_Contents_for_Building_Domino_Web_Applications_using_Domino_8.5.1

          posted @ 2010-04-19 10:44 明高 閱讀(304) | 評(píng)論 (0)編輯 收藏

          Eclipse無(wú)插件配置Resin

          http://blog.csdn.net/samboy2002/archive/2006/04/03/648785.aspx

          posted @ 2010-04-19 09:52 明高 閱讀(271) | 評(píng)論 (0)編輯 收藏

          Lotus的服務(wù)器端編程

          posted @ 2010-04-12 17:09 明高 閱讀(222) | 評(píng)論 (0)編輯 收藏

          1

          Teamstudio CIAO! Client Edition  2.50

          Serial No.        AP-24607  License Key        PMSGQ-N4LXB-RTFKVT
          Maintenance Expires  2009/08/31  Number Licenses        1

           

          Teamstudio CIAO! Server Edition  2.40

          Serial No.        AP-24608  License Key        XMSGA-BIAIV-SCI2RX
          Maintenance Expires  2009/08/31  Number Licenses        1


           

          posted @ 2010-04-09 17:34 明高 閱讀(191) | 評(píng)論 (0)編輯 收藏

          Tomcat配置與應(yīng)用.doc

          如何部署Java Web應(yīng)用程序到Tomcat中?
          第一步配置tomcat
          安裝Tomcat后,在我的電腦->屬性->高級(jí)->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量(假定你的tomcat安裝在c:\tomcat):

          CATALINA_HOME=c:\tomcat
          CATALINA_BASE=c:\tomcat

          然后修改環(huán)境變量中的classpath,把tomat安裝目錄下的common\lib下的(可以根據(jù)實(shí)際追加)servlet.jar追加到classpath中去,修改后的classpath如下:

          classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;

          接著可以啟動(dòng)tomcat,在IE中訪問(wèn)http://localhost:8080,如果看到tomcat的歡迎頁(yè)面的話說(shuō)明安裝成功了。

          第二步:部署Servlet:
          建立 Servlet
          1.用你最熟悉的編輯器(建議使用有語(yǔ)法檢查的java ide)新建一個(gè)servlet程序,文件名為Test.java,文件內(nèi)容如下:

          package test;
          import java.io.IOException;
          import java.io.PrintWriter;
          import javax.servlet.ServletException;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          public class Test extends HttpServlet {
          protected void doGet(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
          PrintWriter out=response.getWriter();
          out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
          out.flush();
          }
          }

          2 .編譯
          將Test.java放在c:\test下,使用如下命令編譯:

          C:\Test>javac Test.java

          然后在c:\Test下會(huì)產(chǎn)生一個(gè)編譯后的servlet文件:Test.class

          3 .將結(jié)構(gòu)test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那個(gè)test目錄到classes目錄下,如果classes目錄不存在,就新建一個(gè)。 現(xiàn)在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目錄結(jié)構(gòu)

          4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping

          編輯后的web.xml如下所示,紅色為添加的內(nèi)容:

          <?xml version="1.0" encoding="ISO-8859-1"?>
          <!DOCTYPE web-app
          PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
          "http://java.sun.com/dtd/web-app_2_3.dtd">
          <web-app>
          <display-name>My Web Application</display-name>
          <description>
          A application for test.
          </description>
          <servlet>
          <servlet-name>Test</servlet-name>
          <display-name>Test</display-name>
          <description>A test Servlet</description>
          <servlet-class>test.Test</servlet-class>
          </servlet>
          <servlet-mapping>
          <servlet-name>Test</servlet-name>
          <url-pattern>/Test</url-pattern>
          </servlet-mapping>
          </web-app>

          這段話中的servlet這一段聲明了你要調(diào)用的Servlet,而servlet-mapping則是將聲明的servlet"映射"到地址/Test上

          5 .好了,重啟動(dòng)Tomcat,啟動(dòng)瀏覽器,輸入http://localhost:8080/myapp/Test 如果看到輸出This is a servlet test.就說(shuō)明編寫的servlet成功了。

          注意:修改了web.xml以及新加了class,都要重啟Tomcat

          參考:
          http://blog.csdn.net/NetMicrobe/archive/2006/04/14/663031.aspx
          http://read.newbooks.com.cn/info/196577.html

          posted @ 2010-04-09 15:50 明高 閱讀(219) | 評(píng)論 (0)編輯 收藏

          lotus&dojo

          http://www-10.lotus.com/ldd/ddwiki.nsf/dx/domino85-use-dojo-libraries.htm
          http://ideajam.net/IdeaJam/P/ij.nsf/0/7E146908362FE350862576D500522C65?OpenDocument#
          http://www.training-classes.com/programs/03/16/31617_domino_designer_8-5_browser_applications_and_dojo.php
          https://www.ibm.com/developerworks/cn/web/wa-dojotoolkit/

          posted @ 2010-04-09 15:48 明高 閱讀(201) | 評(píng)論 (0)編輯 收藏

          Lotus程序設(shè)計(jì)優(yōu)化

          http://www.ibm.com/developerworks/lotus/library/notes7-application-performance2/index.html?S_TACT=105AGX13&S_CMP=EDU

          posted @ 2010-04-09 14:39 明高 閱讀(179) | 評(píng)論 (0)編輯 收藏

          Perl操縱數(shù)據(jù)庫(kù)

          #!perl
          use Win32::ODBC;
          $Data = new Win32::ODBC("DSN=dhcp;UID=netman;PWD=netman;");
          $Data2 = new Win32::ODBC("DSN=dhcp;UID=netman;PWD=netman;");
          $Data1 = new Win32::ODBC("DSN=dhcp;UID=netman;PWD=netman;");
          $Data3 = new Win32::ODBC("DSN=dhcp;UID=netman;PWD=netman;");

           


          $Data->Sql("select ip,mac,host from dhcplist");

          while ($Data->FetchRow())
          {
           
           ($ip,$mac,$host) = $Data->Data;
           print $host,"\n";

            
           $Data1->Sql("select * from Employee ");
           
           while ($Data1->FetchRow())
           
           {
           ($cname,$dept,$dno,$id,$ext) = $Data1->Data;

           print "$cname","\n";
           print "$id","\n";
           


           }
           $Data1->Close();

           $flag = '';


           $Data2->Sql("select * from dhcp_data where host = '$host' and ip = '$ip' ");

                  #print "select * from dhcp_data where host = '$host' and ip = '$ip'" ;

           while ($Data2->FetchRow())
                  {
           
           #@flag = $Data2->Data;

           if ( $flag ne "" )
           {
           print "ok"; 
           
           $Data3->sql("update dhcp_data set ip = '$ip',host = '$host',mac ='$mac',cname = '$cname',dept = '$dept',dno = $dno',notesid = '$id',ext = '$ext',modifydate = getdate()"); 
              
           $Data3->Close();
            
           }
           else
           {
                  print "ok2";
           $Data3->sql("insert into dhcp_data(ip,host,mac,cname,dept,dno,notesid,ext,modifydate) values('$ip','$host','$mac','$cname','$dept','$dno','$id','$ext',getdate())"); 
              
           $Data3->Close(); 
           }

          }
           $Data2->Close(); 

           
            
          }  
           
          $Data->Close();


           

          posted @ 2010-04-09 10:02 明高 閱讀(139) | 評(píng)論 (0)編輯 收藏

          在Lotus中操縱txt文件

          那怎么用LS創(chuàng)建TXT文件  Superhewei(360700686) 11:03:43 Dim fileNum As Integer, empNumber As Integer, n As Integer  Dim fileName As String, empName As String  fileNum% = Freefile()  fileName$ = "H:\zcjn"+Format(Now,"yyyy-mm-dd")+".trs" ' fileName$ = "c:\zcjn"+Format(Now,"yyyy-mm-dd")+".trs"  Open fileName$ For Output As fileNum% 

          posted @ 2010-04-09 09:33 明高 閱讀(238) | 評(píng)論 (0)編輯 收藏

          在Lotus開發(fā)中使用ODBC進(jìn)行數(shù)據(jù)交互

          Sub Initialize  Dim session As New NotesSession  Dim doc As NotesDocument     '當(dāng)前文檔的后臺(tái)文檔  Dim tobeSearchDb As NotesDatabase   '待搜索的數(shù)據(jù)庫(kù)  Dim DstDocs As NotesDocumentCollection  '搜索結(jié)果集  Dim RstDoc As NotesDocument                '查詢到的文檔  Dim sRstView As NotesView                    '結(jié)果顯示視圖  Set Db=Session.CurrentDatabase   Set doc=session.DocumentContext    Dim con As ODBCConnection  Dim userName As String  Dim password As String  Dim qry As ODBCQuery  Dim result As ODBCResultSet  Dim A As String    Set con = New ODBCConnection  Set qry = New ODBCQuery  Set result = New ODBCResultSet    Set qry.Connection = con  Set result.Query = qry    A=con.ConnectTo("CoprYW","sa","123")    qry.SQL = " INSERT INTO mt(phone,msg_content,sm_flag)  VALUES ('"+doc.SMSendTo(0)+"','"+doc.SMBody(0)+"','1'); "    'Call JSAction("Alert",Cstr(a))  If Not result.Execute Then   'Messagebox _   'result.GetExtendedErrorMessage,, result.GetErrorMessage      'Exit Sub  End If  result.Close(DB_CLOSE)  con.Disconnect   End Sub

          posted @ 2010-04-09 09:32 明高 閱讀(284) | 評(píng)論 (0)編輯 收藏

          Lotus中定制搜索

          Sub SearchWeb()
           Dim QryDB As NotesDatabase
           Dim vwDBList As NotesView
           Dim sQueryString As String
           Dim sMinRecord,sMaxRecord,sSortMethod,sTemp,sQry,sOldQry,sSymbol As String
           Dim sSearchFuzzy As String
           Dim sUseCache As String
           Dim sServername As String
           Dim sDbName As String
           Dim sViewName As String
           Dim sPage As String
           Dim sCondition As String
           Dim sDBDocID As String
           Dim sFields As String
           Dim vResult() As Variant
           Dim vTemp,vDBDocList As Variant
           Dim i,j,iRecordNumber As Integer
           
           Set session = New NotesSession
           Set db = session.currentdatabase
           Set doc = session.documentcontext
           sQry = doc.Query_String_Decoded(0)
           sOldQry = sQry
           '-------------------------------- 獲取查詢參數(shù) --------------------------------------
           vTemp = Evaluate("@ReplaceSubstring('"+sQry+"';'+';' ')")
           
           sTemp = vTemp(0)
           sQry = sTemp
           
           i = Instr(sTemp,"^")
           sCondition = Mid(sTemp,i+1) '查詢條件
           
           sDBDocID = Left(sTemp,i-1)
           i = Instr(sDBDocID,"&")
           sDBDocID = Mid(sDBDocID,i+1)'查詢視圖參數(shù)
           
           'sSortMethod = Mid(sCondition,Instr(sCondition,"~")+1,1)'排序方式 
           sSearchFuzzy = Mid(sCondition,Instr(sCondition,"!")+1,1)'是否使用模糊查詢
           sUseCache = Mid(sCondition,Instr(sCondition,"$")+1,1)'是否使用Cache
           
           i = Instr(sCondition,"@")
           j = Instr(i+1,sCondition,"@")
           sMinRecord=Val(Mid(sCondition,i+1,j-i-1))'查詢記錄起始數(shù)
           sMaxRecord=Val(Mid(sCondition,j+1))'查詢記錄每頁(yè)最大結(jié)果數(shù)
           sCondition = Mid(sCondition,1,i-1)'取得查詢關(guān)鍵字 
           
           vDBDocList = Extract(sDBDocID,",") '獲取查詢視圖參數(shù)的數(shù)組
           
           Call ExtractArray(sCondition) '獲取查詢關(guān)鍵字列表
           iRecordNumber = 0
           sPage = ""
           sSymbol = ""
           If sSearchFuzzy = "1" Then
            sSymbol = "*"
           End If
           '------------------------------------------------------------------------------------
           '---------------------------------- 開始查詢 ----------------------------------------
           Forall x In vDBDocList
            vTemp = Extract(Cstr(x),"!")'拆分查詢參數(shù)(所在服務(wù)器!所在數(shù)據(jù)庫(kù)!查詢視圖)
            
            sServerName=vTemp(0)'查詢數(shù)據(jù)庫(kù)所在服務(wù)器
            sDbName=vTemp(1)'查詢數(shù)據(jù)庫(kù)
            sViewName = vTemp(2)'查詢的視圖名
            
            Set QryDB = New NotesDatabase(sServerName,sDbName)'取得查詢數(shù)據(jù)庫(kù)對(duì)象
            
            Set view = QryDB.getview(sViewName)'取得查詢數(shù)據(jù)庫(kù)視圖
            sQry=""
            sQueryString = ""
            Forall y In sQryKey
             sQry = Replace(y,"""","''")
             sTemp = ""
             '當(dāng)指定域查詢時(shí)
             If doc.Fields(0) <> "" Then
              Forall z In doc.Fields
               If sTemp = "" Then
                sTemp = "FIELD "+z+{ contains "}+sSymbol+sQry+sSymbol+{"}
               Else
                sTemp = sTemp + " AND FIELD "+z+{ contains "}+sSymbol+sQry+sSymbol+{"}
               End If
              End Forall
              
              If sQueryString = "" Then
               sQueryString = "(" + sTemp +")"
              Else
               sQueryString = sQueryString + " OR (" + sTemp +")"
              End If
             Else'未指定域
              If sQueryString = "" Then
               sQueryString = sQry
              Else
               sQueryString = sQueryString + " AND " + sQry
              End If
             End If
            End Forall
            j = view.FTSearch( sQueryString, Cint(sMaxRecord))'開始查詢
            '將結(jié)果形成XML數(shù)據(jù)
            If j>0 Then
             For i = 1 To j
              iRecordNumber = iRecordNumber + 1
              Set qrydoc = view.getnthdocument(i)
              sPage = sPage + {<row url="javascript:opendoc('/}+QryDB.Replicaid+{/0/}+qrydoc.Universalid+{?opendocument')">}
              sPage = sPage + {<number>}+Cstr(iRecordNumber)+{</number>}
              sPage = sPage + {<title>}+qrydoc.ColumnValues(0)+{</title>}
              sPage = sPage + {<category>}+doc.Name(0)+{</category>}
              sPage = sPage + {<score>}+Cstr(qrydoc.FTSearchScore)+{%</score>}
              sPage = sPage + {</row>}
             Next
            End If
            Call view.clear
           End Forall
           '------------------------------------------------------------------------------------
           '---------------------------------- 輸出結(jié)果 ----------------------------------------
           Print {Content-type: text/xml}
           Print {<?xml version='1.0' encoding="utf-8" ?>}
           Print {<view name="查詢結(jié)果" id="vgosearchresult.xml">}
           Print {<header>}
           Print { <number>序號(hào)</number>}
           Print { <title>標(biāo)題</title>}
           Print { <category>位置</category>}
           Print { <score>匹配度</score>}
           Print {</header>}
           Print {<action/>}
           Print {<rows>}
           Print sPage
           Print {</rows>}
           Print {</view>}
           '------------------------------------------------------------------------------------
          End Sub

          posted @ 2010-04-09 09:21 明高 閱讀(142) | 評(píng)論 (0)編輯 收藏

          在Lotus開發(fā)中的使用JDBC進(jìn)行數(shù)據(jù)交互

          import java.io.*;
          import java.net.URL;
          import java.sql.*;
          import java.util.Properties;
          import lotus.notes.*;
          import java.util.*;

          public class  savetonewdatabase extends AgentBase {
           public void NotesMain() {

            Driver drv = null;
            PrintWriter out = null; 
                 try {
                     Session session = getSession();
                     AgentContext ac = session.getAgentContext();
                     Database db = ac.getCurrentDatabase();
             Database SendDB = session.getDatabase(db.getServer(),"lt_getfile.nsf");
                     Document doc = ac.getDocumentContext();   

                     out = getAgentOutput();      
                         String docUnid;
                         //Get the new record's unid
                         docUnid = uniqueID();
                             
             //Get the sql insert statement   
             StringBuffer SqlUrl = new StringBuffer("Insert into Shouwen_stat (");
             StringBuffer SqlValue = new StringBuffer(" values (");

               String temp= doc.getItemValueString("F_hao");
            
                         if(temp!=null){
                          temp = doc.getItemValueString("F_ziTitle")+"〔"+doc.getItemValueString("F_zi")+"〕"+doc.getItemValueString("F_hao")+"號(hào)";
                          }else{
                          temp = "〔"+doc.getItemValueString("F_zi")+"〕";
                         }  
           
             if (temp!= null){
              SqlUrl.append("doc_no");
              SqlValue.append("'" + temp+"'");
               
             }
             String doc_id = doc.getItemValueString("CurDocId");
             if (doc_id != null) {
              SqlUrl.append(",doc_id");
              SqlValue.append(",'" + doc_id + "'");
             }
             String sqlField = doc.getItemValueString("F_title");
             if (sqlField != null) {
              SqlUrl.append(",doc_title");
              SqlValue.append(",'" + sqlField + "'");
              }
             
             sqlField = doc.getItemValueString("shenghr");
             if (sqlField != null) {
              SqlUrl.append(",niban_people");
              SqlValue.append(",'" + sqlField + "'");
             }
             
             sqlField = doc.getItemValueString("F_BigSpecies");
             if (sqlField != null) {
              SqlUrl.append(",wen_zhong");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("text");
             if (sqlField != null) {
              SqlUrl.append(",file_content");
              SqlValue.append(",'" + sqlField  + "'");
             }

             sqlField = doc.getItemValueString("timewrite"); //收文日期
             
             if (sqlField != null) {
              SqlUrl.append(",shouwen_date");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("F_FilekeyWord");
             if (sqlField != null) {
              SqlUrl.append(",title_word");
              SqlValue.append(",'" + sqlField  + "'");
              }
             sqlField = doc.getItemValueString("F_emergency");
             if (sqlField != null) {
              SqlUrl.append(",huan_ji");
              SqlValue.append(",'" + sqlField + "'");
             }
             
             sqlField = doc.getItemValueString("F_UnitName");
             if (sqlField != null) {
              SqlUrl.append(",laiwen_unit");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("F_Secret");
             if (sqlField != null) {
              SqlUrl.append(",mi_ji");
              SqlValue.append(",'" + sqlField  + "'");
              }

             sqlField = doc.getItemValueString("laiwfs");
             if (sqlField != null) {
              SqlUrl.append(",laiwen_mode");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("shengpyj");
             if (sqlField != null) {
              SqlUrl.append(",niban_date");
              SqlValue.append(",'" + sqlField  + "'");
             }
             
             sqlField = doc.getItemValueString("shenghyj");
             if (sqlField != null) {
              SqlUrl.append(",niban_yijian");
              SqlValue.append(",'" + sqlField + "'");
             }
             
             sqlField = doc.getItemValueString("F_EndTime");
             if (sqlField != null) {
              SqlUrl.append(",banli_qixian");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("lind");
             
             if (sqlField != null) {
              SqlUrl.append(",chengban_yj");
              SqlValue.append(",'" + sqlField  + "'");
              }

             sqlField = doc.getItemValueString("pisyj");
             if (sqlField != null) {
              SqlUrl.append(",piban_date");
              SqlValue.append(",'" + sqlField  + "'");
             }
             
             sqlField = doc.getItemValueString("lindps");
             if (sqlField != null) {
              SqlUrl.append(",piban_yijian");
              SqlValue.append(",'" + sqlField  + "'");       
             }

                 sqlField = doc.getItemValueString("banlyj");
             if (sqlField != null) {
              SqlUrl.append(",banli_jieguo");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("banlr");
             if (sqlField != null) {
              SqlUrl.append(",banli_people");
              SqlValue.append(",'" + sqlField  + "'");
             }

             sqlField = doc.getItemValueString("banlsj");
             if (sqlField != null) {
              SqlUrl.append(",banli_date");
              SqlValue.append(",'" + sqlField  + "'");
             }
                         sqlField = doc.getItemValueString("chengbyj");
             if (sqlField != null) {
              SqlUrl.append(",piban_people");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("chengbr");
             if (sqlField != null) {
              SqlUrl.append(",chengban_people");
              SqlValue.append(",'" + sqlField  + "'");
             }

             sqlField = doc.getItemValueString("chengbsj");
             if (sqlField != null) {
              SqlUrl.append(",chengban_date");
              SqlValue.append(",'" + sqlField  + "'");
             }
             sqlField = doc.getItemValueString("temp");  //流水號(hào)
             if (sqlField != null) {
              SqlUrl.append(",shouwen_bianhao");
              SqlValue.append(",'" + sqlField  + "'");
             }  
             sqlField=doc.getItemValueString("shihgd");   //文件是否歸檔
            if(sqlField!=null){
             SqlUrl.append(",document_state");
              SqlValue.append(",'"+sqlField+"'");
             } 
             sqlField=doc.getItemValueString("wenjzx");    //文件走向
             if(sqlField!=null){
              SqlUrl.append(",send_file");
              SqlValue.append(",'"+sqlField+"'");
             }   

             SqlUrl.append(")");
             SqlValue.append(")");
             String Va = SqlValue.toString();
              SqlUrl.append(Va);
             
             // Connect to data source
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
             drv = new sun.jdbc.odbc.JdbcOdbcDriver();   
             
             String url = "jdbc:odbc:is_archive";
                           
             Properties props = new Properties();
             props.put("user","isa");
             props.put("password","gxmi");   
             Connection con = drv.connect(url,props);
             
             if (con==null){
              out.println("<h1>Con't Connect to DB!</h1>");
              return;
             }   
             Statement stmt = con.createStatement();
             
             //Insert a record to the Fwdj table             
             Va = SqlUrl.toString();
             Va =new String(Va.getBytes("gb2312"),"ISO-8859-1"); 
             
             stmt.executeUpdate(Va);
           
            
                   out.println("<link rel='stylesheet' href='/oa.css'><br><br><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>");
                       out.println("<TR VALIGN=top><TD WIDTH=232><IMG SRC='/Lt_getfile.nsf/c01a1dee4878d8a648256b270024a88c/$Body/0.25E!OpenElement&FieldElemFormat=gif' WIDTH=208 HEIGHT=21></TD>");
                       out.println("<TD WIDTH=416 VALIGN=middle><DIV ALIGN=center><B><FONT SIZE=5 COLOR='0000FF'>操作反饋信息</FONT></B></DIV></TD></TR></TABLE>");
                       out.println("<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR VALIGN=top>");
                       out.println("<TD WIDTH=689><IMG SRC='/Lt_getfile.nsf/c01a1dee4878d8a648256b270024a88c/$Body/0.CFA!OpenElement&FieldElemFormat=jpg' WIDTH=688 HEIGHT=4></TD></TR>");
                       out.println("</TABLE><BR><br><br><br><br><P><BR><BR><BR><BR>");
                       out.println("<table border=0  bgColor=#0099cc borderColorLight=#000000 cellPadding=1 cellSpacing=2 align='center'><tr><td  bgcolor=#EFEFEF>文件發(fā)送給下一辦理人"+doc.getItemValue("sendtobak")+"辦理!</td></tr></table>");
           
            } catch (Exception e) {
             out.println(e.getMessage());
             e.printStackTrace();
            }
              }
           public static String uniqueID()
            {
                   StringBuffer sb=new StringBuffer(20);
               java.text.SimpleDateFormat formatter=new java.text.SimpleDateFormat("yyyy/MM/dd");
               java.util.Date currentTime=new java.util.Date();
               String sid=formatter.format(currentTime);
               return sid;
               }
              
           public static String replaceAll(String operStr,String oldStr ,String replaceStr){
            int fromIndex=0;
            int index=0;
            int oldStrLen=oldStr.length();
            int replaceStrLen=replaceStr.length();
            
            while((index=operStr.indexOf(oldStr,fromIndex))!=-1){
             //新的位置起點(diǎn)
             //fromIndex+replaceStrLen-oldStrLen+1
             fromIndex=index + replaceStrLen;
             operStr=operStr.substring(0,index)+replaceStr+
              operStr.substring(index+oldStrLen,operStr.length());
            }
            
            return operStr;
           }
           
           
           
          }

          posted @ 2010-04-09 09:20 明高 閱讀(408) | 評(píng)論 (0)編輯 收藏

          lotus notes 開發(fā)中BS下實(shí)現(xiàn)組合查詢的方法

          在進(jìn)行系統(tǒng)設(shè)計(jì)的時(shí)候用戶要求對(duì)各文件能夠?qū)崿F(xiàn)組合條件的查詢和統(tǒng)計(jì),開發(fā)之初我選擇了notes自身提供的綜合查詢表單$$Search Form來(lái)實(shí)現(xiàn),但在用戶使用了一段時(shí)間發(fā)現(xiàn),采用$$Search Form來(lái)進(jìn)行組合條件查詢時(shí)常常會(huì)搜索到許多并不滿足條件的文檔或者搜索到的文檔根本就不知道是什么,為了解決這個(gè)問(wèn)題,我決定寫代碼來(lái)實(shí)現(xiàn)組合條件查詢,下面就來(lái)講講實(shí)現(xiàn)的過(guò)程。   首先建立一個(gè)表單(Fsearch),主要用來(lái)現(xiàn)實(shí)和選擇查詢條件,表單的域元素如下表所示:

          編號(hào)
           域名
           含義
           類型
           說(shuō)明
           
          01
           SaveOptions
           防止使用該表單創(chuàng)建文檔
           文本域
           該域是系統(tǒng)域當(dāng)值為”0”的時(shí)候當(dāng)前表單不會(huì)創(chuàng)建文檔,因?yàn)檫@里使用該表單僅僅是為了選擇查詢條件,不需要?jiǎng)?chuàng)建文檔,所以該域的值為“0”
           
          02
           biaoti
           發(fā)文標(biāo)題
           文本域
            
          03
           zhutici
           主題詞
           文本域
            
          04
           laiwenhao
           發(fā)文號(hào)
           文本域
            
          05
           nigaoren
           擬稿人
           文本域
            
          06
           danwei
           擬稿人單位
           文本域
            
          07
           syear
           文檔所屬年度
           文本域
            
          08
           smonth
           文檔所屬月份
           文本域
            

          在表單上按照用戶要求和使用習(xí)慣利用表格布局好上述元素后,在表單上創(chuàng)建一個(gè)熱點(diǎn)按鈕“現(xiàn)在查找“,執(zhí)行@Command([ToolsRunMacro];"(wFaWenSearch)") 的公式命令,其中wFaWenSearch 是一個(gè)共享代理,代碼如下:Sub Initialize    ‘//定義變量 Dim session As New NotesSession Dim cDoc As NotesDocument Dim db As NotesDatabase Dim sResult , Set sResultemp  As NotesDocumentCollection Dim sql As String   Set db=session.currentDatabase  ‘//獲得當(dāng)前數(shù)據(jù)庫(kù) Set cDoc=session.DocumentContext() ‘//獲得當(dāng)前文檔,即用戶打開的選擇條件的表單Fsearch Set view=db.getView("($UNID)") ‘//獲得($UNID)視圖,該視圖里現(xiàn)實(shí)所有文件 ‘//============獲取查詢條件=========// sYear=cDoc.syear(0) sMonth=cDoc.smonth(0) biaoti=cDoc.biaoti(0) zhutici=cDoc.zhutici(0)  laiwenhao=cDoc.laiwenhao(0) danwei=cDoc.danwei(0) nigaoren=cDoc.nigaoren(0)  ‘//================END================//‘//=====組合查詢條件======//sql="form=""fwmain"""+"&(@Contains(biaoti;"""+biaoti+""")"+"|@Contains(zhutici;"""+zhutici''>|@Contains(zhutici;"""+zhutici+""")"+_"|@Contains(t1+""[""+@text(t2)+""]""+@text(t3''>|@Contains(t1+""[""+@text(t2)+""]""+@text(t3)+ ""號(hào)""+;"""+laiwenhao+""")"+"|@contains(danwei">|@contains(danwei; """+danwei+""")"+_"|@Contains(nigaoren;"""+nigaoren+""")"+"|@Contains(sYear;"""+sYear''>|@Contains(nigaoren;"""+nigaoren+""")"+"|@Contains(sYear;"""+sYear+""")"+"| @Contains(sMonth;"""+sMonth+"""))"Set  sResultemp= db.search(sql,Nothing,0)  ‘//在數(shù)據(jù)庫(kù)中搜索滿足上述條件的所有文檔,獲得該文檔集;但是由于使用search語(yǔ)法會(huì)把當(dāng)前操’//作者沒(méi)有閱讀權(quán)限的文檔也搜索到,所以先把搜索到的文檔集賦予臨時(shí)變量sResultemp 再進(jìn)行處理 Set  sResult=db.search("@Contains(sYear;''1'')",Nothing,0) ‘//初始化一個(gè)文檔集sResul,這文檔集中沒(méi)有文件的‘//========下面這循環(huán)主要是利用視圖對(duì)文檔讀者權(quán)限的限制功能把sResultemp====//‘//========這個(gè)文檔集中當(dāng)前用戶有閱讀權(quán)限的文檔添加到文檔集sResul中去=====// For i=1 To  sResultemp.count  Set  sDoc=sResultemp.getNthDocument(i)  key=sDoc.bh(0)  Set  Sview=db.getView("default")  Set  sDoc=Sview.Getdocumentbykey(key,True)  If  Not  sDoc  Is  Nothing Then   Set  sDoctmp=sResult.Getdocument(sDoc)   If  sDoctmp Is  Nothing Then    Call sResult.Adddocument(sDoc)   End If  End If Next If  sResult.count=0  Then  Print "沒(méi)有找到您要查找的文件"  Exit Sub End  If  ''//=========創(chuàng)建網(wǎng)頁(yè)來(lái)顯示查詢結(jié)果=======// Print "<html>" Print "<head>" Print "<link rel=stylesheet type=text/css href=ViewCss.css>" Print "</script>" Print "</head>"Print "<body>" Print "<table width=100%>" Print "<tr>" Print "<td colspan=6 align=right style=border-style:solid;border-width:0 0 2px;border-color:#669933>查找到&nbsp;"+Cstr(jjj)+"&nbsp;份文件&nbsp;<br>" Print "</td>" Print "</tr>" Print "<tr>" Print "<td width=5% class=td1></td>" Print "<td width=10% class=td1>年度</td>" Print "<td width=10% class=td1>月份</td>" Print "<td width=40% class=td1>標(biāo)題</td>" Print "<td width=20% class=td1>主辦部門</td>" Print "<td width=15% class=td1>擬稿人</td>" Print "</tr>" For i=1 To sResult.count  Set sDoc=sResult.getNthDocument(i)  Set sDoc=view.getDocumentByKey(sDoc.bh(0),True)  If Not sDoc Is Nothing Then      Print "<tr>"    Print "<td class=tdx><a href=/"+sDoc.DBPath(0)+"/merit_gwgl.nsf/($UNID)/"+sDoc.UniversalID+"?opendocument target=_blank><img src=01.gif border=0 ></a></td>"   Print "<td class=tdx>"+sDoc.sYear(0)+"</td>"   Print "<td class=tdx>"+sDoc.sMonth(0)+"</td>"   Print "<td class=tdx>"+sDoc.biaoti(0)+"</td>"   Print "<td class=tdx>"+sDoc.danwei(0)+"</td>"   Print "<td class=tdx>"+sDoc.nigaoren(0)+"</td>"   Print "</tr>"  End If Next Print "</table>"  Print "</body>" Print "</html>" End Sub

          posted @ 2010-04-09 09:20 明高 閱讀(398) | 評(píng)論 (0)編輯 收藏

          Js操控Lotus中的附件

          <input type="checkbox" name="%%Detach" value="IBM咨詢.txt"><a href="附件路徑">IBM咨詢.txt</a></td></tr>

          選中以后,保存文檔,附件就會(huì)被系統(tǒng)自動(dòng)刪除 
          江川之子 22:04:47 使用什么方法定位嵌入的embeddedobject呢 ,嵌入到文檔還是rtf域 
          CoolStar~_~ 22:04:55 文檔 
          江川之子 22:05:24 只能用getembedobject 
          江川之子 22:05:44 如果是rtf中的就可以用ref。emdedobjects  

           主業(yè)務(wù)數(shù)據(jù)表組,日志數(shù)據(jù)表組,組織結(jié)構(gòu)權(quán)限組表,輔助數(shù)據(jù)表組,業(yè)務(wù)控制數(shù)據(jù)表組,
          尤其對(duì)于oa,組織結(jié)構(gòu)最重要。對(duì)于一般的業(yè)務(wù),業(yè)務(wù)控制數(shù)據(jù)最重要,這樣可以讓你的業(yè)務(wù)變的很靈活。

          posted @ 2010-04-09 09:19 明高 閱讀(163) | 評(píng)論 (0)編輯 收藏

          LotusScript操縱附件

          Sub InitAttachment
           On Error Goto ErrorHandle
           Dim temDoc    As notesDocument
           Dim temDoc1  As NotesDocument
           Dim docAttachment As NotesDocument
           Dim strQuery   As String
           Dim strUNID   As String
           Dim strFormula  As String
           Dim strList  As String
           Dim vPath   As Variant
           strQuery = note.Query_String_Decoded(0)
           If Instr(strQuery,"&UNID=") > 0 Then
            strUNID = Mid(strQuery,Cint(Instr(strQuery,"&UNID=")) + 6,32)
            Set temDoc = db.GetDocumentByUNID(strUNID)
            If Not (temDoc Is Nothing) Then
             Set docAttachment = db.CreateDocument
             docAttachment.Form = "fmAttachment"
             docAttachment.Status = "0"
             docAttachment.CourseInfoUnid = temDoc.UniversalID
             If temDoc.HasEmbedded Then   
              Set temDoc1 = db.CreateDocument
              Call temDoc.CopyAllItems (temDoc1)
              Forall item In temDoc1.Items
               If Not (Ucase(item.Name) = "$FILE") Then
                temDoc1.RemoveItem (item.Name)
               End If
              End Forall
              Call temDoc1.CopyAllItems(docAttachment)
             End If   
            End If  
           End If
           Call docAttachment.Save(True,False)
           docAttachment.CurUnid = docAttachment.UniversalID
           Call docAttachment.Save(True,False)
           vPath = Evaluate(|@ReplaceSubstring(@Subset(@DbName;-1); " " : "\\"; "+" : "/")|)
           Print |<script language="javascript">  |
           Print |<!--       |
           Print |window.location.href = "/| & vPath(0) & _
           |/0/| & docAttachment.UniversalID & |?editdocument";|
           Print |-->    |
           Print |</script>   | 
           Exit Sub
          'Domino Control Platform Error Info  
          ErrorHandle:
           Messagebox db.FilePath & "_LibEduCommand.InitAttachment:" & Error$ & " at line number " & Cstr(Erl)
           'Resume Next 
          End Sub

          posted @ 2010-04-08 19:50 明高 閱讀(428) | 評(píng)論 (0)編輯 收藏

          使用MIME發(fā)送郵件通知

          Sub SendMailNotification( docMain As Notesdocument, strSendto As String ,strTempletNum As String)
           On Error Goto ErrorHandle
           
           Dim docMail   As NotesDocument
           Dim rti    As NotesRichTextItem
           Dim body    As NotesMIMEEntity
           Dim child   As NotesMIMEEntity
           Dim stream   As NotesStream
           Dim strTmp   As String
           Dim strReplace  As String
           Dim bSuccess  As Boolean
           Dim strHtml  As String
           s.ConvertMIME   = False
           Set stream   = s.CreateStream
           
           Set docMail  = New NotesDocument(docMain.ParentDatabase) 
           Call docMail.ReplaceItemValue("Form","Memo")
           Call docMail.ReplaceItemValue("Principal","Reporter Notification")
           Call docMail.ReplaceItemValue("ReplyTo","")
           Set body   = docMail.CreateMIMEEntity("Body")
           Set child  = body.CreateChildEntity
           
           
           Call stream.WriteText(MailText(docMain,strTempletNum))
           Call docMail.ReplaceItemValue( "Subject",MailSubject(docMain,strTempletNum))   
           
           strHtml = |<br><div style="font-size:15px; "><b><a href="|&ProfileDoc.DBHome(0) & ProfileDoc.DBPath(0) & |/0/| & docMain.UniversalID &|?opendocument"  target="_blank">請(qǐng)點(diǎn)擊打開文檔</a></b></div>|
           stream.WriteText(strHtml)
           
           Call docMail.ReplaceItemValue("BlindCopyTo", strSendto)
           Call child.SetContentFromText(stream, "text/html;charset=GB2312", ENC_NONE)
           Call stream.Truncate
           Call docMail.Send(False)
           s.ConvertMIME = True  
           Call docMail.Remove(True)
           
           Exit Sub
          ErrorHandle:
           'iSuccess = False
           Messagebox db.FilePath & "_LSMailCommand.SendNotification:" & Error$ & " at line number " & Cstr(Erl) 
           Exit Sub
          End Sub

          posted @ 2010-04-08 19:41 明高 閱讀(167) | 評(píng)論 (0)編輯 收藏

          Excel報(bào)表統(tǒng)計(jì)

          'Print |正在統(tǒng)計(jì),請(qǐng)稍候...|
           Print |<script language="javascript">   |
           Print |<!--
                var oXL
                var oBook
                var oSheet1
            var oXL = new ActiveXObject("Excel.Application");       
                oBook = oXL.Workbooks.Add();
                oSheet1 = oBook.ActiveSheet; 
            oSheet1.Name = "IP-ASIC-Simulation";
            oXL.sheets(oSheet1.Name).Select;
            oXL.Range("A1:G1").Select;
            oXL.Selection.RowHeight = 28.50;
            oXL.Selection.HorizontalAlignment = 3;
            oXL.Selection.VerticalAlignment = 3 ;
            oXL.Selection.Font.Name = "宋體";
            oXL.Selection.Font.FontStyle = "加粗";
            oXL.Selection.Font.Size = 10;
            oXL.Selection.Interior.ColorIndex = 19;
            oXL.Selection.Borders.LineStyle = 1;
            oSheet1.Cells(1,1).Value = "Customer's Project";
            oSheet1.Cells(1,2).Value = "SH Project";  
            oSheet1.Cells(1,3).Value = "GID";
            oSheet1.Cells(1,4).Value = "RD Users";
              oSheet1.Cells(1,5).Value = "Layout Users";
            oSheet1.Cells(1,6).Value = "Created Time";
            oSheet1.Cells(1,7).Value = "Update Time";
            oXL.Selection.Columns.AutoFit;
            oXL.Selection.Rows.AutoFit;
            |  
           i = 2 
           
           While Not (doc Is Nothing)
            Print |oSheet1.Cells(| & Cstr(i) & |,1).Value = "| & Cstr(doc.Plan_Code_Sunplus(0)) &     |";|
            Print |oSheet1.Cells(| & Cstr(i) & |,2).Value = "| & Cstr(doc.Plan_Code_Sh(0)) &   |";|
            Print |oSheet1.Cells(| & Cstr(i) & |,3).Value = "| & Cstr(ProfileDoc.GID(0)+i-2) &    |";|
            'RDUser和LayoutUser
            For j=1 To doc.num(0)   
             strItemName   = "LoginName" & j
             Set item      = doc.GetFirstItem(strItemName)
             strUserList = strUserList + item.Text+","
            Next
            Print |oSheet1.Cells(| & Cstr(i) & |,4).Value = "| & strUserList &     |";|
            Print |oSheet1.Cells(| & Cstr(i) & |,5).Value = "| & strUserList &     |";|
            Print |oSheet1.Cells(| & Cstr(i) & |,6).Value = "| & Cstr(doc.Created) &    |";|
            Print |oSheet1.Cells(| & Cstr(i) & |,7).Value = "| & Cstr(doc.ChangeDate(0)) &   |";|
            
            i = i+1 
            Print |
             oXL.sheets(oSheet1.Name).Select;
             oXL.Range(oSheet1.Cells(2,1),oSheet1.Cells(| & Cstr(i) & |-1,7)).Select;
             oXL.Selection.Font.Name = "宋體";
             oXL.Selection.Font.Size = 10;
             oXL.Selection.Borders.LineStyle = 1;
             oXL.ReferenceStyle = 1;
             oXL.Range("A1").Select;
              |  
            Set doc  = vw.GetNextDocument(doc)
           Wend
           
           Print |oXL.Visible  =  true; |
           Print |window.history.go(-1); |
           'Print |window.close();  |
           Print |-->    |
           Print |</script>   |

          posted @ 2010-04-08 19:39 明高 閱讀(195) | 評(píng)論 (0)編輯 收藏

          關(guān)于函件收集

          基本原理:函件收集針對(duì)異域domino服務(wù)器的notes數(shù)據(jù)庫(kù)進(jìn)行信息的傳遞。
          啟動(dòng)administrator端,選擇"People&Group"的標(biāo)簽;
          展開"Mail-In Database and Resources",添加“函件收集數(shù)據(jù)庫(kù)”;
          以新聞數(shù)據(jù)庫(kù)為例:
          函件收集數(shù)據(jù)庫(kù)名稱:dccnews(隨意)
          Internet地址:dccnews@ibm.com
          網(wǎng)絡(luò)域:ibm
          服務(wù)器:mingle/ibm
          文件名:oa/dccnews.nsf

          說(shuō)明:dccnews@ibm.com為郵件的通信地址,不需要單獨(dú)為此在names.nsf中注冊(cè)。只需要將其在外發(fā)的郵件服務(wù)器中設(shè)置,這樣進(jìn)來(lái)的郵件可以識(shí)別即可。我們可以通過(guò)創(chuàng)建類型為“郵件進(jìn)入時(shí)”的代理即可解析和接收郵件的信息。

          posted @ 2010-04-08 19:25 明高 閱讀(217) | 評(píng)論 (0)編輯 收藏

          Lotus表單中的內(nèi)置域

          $Conflict
          如果文檔中有此域產(chǎn)生,則標(biāo)志此域?yàn)闆_突文檔。

          posted @ 2010-04-08 19:23 明高 閱讀(135) | 評(píng)論 (0)編輯 收藏

          Lotus表單中未公開的域

          $$QuerySaveAgent
          功能:等價(jià)于表單中的WebQuerySave事件。

          posted @ 2010-04-08 19:04 明高 閱讀(149) | 評(píng)論 (0)編輯 收藏

          LotusScript面向?qū)ο蟪绦蛟O(shè)計(jì)

          示例代碼:
          Class DOMobj_Person
           gdoc_Person As NotesDocument
           
          ' ** 屬性
           Property Get Document
            Set Document = gdoc_Person
           End Property
           Property Set Document
            Set gdoc_Person = Document
           End Property
           
           Property Get NotesID
            NotesID = gdoc_Person.GetItemValue("NotesID")(0)
           End Property
           
           Property Get No
            No = gdoc_Person.GetItemValue("EmpNo")(0)
           End Property
           
           Property Get CName
            CName = gdoc_Person.GetItemValue("EmpCName")(0)
           End Property
           
           Property Get EName
            EName = gdoc_Person.GetItemValue("EmpName")(0)
           End Property
           
           Property Get DeptNo
            DeptNo = gdoc_Person.GetItemValue("DeptNo")(0)
           End Property
           
           Property Get DeptName
            DeptName = gdoc_Person.GetItemValue("DeptCName")(0)
           End Property
           
           Property Get DeptLayer
            DeptLayer = gdoc_Person.GetItemValue("DeptLayer")(0)
           End Property
           
          ' ** 代理資訊
           Property Get AgentStatus
            AgentStatus = gdoc_Person.GetItemValue("AgentStart")(0)
           End Property
          ' ** 建構(gòu)子
           Sub New(pstr_SearchType As String , pstr_SearchKey As String)
            Set gdoc_Person = domf_docGetPersonal(pstr_SearchType , pstr_SearchKey)
           End Sub
           
          ' ** 方法
           Function getPerson(pstr_SearchType As String , pstr_SearchKey As String)
            Set gdoc_Person = domf_docGetPersonal(pstr_SearchType,pstr_SearchKey)
           End Function
          '---get First Item Value
           Function getFirstItemValue(pstr_item As String) As Variant
            getFirstItemValue = Me.gdoc_Person.getFirstItemValue(pstr_item)
           End Function
          '---get Default Deputy
           Function getDefaultDeputy() As DOMobj_Person
            Set getDefaultDeputy = Nothing
            If (Me.AgentStatus) Then
             If gdoc_Person.GetItemValue("DeputyEmpNo")(0) <> "" Then
              Set getDefaultDeputy = New DOMobj_Person("NO" , gdoc_Person.GetItemValue("DeputyEmpNo")(0))
             End If
            End If
           End Function
          '---get Class Deputy
           Function getDeputyByClass(pstr_Class As String)
            
           End Function
          End Class

          posted @ 2010-04-08 19:01 明高 閱讀(284) | 評(píng)論 (0)編輯 收藏

          Domino web access無(wú)法下載中文名稱附件

          這是一個(gè)老生常談的老問(wèn)題:

          環(huán)境:Domino7.0.1 2003server.Sp1,用戶mail模板Dwa7.ntf
          利用Domino web access訪問(wèn)用戶mail數(shù)據(jù)庫(kù),時(shí)常出現(xiàn)無(wú)法下載保存中文名稱附件。
          影響的Domino版本很多,IBM承認(rèn)是軟件bug,但一直沒(méi)有解決這個(gè)問(wèn)題

          附件格式:
          中英文混和、utf格式的文檔、名稱中包含+號(hào)、包含路徑等的附件名稱格式
          心細(xì)的你可能注意到,如果你發(fā)送一個(gè)如:abc中文.txt的附件,用戶收到后,附件名稱就會(huì)變更為“abc 中文.txt”,中間多了一個(gè)空格!

          解決:
          看多了網(wǎng)絡(luò)上關(guān)于這個(gè)方面的討論,沒(méi)有徹底的解決方法
          1:修改服務(wù)器文檔---internet協(xié)議---Domino web引擎中的“字符集”,使用UTF-8輸出
          2:如果碰到這個(gè)問(wèn)題,將這個(gè)郵件轉(zhuǎn)發(fā)給自己!在看看,一般而言也可以打開(這個(gè)是IBM發(fā)布的變相解決,嘿嘿)
           相關(guān)配置
          當(dāng)前服務(wù)器文檔
          tab標(biāo)簽“Internet協(xié)議”——〉tab標(biāo)簽“Domino Web引擎”,依次找到語(yǔ)言項(xiàng)設(shè)置:
          缺省字符串資源語(yǔ)言:英語(yǔ)
          其他字符串資源語(yǔ)言:中文(簡(jiǎn)體),中文(繁體)
          字符集
          使用UTF-8輸出:是
          在HTML表單中使用UTF-8:是
          缺省的字符集群組:簡(jiǎn)體中文
          安裝多語(yǔ)言包
          比如客戶端使用的是繁體中文的操作系統(tǒng),domino server就必須安裝繁體中文的語(yǔ)言包,否則此客戶將無(wú)法訪問(wèn)中文名稱(比如:上海世博.ppt)的附件。

          posted @ 2010-04-08 13:14 明高 閱讀(1421) | 評(píng)論 (0)編輯 收藏

          設(shè)計(jì)附件——公式語(yǔ)言

          解決方案1、附件存儲(chǔ)在單獨(dú)的一個(gè)數(shù)據(jù)庫(kù)中,供業(yè)務(wù)文檔來(lái)訪問(wèn)使用。
          AttachmentDBPahtUrl :=@GetProfileField("ConfigProfile";"DBHome") + @GetProfileField("ConfigProfile";"AttachmentDBPath");
          @Implode("<div align=left><IMG SRC=\"/icons/vwicn005.gif\"><A HREF=" + AttachmentDBPahtUrl + "0/"+@Text(AttachmentDocID0)+"/$FILE/"+@URLEncode("Domino";AttachmentName0)+" TARGET=_BLANK>"+AttachmentName0+"</A>&nbsp;</div>")

          域AttachmentDocID0:存儲(chǔ)附件所在的文檔的UNID
          域AttachmentName0:存儲(chǔ)附件的名稱,可能為中文、字母和相關(guān)符號(hào)的組合。
          @URLEncode:對(duì)附件的名字進(jìn)行編碼,避免OS為繁體或其他非簡(jiǎn)體中文的操作系統(tǒng)因URL鏈接被截?cái)喽鵁o(wú)法訪問(wèn)。


          在Lotuscript中對(duì)漢語(yǔ)進(jìn)行URLEncode
          兩種方式:
          1、在ls中使用公式語(yǔ)言
            Dim cmd As String
           Dim x As Variant
           cmd = {@URLEncode("Domino";"上海世博會(huì)")}
           x=Evaluate(cmd)
           msgbox CStr(x(0))
          2、使用ls自定義的函數(shù)

          posted @ 2010-04-07 18:21 明高 閱讀(204) | 評(píng)論 (0)編輯 收藏

          <2010年4月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 金昌市| 漳州市| 万载县| 霍山县| 丁青县| 惠来县| 韶关市| 吉水县| 湘西| 江都市| 延津县| 乐山市| 高陵县| 镇赉县| 锦屏县| 探索| 侯马市| 花莲市| 页游| 临泽县| 沙坪坝区| 九龙城区| 定边县| 花莲市| 电白县| 柳林县| 汉中市| 铜陵市| 新晃| 聂荣县| 桦南县| 区。| 洮南市| 汕尾市| 志丹县| 台安县| 南召县| 韶关市| 敖汉旗| 苏尼特右旗| 定结县|