博文

也谈用在ASP.Net中操作IIS(2006-02-27 16:56:00)

摘要:我用ASP.net中操作IIS是编写IISVDir.dll操作IIS
使用方法:
Dim test As New IISVDir()
test.CreateVirtualDir("localhost","vdir","e:\","test")
注意:
1、Web目录中的test必需存在
2、当此代码用于web中时,出错为不能创建Active组件,
修改“x:\WINNT\Microsoft.NET\Framework\v1.0.3705\CONFIG\machine.config”中的<processModel 键修改为userName="SYSTEM"  password="AutoGenerate"就能解决.
iisvpath.VB代码 Imports System
Imports ActiveDs
Imports Microsoft.VisualBasic
Namespace iisvpath Public Class IISVPath    REM 创建FTP目录
    'ComputerName FTP服务器名(可以为localhost)
    'DirName 要建立的虚拟目录名
    'LinkAddr 该虚拟目录的真实路径
    Function CreateFTPDir(ByVal ComputerName As String, _
    ByVal DirName As String, ByVal LinkAddr As String) As Boolean
        try
                CreateFTPDir= True......

阅读全文(2303) | 评论:0

C#调用操作Excel的一个类(2006-02-27 16:55:00)

摘要:在这儿本来想写长一点的文章,但因为时间的关系,没有写成。现把自己做的一个小东西,C#调用Excel作报表的源代码放在这儿给大家看看。关于代码的构成,在源代码中已经有完整的代码注释了,这儿就不说什么了。 下面的这个类中,主要完成的功能是从数据库中逐字段读出数据,设置格式后,在Excel中显示出来。这是它运行后的效果图: 在这个类中,有两个参数传进来,一个是它的数据源,另一个是整个报表的标题字符串,具体看代码就应该知道了。 using System;
using System.Data;
using Excel; namespace LogicLayer
{
 /// <summary>
 /// OutputExcel 的摘要说明
 /// </summary>
 public class OutputExcel
 {
  public OutputExcel(DataView dv,string str)
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
   Excel.Application excel;
   int rowIndex=4;
   int colIndex=1;    Excel._Workbook xBk;
   Excel._Worksheet xSt;    excel= new Excel.ApplicationClass();;
   xBk = excel.Workbooks.Add(true);
   xSt = (Excel._Worksheet)xBk.ActiveSheet;    //
 ......

阅读全文(6011) | 评论:2

使用XmlTextWriter对象创建XML文件(2006-02-27 16:50:00)

摘要:            使用XMLTextWriter对象创建XML文件 引言
  随着XML的普及以及在动态Web应用程序中大量应用,如何通过.net创建,删除,修改XML文件变的也来也重要了。一个简单的概念是,XML文件跟大的文本文件并没有什么区别,同时它是先于.NET出现,很多ASP的开发者,当他需要程序输出XML文件的时候,通常都是用Response.Write()方法输出为XML文档。
  使用Response.Write()的方式来输出XML文档,并不是一种那么好的方法,首先,我们用这种方法输出字符以组成XML文件的时候,我们会很担心输出的这些字符是不是符合XML规范,不符合XML规范的XML文档将不能得到真确完整的显示,如:<,>,&"",和'这些符号,当它们在XML文件里的出现的时候,我们必须手工查找这些不合规范的字符;再次,当我们需要输出的是一个包含很多名字空间,属性和元素的XML文件的时候,使用Response.Write()方法所必须的代码将会变得冗长以及可读性差。
   幸运的是,.NET Framework提供了一个特别为创建XML文件使用的类-System.Xml.XmlTextWriter,使用这个类来创建XML文件,你并不需要担心输出是否符合XML规范的问题,同时代码将会变得非常简洁。在这篇文章中,我们将深入的讲述如何使用XmlTextWriter类来创建XML文件。                                             关于XML的说明
    ......

阅读全文(4690) | 评论:0

使用.NET发送邮件(2006-02-27 16:47:00)

摘要:使用.net发送邮件
    如果你曾经使用过ASP来发送邮件,你大概会使用CDONTS,但是在.NET里,发送邮件的功能已经封装进 .NET Framework的System.Web.Mail的命名空间里了,使用这个命名空间下类,就可以很容易的构建一个发送邮件的程序,所需要仅仅是在Windows中架构好SMTP服务器。
    System.Web.Mail命名空间:
    这个命名控件下包含了以下的对象和三个属性:
      包含的对象:
         MailAttachment:与邮件附件有关的对象类
         MailMessage   :邮件主体
         SmtpMail      :负责发送邮件的SMTP协议。
      属性列表:
         MailEncoding  :邮件的编码(Base64,UUEncode) 
         MailFormat    :邮件的格式(Html超文本格式,Text纯文本格式)
         MailPriority  :邮件优先级(High, Medium, Low)     构建MailMessage对象:
    MailMessage对象是邮件......

阅读全文(2183) | 评论:0

JS拾取(2006-02-27 16:46:00)

摘要://改变图片大小
function resizepic(thispic)
{
if(thispic.width>700) thispic.width=700;
}
//无级缩放图片大小
function bbimg(o)
{
  var zoom=parseInt(o.style.zoom, 10)||100;
  zoom+=event.wheelDelta/12;
  if (zoom>0) o.style.zoom=zoom+'%';
  return false;
}
//双击鼠标滚动屏幕的代码
var currentpos,timer;
function initialize()
{
timer=setInterval ("scrollwindow ()",30);
}
function sc()
{
clearInterval(timer);
}
function scrollwindow()
{
currentpos=document.body.scrollTop;
window.scroll(0,++currentpos);
if (currentpos !=document.body.scrollTop)
sc();
}
document.onmousedown=sc
document.ondblclick=initialize //更改字体大小
var status0='';
var curfontsize=10;
var curlineheight=18;
function fontZoomA(){
  if(curfontsize>8){
    document.getElementById('fontzoom').style.fontSize=(--curfontsize)+'pt';
 document.getElementById('fontzoom').style.lineHeight=(--curl......

阅读全文(2165) | 评论:0

获取IP地址与MAC地址的代码。(2006-02-27 16:39:00)

摘要:using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Management;
using System.Runtime.InteropServices;
namespace Web1
{
 /// <summary>
 /// WebForm1 的摘要说明。
 /// </summary>
 public delegate string getString();
 public class WebForm1 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Label Label2;
  protected System.Web.UI.WebControls.Label Label1;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   string userIP;
   HttpRequest Request = HttpContext.Current.Request;
   if (Request.ServerVariables["HTTP_X_FOR......

阅读全文(3582) | 评论:0

使用timer控件创建一个简单的报警程序(2006-02-27 16:38:00)

摘要:简介:        当我使用计算机工作时,我总是如此的专心致志,以至于每当我过了“一会儿”去看时间时,发现已经过了三个小时,而我却完全没有意识到!所以我决定使用我从Code Project学来的C#技术,来创建一个简单的应用程序—使用Timer 对象来倒计时一个由我自己设定的时间,并一直循环播放一段wave音乐,直到你重设timer控件。   Timer对象基础        首先你要知道的是,使用Timer对象你需要访问如下命名空间:using System.Threading;using System.Timers;        接下来,介绍一下创建一个Timer的要点以及为这个timer对象的Elapsed事件设定事件委派。        先创建一个Timer对象,这里我定义我使用的timer为timerClock。接下来设定Elapsed事件委派,当事件被触发时,指定的委派将被调用,这里我定义我使用的委派名称为OnTimer()。        接着,设定Interval属性,使用毫秒数值指示希望Elapsed事件被调用的间隔,这意味着,当我定义Interval属性为1000毫秒时,我定义的委派OnTimer()将每隔1000毫秒被调用一次,或者说是每隔1秒。        最后,需要设定Enabled属性为true,以使这个timer对象开始工作。接下来,剩下的只是一个小问题—创建一个委派,在这个timer对象的Elapsed属性被触发时调用。如果你以前没有使用过委派,不用担心,它们很容易使用,只需要创建一个方法,用来接收适合你捕获事件的一些变量。        针对Elapsed事件,这个委派需要接收一个普通对象和一个ElapsedEventArgs对象。private System.Timers.Timer ......

阅读全文(7091) | 评论:0

在C#中运用API函数编写多功能关机程序 (2006-02-27 16:36:00)

摘要: 我用visual C#来编写一个多功能的关机程序。该程序具有:定时关机、倒计时关机、关机提醒、系统信息获取等四项功能, 可设定关机时间精确到秒。并且让你很快掌握Visual C#中对API的操作程序。编写过程如下:

一、设计关闭Windows窗体
1.界面的设计:
    新建一个标准工程,向工程中增加一个Windows窗体并向窗体中添加如下控件,并分别设置其属性:
控件名     类别     Text     控件名     类别     Text     
CheckBox1     CheckBox     自动关机     GroupBox1     GroupBox     当前系统时间     
CheckBox1     CheckBox     倒计时执行操作     GroupBox2     GroupBox     设定时间     
CheckBox1     CheckBox     定时报警    ......

阅读全文(2724) | 评论:0

使用联接(2005-08-03 18:07:00)

摘要:使用联接
联接条件可在 FROM 或 WHERE 子句中指定,建议在 FROM 子句中指定联接条件。WHERE 和 HAVING 子句也可以包含搜索条件,以进一步筛

选联接条件所选的行。

联接可分为以下几类:

内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符)。包括相等联接和自然联接。
内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students 和 courses 表中学生标识号相同的所有行。

外联接。外联接可以是左向外联接、右向外联接或完整外部联接。
在 FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定:

LEFT JOIN 或 LEFT OUTER JOIN。
左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,

则在相关联的结果集行中右表的所有选择列表列均为空值。

RIGHT JOIN 或 RIGHT OUTER JOIN。
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

FULL JOIN 或 FULL OUTER JOIN。
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,

则整个结果集行包含基表的数据值。

交叉联接。
交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。

例如,下面的内联接检索与某个出版商居住在相同州和城市的作者:

USE pubs
SELECT a.au_fname, a.au_lname, p.pub_name
FROM authors AS a INNER JOIN publishers AS p
   ON a.city = p.city
  &nbs......

阅读全文(2672) | 评论:0

vs.net web项目使用visual source safe进行源代vs.net web项目使用(2005-08-02 18:56:00)

摘要: 
这段时间在公司做一个.net项目, 一个项目开发小组3个人,开发环境是vs.net,语言是c#,三个人协同开发。既然是协同开发,就要找一个源代码控制软件来进行开发中的源代码管理和版本控制。我们首先想到的是clearcase,名气大嘛,而且大家都没用过,都想尝尝鲜。谁知道这个玩意实在是太复杂了,先是要在window2000上安装active directory (就这都弄了一整天),然后又是license问题, 千辛万苦的总算是安装好,能运行了。一看那么多的程序项,那么多的文档,一个字:晕,什么玩意啊,弄的这么复杂,还让不让人活了。从此,再也没人提clearcase了,都自认弱智,搞不定这玩意。接下来的选择就是Vss了,跟clearcase比,vss真是可爱多了,小巧玲珑,功能虽没有clearcase强大,但对于一般的不是很大的项目是足够了。

我们在使用过程中基本比较顺利,window应用项目很简单,在使用中一点问题没出,web应用项目出了些问题,主要是配置的时候有些地方比较容易搞错,在此主要就web应用的vss管理做一定的描述。

首先是vss的版本问题,visual studio 6中的vss是版本6.0,.net是不能用这个版本的,要用vss6.0c,这是6.0的一个改进版本,可是在vs.net中文企业架构版的7张碟中竟然没有这个vss6.0c,据说在英文版中有,我没英文版的也搞不清楚,后来在网上找到一个vss6.0c。

安装比较简单,现在服务器上安装vss6.0c,安装好后,在服务器目录C:\Program Files\Microsoft Visual Studio\Common\VSS下有个NETSETUP.EXE文件,共享这个目录,客户机就执行这个NETSETUP.EXE文件进行安装。

创建源代码管理数据库
在服务端要先创建一个源代码管理数据库,以存储您的开发团队的共享文件的服务器版本。

为源代码管理数据库创建共享网络文件夹
在源代码管理服务器中,打开 Windows 资源管理器,新建一个名为 test的文件夹。
右击“test”,然后单击“属性”。
在“test 属性”对话框中,单击“共享”选项卡,然后......

阅读全文(2564) | 评论:0