学习 学习 再学习

学习才是唯一的出路

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  31 随笔 :: 1 文章 :: 8 评论 :: 0 Trackbacks

#

·               配置Eclipse

  1. 下载JDK:

从sun的官网http://java.sun.com/javase/downloads/?intcmp=1281下载JDK,当前最新版本是jdk-6u10-windows-i586-p.exe,这个是正式版的。

  1. 下载WTK:

同时在sun的网站http://java.sun.com/products/sjwtoolkit/zh_download-2_5_2.html下载WTK,当前最新版本是sun_java_wireless_toolkit-2_5_2-ml-windows.exe。

  1. 安装JDK和WTK:

先安装JDK再安装WTK,我的安装路径是:D:"Java"jdk1.6.0_10和D:"Java"WTK2.5.2

  1. 下载eclipse:

从eclipse的官网 http://www.eclipse.org/downloads/下载eclipse,我用的是:eclipse-java-ganymede-SR1-win32.zip,解压到:XX:"eclipse

  1. 下载eclipseme:

从eclipseme的官网   http://sourceforge.net/project/showfiles.php?group_id=86829下载eclipseme.当前最新版本是eclipseeclipseme.feature_1.7.9_site.zip

  1. 配置eclipse:

到 “首选项”找到,Java—>调试,将“发生未不捕获到的异常时暂挂执行”与“在发生编译错误时暂挂执行”这两个选项调为“未选中”状态,再把下面的调试器超时(毫秒)的右侧数值设置为15000

  1. 配置eclipseME:

运行eclipse,配置自己学习的工作路径,选择 帮助—>软件更新—>查找并安装—>搜索要安装的新功能部件,选择 新建已归档的站点,选择eclipseme.feature_1.7.9_site.zip文件,安装,重启eclipse

  1. 配置WTK:

选择 首选项—>J2ME—>Device Management—>Import 在Specify search directory下,选择你所装的WTK模拟器的目录;选择 Refresh ,后按完成,使用DefaultColorPhone为默认模式,这时已为eclipse配置上了模拟器

  1. 下载ProGuard:

需要使用插件ProGuard,从ProGuard的官网下载ProGuard,当前的最新版本是:proguard4.3beta2.tar.gz,解压到:XX:"proguard4.3

  1. 配置ProGuard:

到 Eclipse的“首选项”找到,J2ME—>Packaging—>obfuscation,在Proguard Root Directory右边的框中,选择刚才解压的proguard4.3的文件夹(XX:"proguard4.3),点击应用,这时为eclipse配置上了混淆器

  1. 配置完毕

·               使用eclipse进行J2ME开发

  1. 新建 J2ME下的J2ME Midlet Suite,填写项目名,下一步,完成
  2. 新建 J2ME下的J2ME Midlet,填写名称,完成
  3. 点击运行,新建一个Wireless Toolkit Emulator的运行配置,运行,出现手机样式,运行成功
posted @ 2009-10-25 19:54 铁猴 阅读(383) | 评论 (0)编辑 收藏

import java.net.URL;
import java.util.Vector;
import org.apache.soap.Constants;
import org.apache.soap.Fault;
import org.apache.soap.SOAPException;
import org.apache.soap.encoding.SOAPMappingRegistry;
import org.apache.soap.encoding.soapenc.BeanSerializer;
import org.apache.soap.rpc.Call;
import org.apache.soap.rpc.Parameter;
import org.apache.soap.rpc.Response;
import org.apache.soap.transport.http.SOAPHTTPConnection;
import org.apache.soap.util.xml.QName;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import oss.util.debug.LogHome;

public class GisWebService{
 
 public static String getStringGisWebService(String ajfBm, String zjfBm, String aodfBm,String zodfBm) throws Exception {
  String strUrl = "http://192.168.1.103/ctnwebgis/webgis.aspx?WSDL";
  String strTargetURL = "http://java.sun.com/xml/ns/jax-rpc/ri/config";//
  String soapAction = "http://www.my.com/Rpc1";
     URL url = new URL(strUrl);
     SOAPMappingRegistry smr = new SOAPMappingRegistry();
     BeanSerializer beanSer = new BeanSerializer();
     smr.mapTypes(Constants.NS_URI_SOAP_ENC,new QName("","Result"),null,null,beanSer);
     Call call = new Call();
     SOAPHTTPConnection st = new SOAPHTTPConnection();
     call.setSOAPTransport(st);
     call.setSOAPMappingRegistry(smr);
     call.setTargetObjectURI(strTargetURL);
     call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
     call.setParams(createCondition(ajfBm,zjfBm,aodfBm,zodfBm));
     call.setMethodName("WSEncrypt"); //调用WEBSERVICE方法名
     Response resp;
     try
     {
       call.setTimeout(3000);
       resp = call.invoke(url,soapAction);
     }
     catch(SOAPException e)
     {
       throw new Exception("调用接口出错!URL="+strUrl+"\n"+e.getMessage());
     }
     LogHome.getLog().info("调用成功,开始接收返回信息!");

     return returnValue(resp);
 }
 
 public static String returnValue(Response resp) throws Exception {
  if(resp.generatedFault()) {
        Fault fault = resp.getFault();
        String code = fault.getFaultCode();
        String desc = fault.getFaultString();
        LogHome.getLog().info("Fault code:"+code+":"+desc);
        Vector v = fault.getDetailEntries();
        int cnt = v.size();
        for(int i = 0;i<cnt;i++)
        {
          Element n = (Element)v.elementAt(i);
          Node nd = n.getFirstChild();
          LogHome.getLog().info("Each element:"+n.getNodeName()+":"+nd.getNodeValue());
        }
        throw new Exception("调用接口时出错,Fault code:"+code+":"+desc);
      }
      else
      {
        Parameter ret = resp.getReturnValue();
        String returnXML = (String)ret.getValue();
        LogHome.getLog().info(returnXML);
        return returnXML;
      }
 }
 
 public static  Vector<Parameter> createCondition(String ajfBm,String zjfBm,String aodfBm,String zodfBm) {
   Vector<Parameter> params = new Vector<Parameter>();
     params.addElement(new Parameter("AjfBm",String.class,ajfBm,null));
     params.addElement(new Parameter("ZjfBm",String.class,zjfBm,null));
     params.addElement(new Parameter("AodfBm",String.class,aodfBm,null));
     params.addElement(new Parameter("ZodfBm",String.class,zodfBm,null));
     return params;
 }
 
}

posted @ 2009-10-22 07:50 铁猴 阅读(306) | 评论 (0)编辑 收藏

public static Date getNowDate() {

  Date currentTime = new Date();

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  String dateString = formatter.format(currentTime);

  ParsePosition pos = new ParsePosition(8);

  Date currentTime_2 = formatter.parse(dateString, pos);

  return currentTime_2;

 }

 /**

  * 获取现在时间

  *

  * @return返回短时间格式 yyyy-MM-dd

  */

 public static Date getNowDateShort() {

  Date currentTime = new Date();

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

  String dateString = formatter.format(currentTime);

  ParsePosition pos = new ParsePosition(8);

  Date currentTime_2 = formatter.parse(dateString, pos);

  return currentTime_2;

 }

 /**

  * 获取现在时间

  *

  * @return返回字符串格式 yyyy-MM-dd HH:mm:ss

  */

 public static String getStringDate() {

  Date currentTime = new Date();

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  String dateString = formatter.format(currentTime);

  return dateString;

 }

 /**

  * 获取现在时间

  *

  * @return 返回短时间字符串格式yyyy-MM-dd

  */

 public static String getStringDateShort() {

  Date currentTime = new Date();

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

  String dateString = formatter.format(currentTime);

  return dateString;

 }

 /**

  * 获取时间 小时:分;秒 HH:mm:ss

  *

  * @return

  */

 public static String getTimeShort() {

  SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");

  Date currentTime = new Date();

  String dateString = formatter.format(currentTime);

  return dateString;

 }

 /**

  * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss

  *

  * @param strDate

  * @return

  */

 public static Date strToDateLong(String strDate) {

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  ParsePosition pos = new ParsePosition(0);

  Date strtodate = formatter.parse(strDate, pos);

  return strtodate;

 }

 /**

  * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss

  *

  * @param dateDate

  * @return

  */

 public static String dateToStrLong(java.util.Date dateDate) {

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  String dateString = formatter.format(dateDate);

  return dateString;

 }

 /**

  * 将短时间格式时间转换为字符串 yyyy-MM-dd

  *

  * @param dateDate

  * @param k

  * @return

  */

 public static String dateToStr(java.util.Date dateDate) {

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

  String dateString = formatter.format(dateDate);

  return dateString;

 }

 /**

  * 将短时间格式字符串转换为时间 yyyy-MM-dd

  *

  * @param strDate

  * @return

  */

 public static Date strToDate(String strDate) {

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

  ParsePosition pos = new ParsePosition(0);

  Date strtodate = formatter.parse(strDate, pos);

  return strtodate;

 }

 /**

  * 得到现在时间

  *

  * @return

  */

 public static Date getNow() {

  Date currentTime = new Date();

  return currentTime;

 }

 /**

  * 提取一个月中的最后一天

  *

  * @param day

  * @return

  */

 public static Date getLastDate(long day) {

  Date date = new Date();

  long date_3_hm = date.getTime() - 3600000 * 34 * day;

  Date date_3_hm_date = new Date(date_3_hm);

  return date_3_hm_date;

 }

 /**

  * 得到现在时间

  *

  * @return 字符串 yyyyMMdd HHmmss

  */

 public static String getStringToday() {

  Date currentTime = new Date();

  SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");

  String dateString = formatter.format(currentTime);

  return dateString;

 }

 /**

  * 得到现在小时

  */

 public static String getHour() {

  Date currentTime = new Date();

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  String dateString = formatter.format(currentTime);

  String hour;

  hour = dateString.substring(11, 13);

  return hour;

 }

 /**

  * 得到现在分钟

  *

  * @return

  */

 public static String getTime() {

  Date currentTime = new Date();

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  String dateString = formatter.format(currentTime);

  String min;

  min = dateString.substring(14, 16);

  return min;

 }

 /**

  * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。

  *

  * @param sformat

  *            yyyyMMddhhmmss

  * @return

  */

 public static String getUserDate(String sformat) {

  Date currentTime = new Date();

  SimpleDateFormat formatter = new SimpleDateFormat(sformat);

  String dateString = formatter.format(currentTime);

  return dateString;

 }

 /**

  * 二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟

  */

 public static String getTwoHour(String st1, String st2) {

  String[] kk = null;

  String[] jj = null;

  kk = st1.split(":");

  jj = st2.split(":");

  if (Integer.parseInt(kk[0]) < Integer.parseInt(jj[0]))

   return "0";

  else {

   double y = Double.parseDouble(kk[0]) + Double.parseDouble(kk[1]) / 60;

   double u = Double.parseDouble(jj[0]) + Double.parseDouble(jj[1]) / 60;

   if ((y - u) > 0)

    return y - u + "";

   else

    return "0";

  }

 }

 /**

  * 得到二个日期间的间隔天数

  */

 public static String getTwoDay(String sj1, String sj2) {

  SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");

  long day = 0;

  try {

   java.util.Date date = myFormatter.parse(sj1);

   java.util.Date mydate = myFormatter.parse(sj2);

   day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);

  } catch (Exception e) {

   return "";

  }

  return day + "";

 }

 /**

  * 时间前推或后推分钟,其中JJ表示分钟.

  */

 public static String getPreTime(String sj1, String jj) {

  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  String mydate1 = "";

  try {

   Date date1 = format.parse(sj1);

   long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60;

   date1.setTime(Time * 1000);

   mydate1 = format.format(date1);

  } catch (Exception e) {

  }

  return mydate1;

 }

 /**

  * 得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数

  */

 public static String getNextDay(String nowdate, String delay) {

  try{

  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

  String mdate = "";

  Date d = strToDate(nowdate);

  long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;

  d.setTime(myTime * 1000);

  mdate = format.format(d);

  return mdate;

  }catch(Exception e){

   return "";

  }

 }

 /**

  * 判断是否润年

  *

  * @param ddate

  * @return

  */

 public static boolean isLeapYear(String ddate) {

  /**

   * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年

   * 3.能被4整除同时能被100整除则不是闰年

   */

  Date d = strToDate(ddate);

  GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();

  gc.setTime(d);

  int year = gc.get(Calendar.YEAR);

  if ((year % 400) == 0)

   return true;

  else if ((year % 4) == 0) {

   if ((year % 100) == 0)

    return false;

   else

    return true;

  } else

   return false;

 }

 /**

  * 返回美国时间格式 26 Apr 2006

  *

  * @param str

  * @return

  */

 public static String getEDate(String str) {

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

  ParsePosition pos = new ParsePosition(0);

  Date strtodate = formatter.parse(str, pos);

  String j = strtodate.toString();

  String[] k = j.split(" ");

  return k[2] + k[1].toUpperCase() + k[5].substring(2, 4);

 }

 /**

  * 获取一个月的最后一天

  *

  * @param dat

  * @return

  */

 public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd

  String str = dat.substring(0, 8);

  String month = dat.substring(5, 7);

  int mon = Integer.parseInt(month);

  if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12) {

   str += "31";

  } else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {

   str += "30";

  } else {

   if (isLeapYear(dat)) {

    str += "29";

   } else {

    str += "28";

   }

  }

  return str;

 }

 /**

  * 判断二个时间是否在同一个周

  *

  * @param date1

  * @param date2

  * @return

  */

 public static boolean isSameWeekDates(Date date1, Date date2) {

  Calendar cal1 = Calendar.getInstance();

  Calendar cal2 = Calendar.getInstance();

  cal1.setTime(date1);

  cal2.setTime(date2);

  int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);

  if (0 == subYear) {

   if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))

    return true;

  } else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {

   // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周

   if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))

    return true;

  } else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {

   if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))

    return true;

  }

  return false;

 }

 /**

  * 产生周序列,即得到当前时间所在的年度是第几周

  *

  * @return

  */

 public static String getSeqWeek() {

  Calendar c = Calendar.getInstance(Locale.CHINA);

  String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));

  if (week.length() == 1)

   week = "0" + week;

  String year = Integer.toString(c.get(Calendar.YEAR));

  return year + week;

 }

 /**

  * 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号

  *

  * @param sdate

  * @param num

  * @return

  */

 public static String getWeek(String sdate, String num) {

  // 再转换为时间

  Date dd = VeDate.strToDate(sdate);

  Calendar c = Calendar.getInstance();

  c.setTime(dd);

  if (num.equals("1")) // 返回星期一所在的日期

   c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

  else if (num.equals("2")) // 返回星期二所在的日期

   c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);

  else if (num.equals("3")) // 返回星期三所在的日期

   c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);

  else if (num.equals("4")) // 返回星期四所在的日期

   c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);

  else if (num.equals("5")) // 返回星期五所在的日期

   c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);

  else if (num.equals("6")) // 返回星期六所在的日期

   c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);

  else if (num.equals("0")) // 返回星期日所在的日期

   c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

  return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());

 }

 /**

  * 根据一个日期,返回是星期几的字符串

  *

  * @param sdate

  * @return

  */

 public static String getWeek(String sdate) {

  // 再转换为时间

  Date date = VeDate.strToDate(sdate);

  Calendar c = Calendar.getInstance();

  c.setTime(date);

  // int hour=c.get(Calendar.DAY_OF_WEEK);

  // hour中存的就是星期几了,其范围 1~7

  // 1=星期日 7=星期六,其他类推

  return new SimpleDateFormat("EEEE").format(c.getTime());

 }

 public static String getWeekStr(String sdate){

  String str = "";

  str = VeDate.getWeek(sdate);

  if("1".equals(str)){

   str = "星期日";

  }else if("2".equals(str)){

   str = "星期一";

  }else if("3".equals(str)){

   str = "星期二";

  }else if("4".equals(str)){

   str = "星期三";

  }else if("5".equals(str)){

   str = "星期四";

  }else if("6".equals(str)){

   str = "星期五";

  }else if("7".equals(str)){

   str = "星期六";

  }

  return str;

 }

 /**

  * 两个时间之间的天数

  *

  * @param date1

  * @param date2

  * @return

  */

 public static long getDays(String date1, String date2) {

  if (date1 == null || date1.equals(""))

   return 0;

  if (date2 == null || date2.equals(""))

   return 0;

  // 转换为标准时间

  SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");

  java.util.Date date = null;

  java.util.Date mydate = null;

  try {

   date = myFormatter.parse(date1);

   mydate = myFormatter.parse(date2);

  } catch (Exception e) {

  }

  long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);

  return day;

 }

 /**

  * 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间

  * 此函数返回该日历第一行星期日所在的日期

  *

  * @param sdate

  * @return

  */

 public static String getNowMonth(String sdate) {

  // 取该时间所在月的一号

  sdate = sdate.substring(0, 8) + "01";

  // 得到这个月的1号是星期几

  Date date = VeDate.strToDate(sdate);

  Calendar c = Calendar.getInstance();

  c.setTime(date);

  int u = c.get(Calendar.DAY_OF_WEEK);

  String newday = VeDate.getNextDay(sdate, (1 - u) + "");

  return newday;

 }

 /**

  * 取得数据库主键 生成格式为yyyymmddhhmmss+k位随机数

  *

  * @param k

  *            表示是取几位随机数,可以自己定

  */

 public static String getNo(int k) {

  return getUserDate("yyyyMMddhhmmss") + getRandom(k);

 }

 /**

  * 返回一个随机数

  *

  * @param i

  * @return

  */

 public static String getRandom(int i) {

  Random jjj = new Random();

  // int suiJiShu = jjj.nextInt(9);

  if (i == 0)

   return "";

  String jj = "";

  for (int k = 0; k < i; k++) {

   jj = jj + jjj.nextInt(9);

  }

  return jj;

 }

 /**

  *

  * @param args

  */

 public static boolean RightDate(String date) {

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

  ;

  if (date == null)

   return false;

  if (date.length() > 10) {

   sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

  } else {

   sdf = new SimpleDateFormat("yyyy-MM-dd");

  }

  try {

   sdf.parse(date);

  } catch (ParseException pe) {

   return false;

  }

  return true;

 }

 /***************************************************************************

  * //nd=1表示返回的值中包含年度 //yf=1表示返回的值中包含月份 //rq=1表示返回的值中包含日期 //format表示返回的格式 1

  * 以年月日中文返回 2 以横线-返回 // 3 以斜线/返回 4 以缩写不带其它符号形式返回 // 5 以点号.返回

  **************************************************************************/

 public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format) {

  Date currentTime = new Date();

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

  String dateString = formatter.format(currentTime);

  String s_nd = dateString.substring(0, 4); // 年份

  String s_yf = dateString.substring(5, 7); // 月份

  String s_rq = dateString.substring(8, 10); // 日期

  String sreturn = "";

  roc.util.MyChar mc = new roc.util.MyChar();

  if (sdate == null || sdate.equals("") || !mc.Isdate(sdate)) { // 处理空值情况

   if (nd.equals("1")) {

    sreturn = s_nd;

    // 处理间隔符

    if (format.equals("1"))

     sreturn = sreturn + "年";

    else if (format.equals("2"))

     sreturn = sreturn + "-";

    else if (format.equals("3"))

     sreturn = sreturn + "/";

    else if (format.equals("5"))

     sreturn = sreturn + ".";

   }

   // 处理月份

   if (yf.equals("1")) {

    sreturn = sreturn + s_yf;

    if (format.equals("1"))

     sreturn = sreturn + "月";

    else if (format.equals("2"))

     sreturn = sreturn + "-";

    else if (format.equals("3"))

     sreturn = sreturn + "/";

    else if (format.equals("5"))

     sreturn = sreturn + ".";

   }

   // 处理日期

   if (rq.equals("1")) {

    sreturn = sreturn + s_rq;

    if (format.equals("1"))

     sreturn = sreturn + "日";

   }

  } else {

   // 不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式

   sdate = roc.util.RocDate.getOKDate(sdate);

   s_nd = sdate.substring(0, 4); // 年份

   s_yf = sdate.substring(5, 7); // 月份

   s_rq = sdate.substring(8, 10); // 日期

   if (nd.equals("1")) {

    sreturn = s_nd;

    // 处理间隔符

    if (format.equals("1"))

     sreturn = sreturn + "年";

    else if (format.equals("2"))

     sreturn = sreturn + "-";

    else if (format.equals("3"))

     sreturn = sreturn + "/";

    else if (format.equals("5"))

     sreturn = sreturn + ".";

   }

   // 处理月份

   if (yf.equals("1")) {

    sreturn = sreturn + s_yf;

    if (format.equals("1"))

     sreturn = sreturn + "月";

    else if (format.equals("2"))

     sreturn = sreturn + "-";

    else if (format.equals("3"))

     sreturn = sreturn + "/";

    else if (format.equals("5"))

     sreturn = sreturn + ".";

   }

   // 处理日期

   if (rq.equals("1")) {

    sreturn = sreturn + s_rq;

    if (format.equals("1"))

     sreturn = sreturn + "日";

   }

  }

  return sreturn;

 }

 public static String getNextMonthDay(String sdate, int m) {

  sdate = getOKDate(sdate);

  int year = Integer.parseInt(sdate.substring(0, 4));

  int month = Integer.parseInt(sdate.substring(5, 7));

  month = month + m;

  if (month < 0) {

   month = month + 12;

   year = year - 1;

  } else if (month > 12) {

   month = month - 12;

   year = year + 1;

  }

  String smonth = "";

  if (month < 10)

   smonth = "0" + month;

  else

   smonth = "" + month;

  return year + "-" + smonth + "-10";

 }

 public static String getOKDate(String sdate) {

  if (sdate == null || sdate.equals(""))

   return getStringDateShort();

  if (!VeStr.Isdate(sdate)) {

   sdate = getStringDateShort();

  }

  // 将“/”转换为“-”

  sdate = VeStr.Replace(sdate, "/", "-");

  // 如果只有8位长度,则要进行转换

  if (sdate.length() == 8)

   sdate = sdate.substring(0, 4) + "-" + sdate.substring(4, 6) + "-" + sdate.substring(6, 8);

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

  ParsePosition pos = new ParsePosition(0);

  Date strtodate = formatter.parse(sdate, pos);

  String dateString = formatter.format(strtodate);

  return dateString;

 }

 public static void main(String[] args) throws Exception {

  try {

   //System.out.print(Integer.valueOf(getTwoDay("2006-11-03 12:22:10", "2006-11-02 11:22:09")));

  } catch (Exception e) {

   throw new Exception();

  }

  //System.out.println("sss");

 }

}   

posted @ 2009-10-17 15:16 铁猴 阅读(2378) | 评论 (0)编辑 收藏

******************使用到的软件******************

IIS 6.0

PHP 5.26

MySQL V5.0.15 正式版

phpMyAdmin-2.11.7-all-languages

本机操作系统 Window Server 2003 EnterPrise Edition SP2

******************使用到的软件******************

一直都是用的APPServ 突然觉得经常用也没有什么意思!于是就想自己配的玩下!这里使用的是IIS下配置。

安装IIS服务器

打开控制面板->添加删除程序->添加删除组件->应用程序服务器 要使用ASP.NET的就把详细信息里面的ASP.NET勾上!然后下一步。

这里如果有光盘的可以直接用光盘安装,如果没有就下一个,我用的是IIS6 然后安装的时候会提示你插入光盘,你浏览到下载解压后的IIS6的文件里,然后会找到所需文件,就这样一直浏览就可以安装成功!

安装PHP

安装好IIS之后就需要打开准备好的PHP文件,将里面的DLL文件全部复制到System 32 目录下, 其实并不需要全部复制!只需要复制 php5ts.dll libmysql.dll libmcrypt.dll 这三个就行了!但如果你觉得不好记,全部复制进去不会影响什么!然后将PHP目录下的php.ini-recommended拷到C:\Windows下 然后把php.ini-recommended文件改名成php.ini

从IIS里面添加对PHP的映射

打开 Internet 信息服务(IIS)管理器(管理工具里面)

点击Web 服务扩展 如果你同时要使用ASP ASP.NET(安装了才有) 的话 就点击左边的允许! 同时所有未知的ISAPI也要允许!



接着在默认网站上--->右键--->属性--->ISAPI 添加 筛选器,名称 可以写PHP 可执行文件 找到 你的PHP目录下的php5isapi.dll

然后在点击主目录--->配置--->添加--->可执行文件也选择刚才这个文件 扩展名填写.php 确定

同时在文档里面可以添加index.php 这个是默认打开的页面!不会影响程序。如果你设置了它就自动寻找这个文件,如果有就直接打开。不过还是建议添加一下!

接下来 应用 确定 重启IIS服务

重启方法:

在运行里面依次输入

net stop w3svc

net stop iisadmin

net start w3svc

接着在你的目录下的PHP文件就可以浏览了!

比如输入

echo phpinfo();

?>

短标记默认是关闭的,请写成这种形式的,建议不使用短标记。

保存为index.php,然后在Internet 信息服务(IIS)管理器下的默认网站的右边 点击你想看的页面 右键 浏览!OK 显示出来了。

配置PHP

上面仅仅完成了PHP的安装,但是PHP的配置都是默认的,这样子会带来很多的问题。为了使PHP能更好的运行,需要修改PHP配置!PHP主要与php.ini有关,打开C:\Windows下的php.ini。

找到 extension_dir = "./" 改成extension_dir = "C:\php\ext\" 地址是PHP目录下的ext文件夹,

posted @ 2009-10-15 19:34 铁猴 阅读(203) | 评论 (0)编辑 收藏

SELECT  a.title,a.SEND_STAFF_ID,a.SEND_DATE,a.STATE,a.order_id
from order_main_info a,INT_AD_INFO  c
WHERE   a.order_type='32' and
a.state='0' and c.order_id=a.order_id and
a.order_id=(select order_id from(select rownum rn,order_id
from ORDER_DEAL_INFO where order_id=(select order_id from order_main_info where order_type='32' and  state='0'))
where rn=(select count(*) from ORDER_DEAL_INFO where order_id=(select order_id from order_main_info where order_type='32' and  state='0')))
posted @ 2009-10-15 09:36 铁猴 阅读(164) | 评论 (0)编辑 收藏

3.7 复选框的全选,多选,全不选,反选
<form name=hrong>
<input type=checkbox name=All onclick="checkAll('mm')">全选<br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/><br/>


<input type=checkbox name=All2 onclick="checkAll('mm2')">全选<br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>

</form>

<SCRIPT LANGUAGE="JavaScript">
function checkAll(str)
{
   var a = document.getElementsByName(str);
   var n = a.length;
   for (var i=0; i<n; i++)
   a[i].checked = window.event.srcElement.checked;
}
function checkItem(str)
{
   var e = window.event.srcElement;
   var all = eval("document.hrong."+ str);
   if (e.checked)
   {
     var a = document.getElementsByName(e.name);
     all.checked = true;
     for (var i=0; i<a.length; i++)
     {
       if (!a[i].checked){ all.checked = false; break;}
     }
   }
   else all.checked = false;
}
</SCRIPT>

3.8 文件上传过程中判断文件类型
<input type=file onchange="alert(this.value.match(/^(.*)(\.)(.{1,8})$/)[3])">

画图:
<OBJECT
id=S
style="LEFT: 0px; WIDTH: 392px; TOP: 0px; HEIGHT: 240px"
height=240
width=392
classid="clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6">
</OBJECT>
<SCRIPT>
S.DrawingSurface.ArcDegrees(0,0,0,30,50,60);
S.DrawingSurface.ArcRadians(30,0,0,30,50,60);
S.DrawingSurface.Line(10,10,100,100);
</SCRIPT>

写注册表:
<SCRIPT>
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\", 1, "REG_BINARY");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader", "Goocher!", "REG_SZ");
var bKey =     WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\");
WScript.Echo (WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader"));
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader");
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");
WshShell.RegDelete ("HKCU\\Software\\ACME\\");
</SCRIPT>

TABLAE相关(客户端动态增加行列)
<HTML>
<SCRIPT LANGUAGE="JScript">
function numberCells() {
     var count=0;
     for (i=0; i < document.all.mytable.rows.length; i++) {
         for (j=0; j < document.all.mytable.rows(i).cells.length; j++) {
             document.all.mytable.rows(i).cells(j).innerText = count;
             count++;
         }
     }
}
</SCRIPT>
<BODY onload="numberCells()">
<TABLE id=mytable border=1>
<TR><TH> </TH><TH> </TH><TH> </TH><TH> </TH></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
</TABLE>
</BODY>
</HTML>

1.身份证严格验证:

<script>
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
  
function cidInfo(sId){
var iSum=0
var info=""
if(!/^\d{17}(\d|x)$/i.test(sId))return false;
sId=sId.replace(/x$/i,"a");
if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";
sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/"))
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";
for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
if(iSum%11!=1)return "Error:非法证号";
return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}

document.write(cidInfo("380524198002300016"),"<br/>");
document.write(cidInfo("340524198002300019"),"<br/>")
document.write(cidInfo("340524197711111111"),"<br/>")
document.write(cidInfo("34052419800101001x"),"<br/>");
</script>

2.验证IP地址
<SCRIPT LANGUAGE="JavaScript">
function isip(s){
var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};
var re=s.split(".")
return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}

var s="202.197.78.129";
alert(isip(s))
</SCRIPT>



3.加sp1后还能用的无边框窗口!!
<HTML XMLNS:IE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<IE:Download ID="include" STYLE="behavior:url(#default#download)" />
<title>Chromeless Window</title>

<SCRIPT LANGUAGE="JScript">
/*--- Special Thanks For andot ---*/

/*
This following code are designed and writen by Windy_sk <seasonx@163.net>
You can use it freely, but u must held all the copyright items!
*/

/*--- Thanks For andot Again ---*/

var CW_width = 400;
var CW_height = 300;
var CW_top = 100;
var CW_left = 100;
var CW_url = "/";
var New_CW = window.createPopup();
var CW_Body = New_CW.document.body;
var content = "";
var CSStext = "margin:1px;color:black; border:2px outset;border-style:e­xpression(onmouseout=onmouseup=function(){this.style.borderStyle='outset'}, onmousedown=function(){if(event.button!=2)this.style.borderStyle='inset'});background-color:buttonface;width:16px;height:14px;font-size:12px;line-height:11px;cursor:Default;";

//Build Window
include.startDownload(CW_url, function(source){content=source});

function insert_content(){
var temp = "";
CW_Body.style.overflow   = "hidden";
CW_Body.style.backgroundColor = "white";
CW_Body.style.border   =   "solid black 1px";
content = content.replace(/<a ([^>]*)>/g,"<a onclick='parent.open(this.href);return false' $1>");
temp += "<table width=100% height=100% cellpadding=0 cellspacing=0 border=0>";
temp += "<tr style=';font-size:12px;background:#0099CC;height:20;cursor:default' ondblclick=\"Max.innerText=Max.innerText=='1'?'2':'1';parent.if_max=!parent.if_max;parent.show_CW();\" onmouseup='parent.drag_up(event)' onmousemove='parent.drag_move(event)' onmousedown='parent.drag_down(event)' onselectstart='return false' oncontextmenu='return false'>";
temp += "<td style='color:#ffffff;padding-left:5px'>Chromeless Window For IE6 SP1</td>";
temp += "<td style='color:#ffffff;padding-right:5px;' align=right>";
temp += "<span id=Help   onclick=\"alert('Chromeless Window For IE6 SP1   -   Ver 1.0\\n\\nCode By Windy_sk\\n\\nSpecial Thanks For andot')\" style=\""+CSStext+"font-family:System;padding-right:2px;\">?</span>";
temp += "<span id=Min   onclick='parent.New_CW.hide();parent.blur()' style=\""+CSStext+"font-family:Webdings;\" title='Minimum'>0</span>";
temp += "<span id=Max   onclick=\"this.innerText=this.innerText=='1'?'2':'1';parent.if_max=!parent.if_max;parent.show_CW();\" style=\""+CSStext+"font-family:Webdings;\" title='Maximum'>1</span>";
temp += "<span id=Close onclick='parent.opener=null;parent.close()' style=\""+CSStext+"font-family:System;padding-right:2px;\" title='Close'>x</span>";
temp += "</td></tr><tr><td colspan=2>";
temp += "<div id=include style='overflow:scroll;overflow-x:hidden;overflow-y:auto; HEIGHT: 100%; width:"+CW_width+"'>";
temp += content;
temp += "</div>";
temp += "</td></tr></table>";
CW_Body.innerHTML = temp;
}

setTimeout("insert_content()",1000);

var if_max = true;
function show_CW(){
window.moveTo(10000, 10000);
if(if_max){
   New_CW.show(CW_top, CW_left, CW_width, CW_height);
   if(typeof(New_CW.document.all.include)!="undefined"){
   New_CW.document.all.include.style.width = CW_width;
   New_CW.document.all.Max.innerText = "1";
   }
  
}else{
   New_CW.show(0, 0, screen.width, screen.height);
   New_CW.document.all.include.style.width = screen.width;
}
}

window.onfocus   = show_CW;
window.onresize = show_CW;

// Move Window
var drag_x,drag_y,draging=false

function drag_move(e){
if (draging){
   New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height);
   return false;
}
}

function drag_down(e){
if(e.button==2)return;
if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height)return;
drag_x=e.clientX;
drag_y=e.clientY;
draging=true;
e.srcElement.setCapture();
}

function drag_up(e){
draging=false;
e.srcElement.releaseCapture();
if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height) return;
CW_top   = e.screenX-drag_x;
CW_left = e.screenY-drag_y;
}

</SCRIPT>
</HTML>

电话号码的验证

要求:
  (1)电话号码由数字、"("、")"和"-"构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用"("、")"或"-"和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为"13"
  (7)12位移动电话号码的第二位和第三位为"13"
  根据这几条规则,可以与出以下正则表达式:
  (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)


<script language="javascript">
function PhoneCheck(s) {
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
alert(reg.test(str));
}
</script>
<input type=text name="iphone">
<input type=button onclick="PhoneCheck(document.all.iphone.value)" value="Check">

具有在输入非数字字符不回显的效果,即对非数字字符的输入不作反应。
function numbersonly(field,event){
var key,keychar;
if(window.event){
   key = window.event.keyCode;
}
else if (event){
   key = event.which;
}
else{
   return true
}
keychar = String.fromCharCode(key);
if((key == null)||(key == 0)||(key == 8)||(key == 9)||(key == 13)||(key == 27)){
   return true;
}
else if(("0123456789.").indexOf(keychar)>-1){
   window.status = "";
   return true;
}
else {
   window.status = "Field excepts numbers only";
   return false;
}
}

验证ip

str=document.RegExpDemo.txtIP.value;
if(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.test(str)==false)
{
window.alert('错误的IP地址格式');
document.RegExpDemo.txtIP.select();
document.RegExpDemo.txtIP.focus();
return;
}
if(RegExp.$1<1 || RegExp.$1>254||RegExp.$2<0||RegExp.$2>254||RegExp.$3<0||RegExp.$3>254||RegExp.$4<1||RegExp.$4>254)
{
window.alert('错误的IP地址');
document.RegExpDemo.txtIP.select();
document.RegExpDemo.txtIP.focus();
return;
}
//剔除 如   010.020.020.03 前面 的0
var str=str.replace(/0(\d)/g,"$1");
str=str.replace(/0(\d)/g,"$1");
window.alert(str);



//一下是取数据的类
//Obj参数指定数据的来源(限定Table),默认第一行为字段名称行
//GetTableData类提供MoveNext方法,参数是表的行向上或向下移动的位数,正数向下移动,负数向上.
//GetFieldData方法获得指定的列名的数据
//Sort_desc方法对指定的列按降序排列
//Sort_asc方法对指定的列按升序排列
//GetData方法返回字段值为特定值的数据数组,提供数据,可以在外部进行其他处理
//Delete方法删除当前记录,数组减少一行
//初始化,Obj:table的名字,Leftlen:左面多余数据长度,Rightlen:右面多余数据长度,
function GetTableData(Obj,LeftLen,RightLen){
var MyObj=document.all(Obj);
var iRow=MyObj.rows.length;
var iLen=MyObj.rows[0].cells.length;
var i,j;

TableData=new Array();
   for (i=0;i< iRow;i++){
   TableData[i]=new Array();
   for (j=0;j<iLen;j++){
   TableStr=MyObj.rows(i).cells(j).innerText;
   TableStr=TableStr.substring(LeftLen, TableStr.length-RightLen).Trim();
   TableStr=TableStr.replace(/ /gi,"").replace(/\r\n/ig,"");
   TableData[i][j]=TableStr;
   }
   }
  
   this.TableData=TableData;
   this.cols=this.TableData[0].length;
   this.rows=this.TableData.length;
   this.rowindex=0;
}


function movenext(Step){
if (this.rowindex>=this.rows){
return
}

if (Step=="" || typeof(Step)=="undefined") {
if (this.rowindex<this.rows-1)
this.rowindex++;
return;

}
else{
   if (this.rowindex + Step<=this.rows-1 && this.rowindex + Step>=0 ){
   this.rowindex=this.rowindex + Step;
   }
   else
   {
   if (this.rowindex + Step<0){
   this.rowindex= 0;
   return;
   }
   if (this.rowindex + Step>this.rows-1){
   this.rowindex= this.rows-1;
   return;
   }
   }
}
}


function getfielddata(Field){
var colindex=-1;
var i=0;
if (typeof(Field) == "number"){
   colindex=Field;
   }
else
{
for (i=0;i<this.cols && this.rowindex<this.rows ;i++){
   if (this.TableData[0][i]==Field){
   colindex=i;
   break;
   }  
   }
}
   if (colindex!=-1) {
   return this.TableData[this.rowindex][colindex];
   }

}



function sort_desc(){//降序
var colindex=-1;
var highindex=-1;
desc_array=new Array();
var i,j;
for (n=0; n<arguments.length; n++){
Field=arguments[arguments.length-1-n];
for (i=0;i<this.cols;i++){
   if (this.TableData[0][i]==Field){
   colindex=i;
   break;
   }  
}
   if ( colindex==-1 )
   return;
   else
   {
   desc_array[0]=this.TableData[0];
   for(i=1;i<this.rows;i++){
   desc_array[i]=this.TableData[1];
   highindex=1;
   for(j=1;j<this.TableData.length;j++){
       if   (desc_array[i][colindex]<this.TableData[j][colindex]){
       desc_array[i]=this.TableData[j];  
       highindex=j;
     }
    
   }
     if (highindex!=-1)
     this.TableData=this.TableData.slice(0,highindex).concat(this.TableData.slice(highindex+1,this.TableData.length));                      
   }
}


this.TableData=desc_array;
}
return;
}



function sort_asc(){//升序
var colindex=-1;
var highindex=-1;
var i,j;
for (n=0; n<arguments.length; n++){
   asc_array=new Array();
   Field=arguments[arguments.length-1-n];
   for (i=0;i<this.cols;i++){
     if (this.TableData[0][i]==Field){
     colindex=i;
     break;
     }  
   }
   if ( colindex==-1 )
     return;
   else
     {
     asc_array[0]=this.TableData[0];
     for(i=1;i<this.rows;i++){
     asc_array[i]=this.TableData[1];
     highindex=1;
       for(j=1;j<this.TableData.length;j++){//找出最小的列值
         if   (asc_array[i][colindex]>this.TableData[j][colindex]){
         asc_array[i]=this.TableData[j];  
         highindex=j;
          
         }
          
       }
         if (highindex!=-1)
         this.TableData=this.TableData.slice(0,highindex).concat(this.TableData.slice(highindex+1,this.TableData.length));                      
        
       }
     }


     this.TableData=asc_array;
}
return;
}



function getData(Field,FieldValue){
var colindex=-1;
var i,j;

GetData=new Array();
   if (typeof(Field)=="undefined" || typeof(FieldValue)=="undefined" ){
   return this.TableData;
   }
  
   for(j=0;j<this.cols;j++){
       if   (this.TableData[0][j]==Field){
     colindex=j;
     }
   }
   if (colindex!=-1){
  
   for(i=1;i<this.rows;i++){
       if   (this.TableData[i][colindex]==FieldValue){
     GetData[i]=new Array();
     GetData[i]=this.TableData[i];
     }
   }
   }
   return GetData;
}
function Delete(){
this.TableData=this.TableData.slice(0,this.rowindex).concat(this.TableData.slice(this.rowindex+1,this.TableData.length));                      
this.rows=this.TableData.length;
return;
}
function updateField(Field,FieldValue){
var colindex=-1;
var i=0;
if (typeof(Field) == "number"){
   colindex=Field;
   }
else
{
for (i=0;i<this.cols && this.rowindex<this.rows ;i++){
   if (this.TableData[0][i]==Field){
   colindex=i;
   break;
   }  
   }
}
if (colindex!=-1) {
   this.TableData[this.rowindex][colindex]=FieldValue;
   }


}
function movefirst(){
this.rowindex=0;
}
function movelast(){
this.rowindex=this.rows-1;
}
function String.prototype.Trim() {return this.replace(/(^\s*)|(\s*$)/g,"");}
GetTableData.prototype.MoveNext = movenext;
GetTableData.prototype.GetFieldData = getfielddata;
GetTableData.prototype.Sort_asc = sort_asc;
GetTableData.prototype.Sort_desc = sort_desc;
GetTableData.prototype.GetData = getData;
GetTableData.prototype.Delete = Delete;
GetTableData.prototype.UpdateField = updateField;
GetTableData.prototype.MoveFirst = movefirst;

具体的例子:http://202.119.73.208/NetEAn/com/test/jsprint.htm

在每个文本框的onblur事件中调用校验代码,并且每个文本框中onKeyDown事件中写一个enter转tab函数

//回车键换为tab
function enterToTab()
{
     if(event.srcElement.type != 'button' && event.srcElement.type != 'textarea'
       && event.keyCode == 13)
     {
         event.keyCode = 9;
     }
}

有时候还需要自由编辑表格---
给大家一个自由编辑表格的小例子,写的有点乱,呵呵:)

//===============================start================================


<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>测试修改表格</TITLE>
<STYLE>
/*提示层的样式*/
div
{
   BORDER-RIGHT: #80c144 1px solid;
   BORDER-TOP: #80c144 1px solid;
   VISIBILITY: hidden;
   BORDER-LEFT: #80c144 1px solid;
   CURSOR: default;
   LINE-HEIGHT: 20px;
   BORDER-BOTTOM: #80c144 1px solid;
   FONT-FAMILY: 宋体;
   font-size:12px;
   POSITION: absolute;
   BACKGROUND-COLOR: #f6f6f6;
   TOP:30px;
   LEFT:30px;
}
/*tr的样式*/
tr
{
     font-family: "宋体";
     color: #000000;
     background-color: #C1DBF5;
     font-size: 12px
}
/*table脚注样式*/
.TrFoot
{
     FONT-SIZE: 12px;
     font-family:"宋体", "Verdana", "Arial";
     BACKGROUND-COLOR: #6699CC;
     COLOR:#FFFFFF;
     height: 25;
}
/*trhead属性*/
.TrHead
{
     FONT-SIZE: 13px;
     font-family:"宋体", "Verdana", "Arial";
     BACKGROUND-COLOR: #77AADD;
     COLOR:#FFFFFF;
     height: 25;
}
/*文本框样式*/
INPUT
{
     BORDER-COLOR: #AACEF7 #AACEF7 #AACEF7 #AACEF7;
     BORDER-RIGHT: 1px solid;
     BORDER-TOP: 1px solid;
     BORDER-LEFT: 1px solid;
     BORDER-BOTTOM: 1px solid;
     FONT-SIZE: 12px;
     FONT-FAMILY: "宋体","Verdana";
     color: #000000;
     BACKGROUND-COLOR: #E9EFF5;
}
/*button样式*/
button
{
     BORDER-COLOR: #AACEF7 #AACEF7 #AACEF7 #AACEF7;
     BACKGROUND-COLOR: #D5E4F3;
     CURSOR: hand;
     FONT-SIZE:12px;
     BORDER-RIGHT: 1px solid;
     BORDER-TOP: 1px solid;
     BORDER-LEFT: 1px solid;
     BORDER-BOTTOM: 1px solid;
     COLOR: #000000;
}
</STYLE>
</HEAD>
<BODY>
<SCRIPT language = "JavaScript">
<!--全局变量
//标志位,值为false代表未打开一个编辑框,值为true为已经打开一个编辑框开始编辑
var editer_table_cell_tag = false;
//开启编辑功能标志,值为true时为允许编辑
var run_edit_flag = false;
//-->
</SCRIPT>

<SCRIPT language = "JavaScript">
<!--
/**
* 编辑表格函数
* 单击某个单元格可以对里面的内容进行自由编辑
* @para tableID 为要编辑的table的id
* @para noEdiID 为不要编辑的td的ID,比如说table的标题
* 可以写为<TD id="no_editer">自由编辑表格</TD>
* 此时该td不可编辑
*/
function editerTableCell(tableId,noEdiId)
{
var tdObject = event.srcElement;
var tObject = ((tdObject.parentNode).parentNode).parentNode;
if(tObject.id == tableId &&tdObject.id != noEdiId&&editer_table_cell_tag == false && run_edit_flag == true)
{
   tdObject.innerHTML = "<input type=text id=edit_table_txt name=edit_table_txt value="+tdObject.innerText+" size='15' onKeyDown='enterToTab()'>   <input type=button value=' 确定 ' onclick='certainEdit()'>";
   edit_table_txt.focus();
   edit_table_txt.select();
   editer_table_cell_tag = true;
   //修改按钮提示信息
   editTip.innerText = "请先点确定按钮确认修改!";  
}
else
{
   return false;
}
}

/**
* 确定修改
*/
function certainEdit()
{
var bObject = event.srcElement;
var tdObject = bObject.parentNode;
var txtObject = tdObject.firstChild;
tdObject.innerHTML = txtObject.value;
//代表编辑框已经关闭
editer_table_cell_tag = false;
//修改按钮提示信息
editTip.innerText = "请单击某个单元格进行编辑!";
}

function enterToTab()
{
     if(event.srcElement.type != 'button' && event.srcElement.type != 'textarea'
       && event.keyCode == 13)
     {
         event.keyCode = 9;
     }
}

/**
* 控制是否编辑
*/
function editStart()
{
if(event.srcElement.value == "开始编辑")
{
   event.srcElement.value = "编辑完成";
   run_edit_flag = true;
}
else
{
   //如果当前没有编辑框,则编辑成功,否则,无法提交
   //必须按确定按钮后才能正常提交
   if(editer_table_cell_tag == false)
   {
   alert("编辑成功结束!");
   event.srcElement.value = "开始编辑";
   run_edit_flag = false;
   }
}
}

/**
* 根据不同的按钮提供不同的提示信息
*/
function showTip()
{
if(event.srcElement.value == "编辑完成")
{
   editTip.style.top = event.y + 15;
   editTip.style.left = event.x + 12;
   editTip.style.visibility = "visible";  
}
else
{
   editTip.style.visibility = "hidden";  
}
}
-->
</SCRIPT>
<TABLE id="editer_table" width="100%" align="center"
     onclick="editerTableCell('editer_table','no_editer')">  
     <TR class="TrHead">
   <TD colspan="3" align="center" id="no_editer">自由编辑表格</TD>  
</TR>
<TR>
   <TD width="33%">单击开始编辑按钮,然后点击各单元格编辑</TD>
   <TD width="33%">2</TD>
   <TD width="33%">3</TD>
</TR>
<TR>
   <TD width="33%">4</TD>
   <TD width="33%">5</TD>
   <TD width="33%">6</TD>
</TR>
<TR>
   <TD width="33%">one</TD>
   <TD width="33%">two</TD>
   <TD width="33%">three</TD>
</TR>
<TR>
   <TD width="33%">four</TD>
   <TD width="33%">five</TD>
   <TD width="33%">six</TD>
</TR>  
     <TR class="TrFoot">
   <TD colspan="3" align="center" id="no_editer">
   <INPUT type="button" class="bt" value="开始编辑" onClick="editStart()" onMouseOver="showTip()" onMouseMove="showTip()" onMouseOut="editTip.style.visibility = 'hidden';">
   </TD>
</TR>
</TABLE>
</BODY>
<DIV id="editTip">请单击某个单元格进行编辑!</DIV>
</HTML>

/*
* 功能:表单内容格式检测
* 参数 obj    为表单名称(ID)
*       chktype  为类型,参照函数内释
*/
function chk(obj, chktype){
switch(chktype){
   case 1://判断是否为空
   if(obj.value == ""){
     alert("请输入必要的字符。");
     obj.focus();
     obj.onselect();
   }
   break;
   case 2://判断是否为数字
   var reg = /^\d+(\.\d+)?$/;
   if(!reg.test(obj.value)){
     alert("请输入数字。");
     obj.focus();
     obj.select();
   }
   break;
   case 3://判断是否为用户名格式
   var reg = /^[^\d\-_][\w\-]*[^\-_]$/;
   if(!reg.test(obj.value)){
     alert("请输入正确的格式。");
     obj.focus();
     obj.select();
   }
   break;
   case 4://判断是否为汉字
   var reg = /^[\u4E00-\u9FA5]*$/;
   if(!reg.test(obj.value)){
     alert("你输入的不全是汉字。");
     obj.focus();
     obj.select();
   }
   break;
   case 5://判断是否为邮箱格式
   var reg = /^[^\d\-_][\w\-]*[^\-_]@[^\-][a-zA-Z\d\-]*[^\-](\.[^\-][a-zA-Z\d\-]*[^\-])*\.[a-zA-Z]{3}(\.[a-zA-Z]{2})?$/;
   if(!reg.test(obj.value)){
     alert("你输入正确的邮箱格式。");
     obj.focus();
     obj.select();
   }
   break;
   case 6://判断是否为合法日期格式
   var reg = /^(19|20)\d\d\-(0|1)\d\-(0|1|2|3)\d$/;
   if(!reg.test(obj.value)){
     alert("你输入正确的日期格式。");
     obj.focus();
     obj.select();
   }
   break;
}
}



Abs(number)

返回绝对值。

Array(arglist)

创建一个数组。

Asc(string)

返回字符串第一个字符的ANSI码。

Atn(number)

返回反正弦值。

CBool (e­xpression)

转换成Boolean数据类型变量。

CByte (e­xpression)

转换成Byte数据类型变量。

CCur (e­xpression)

转换成Currency数据类型变量。

CDate (e­xpression)

转换成Date数据类型变量。

CDbl (e­xpression)

转换成Double数据类型变量。

Chr(charcode)

把ANSI 码转换成相应的键盘字符。

CInt (e­xpression)

转换成Integer数据类型变量。

CLng (e­xpression)

转换成Long数据类型变量。

CreateObject(servername.typename)

创建一个自动对象。

CSng (e­xpression)

转换成Single数据类型变量。

CStr (e­xpression)

转换成String数据类型变量。

Date

根据所用的系统返回时间。

DateAdd(interval,number,date)

向date对象添加指定的时间间隔。其中参数interval 接受下表所示的值。
posted @ 2009-10-14 23:10 铁猴 阅读(443) | 评论 (0)编辑 收藏

把一个日期字符串如“2007-2-28 10:18:30”转换为Date对象:
1:
1var   strArray=str.split("   ");   
2var   strDate=strArray[0].split("-");   
3var   strTime=strArray[1].split(":");   
4var   a=new   Date(strDate[0],(strDate[1]-parseInt(1)),strDate[2],strTime[0],strTime[1],strTime[2])   

2:
1var   s   =   "2005-12-15   09:41:30";   
2var   d   =   new   Date(Date.parse(s.replace(/-/g,   "/")));   
3

posted @ 2009-10-13 17:33 铁猴 阅读(204) | 评论 (0)编辑 收藏

设计了文件上传的工具,但在Tomcat服务器上访问中文文件名的文件不能打开,报找不到文件的错误,文件名称在后台进行了UTF-8的转码,而在tomcat的server.xml文件中的设置是这样的:

1<Connector port="8080" protocol="HTTP/1.1"    
2           connectionTimeout="20000"    
3           redirectPort="8443" URIEncoding="GBK"/>   

将编码格式改为UTF-8就可以了:
<Connector port="8080" protocol="HTTP/1.1"    
           connectionTimeout
="20000"    
           redirectPort
="8443" URIEncoding="UTF-8"/>   
posted @ 2009-10-12 18:59 铁猴 阅读(206) | 评论 (0)编辑 收藏

to_date("要转换的字符串","转换的格式")   两个参数的格式必须匹配,否则会报错。

即按照第二个参数的格式解释第一个参数。

to_char(日期,"转换格式" ) 即把给定的日期按照“转换格式”转换。

 

转换的格式:

表示year的:y  表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年

表示month的:mm 用2位数字表示月;mon 用简写形式 比如11月或者nov ;month 用全称 比如11月或者november

表示day的:dd 表示当月第几天;ddd表示当年第几天;dy 当周第几天 简写  比如星期五或者fri;day当周第几天 全写

比如星期五或者friday。

表示hour的:hh 2位数表示小时 12进制; hh24 2位数表示小时 24小时

表示minute的:mi 2位数表示分钟

表示second的:ss 2位数表示秒 60进制

表示季度的:q 一位数 表示季度 (1-4)

另外还有ww 用来表示当年第几周 w用来表示当月第几周。

24小时制下的时间范围:00:00:00-23:59:59

12小时制下的时间范围:1:00:00-12:59:59

比如:

select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual   //显示:08-11-07 13:22:42

select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss') from dual //显示:2005-12-25 13:25:59

而如果把上式写作:select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh:mi:ss') from dual,则会报错,因为小时hh是12进制,13为非法输入,不能匹配。

补充:

当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' MINUTE from dual
当前时间减去7小时的时间
select sysdate - interval '7' hour from dual
当前时间减去7天的时间
select sysdate - interval ’7’ day from dual
当前时间减去7月的时间
select sysdate,sysdate - interval '7' month from dual
当前时间减去7年的时间
select sysdate,sysdate - interval '7' year from dual
时间间隔乘以一个数字
select sysdate,sysdate - 8*interval '7' hour from dual

 

Dual伪列

含义解释:

Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的select语句块中

比如,我要获得系统时间,则用“select sysdate from dual” 则返回系统当前的时间:2008-11-07 9:32:49,不同系统可能返回日期的格式不一样。"select user from dual"则返回当前连接的用户。如果是"select 1+2 from dual",则返回结果:3

posted @ 2009-10-06 15:37 铁猴 阅读(238) | 评论 (0)编辑 收藏

为了防止浏览器缓存当前访问的JSP动态页面,可以采用如下的方式进行设置:
<%
       // 将过期日期设置为一个过去时间

        response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");

        // 设置 HTTP/1.1 no-cache 头
        response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");

        // 设置 IE 扩展 HTTP/1.1 no-cache headers, 用户自己添加
        response.addHeader("Cache-Control", "post-check=0, pre-check=0");

        // 设置标准 HTTP/1.0 no-cache header.
        response.setHeader("Pragma", "no-cache");
%>
posted @ 2009-10-05 12:09 铁猴 阅读(241) | 评论 (0)编辑 收藏

仅列出标题
共4页: 上一页 1 2 3 4 下一页