302Soft—302软件技术联盟

ASP.NET / C# / PowerBuilder 技术交流
posts - 58, comments - 71, trackbacks - 18, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

2007年12月7日

摘要: DateTime date1=DateTime.Now; DateTime date2=Convert.ToDateTime("2002/2/1"); System.TimeSpan df=date1-date2; MessageBox.Show(df.Days+"天"+df.Hours+"小时"+df.Minutes+"分钟");阅读全文

posted @ 2007-12-07 14:06 寒夜听雨 阅读(363) 评论(1) 编辑

摘要: DateTimedt=DateTime.Now; //Label1.Text=dt.ToString();//2005-11-513:21:25 //Label2.Text=dt.ToFileTime().ToString();//127756416859912816 //Label3.Text=dt.ToFileTimeUtc().ToString();//127756704859912816 ...阅读全文

posted @ 2007-12-07 13:57 寒夜听雨 阅读(182) 评论(1) 编辑

2007年6月1日

摘要: ActiveBar3.0新增了Office2003和VS2005界面风格,可以轻易做出像Outlook2003的NavigationBar,只可惜它对PB的支持不太好,有部分方法在PB中无法调用,虽然帮助文件里说只支持VB6.0以上和C++,但PB里也可以使用,我也是刚在网上找到,用了一天的时间对其设计器和OCX控件进行了汉化,有小部分还保留了英文-因为汉化后在设计器里显示乱码。因为最近太忙,汉化...阅读全文

posted @ 2007-06-01 21:42 寒夜听雨 阅读(1684) 评论(7) 编辑

2007年3月16日

摘要: PB没有取中文星期的函数,所以只能自己写,以前总是将系统的英文星期取出来,用一个CASE语句一个个转,代码太多,今天终于发现了一个简单的方法,用DayNumber转,只要两行代码就搞定://函数: f_getChinessWeek()//参数:Date ad_date//返回: String//功能: 返回中文星期字符串//作者:Gary 2007.03.16Stringls_warr[] = {...阅读全文

posted @ 2007-03-16 13:56 寒夜听雨 阅读(441) 评论(1) 编辑

2007年2月24日

摘要: 这次更新的是公历日期和农历日期的显示问题,公历和农历的日期字体及颜色可以随意设置。顺便发一个小控件:闪烁的标签。标签可以设置字体或者背景自动闪烁(变换颜色),闪烁频率可以自由更改,已经一起放压缩包里了,自己研究。302CoolMonthCalendar3.0下载地址:http://www.cnblogs.com/Files/302soft/MonthCalendar3.0.rar阅读全文

posted @ 2007-02-24 20:42 寒夜听雨 阅读(4915) 评论(5) 编辑

2007年2月11日

摘要: 一直想找个支持农历的月历控件,可是找了许久,网上的都不太令人满意,还是自己动手做一个吧。经过多天的努力,参考了网上许代码,现在基本上已经完成了,先贴个图让大伙瞧瞧,如果大家感兴趣的话我会把控件发上来,至于源代码,我看情况吧,春节过后我可能会公开一部分。控件主要功能已基本完成。支持1900年-2100年间的 农历、节日、节气、生肖、星座;公农历日期中文显示;月历输出为图片;月历打印;背景自定义;显示...阅读全文

posted @ 2007-02-11 14:50 寒夜听雨 阅读(4776) 评论(7) 编辑

2007年2月7日

摘要: 最近在写个公农历转换的类,在网上查了很多资料,发觉网上的许多查询程序在计算干支年的时候好像都有问题。 本人认为,天干地支记年法应该是属于农历的,比如 丁亥猪年,应该是从农历的二○○七年正月初一开始到农历十二月底,而不是从二十四节气中的立春,更不是从公历的2007年1月1日算起。但是许多在线查询的网站上好像都有错,包括腾讯星座频道上的万年历和一些专门的农历查询网站。都是立春开始就算是丁亥年了,但实际...阅读全文

posted @ 2007-02-07 05:17 寒夜听雨 阅读(4820) 评论(7) 编辑

2007年2月5日

摘要:
中国公历算法不是太难,关键是星期值的确定。这里给出了简单算法:


public static int dayOfWeek(int y, int m, int d)
{
int w = 1; // 公历一年一月一日是星期一,所以起始值为星期日
y = (y-1)%400 + 1; // 公历星期值分部 400 年循环一次
int ly = (y-1)/4; // 闰年次数
ly = ly - (y-1)/100; ly = ly + (y-1)/400;
int ry = y - 1 - ly; // 常年次数
w = w + ry; // 常年星期值增一
w = w + 2*ly; // 闰年星期值增二
w = w + dayOfYear(y,m,d);
w = (w-1)%7 + 1; return w; }
阅读全文

posted @ 2007-02-05 19:19 寒夜听雨 阅读(495) 评论(1) 编辑

2007年2月3日

摘要: 问题:
怎么样在不删除程序的情况下,把添加删除程序里面的某个程序的卸载项目删掉?

答案:
进入注册表,在:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 分支下找到该程序主键,并将其删除。阅读全文

posted @ 2007-02-03 14:10 寒夜听雨 阅读(891) 评论(0) 编辑

摘要: 下载地址:http://www.cnblogs.com/Files/302soft/302CoolClock.rar这是本人改版增强的桌面时钟程序,部分代码和图片来自网上的“玉兰时钟”。功能简介:1.可以自己制作时钟皮肤。可以自行组合图片做成时钟显示面板(.BMP格式),放到Skin文件夹下,然后打开Skin.ini文件,参照里面的参数增加一条新加入的皮肤信息即可,程序会自...阅读全文

posted @ 2007-02-03 09:51 寒夜听雨 阅读(4419) 评论(4) 编辑

2007年1月28日

摘要: C#对注册表读写类的再封装阅读全文

posted @ 2007-01-28 20:45 寒夜听雨 阅读(3262) 评论(3) 编辑

2007年1月23日

摘要: C#没有提供播放MP3等音频文件的类,要编写播放MP3等音频文件程序,必须使用第三方控件或类。本文使用API函数mciSendString,编写一个播放MP3等音频文件的类。

  具体源码如下:

  一、使用API函数mciSendString构成的媒体播放类。阅读全文

posted @ 2007-01-23 13:35 寒夜听雨 阅读(4519) 评论(2) 编辑

2007年1月21日

posted @ 2007-01-21 17:03 寒夜听雨 阅读(649) 评论(1) 编辑

2007年1月20日

摘要: 在编程中经常使用到的对话框大致有六个,他们分别是:"选择文件对话框"、"保存文件对话框"、"颜色对话框"、"打印预览对话框"、"打印机选择对话框"和"字体选择对话框"。那么在C#是否也有相应的对话框?答案是存在的。那么在C#中如何使用?本文就来探讨一下这个问题。

一. 本文介绍的程序设计和运行的软件环境:

(1).微软公司视窗2000服务器版

(2)..Net FrameWork SDK Beta 2

阅读全文

posted @ 2007-01-20 23:21 寒夜听雨 阅读(3991) 评论(1) 编辑

摘要: C#追加文件
StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt");
sw.WriteLine("追逐理想");
sw.WriteLine("kzlll");
sw.WriteLine(".NET笔记");
sw.Flush();
sw.Close();
C#拷贝文件
string OrignFile,NewFile;
OrignFile = Server.MapPath(".")+"\\myText.txt";
NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
File.Copy(OrignFile,NewFile,true);

阅读全文

posted @ 2007-01-20 21:04 寒夜听雨 阅读(6422) 评论(1) 编辑

摘要: 常用的文件操作方法(3)

File类

命名空间:System.IO

方法,以下为静态方法:
阅读全文

posted @ 2007-01-20 20:57 寒夜听雨 阅读(2317) 评论(0) 编辑

摘要: 常用的文件操作方法(2)

Directory类

命名空间:System.IO

方法(以下是静态方法):

序号 函数
阅读全文

posted @ 2007-01-20 20:52 寒夜听雨 阅读(2351) 评论(0) 编辑

摘要:

1、Path类

命名空间:System.IO

方法(以下方法是静态的):

阅读全文

posted @ 2007-01-20 20:45 寒夜听雨 阅读(2198) 评论(0) 编辑

摘要: 常用的文件操作方法-代码示例阅读全文

posted @ 2007-01-20 20:39 寒夜听雨 阅读(2826) 评论(0) 编辑

2007年1月18日

摘要: 扩展标记语言XML(eXtensible Markup Language),是由W3C组织制定的。做为用于替代HTML语言的一种新型的标记语言,XML内部有着很多基本标准,XML就是通过与这些相关标准地结合,应用于科学计算、电子出版、多媒体制作和电子商务的。C#作为一种新型的程序语言,是.Net框架的一个重要组成部分,他和XML的关系颇深。本文就从一个方面来探讨一下这二者的关系。即:看用C#如何来创建和读取XML文档。

一. 本文程序设计和运行的软件环境:

(一).微软公司视窗2000服务器版

(二)..Net FrameWork SDK Beta 2

二. C#创建XML文档:

在本文中我们来介绍一下用C#创建XML文档的二种方法,这二种方法各有千秋,第一种创建起来更灵活,第二种创建起来更方便。

(一).C#创建XML文档的第一种方法:

阅读全文

posted @ 2007-01-18 01:58 寒夜听雨 阅读(2375) 评论(0) 编辑

摘要: 实现方式:利用Microsoft.win32类提供的注册表类访问系统注册表获取ODBC数据服务列表。

具体实现:

Microsoft.win32提供了RegistryKey类,用来访问系统的注册表。
///定义注册表子Path
string strRegPath = @"SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources";
///创建两个RegistryKey类,一个将指向Root Path,另一个将指向子Path
RegistryKey regRootKey;
RegistryKey regSubKey;
///定义Root指向注册表HKEY_LOCAL_MACHINE节点
regRootKey = Registry.LocalMachine;
///Registry枚举类提供了以下几种
/*
Registry.ClassesRoot---------阅读全文

posted @ 2007-01-18 01:54 寒夜听雨 阅读(226) 评论(0) 编辑

摘要: 需要添加的命名空间:
using System.Xml;

定义几个公共对象:
XmlDocument xmldoc ;
XmlNode xmlnode ;
XmlElement xmlelem ;

1,创建到服务器同名目录下的xml文件:


方法一:
xmldoc = new XmlDocument ( ) ;
//加入XML的声明段落
xmlnode = xmldoc.CreateNode ( XmlNodeType.XmlDeclaration , "" , "" ) ;
xmldoc.AppendChild ( xmlnode ) ;
//加入一个根元素
xmlelem = xmldoc.CreateElement ( "" , "Employees" , "" ) ;
xmldoc.AppendChild ( xmlelem ) ;
//加入另外一个元素
for(int i=1;i<3;i++)
{ 阅读全文

posted @ 2007-01-18 01:45 寒夜听雨 阅读(176) 评论(1) 编辑

摘要: 可以通过调用kernel32.dll中的两个api:WritePrivateProfileString,GetPrivateProfileString来实现对ini 文件的读些。

具体实现的代码如下:
阅读全文

posted @ 2007-01-18 00:18 寒夜听雨 阅读(2328) 评论(4) 编辑

摘要: //本周是本年第几周

private int DatePart(System.DateTime dt)

{

int weeknow = Convert.ToInt32(dt.DayOfWeek);//今天星期几

int daydiff = (-1) * (weeknow+1);//今日与上周末的天数差

int days = System.DateTime.Now.AddDays(daydiff).DayOfYear;//上周末是本年第几天

int weeks = days/7;

if(days%7 != 0)

{

weeks++;

}

//此时,weeks为上周是本年的第几周
阅读全文

posted @ 2007-01-18 00:14 寒夜听雨 阅读(2098) 评论(0) 编辑

2007年1月17日

摘要: //创建xml文件(添加根节点的属性)

StreamWriter sw = File.CreateText(AppDomain.CurrentDomain.BaseDirectory + "Xml\\" + xmlFilename + ".xml");

sw.WriteLine("");

sw.WriteLine("");

sw.Close();

XmlDocument doc = new XmlDocument();

doc.Load(AppDomain.CurrentDomain.BaseDirectory + "Xml\\" + xmlFilename + ".xml");

阅读全文

posted @ 2007-01-17 17:00 寒夜听雨 阅读(2200) 评论(1) 编辑

摘要: 已知有一个XML文件(bookstore.xml)如下:







Oberon's Legacy

Corets, Eva

5.95






1、往节点中插入一个节点:


阅读全文

posted @ 2007-01-17 02:43 寒夜听雨 阅读(3774) 评论(8) 编辑

2007年1月16日

摘要: 先在窗口中加入一个计时器控件:(timer1)用于触发计时;一个Label控件:(bable1)用于显示时间;两个按钮:(btnStar)用于开始/停止计时,(btnClear)用于计时器清零。

声明一个整型变量:t,用于获取毫秒,然后在窗口代码中加入以下代码:
阅读全文

posted @ 2007-01-16 23:39 寒夜听雨 阅读(7418) 评论(4) 编辑

摘要: INI文件就是扩展名为“ini”的文件。在Windows系统中,INI文件是很多,最重要的就是“System.ini”、“System32.ini”和“Win.ini”。该文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置。但自从Windows 95的退出,在Windows系统中引入了注册表的概念,INI文件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应用程序和系统都把许多参数和初始化信息放进了注册表中。但在某些场合,INI文件还拥有其不可替代的地位。本文就来探讨一下C#是如何对INI进行读写操作。

INI文件的结构

INI文件是一种按照特点方式排列的文本文件。每一个INI文件构成都非常类似,由若干段落(section)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键词(keyword)和一个等号,等号右边的就是关键字对应的值(value)。其一般形式如下:


[Section1]

  KeyWord1 =阅读全文

posted @ 2007-01-16 21:48 寒夜听雨 阅读(115) 评论(0) 编辑

2007年1月15日

摘要: 最近在进行项目开发中,经常会遇到这种情况,就是当用户点击页面上的Button时,系统需要弹出一个窗口。这个窗口可能是标准对话框,也可能是一个新的页面。开始的时候我不知道如何实现这样的功能,按照我以前的编程习惯,我认为应该有一个类似于ShowMessage的方法,但是,可惜这种方法在WEB下是没有的。通过在网上查阅资料,发现一般的做法是在Button的OnClick事件中写下如下代码:
private void Button1_Click(object sender, System.EventArgs e)
{阅读全文

posted @ 2007-01-15 06:57 寒夜听雨 阅读(3505) 评论(5) 编辑

摘要: 除了依赖于几个系统提供的类(如 System.Console),到目前为止介绍的程序都是独立存在的。但更常见的情况是:实际的应用程序由若干不同的部分组成,每个部分分别进行编译。例如,企业级应用程序可能依赖于若干不同的组件,其中包括某些内部开发的组件和某些从独立软件供应商处购买的组件。

命名空间和程序集有助于开发基于组件的系统。命名空间提供一个逻辑组织体系。命名空间既用作程序的“内部”组织体系,也用作“外部”组织体系(一种表示向其他程序公开程序元素的途径)。

程序集用于物理打包和部署。程序集可以包含类型、用于实现这些类型的可执行代码以及对其他程序集的引用。

有两种主要的程序集:应用程序和库。应用程序有一个主入口点,通常具有 .exe 文件扩展名;而库没有主入口点,通常具有 .dll 文件扩展名。

为了说明命名空间和程序集的使用,本节再次以前面介绍的“hello, world”程序为例,并将它分为两个部分:提供消息的类库和显示消息的控制台应用程序。

这个类库仅含一个名为 HelloMess阅读全文

posted @ 2007-01-15 02:13 寒夜听雨 阅读(2038) 评论(0) 编辑

摘要: 1.问题

· 越大的程序包含的名字越多

越多的名字-越大的可能性导致命名冲突

你是怎样命名以反映结构

显式的前缀不是一个很好的解决方法

//传统的命名方法


sealed class Book

{



}

sealed class GUIBook

{



}

阅读全文

posted @ 2007-01-15 02:10 寒夜听雨 阅读(2969) 评论(0) 编辑

摘要:   命名空间提供了一种组织相关类和其他类型的方式。与文件或组件不同,命名空间是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包括在命名空间定义中。以后,在定义另一个类,在另一个文件中执行相关操作时,就可以在同一个命名空间中包含它,创建一个逻辑组合,告诉使用类的其他开发人员这两个类是如何相关的以及如何使用它们:


namespace CustomERPhoneBookApp
{
 using System;
 public struct Subscriber
 {
  // Code for struct here
 }
}

阅读全文

posted @ 2007-01-15 02:02 寒夜听雨 阅读(2253) 评论(0) 编辑

2007年1月14日

摘要: 1、DateTime 数字型
System.DateTime currentTime=new System.DateTime();
1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;
1.2 取当前年
int 年=currentTime.Year;
1.3 取当前月
int 月=currentTime.Month;
1.4 取当前日
int 日=currentTime.Day;
1.5 取当前时
int 时=currentTime.Hour;
1.6 取当前分
int 分=currentTime.Minute;
1.7 取当前秒
int 秒=currentTime.Second;
1.8 取当前毫秒
int 毫秒=currentTime.Millisecond;
(变量可用中文)

阅读全文

posted @ 2007-01-14 00:49 寒夜听雨 阅读(137) 评论(0) 编辑

2007年1月13日

摘要:   Visual C#是微软公司推出的新一代程序开发语言,Visual C#是微软公司.Net FrameWork框架中的一个重要的组成部分,也是微软公司向程序员极力推荐一个新的程序开发平台。和以往的开发语言相比较,他有更强大功能,更高的稳定性和更高的安全性。也正因为如此,Visual C#正在受到越来越多的编程爱好者的欢迎。

  Visual C#的编译器和以往编程语言的编译器有着明显的不同。其最大的不同点就是,以往的程序编译器是把编写好的程序代码编译生成可以直接为计算机所使用的机器语言。虽然Visual C#的编译器也可以把编写好的程序代码编译成EXE或者是DLL文件,但这种文件只是一种IL文件(中间语言),此IL文件不能直接被计算机使用。只是当此IL文件被调用的时候,再通过一种名叫JIT(即时编译)编译器把此IL文件生成可以供计算机使用的机器代码。

  可见Visual C#的编译过程大致可以分成二个部分,第一个部分,从程序代码到IL文件,这个过程是通过人工干预来实现的,即通过CSC.exe来实现的;第二个部分,从IL文件到机器语言,这个工程是阅读全文

posted @ 2007-01-13 14:25 寒夜听雨 阅读(721) 评论(1) 编辑

摘要: 网上下载的软件常常标有Beta版、Demo版等软件版本信息,这些版本信息实际上有其内在的含义。下面我就将一些常见的软件版本信息向大家做一详细的介绍。


测试版与演示版

α版


此版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员。一般而言,该版本软件的Bug较多,普通用户最好不要安装。


β(Beta)版


该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过大规模的发布测试来进一步消除。这一版本通常由软件公司免费发布,用户可从相关的站点下载。通过一些专业爱好者的测试,将结果反馈给开发者,开发者们再进行有针对性的修改。该版本也不适合一般用户安装。


γ版

阅读全文

posted @ 2007-01-13 13:06 寒夜听雨 阅读(182) 评论(0) 编辑

摘要: 为了维护软件项目, 我们提出了对版本进行管理控制的要求. 而对于用户来说, 版本直接体现在版本号的命名上. 那么, 如何对版本号进行命名呢? 我查了许多的资料, 希望能解释得比较具体, 同时也希望您在阅读本文的时候, 能够对版本号的命名格式提出自己的见解, 这当然包括一些版本号命名的个例. 下面, 让我们看一下比较普遍的 3 种命名格式.

GNU 风格的版本号命名格式: 主版本号.子版本号[.修正版本号[.编译版本号]]
英文对照: Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例: 1.2.1, 2.0, 5.0.0 build-13124
阅读全文

posted @ 2007-01-13 13:04 寒夜听雨 阅读(3809) 评论(0) 编辑

2007年1月9日

posted @ 2007-01-09 13:33 寒夜听雨 阅读(2601) 评论(8) 编辑

posted @ 2007-01-09 13:28 寒夜听雨 阅读(2285) 评论(4) 编辑

posted @ 2007-01-09 13:21 寒夜听雨 阅读(7424) 评论(2) 编辑

posted @ 2007-01-09 13:13 寒夜听雨 阅读(903) 评论(0) 编辑


Copyright(C) 2004-2007 302Soft-寒夜听雨 版权所有