Hello,ThinkPHP

该日志由 samool 发表于 2008-03-13 1:52 PM

公司调整部门了,我又到程序部。现在的工作是除了维护以前的软件外,开始啃新东西——ThinkPHP,一个框架结构PHP开发东西,多学点东西总是好事,现在程序部有8个兄弟,都在学这个,老大说以后要做项目,先充充电。

今天正在看ThinkPHP的开发手册,跟着例子学得比较快,还是满不错的,由于操作都是封装好的,直接调用就要了,Web框架开发可以节省很多人力物力,又与美工彻底分开,应该是以后的发展方向吧。

» 阅读该日志全文...

该日志标签: php, thinkphp

常见的汽车名词术语详解

该日志由 samool 发表于 2008-03-10 3:23 PM

  MPV的全称是Multi-Purpose Vehicle,即多用途汽车。它集轿车、旅行车和厢式货车的功能于一身,车内每个座椅都可调整,并有多种组合的方式,例如可将中排座椅靠背翻下即可变为桌台,前排座椅可作180度旋转等。 近年来,MPV趋向于小型化,并出现了所谓的S-MPV,S是小(Small)的意思。S-MPV车长一般在(4.2-4.3)m之间,车身紧凑,一般为(5—7)座。

  SUV的全称是SportUtility Vehicle,中文意思是运动型多用途汽车。现在主要是指那些设计前卫、造型新颖的四轮驱动越野车。SUV一般前悬架是轿车型的独立悬架,后悬架是非独立悬架,离地间隙较大,在一定程度上既有轿车的舒适性又有越野车的越野性能。由于带有MPV式的座椅多组合功能,使车辆既可载人又可载货,适用范围广。

» 阅读该日志全文...

该日志标签: 汽车, 术语, polo, 大众, 轿车

中国网上冲印发展模式全景图

该日志由 samool 发表于 2008-03-07 9:17 AM

   中国互联网络信息中心(CNNIC)在京发布《第21次中国互联网络发展状况统计报告》。数据显示,截止20071231日,我国网民总人数达到2.1亿人,目前中国网民仅以500万人之差次于美国,居世界第二,CNNIC预计在2008年初中国将成为全球网民规模最大的国家。尽管网民数的增长使得互联网普及率提高至16%,但仍低于19.1%的全球平均水平
       
然而,对于冲印业来说,由于大多数店家对网络的了解不深或抗拒网络,导致整个行业的网络应用水平远远低于社会平均水平。
       
当然,也有一些先行者,以下5家网上冲印服务商就代表了中国网络冲印的5种发展模式,让我们看看他们究竟如何利用网络生财?

» 阅读该日志全文...

该日志标签: 冲印, 全景, 照片冲印

sql server定期自动备份数据库

该日志由 samool 发表于 2008-03-04 7:34 PM

 企业管理器中的Tools,Database Maintenance Planner,可以设置数据库的定期自动备份计划。并通过启动Sql server Agent来自动运行备份计划。具体步骤如下:

1、打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器

2、然后点上面菜单中的工具-->选择数据库维护计划器

3、下一步选择要进行自动备份的数据-->下一步更新数据优化信息,这里一般不用做选择-->下一步检查数据完整性,也一般不选择

» 阅读该日志全文...

该日志标签: sql, 数据库, 自动, 备份, 定时

学习编程人员必读(C++为例)

该日志由 samool 发表于 2008-03-03 2:52 PM

这是俺在别的论坛看到的一篇很早的帖子,虽然俺学C++时间也不长,还是一只菜鸟,但是俺觉得下面说的不错,真的不错,同时可以免了很多坛友询问如何学习C++的口舌:
1.把C++当成一门新的语言学习(和C没啥关系!真的。);
2.看《Thinking In C++》,不要看《C++变成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
6.会用Visual C++,并不说明你会C++;
7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;
8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;

» 阅读该日志全文...

该日志标签: c, c++, 程序, 编程, 开发

顶部浮动公告代码

该日志由 samool 发表于 2008-02-14 8:47 AM

XML/HTML代码
  1. <!-- 顶部浮动开始 -->  
  2. <div id="hasIE_level1" style="background:#F3F1E9; text-align: center; padding:1px 0 1px; border:0 solid #D1C698;border-width:1px 0; width:100%; z-index:0;margin-bottom:1px;position: absolute;left:0;top:0;">  
  3.     <div id="topFF">  
  4.         <TABLE align="center">  
  5.         <TR>  
  6.             <TD align="center">  
  7.             <strong>  
  8.                     <span class="hei20"><font color=red>由于春节放假,2月6日至2月10日期间提交的订单将于2月10日后处理;因受雪灾影响,个别个性产品货源已断,制作将于2月15日恢复正常,敬请谅解!</span></font>  
  9.             </strong>  
  10.             </TD>  
  11.         </TR>  
  12.         </TABLE>  
  13.     </div>  
  14. </div>  
  15. <br>  
  16. <SCRIPT language="JavaScript" src="myTopBar.js" type="text/JavaScript"></SCRIPT>  
  17. <!-- 顶部浮动结束 -->  

记录一下,以备后用。

该日志标签: 浮动, 广告, js

c#检查字符串是否为数字

该日志由 samool 发表于 2007-12-28 10:01 AM

正则表达
   string regex = @^\d+$;

  自己写个方法吧:这是我写的.
          private bool isNumber(string s)
   {
    int Flag = 0;
    char[]str = s.ToCharArray();
    for(int i = 0;i < str.Length ;i++)
    {
     if (Char.IsNumber(str[i]))
    {
     Flag++;
    }
   else
   {
    Flag = -1;
    break;
   }
  }
  if ( Flag > 0 )
  {
   return true;
  }
  else
  {
   return false;
  }
          }

测试
                   private void Button1_Click(object sender, System.EventArgs e)
  {
   if (isNumber(TextBox1.Text.Trim()))
   {
    TextBox2.Text = 是数字;
   }
   else
   {
    TextBox2.Text = 不是数字;
   }
  }

 

try
{
 double.Parse(this.TextBox1.Text);
 Response.Write(是数字);
}
catch
{
 Response.Write(不是数字);
}

或者用正则表达式也可以:
using System.Text.RegularExpressions;
------------------------
Regex r=new Regex(@^\d+(\.)?\d*$);
if(r.IsMatch(this.TextBox1.Text))
{
 this.Response.Write(是数字);
}
else
{
 this.Response.Write(不是数字);
}

public static bool StrIsInt(string Str)
    {
      try
      {
        Int32.Parse(Str);
        return true;
      }
      catch
      {
        bool flag = false;
        return flag;
      }
    }

 

应该使用正则表达式:
string pattern = @^\d+(\.\d)?$;
if(Text1.Text.Trim()!=)
{
if(!Regex.IsMatch(sign_money.Text.Trim(),pattern))
{
   Text1不是数字;
}
else
{
  Text1是数字;
}
}

该日志标签: .net, 字符串, 数字

Google相片软件Picasa推荐代码大全

该日志由 samool 发表于 2007-12-24 2:38 PM

虽然Picasa的推介已经从Google Adsense后台删除,但是由于简体中文版的Google Pack尚未发布,所以Picasa之前的推介代码依然有效。不过对于那些未曾获取广告代码的发布者来说,现在到哪里取得广告代码就成了一个问题。

所以我们收集了比较常用的Picasa推介投放的代码。投放的方式是将代码中的8073927669897848更换成你的Google Adsense广告编号,然后就可以正常投放。

当然也会有很多人问到,这样的投放是否符合规范,也有很多人咨询过Google Adsense服务小组是否可以修改别人的代码而得到了否定的答案。

实际上是这样的,服务小组明确表示之前获得的广告代码依然有效并且后台不再显示该产品也不影响收入的结算。至于不允许修改别人的代码那是Google Adsense规范里的常用语。发布者可以不用说是修改了别人的代码,而是自己很早以前从自己的后台取得的代码,那样就可以了,因为实际上这些代码是没有任何区别。

» 阅读该日志全文...

该日志标签: picasa, 代码, 推荐

向上收缩并隐藏的广告代码

该日志由 samool 发表于 2007-12-19 10:37 AM

XML/HTML代码
  1. <!-- 把下列代码放到head区域内-->  
  2. <script>  
  3. <!--   
  4. lstart=0  
  5. loop=true  
  6. speed=85    
  7. pr_step=3       // 速度,数值越大,速度越快   
  8. newspeed=800  
  9. newspeed2=0  
  10.   
  11. function makeObj(obj,nest){   
  12.     nest=(!nest) ? '':'document.'+nest+'.'   
  13.     this.css=(document.layers) ? eval(nest+'document.'+obj):eval(obj+'.style')   
  14.     this.scrollHeight=(document.layers) ?    
  15.   
  16. this.css.document.height:eval(obj+'.offsetHeight')   
  17.     this.scrollWidth=(document.layers) ?    
  18.   
  19. this.css.document.width:eval(obj+'.offsetWidth')   
  20.     this.up=goUp  
  21.     this.obj = obj + "Object"   
  22.     eval(this.obj + "=this")   
  23.     return this   
  24. }   
  25.   
  26. function goUp(speed){   
  27.     if(parseInt(this.css.top)>-(this.scrollHeight-0)){   
  28.         this.css.top=parseInt(this.css.top)-pr_step-1   
  29.         //alert("ok")   
  30.         setTimeout(this.obj+".up("+speed+")",35)    // 设置速度,流畅性比较好   
  31.     }else {   
  32.        
  33.         if(navigator.appName == "Netscape")   
  34.         {   
  35.             tome=setInterval(this.obj+".setClipne()",50)}   
  36.         else{   
  37.         tome=setInterval('setClipie()',50)   
  38.         tmp=divCont.style.clip;   
  39.         }   
  40.            
  41.     }   
  42. }   
  43. //more javascript from http://www.memoon.cn   
  44. function setClipne(){   
  45.     //thisthis.css.clip.right=this.css.clip.right-pr_step;   
  46.     //thisthis.css.clip.left=this.css.clip.left+pr_step;   
  47.     //temp=parseInt(this.css.clip.right)-parseInt(this.css.clip.left);   
  48.     if(temp==0)   
  49.     {clearInterval(tome);   
  50.     document.divCont.document.divNews.visibility="hide";   
  51.     document.divCont.visibility="hide";   
  52.     }   
  53. }   
  54.   
  55. function setClipie()   
  56. {   
  57.     newspeednewspeed=newspeed-pr_step;   
  58.     newspeed2newspeed2=newspeed2+pr_step;   
  59.     temp="rect(0px "+newspeed+"px 600px "+newspeed2+"px)";   
  60.     this.css.clip=temp;   
  61.     if(newspeed<newspeed2)   
  62.     {   
  63.     clearInterval(tome);   
  64.     divNews.style.display="none"  
  65.     divCont.style.display="none"  
  66.     }   
  67. }   
  68.   
  69. function slideInit(){   
  70.     oSlide=makeObj('divNews','divCont')   
  71.     oSlide.css.top=lstart  
  72.     oSlide.up(speed)   
  73. }   
  74. function myload(){   
  75. setTimeout("slideInit()",4000);     // 打开时显示flash的停留时间   
  76. }   
  77.   
  78. myload()   
  79. //-->  
  80. </script>  
  81.   
  82.   
  83. <!--将下面的代码复制到<body>~</body>里-->  
  84.   
  85. <script language=javascript>  
  86.     document.write("<div id=divAll style='position:absolute;'><div id=divCont style='position:absolute; width:386; height:60; top:0; left:-12; clip:rect(0,800,600,0)'><div id=divNews style='position:absolute; top:0; left:10; right:820'><embed src=flash/52.swf qulity=high width=602 height=525 onload=myload ></embed></div></div></div>");   
  87. </script><script language=javascript>  
  88. {   
  89.     if (navigator.appName == "Netscape")   
  90.     {document.write("<layer id=divCont onLoad='moveToAbsolute(layer1.pageX-160,layer1.pageY);clip.height=600;clip.width=800; visibility=\"show\";'><layer id=divNews position:absolute; top:0; left:0><embed src=flash/52.swf qulity=high width=602 height=25></embed></layer></layer>")   
  91.     }   
  92. }   
  93. </script>  

该日志标签: 收缩, 广告, 代码, html

C#使用MySQLDriverCS操作MySQL实例教程代码

该日志由 samool 发表于 2007-11-22 4:01 PM

C# 操作MySQL实例教程代码,发给喜欢代码的朋友,呵呵。

本文使用MySQLDriverCS操作MYSQL数据库,使用前请先引入MySQLDriverCS.dll文件,支持PHP4.0和PHP5.0

C#代码
  1. static void Main(string[] args)   
  2.         {   
  3.             string sqlstr = "select * from manavatar";   
  4.             MySQLConnection DBConn = new MySQLConnection(new MySQLConnectionString("192.168.0.13""flashdata""root""root", 3306).AsString);   
  5.             DBConn.Open();   
  6.             //MySQLDataAdapter myadap = new MySQLDataAdapter(sqlstr, conn);   
  7.             MySQLCommand DBComm = new MySQLCommand(sqlstr,DBConn);   
  8.             MySQLDataReader DBReader = DBComm.ExecuteReaderEx(); //DBComm.ExecuteReaderEx();   
  9.             MySQLDataAdapter DTAdapter = new MySQLDataAdapter(sqlstr,DBConn);   
  10.                
  11.             DataSet myDataSet = new DataSet();   
  12.             DTAdapter.Fill(myDataSet,"manavatar");   
  13.              
  14.             
  15.             try  
  16.             {   
  17.                 while (DBReader.Read())   
  18.                 {   
  19.                     //Console.WriteLine("11");   
  20.          Console.WriteLine("DBReader:{0},\t\t\tddddd:{1},\t\t {2}",DBReader.GetString(0), DBReader.GetString(1),DBReader.GetString(3));   
  21.                 }   
  22.                 Console.WriteLine("0000");   
  23.             }   
  24.             catch (Exception e)   
  25.             {    
  26.                 Console.WriteLine("读入失败!"+e.ToString());   
  27.             }   
  28.             finally  
  29.             {   
  30.                 Console.WriteLine("DBReader关闭");   
  31.                 Console.WriteLine("DBConn关闭");   
  32.                 DBReader.Close();   
  33.                 //DBConn.Close();   
  34.             }   
  35.                
  36.             for (int i = 0; i < myDataSet.Tables["manavatar"].Rows.Count; i++)   
  37.             {   
  38.                 Console.WriteLine("{0}",myDataSet.Tables["manavatar"].Rows[2]["user"]);   
  39.             }   
  40.                
  41.                
  42.         }   

该日志标签: c#, mysql, mysqldrivercs