03 2011 档案

摘要:一、导言microsoft的.net从2002年1月15日第一版发布到今天,已经得到了广泛的使用;从刚推出时国内相关书籍种类寥寥,到今天.net 的相关书籍的大大丰富,已有越来越多的人——初学者或者有经验的程序员,在学习、应用.net。本文面向对.net有些了解的者,以c#为例,介绍如何在.net编程环境中,把资源文件(如包含图片、字符串等的资源文件)嵌入到程序集中。这里的所说的程序集可以是exe文件,也可是供其他程序调用的 dll文件。本文不涉及国际化、本地化、打包和部署资源方面的内容,有兴趣的读者可以查阅.net framework sdk文档。二、软件环境运行本文中的程序需要如下软件环境 阅读全文
posted @ 2011-03-31 18:08 许明吉博客 阅读(22453) 评论(1) 推荐(1)
摘要:如同java一样,在c#中写一个多线程应用是非常简单的,本章将介绍如何在c#种开发多线程程序。在.net中线程是由System.Threading 名字空间所定义的。所以你必须包含这个名字空间。using System.Threading;开始一个线程System.Threading 名字空间的线程类描述了一个线程对象,通过使用类对象,你可以创建、删除、停止及恢复一个线程。创建一个新线程通过new 操作,并可以通过start()方法启动线程thread = new Thread(new ThreadStart(HelloWorld));thread.Start();注意:和java程序不同,创 阅读全文
posted @ 2011-03-30 14:24 许明吉博客 阅读(362) 评论(0) 推荐(0)
摘要:背景和弹出 Panel 都带有动画效果的 modal 效果微软Ajax control toolKit 中有 ModalPopup 控件。可以实现页面遮盖的效果。但是遮盖直接出现,十分突然。我想能不能加上渐变的效果?这样感觉会好一点,炫一点。于是又想如果弹出的对话框(Panel)也有动画效果就会更炫了。于是就有了 AnimationModalPopup 控件。 实际应用 modal 效果最多应该是 confirm 对话框情况下。但我用了整整一天的时间也无法实现 confirm 的效果。因为 confirm 需要将页面的执行停下来,等待用户的选择。我的所有的实现方法都无法停止页面的执行。最终失败 阅读全文
posted @ 2011-03-30 13:57 许明吉博客 阅读(862) 评论(0) 推荐(0)
摘要:const CN_EXECUTE_STR = 'Regsvr32.exe /s %s '; var StrPath: string; begin StrPath := 'C:\aa.dll '; WinExec(PChar(Format(CN_EXECUTE_STR, [StrPath])), SW_NORMAL); end; 阅读全文
posted @ 2011-03-28 15:22 许明吉博客 阅读(513) 评论(0) 推荐(0)
摘要:http://www.docin.com/p-100214569.htmlhttp://wenku.baidu.com/view/fc2dea5f804d2b160b4ec003.html 阅读全文
posted @ 2011-03-28 10:50 许明吉博客 阅读(187) 评论(0) 推荐(0)
摘要:using System;using System.Net;using System.Text;using System.Text.RegularExpressions;namespace HttpGet{ class Class1 { [STAThread] static void Main(string[] args) { System.Net.WebClient client = new WebClient(); byte[] page = client.DownloadData("http://hi.baidu.com/jaysam/blog/item/bddb2bfa037 阅读全文
posted @ 2011-03-28 10:33 许明吉博客 阅读(550) 评论(0) 推荐(0)
摘要:AnimateWindow(Handle, 200, AW_CENTER);AnimateWindow 函数功能:该函数能在显示与隐藏窗口时能产生特殊的效果。有两种类型的动画效果:滚动动画和滑动动画。 函数原型:BOOL AnimateWindow(HWND hWnd,DWORD dwTime,DWORD dwFlags); 参数: hWnd:指定产生动画的窗口的句柄。 dwTime:指明动画持续的时间(以微秒计),完成一个动画的标准时间为200微秒。 dwFags:指定动画类型。这个参数可以是一个或多个下列标志的组合。标志描述: AW_SLIDE:使用滑动类型。缺省则为滚动动画类型。当使用A 阅读全文
posted @ 2011-03-26 22:29 许明吉博客 阅读(2079) 评论(0) 推荐(0)
摘要: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 秒=curre 阅读全文
posted @ 2011-03-25 13:53 许明吉博客 阅读(595) 评论(0) 推荐(0)
摘要:结构体大小 MessageBox.Show( Convert.ToString( Marshal.SizeOf(typeof(RImageUrl))));解析 WM_COPYDATA 信息中的结构体。 [StructLayout (LayoutKind .Sequential)] public struct copydatastruct { public IntPtr dwData; public int cbData; public IntPtr lpData; }copydatastruct cds = (copydatastruct)m.GetLParam(typeof (copydat 阅读全文
posted @ 2011-03-25 11:20 许明吉博客 阅读(294) 评论(0) 推荐(0)
摘要:说到网页采集,通常大家以为到网上偷数据,然后把到收集到的数据挂到自己网上去。其实也可以将采集到的数据做为公司的参考,或把收集的数据跟自己公司的业务做对比等。 目前网页采集多为3P代码为多(3P即ASP、PHP 、JSP)。用得最有代表的就动易科技公司BBS中新闻采集系统,和网上流传的新浪新闻采集系统等都是用ASP程序来使用,但速度从理论上来说不是很好。如果尝试用其它软件的多线程采集是不是更快?答案是肯定的。用DELPHI、VC、VB、JB都可以,PB似乎比较不好做。以下用DELPHI来解释采集网页数据。 一、 简单的新闻采集 新闻采集是最简单的,只要识别标题、副题、作者、出处、日期、新闻主体、 阅读全文
posted @ 2011-03-25 11:16 许明吉博客 阅读(1111) 评论(0) 推荐(0)
摘要:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ComCtrls;typeTForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; procedure Button1Click(Sender: TObject);private { Private declarations }public procedure MyCopyDataMsg 阅读全文
posted @ 2011-03-23 17:24 许明吉博客 阅读(5180) 评论(0) 推荐(0)
摘要:无论是IE中的“图片另存为”还是QQ图片工具条,保存图片的时候都需要选择路径,文件名,然后再按保存。如果是一两张图片这样保存自然无所谓,但是如果长期需要做图片收集还是自己DIY一个菜单吧。 如果你只是想了解用Delphi编写ActiveX或者IE 右键菜单的相关信息,注意每一步下面的Addition,那里有相关主题的更多信息。正文: 这个菜单实现的功能是:浏览网页时在图片上单击右键,弹出菜单中比平时多一项“自动保存图片”,单击后自动将图片保存到C:\Images\下面,文件名为默认的文件名,如果遇到重名情况,自动在原文件名后添加几个随机生成的字母,然后自动保存。 实现方法简介: IE右键菜单项 阅读全文
posted @ 2011-03-23 10:38 许明吉博客 阅读(1455) 评论(0) 推荐(0)
摘要:一、怎么在IE右键菜单中添加菜单项如果使用过Netants的朋友可能都知道,NetAnts在IE中添加了右键菜单功能,只要在页面的一个链接或图片上点击右键后在菜单中选择 Down By Netants 就能调用Netants下载该链接指向的文件。在本文中作者将介绍怎么通过VB来实现这样的功能。要实目前IE右键菜单中添加菜单项的功能,要依次实现以下步骤:1、在注册表HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt项下建立一个新项,项的名称既出目前菜单中的标题,例如你想建立的菜单项标题为Add URL,则新建项的名称为HK 阅读全文
posted @ 2011-03-23 10:23 许明吉博客 阅读(821) 评论(0) 推荐(0)
摘要:元旦闲来无事,学习一下DELPHI怎样编写COM组件.结果一试才发现问题多多,要么是找不到接口,要么是找不到方法.查了很多资料,发现说的都不清楚.现在把我所学到的和大家分享一下,希望新学的人能少走弯路. 1、什么是COM COM是微软定的一种组件编写的规范,目的是为了实现组件的重用,不管你是用C、DELPHI、VB什么语言写的,只要遵守这种规范就是COM组件,就能相互之间调用。那这个规范是什么呢,最简单的,就是按规定使用接口,微软定了个IUnkown接口,只要实现了这个接口的类,就可以称为COM组件。在此基础上可以加上自己的接口,实现特定的功能,这就成了有用的COM组件了。 2、DELPHI. 阅读全文
posted @ 2011-03-23 09:32 许明吉博客 阅读(4378) 评论(0) 推荐(0)
摘要:这里将自己用Delphi写ActiveX控件的一些体会写出来,我只写具体的事项步骤,具体为什么这样做,请查看网上的其他资源。一、创建OCXNew-Outher-ActiveX-ActiveX Form在New ActiveX Name中填入自己Ocx控件的名称。一般不要选择Make Control Licensed 这样在OCX的安装的时候就不需要认证。但是在特别的时候要选择,看自己的程序需要。二、建立生成以后就出现这样的页面,你可以在上面添加自己需要的控件来完成OCX的功能。三、建立属性选择View-Type Liberary出现这样的界面选中IActiverFormX,点击右键选择添加Pr 阅读全文
posted @ 2011-03-23 09:32 许明吉博客 阅读(4493) 评论(0) 推荐(0)
摘要:首先需要在增加注册表项 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\MyAppMyApp为你想要显示在右键菜单中的名称VBScript处理脚本,新增的注册表项的默认值是包含这个VBScript脚本的Html页面地址。具体代码如下: 添加注册表项: /**//// <summary>/// 在IE中增加右键菜单/// </summary>static void RegistryIeContextMenu() { try { string regkey = @"Software\Mi 阅读全文
posted @ 2011-03-22 14:44 许明吉博客 阅读(1118) 评论(0) 推荐(0)
摘要:要实现在IE右键菜单中添加菜单项的功能,要依次实现以下步骤: 1、在注册表HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\MenuExt项下建立一个 新项,项的名称既出现在菜单中的标题,例如你想建立的菜单项标题为AddURL,则新建项的名称为 HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\MenuExt\AddURL 2、将新建项的默认值设定为一个URL地址,当用户点击菜单项后,IE就会调用URL指向的页面中的脚 本,在目标页面的脚本中通过访问external对象的menu 阅读全文
posted @ 2011-03-22 14:36 许明吉博客 阅读(1396) 评论(0) 推荐(0)
摘要:最近制作甘特图控件 System.Drawing.Drawing2D. HatchBrush _BlackBrush = new HatchBrush(HatchStyle.Percent50, Color.Blue,Color.White);Graphics _Graphics = Graphics.FromHwnd(this.Handle);_Graphics.FillRectangle(_BlackBrush, new Rectangle(0, 0, 100, 100));这样来绘制的 但发现 HatchBrush..枚举名字和图形对照实在郁闷..下面把效果图贴出来..本文来自CSDN博 阅读全文
posted @ 2011-03-21 18:18 许明吉博客 阅读(2157) 评论(0) 推荐(0)
摘要:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Collections;using System.ComponentModel;using System.Drawing 阅读全文
posted @ 2011-03-21 18:14 许明吉博客 阅读(1055) 评论(1) 推荐(0)
摘要:模态窗体(ShowDialog)打开后,后面的主窗体就不能做任何操作了。本博客要实现非模态窗体(show)实现模态窗体(ShowDialog)的一些效果(主窗体关闭,子窗体也要关闭。子窗体只能打开一个。)同时,保留非模态窗体的一些特性(主窗体和子窗体都能操作,比如文本的书写等)。现实的一些用处:1、比如要在主窗体中写已有的内容,用子窗体显示这些已有的内容(一般信息比较多,无法在主窗体中用某个空间显示完全)以供参考。2、直接点击子窗体中的信息,在主窗体中显示出来。等等代码如下:FormA----主窗体FormB----子窗体view plaincopy to clipboardprint? 阅读全文
posted @ 2011-03-21 16:09 许明吉博客 阅读(8637) 评论(0) 推荐(0)
摘要:假设你有form1和form2两个窗口类,在form1中创建子窗口form2有两种情况:创建模态对话框form2和创建非模态对话框form2: 一、如果创建模态对话框,如下有两种情况,其中有一种是错误的,是一定要避免的: 错误的情况,如下: form1中 private void button1_Click(object sender, EventArgs e) { Form2 fm = new Form2(); fm.ShowDialog();//创建模态对话框 fm.Owner = this;此句在fm.ShowDialog();后面 } form2中 private void butto 阅读全文
posted @ 2011-03-21 16:05 许明吉博客 阅读(1028) 评论(0) 推荐(0)
摘要:何谓模态窗体?简单的可以理解为窗体对话框,用户必须在完成该窗体上的操作或关闭窗体后才能返回打开此窗体的窗体。本文不对模态窗体的定义、特征、功能做具体讨论,主要把重点放在如何在.net窗体应用程序中有效的使用模态窗体,解决使用模态窗体中碰到的常见问题。 模态窗体的属性设置 在.net中一个System.Windows.Forms.Form类就表示一个窗体,通过visual studio 2005设计器能够直接添加窗体,切换到设计模式,在属性窗口中会显示属于该窗体的属性和事件。参照标准的模态窗体,以visual studio 2005程序的菜单工具->选项打开的那个选项对话框为例,对于设计器 阅读全文
posted @ 2011-03-21 16:03 许明吉博客 阅读(1242) 评论(0) 推荐(0)
摘要:在日常开发中,经常要打开一个模态窗体,在模态窗体中选择某一项,然后把这项的ID或者Name赋值给打开这个模态窗体的窗体…… 在Windows 客户端中,要实现这样的功能是非常简单的,代码也会很优美。当然,这与个人的写法有关系。 比较优美的方式有2种,一种是使用interface编写观察者模式,一种就是使用事件委托。既然在Windows平台中玩耍,那就采用更加灵活的事件委托方式来实现吧。 废话少说,我们来看实现代码吧。(红色加粗为主要中的重要代码)模态窗体的主要代码: public partial class SelectForm : Form { public event Action< 阅读全文
posted @ 2011-03-21 16:03 许明吉博客 阅读(1576) 评论(0) 推荐(0)
摘要:library Project1;uses SysUtils, Classes,Forms,windows,dialogs, Unit1 in 'Unit1.pas' {Form1};{$R *.res}function showform(formname:string):boolean;stdcall;var TheClass: TPersistentClass; aForm: TForm;begin result:=false; {如果您的Dll中有很多FORM,请在这儿注册哦 RegisterClasses([TForm1,TForm2,TForm3,...]); } R 阅读全文
posted @ 2011-03-21 15:42 许明吉博客 阅读(985) 评论(0) 推荐(0)
摘要:第一步: 建一个 DLL 工程, 如图:然后保存, 我这里使用的名称都是默认的. 第二步: 建一个资源原文件, 如图:编辑内容如下(路径中的文件一定要存在):img1 BITMAP "c:\temp\test.bmp"然后, 取个名(后缀须是 rc, 我这里取名为 Res.rc), 保存在工程目录下. 第三步: 在 DLL 工程中添加这个资源原文件, 如图:此时, 工程源文件中会添加一句: {$R 'Res.res' 'Res.rc'}, 我们需要的源文件这样即可: library Project1;{$R 'Res.res' 阅读全文
posted @ 2011-03-21 15:37 许明吉博客 阅读(641) 评论(0) 推荐(0)
摘要:procedure TForm1.Button1Click(Sender: TObject); var Doc: IHTMLDocument2; ViewObject: IViewObject; sourceDrawRect: TRect; a, getjpg: TBitMap; i, m: integer; pdest, psour: hbitmap; jpg: tjpegimage; begin Doc := WebBrowser.Document as IHTMLDocument2; if Webbrowser.Document <> nil then try webbrow 阅读全文
posted @ 2011-03-21 11:57 许明吉博客 阅读(1572) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Imaging; using System.Runtime.InteropServices; using System.Security; namespace Print { public class Test { public 阅读全文
posted @ 2011-03-21 11:56 许明吉博客 阅读(5286) 评论(1) 推荐(0)
摘要:包含mshtml, SHDocVw, AxSHDocVw的引用在vs2005中,这样引进mshtml在代码开头加上using mshtml;(具体方法 引用--》COM--》Microsoft HTML Object Libraryusing mshtml;)SHDocVw的引用,网上有篇文章这么做的:SHDocVw一定要在下面这个路径找:(C:\Program Files\Microsoft Visual Studio 8\Application\PreEmptive Solutions\Dotfuscator Community Edition)还有篇文章是这么来添加引用的:1 在 Vis 阅读全文
posted @ 2011-03-21 09:42 许明吉博客 阅读(11457) 评论(0) 推荐(0)
摘要:1, 用Win32 API 或是UI Atomation 获取窗口, 窗口的类型为"Internet Explorer_Server"2。 添加引用:MSHTML, SHDocVw(Microsoft Internet Controls),Accessibility3。 导入APIAccessibleObjectFromWindow: 您可以参考pInvoke.net 获取更多有用信息。4。从窗获取 Acc: (hIENativeWindowHandle 是第一步里取得的窗口指针) object objAcc = null; Guid guidAcc = typeof( I 阅读全文
posted @ 2011-03-21 09:32 许明吉博客 阅读(3408) 评论(1) 推荐(0)
摘要:var doc: IHtmlDocument2; i: Integer; s: String;begin //iFile := WebBrowser1.Document as IPersistFile; //iFile.Save('F:\tt.mht', False); doc := WebBrowser1.Document as IHtmlDocument2; if doc.images.length = 0 then exit; Memo1.Clear; for i := 0 to doc.images.length-1 do with (doc.images.item(i 阅读全文
posted @ 2011-03-21 09:25 许明吉博客 阅读(1135) 评论(0) 推荐(0)
摘要:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using System.Net;namespace WebPicture{ public partial class Form1 : Form { public Form1() { InitializeCompon 阅读全文
posted @ 2011-03-21 09:20 许明吉博客 阅读(1490) 评论(1) 推荐(0)
摘要:C#字符串函数大全将包括Len Len(string|varname) 、Trim Trim(string) 、Ltrim Ltrim(string)等多项内容,希望本文能对大家有所帮助。LenLen(string|varname)返回字符串内字符的数目,或是存储一变量所需的字节数。TrimTrim(string)将字符串前后的空格去掉 LtrimLtrim(string)将字符串前面的空格去掉 RtrimRtrim(string)将字符串后面的空格去掉 MidMid(string,start,length)从string字符串的start字符开始取得length长度的字符串,如果省略第三个参 阅读全文
posted @ 2011-03-18 12:24 许明吉博客 阅读(6303) 评论(0) 推荐(0)
摘要:public class StringList { private int m_Capacity; private string[] m_Strings; private int m_Size; /// <summary> /// 数据个数属性 /// </summary> public int Count { get { return m_Size; } } /// <summary> /// 缓存大小属性 /// </summary> public int Capacity { get { return m_Capacity; } set { 阅读全文
posted @ 2011-03-18 11:44 许明吉博客 阅读(2530) 评论(0) 推荐(0)
摘要:很多专业软件在启动前都会显示一个说明该软件信息或用途的窗口,有的则是一个漂亮的启动界面,如Adobe公司的Acrobat。该窗口使软件显得更加专业。本例将实现一个半透明的渐显窗体,运行本软件会显示一个启动画面,并且画面会将完全透明慢慢到半透明的效果显示在用户面前。效果如图1.29所示。实现过程(1)创建一个项目,将其命名为Ex01_29,默认窗体为Form1。(2)在Form1窗体中设置背景图片,添加Timer控件用来触发渐变事件。(3)设置Timer控件的Enable属性为True,设置Interval属性为1000。(4)主要程序代码。 private void timer1_Tick(o 阅读全文
posted @ 2011-03-18 10:18 许明吉博客 阅读(3488) 评论(0) 推荐(0)
摘要:最近用C#做mobile,但发现在windows mobile中可用的控件太少,只好自己定义了,下面以自定义一个button为例来说说C#中自定义控件如何做. (先说明一下,我用的是.net2005) 一.新建一个控件库项目. 二.想好要定义控件的需求:能设定字体,设定背景色和前景色,字符对齐方式,有一个click事件,就这么简单. 三.定义一个枚举类型,来设定对齐方式:public enum ButtonTextAlignment { Left=0, Middle, Right } 四.定义一些内部变量: private Color mBackColor = Color.White; //背 阅读全文
posted @ 2011-03-17 10:28 许明吉博客 阅读(6678) 评论(0) 推荐(0)
摘要:本文主要介绍 .Net 框架的基本绘图技术。通过简要的介绍和示例程序来探讨绘图技术的优势、劣势以及其它相关注意事项。 简介 幸运的是当编写一个典型的Windows 窗体程序时,窗体和控件的绘制、效果等操作是不需要特别加以考虑的。这是为什么呢?因为通过使用 .Net 框架,开发人员可以拖动一系列的控件到窗体上,并书写一些简单的与事件相关联的代码然后在IDE中按F5,一个完完全全的窗体程序就诞生了!所有控件都将自己绘制自己,窗体或者控件的大小和缩放都调整自如。在这里经常会用到的,且需要引起一点注意的就是控件效果。游戏,自定义图表控件以及屏幕保护程序的编写会需要程序员额外撰写用于响应 Paint 事 阅读全文
posted @ 2011-03-16 16:13 许明吉博客 阅读(778) 评论(0) 推荐(0)
摘要:GDI+的双缓冲问题我想有很多搞图形方面的朋友都会用到双缓冲技术的时候,而且有的时候她的确是个头疼的问题。最近我也要用双缓冲技术,程序怎么调试都不合适,当要对图形进行移动时,总是会出现闪烁抖动。在网上找了些资料,说得都不清不楚的,折腾了一晚上也没弄出来。第二天觉定自己研究一下。现在把自己的一些想法拿出来跟大家分享一下。双缓冲的基本原理:(转)一直以来的误区:.net1.1 和 .net 2.0 在处理控件双缓冲上是有区别的。.net 1.1中,使用:this.SetStyle(ControlStyles.DoubleBuffer, true);.net 2.0中,使用:this.SetStyl 阅读全文
posted @ 2011-03-16 16:10 许明吉博客 阅读(4295) 评论(1) 推荐(3)
摘要:C#Invalidate();DelphiRepaint; 阅读全文
posted @ 2011-03-16 15:34 许明吉博客 阅读(2506) 评论(0) 推荐(0)
摘要:复制:private void button1_Click(object sender, System.EventArgs e) { // Takes the selected text from a text box and puts it on the clipboard. if(textBox1.SelectedText != ”") Clipboard.SetDataObject(textBox1.SelectedText); }粘贴:private void button2_Click(object sender, System.EventArgs e) { // Decl 阅读全文
posted @ 2011-03-15 15:20 许明吉博客 阅读(390) 评论(0) 推荐(0)
摘要:C#合并数组 private static char[] Str = { 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v' 阅读全文
posted @ 2011-03-15 11:41 许明吉博客 阅读(977) 评论(0) 推荐(0)
摘要:protected void Page_Load(object sender, EventArgs e) { string s1 = "今天天气很晴朗很晴朗";//原始字符串 string split = "晴朗";//要合并的 int i = s1.IndexOf(split);//获取第一索引个要合并字符串的 s1=s1.Replace(split, "");//替换为空 s1 = s1.Insert(i, split);//在一个处插入合并字符串 Page.RegisterStartupScript("", 阅读全文
posted @ 2011-03-15 11:36 许明吉博客 阅读(20945) 评论(0) 推荐(1)
摘要:string[] hidenumber = HiddenField1.Value.Split(','); string[] phonenumber = txtPhoneNum.Text.Trim().Split('\r'); string[] moble = new string[hidenumber.Length + phonenumber.Length]; int index = 0; for (int i = 0; i < hidenumber.Length; i++) { moble[index] = hidenumber[i]; index++; 阅读全文
posted @ 2011-03-15 10:24 许明吉博客 阅读(6578) 评论(0) 推荐(0)
摘要:01.byte[] head = new byte[] { 0x7e }; 02.byte[] type = new byte[] { 0x00 }; 03.byte[] content = Encoding.Default.GetBytes("ABCDEGF"); 04.byte[] last = new byte[] { 0x23 }; 05.byte[] full=new byte[head.Length+type.Length+content.Length+last.Length]; 06.//head.CopyTo(full,0); 07.//type.CopyT 阅读全文
posted @ 2011-03-15 10:23 许明吉博客 阅读(22068) 评论(1) 推荐(1)
摘要:上一篇的解决办法显然不是最优的,先在找到了一种最优的解决办法,利用Directory进行合并数组,去除重复项。代码如下:效果如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace DouHaoCount{ class Program { static void Main(string[] args) { long T1 = DateTime.Now.Ticks; Dictionary<int, int> dic = new Dictionary< 阅读全文
posted @ 2011-03-15 10:22 许明吉博客 阅读(2945) 评论(0) 推荐(0)
摘要:private static char[] constant = { '0','1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f','g','h','i','j','k','l', 阅读全文
posted @ 2011-03-15 10:04 许明吉博客 阅读(310034) 评论(8) 推荐(15)
摘要:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.IO;public partial class Default3 : 阅读全文
posted @ 2011-03-14 16:45 许明吉博客 阅读(7115) 评论(0) 推荐(0)
摘要:从网上整理所得XMLDocument来操作XML比较简单,虽然有时效率不是很高。代码如下已知有一个XML文件(bookstore.xml)如下:<?xml version="1.0" encoding="gb2312"?><bookstore> <book genre="fantasy" ISBN="2-3631-4"> <title>Oberon's Legacy</title> <author>Corets, Eva</aut 阅读全文
posted @ 2011-03-14 16:17 许明吉博客 阅读(12300) 评论(0) 推荐(1)
摘要:CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 CTRL + F12转到声明 CTRL + ALT + J对象浏览 CTRL + ALT + F1帮助目录 CTRL + F1 动态帮助 F1 帮助 SHIFT + F1当前窗口帮助 CTRL + ALT + F3帮助-搜索 SHIFT + ALT + ENTER全屏显示 CTRL 阅读全文
posted @ 2011-03-11 18:01 许明吉博客 阅读(581) 评论(0) 推荐(0)
摘要:string str1 =Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。 //备注 按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:\”)。如果该进程在子目录中启 动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径(如“C:\mySubDirectory”)。 string str3=Directory. 阅读全文
posted @ 2011-03-11 17:57 许明吉博客 阅读(444) 评论(0) 推荐(0)
摘要:1.结构不能够创造无参数的构造函数2.结构产生在stack堆栈中,类产生在heap堆中。3. 结构中进行相互的赋值,可以创建新的结构,类中的相互赋值,只是复制了引用。4.从执行的效率来看,stack堆栈执行效率要比heap堆中要高,但是实际中,stack只是适合执行逻辑小的对象,而堆heap可以执行更加复杂的商业逻辑。5.结构不能够像类那样派生接口。6.结构不能够像类一样被继承。7.结构中提供默认的不带参数的构造方法,并且不允许替换,类中同样提供不带参数的构造方法。但是允许替换。8.结构中不存在析构函数,类中存在析构函数。9.结构中不允许使用sealed、abstract、virtual等关键 阅读全文
posted @ 2011-03-09 18:01 许明吉博客 阅读(222) 评论(0) 推荐(0)
摘要:.c#中的foreach是类型下面的foreach(int i in arr){}2.c#中允许使用goto语句使用方法是 goto 标示符,其中标示符使用相应的标示符字母加上:3.c#中允许小范围的跳动,但是不允许跨函数或者说方法的跳转4.goto语句也可以在switch中使用5.throw语句是一种抛出语句。6.引用传递最终的结果,可能会改变传递的参数的值,值传递,不改变值7.out的关键字一般是为了让一个方法有多个返回值8.在一个项目中,声明的全局变量可以被涵盖在命名空间namespace中。而一个类当中的所谓的全局变量则必须用static关键字来修饰。9.常用方法9.1变量转字符串的方 阅读全文
posted @ 2011-03-09 18:01 许明吉博客 阅读(260) 评论(0) 推荐(0)
摘要:类和结构体的区别 1. class和structure很相似, 从技术层面讲,class是引用,而structure则是数值. 有人很形象的说 class里有行动,方法,成员,是有机体的结合,而structure则是活生生的有机体, 2. 通俗的理解,class包涵structure, class里有方法拉,成员拉,什么滴, 而structure只有数据,二 .类与结构的差别%%%类成员默认是private,而结构体默认是 public。 1.值类型与引用类型 结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,string 对应 阅读全文
posted @ 2011-03-09 17:11 许明吉博客 阅读(475) 评论(1) 推荐(0)
摘要:结构体的定义:结构体也可以象类一样可以单独定义.class a{};struct a{};结构体也可以在名字前面加入控制访问符.public struct student{};internal struct student{};如果结构体student没有publice或者internal的声明类program就无法使用student结构定义obj对象如果结构体student的元素没有public的声明,对象obj就无法调用元素x因为默认的结构体名和元素名是*******类型程序:using System;public struct student { public int x; };clas 阅读全文
posted @ 2011-03-09 15:31 许明吉博客 阅读(379) 评论(0) 推荐(0)
摘要:快捷键 功能CTRL + SHIFT + B:生成解决方案CTRL + F7 :生成编译CTRL + O :打开文件CTRL + SHIFT + O:打开项目CTRL + SHIFT + C:显示类视图窗口F4 :显示属性窗口SHIFT + F4:显示项目属性窗口CTRL + SHIFT + E:显示资源视图F12 :转到定义CTRL + F12:转到声明CTRL + ALT + J:对象浏览CTRL + ALT + F1:帮助目录CTRL + F1 :动态帮助F1 :帮助SHIFT + F1:当前窗口帮助CTRL + ALT + F3:帮助-搜索SHIFT + ALT + ENTER:全屏显 阅读全文
posted @ 2011-03-09 15:25 许明吉博客 阅读(879) 评论(0) 推荐(0)
摘要:C#读取XML文档两种方法的比较从何谈起呢?让我们首先来看看XMLTextReader和XmlDocument读取XML文件的比较:C#读取XML文档之在.NET框架的System.XML名称空间中包含的XMLTextReader类不需要对系统资源要求很高,就能从XML文件中快速读取数据。使用XMLTextReader类能够从XML文件中读取数据,并且将其转换为HTML格式在浏览器中输出。读本文之前,读者需要了解一些基本知识:XML、HTML、C#编程语言,以及.NET尤其是ASP.NET框架的一些知识。C#读取XML文档的解决为目的,微软公司的.NET框架为开发者提供了许多开发的便利,随着X 阅读全文
posted @ 2011-03-09 12:35 许明吉博客 阅读(4699) 评论(0) 推荐(0)
摘要:读取XML到ListBox/ComboBox1,知识需求:(1)访问XML文件的两个基本模型:一,DOM模型;使用DOM的好处在于它允许编辑和更新XML文档,可以随机访问文档中的数据,可以使用XPath查询,但是,DOM的缺点在于它需要一次性的加载整个文档到内存中,对于大型的文档,这会造成资源问题。二,流模型;流模型很好的解决了这个问题,因为它对XML文件的访问采用的是流的概念,也就是说,任何时候在内存中只有当前节点,但它也有它的不足,它是只读的,仅向前的,不能在文档中执行向后导航操作。虽然是各有千秋,但我们也可以在程序中两者并用实现优劣互补。C#采用流模型。流模型每次迭代XML文档中的一个节 阅读全文
posted @ 2011-03-09 12:32 许明吉博客 阅读(1442) 评论(0) 推荐(0)
摘要:上文讨论了C#本身提供的2种透明窗体制作方法,但在有些情况下满足不了需要,这里再提供2种方法供参考。UpdateLayeredWindow()和GraphicsPath。 关于用Windows api的SetLayeredWindowAttributes(),bitblt()制作透明窗体在这里不再讨论。SetLayeredWindowAttributes()可参照上文,bitblt()类似于UpdateLayeredWindow()。 (1)UpdateLayeredWindow就是把一幅图片(有alpha通道)作为窗体,做出的显示效果非常好,同时问题也来了,窗体上的任何控件是看不到的。比如. 阅读全文
posted @ 2011-03-09 12:24 许明吉博客 阅读(8218) 评论(2) 推荐(2)
摘要:制作透明窗体办法有好几种,各有优缺点.我们先来看看C#本身提供的办法1:通过设置窗体的TransparencyKey实现 例:窗体中的白色会变成透明Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> this.BackColor =Color.White; this.TransparencyKey = Color.White;2:通过设置窗体的Opacity 实现 例:窗体的透明度为50%Code highlighting produced b 阅读全文
posted @ 2011-03-09 12:23 许明吉博客 阅读(30549) 评论(3) 推荐(3)
摘要:if MessageDlg('Welcome to my Delphi application. Exit now?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin Close; end;MessageDlg用法对话框类型:mtwarning——含有感叹号的警告对话框mterror——含有红色叉符号的错误对话框mtinformation——含有蓝色i符号的信息对话框mtconfirmation——含有绿色问号的确认对话框mtcustom——不含图标的一般对话框,对话框的标题是程序的名称按钮组中的按钮:mbYes——m 阅读全文
posted @ 2011-03-09 12:16 许明吉博客 阅读(32046) 评论(0) 推荐(4)
摘要:我们在程序中经常会用到MessageBox。 MessageBox.Show()共有21中重载方法。现将其常见用法总结如下:1.MessageBox.Show("Hello~~~~");最简单的,只显示提示信息。2.MessageBox.Show("There are something wrong!","ERROR");可以给消息框加上标题。3.if (MessageBox.Show("Delete this user?", "Confirm Message", MessageBoxButto 阅读全文
posted @ 2011-03-09 12:02 许明吉博客 阅读(885) 评论(0) 推荐(0)