02 2010 档案
摘要:键盘钩子处理函数: 首先键盘钩子处理函数的函数名是可以自定义的 ,例如:MyKeyboardProc() 函数原型: LRESULT CALLBACK KeyboardProc( int code, WPARAM wParam, LPARAM lParam ); 参数: code: 根据这个数值决定怎样处理消息 如果 code 小于0,则 必须让KeyboardProc()函数返...
阅读全文
摘要:bool是LongBool类型。 Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool。后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使用Boolean类型。 这四种类型的布尔值占用内存的数量如下: Boolean 1 Byte Byt
阅读全文
摘要:HOOK钩子详细介绍 基本概念 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,...
阅读全文
摘要:内存块赋值函数。 定义:Procedure FillChar ( Var X; Count : Longint; Value : Char or Byte); 意为:对一个Char类型的数组X进行Count次赋值,当Value为Char类型时,直接赋值;若Value为Byte类型时,将Value作为
阅读全文
摘要:FindWindow,Win32 API函数。 FindWindow函数返回与指定字符串相匹配的窗口类名或窗口名的最顶层窗口的窗口句柄。这个函数不会查找子窗口。 函数原型: HWND FindWindow ( LPCSTR lpClassName, LPCSTR lpWindowName ); 参数表: lpClassName 指向一个以null结尾的、用来指定类名的字符串或...
阅读全文
摘要:CopyMemory() 函数功能描述:将一块内存的数据从一个位置复制到另一个位置 函数原型 VOID CopyMemory( PVOID Destination, CONST VOID *Source, DWORD Length ); 参数 Destination 要复制内存块的目的地址。 Source 要复制内存块的源地址。 Length 指定要复...
阅读全文
摘要:OpenFileMapping VB声明 Declare Function OpenFileMapping Lib "kernel32" Alias "OpenFileMappingA" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal lpName As String) As Long 说明 打...
阅读全文
摘要:CloseHandle函数 BOOL CloseHandle( HANDLE hObject ); 参数 hObject :代表一个已打开对象handle。 返回值 TRUE:执行成功; FALSE:执行失败,可以调用GetLastError()获知失败原因。 函数说明: 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。在CreateThread成功之...
阅读全文
摘要:VB声明 Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, ByVal lpName As String) As Long VC声明 HANDLE CreateMut...
阅读全文
摘要:函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。 函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam); 参数: hWnd:其窗口程序将接收消息的窗口的句柄。...
阅读全文
摘要:MapViewOfFile, MapViewOfFileEx VB声明 Declare Function MapViewOfFile& Lib "kernel32" (ByVal hFileMappingObject As Long, ByVal dwDesiredAccess As Long, ByVal dwFileOffsetHigh As Long, ByVal dwFil...
阅读全文
摘要:CreateFileMapping VB声明 Declare Function CreateFileMapping Lib "kernel32" Alias "CreateFileMappingA" (ByVal hFile As Long, lpFileMappigAttributes As SECURITY_ATTRIBUTES, ByVal flProtect As Long, By...
阅读全文
摘要:VC声明 DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds ); VB声明 Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Lon...
阅读全文
摘要:var s:string; pc:pchar; pb:pbyte; ac:array[1..100] of char; ab:array[1..100] of byte; i:integer; begin s:='this is a test'; pc:=pchar(s); //string->pchar pb:=pbyte(pc); //pchar->pbyte for i:=1 t...
阅读全文
摘要:要把一个Form编译进DLL,这个Form必须要自己创建和释放。由于源代码分为几个部分,这里写下dll的关键代码:function showform(handle1:THandle):Boolean;stdcall;var form3:TForm1;begin Result:=True; form3:=TForm1.Create(nil); Application.Handle:=handle1;...
阅读全文
摘要:TFrame的一个功能可以进行功能的封装,就像一个组件一样,它能够把一组功能包装在一起,实现这组功能的复用,甚至可以把一个应用程序封装到一个TFrame,然后在其它地方引用它;TFrame的另一个功能是,它提供了一种拆分和组合应用程序的途径,可以把一个比较大,而且有较独立模块的应用程序拆分为多个Fframe,然后分发给不同的人做,最后把所有的Frame组合在一起,作为一个整体的应用程序。源程序代码...
阅读全文
摘要:把一个窗体或者控件变成可以停靠只需要两步:(1)把DragKind特性设置为dkDock。(2)把DragMode特性设置为dmAutomatic。另外,TPanel控件有一个UseDockManager特性,如果为Ture,它的作用是将停靠在上面的控件的尺寸扩充为Panel的大小,即充满全部Panel空间。演示代码:新建一个VCL form工程,加入界面代码:object Form1: TFor...
阅读全文
摘要:小东西,初学delphi练习下手。 源代码如下: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ImgList, ComCt
阅读全文
摘要:主要演示了TApplicationEvents.OnMessage 的第二个参数 Handled 如果是 True, 表示消息已经处理过了, 到此为止.代码如下:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, AppEvn...
阅读全文
摘要:源代码:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public de...
阅读全文
摘要:源代码:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public de...
阅读全文
摘要:代码文件:--------------------------------------------------------------------------------unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtr...
阅读全文
摘要:淘宝的宝贝描述页是ajax异步载入的,所以直接idhttp读一下是弄不到它的源码的。用下面的方法就可以。 代码如下: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Contro
阅读全文
摘要:问题的由来:我有两个asp文件 a.asp内容: <html> <head> </head> <body> <formaction="b.asp"method=posttarget="_self"> <P><INPUTid="Text1"type="text"name="Text1"> <INPUTid="S...
阅读全文
摘要:MSHTML是微软公司的一个COM组件,该组件封装了HTML语言中的所有元素及其属性,通过其提供的标准接口,可以访问指定网页的所有元素. MSHTML对象模型是由一些对象和集合组成的.处于根部的是HTML,描述了打开页面的1个窗口,包括一系列集合和对象。如Frames集合,History,Location,Navigator,Document,Vi—sum,Event对象等.其中描...
阅读全文
摘要:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; Memo1...
阅读全文
摘要:程序界面 测试是在本机测试的,注意不能是127.0.0.1或者localhost,不然idhttp会罢工。由于测试论坛没有几篇文章,所以“下一页”,其实只读取了第一页。上一页还没做呢,呵。 源代码: unit Unit1; interface uses Windows, Messages, SysU
阅读全文
摘要:function IIF<T>(Condition: Boolean; TrueValue: T; FalseValue: T): T; begin if Condition then result := TrueValue else result := FalseValue; end;注:Delphi 2009\2010 支持泛型,其它版本不支持。真的很方便!不过好像不能直接...
阅读全文
摘要:法一:利用TWebBrowser组件 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw; type TForm1 = class(TForm) WebBrowser1: ...
阅读全文
摘要:在 Delphi 中使用正则表达式, 目前 PerlRegEx 应该是首选, 准备彻底而细致地研究它.官方网站: http://www.regular-expressions.info/delphi.html直接下载: http://www.regular-expressions.info/download/TPerlRegEx.zip二、安装方法:1、先把解压的 TPerlR...
阅读全文
摘要:在程序中使用TWebbrowser控件或者Indy中控件连接采用Ajax技术的网页,获得的网页源码中并不会有客户端更新的内容。在IE浏览器中的查看源文件同理也是看不到Ajax更新的内容。通过插件可以看到Ajax更新后的内容。问题是在程序中怎样来获得完整的网页内容?如果有Ajax更新,Webbrowser的DocumentComplete事件也不会被触发。其实完整的网页内容并不是不可以获得,使用一个...
阅读全文
摘要://增加项或列(字段)ListView1.Clear;ListView1.Columns.Clear;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Items[0].Caption:='id';ListView1.Columns.Items[...
阅读全文
摘要:今天做的一个项目中要使用一大串数据进行处理。如何对这一系列的数据进行保存成为一个首要的问题。唉,Delphi啊,你何时才能支持泛型啊。在C#,C++这都不是问题了啊。在Delphi里只有TStringList这个容器可以使用,但是它是处理字符串的。一进一出,需要大量的typecast时间。用链表??不值得。上网一查,呵呵,可以用动态数组。看来我还是一个新手,这个东西我都不知道啊。啥时候Delphi...
阅读全文
摘要:源代码:-------------------------------------------------------------------------unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,StrUt...
阅读全文
摘要:如何在delphi里面控制Edit只能输入数字━━━━━━━━━━━━━━━━━━━━━━━━━━if not (key in ['0'..'9',#8]) then key := #0;只能输入汉字,而不能输入数字或其他字符━━━━━━━━━━━━━━━━━━━━━━━━━━在Edit的OnKeyPress事件中 procedure TForm1.Edit1KeyPress(Sender: TO...
阅读全文
摘要:WebBrowser 操作记要 WebBrowser1.GoHome; //到浏览器默认主页 WebBrowser1.Refresh; //刷新 WebBrowser1.GoBack; //后退 WebBrowser1.GoForward; //前进 WebBrowser1.Navigate('...'); //打开指定页面 WebBrowser1.Navigate('about:blank');...
阅读全文
摘要:{location 对象:}reload //重新加载当前文档replace //用新的文档替换当前文档assign //加载新文档href //设置或返回完整的 URLprotocol //设置或返回当前 URL 的协议host //设置或返回 # 号开始的 URL(锚)hostname //设置或返回当前 URL 的主机名port //设置或返回当前 URL 的端口号pathname //设置...
阅读全文
摘要:这是在页面下载完毕后即刻获取:--------------------------------------------------------------------------------unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialo...
阅读全文
摘要:借助 TWebBrowser 可以把软件做的更漂亮、更灵活, 很多软件已经或者早就这样做了.尽管 HTML DOM 内容繁杂(涉及到 HTML、JavaScript、CSS), 但也都属于 TWebBrowser 的功能范围.使用 TWebBrowser 时, 如果配合上 MSHTML, 将会有很好的代码提示; 不然也可以, 就是写代码困难.HTML DOM 中的一切都是源于一个叫 window ...
阅读全文
摘要:{IHTMLDocument2 方法:}write //写入writeln //写入并换行open //打开一个流,以收集 document.write 或 document.writeln 的输出close //关闭并输出用 document.open 方法打开的流clear //清空文档中所有元
阅读全文
摘要:1.获取网页中变量的值例如:htm中<script> var currIDS=123</script>程序中可以这样调用 id := Form1.WebBrowser1.OleObject.Document.script.currIDS 备注:变量可以是javascript定义的,也可以是vbscript定义的,如果Webbrowser1中找不到该变量,调用会触发一个异常事...
阅读全文
摘要:源代码如下:unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw;type TForm2 = class(TForm) WebBrowser1: TWebBrowser; Butt...
阅读全文
摘要:在DELPHI为编程者提供了一个灵活的绘图场所,即本文所述的CANVAS类,在DELPHI中的很多控件都具有此属性,使编程者可以在这些的控件的表面随心所欲的绘图,这对完善用户界面或者制作一些屏幕特技都有着非凡的作用,下面举例说明几种特殊屏幕效果的形成过程。一、CANVAS必备基本知识:1.具有CANVAS属性的控件:TBitmap,TComboBox,TDBComboBox,TDBGrid,TDB...
阅读全文
摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,Perl...
阅读全文
摘要:function CreateThread( lpThreadAttributes: Pointer; {安全设置} dwStackSize: DWORD; {堆栈大小} lpStartAddress: TFNThreadStartRoutine; {入口函数} lpParameter: Pointer; {函数参数} dwCreationFlags: DWORD; {启动选项} var lpTh...
阅读全文
摘要:问题的由来:先申明,我不是 DELPHI 的三星,达到3星后各个板块的级别都一样的。在 DELPHI 里面我只是个新手,只学了DELPHI 8天,希望大家帮忙 try ... excetpt on e:Exception do 中的 E 是哪里来的?凭空出来的?怎么没在帮助里面找到说明?E是继承某个类么?这里只有 E.MESSAGE,难道没有错误号么? 我如何根据 E...
阅读全文
摘要:IdHTTP_Thread := TIDHTTP.Create; IdHTTP_Thread.ReadTimeout := 240000; IdHTTP_Thread.ConnectTimeout := 240000; IdHTTP_Thread.Request.UserAgent :='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; ....
阅读全文
摘要:最近写了几个网站的验证码图片自动识别程序,尽管每个网站的验证码图片都不相同,识别的方法有所差别。但写得多了,也总结出不少相同之处。今天抽空封装出一个基础类来,发现可以很好地重复利用,编写不同的验证码识别程序,效率提高了不少。好东东不能独享,现放出来供大家共同研究,请网友们妥善用之。封装后的类使用很简单,针对不同的验证码,相应继承修改某些方法,即可简单几句代码就可以实现图片识别了: GrayByPi...
阅读全文
摘要:写HTML解释部分的时候,需要在一个完整的URL中,提取出该URL的路径,如http://www.515800.cn/blog/index.asp需要提取出http://www.515800.cn/blog/这个路径出来,这个如果在VB/VBS中,使用InStrRev函数,很容易就可以实现,但在Delphi中,虽然经常用Pos来判断字符的的位置,但从来没有看到过PosRev之类的函数,查了帮助也没...
阅读全文
摘要:一、字符转换函数1、ASCII()返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。2、CHAR()将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。3、LOWER()和UPPER()LO...
阅读全文
摘要:一、引子:现在的Windows应用程序几乎都使用图标、图片、光标、声音等,我们称它们为资源(Resource)。最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用。资源是程序的一部分,程序要正常运行就离不了资源文件。但是它是不可执行代码。为了更好地管理资源,Delphi中提供了一种.RES类型的资源文件。它可以把我们程序中所需要的资源整合到一个资源文件(.RES)下来。...
阅读全文
摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;type TForm1 = ...
阅读全文
摘要:当我们不在使用某个对象时,必须将这个对象从内存空间中删除,这样可以避免不必要的数据浪费内存空间。Object Pascal类的对象构造方法必须以保留字"Constructor”取代"Function"或"Procedure";对象的析构必须使用保留字"Destructor"。 由于类的声明分为两种:继承Delphi内建类的Class类 和 完全自定义的object类,因此类的构造和析构...
阅读全文
摘要:Delphi的类声明有两种方法,一种是继承了Delphi的内建类的声明,另一种则是完全自定义的类声明。这两种类的区别不仅在于声明程序的不同,还会影响到对象实体的内存管理。1unitUnit1;23interface45uses6Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,7Dialogs,StdCtrls,B...
阅读全文
摘要:代码如下:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) start: TButton; Memo1: TMemo; procedure startClick...
阅读全文
摘要://打开控制台io.open() t={};//table插入元素table.insert(t,"windows");table.insert(t,"linux");table.insert(t,"unix"); for(k,v in t){ io.print(v); } t1={};t1[1]=1
阅读全文
摘要:讲解哈希表,就需要与一般的数组作对比的讲,这样更能说明哈希表。我们都知道,数组是一个下标(数字)与一个值得对应,给出数组某一合法下标,就会得到数组在这个下标下存储的值;而哈希表就类似是用名字代替下标的一个特殊的数组。只要给出哈希表中某一个合法名字的值,就能找到与这个名字对应的,哈希表中的一个值。举个
阅读全文
摘要:从delphi的角度看Google(谷歌)URL编码解码方式在网上搜索了一下,似乎没有什么关于google的URL编码解码的很详细的资料,因此在这里写一下,希望给有用的人提供一点帮助。使用google谷歌搜索一下关键词,对应的编码如下:刀:%E5%88%80刀具:%E5%88%80%E5%85%B7刀具网:%E5%88%80%E5%85%B7%E7%9A%84因此可见,google对URL的编码并...
阅读全文
摘要:CodeRush,今年已经第五次荣登Delphi Informant 杂志读者评选三方插件的头筹。下面介绍一下此插件的一般使用方法。(本人较懒,另外水平也有限,不正之处望各位同仁不吝指出^_^)关了Delphi,安装CodeRush,相信不会很困难的。装完了,CodeRush就和Delphi IDE融为一体了,启动之后就会出现一个新的Delphi 开发界面。当然现在还是看不出什么花头的。现在就让我...
阅读全文
摘要:看一个指针用法的例子: 1 var 2 X, Y: Integer; // X and Y 整数类型 3 P: ^Integer; // P 指向整数类型的指针 4 begin 5 X :=17; // 给 X 赋值 6 P := @X; // 把 x的地址赋给p 7 Y := P^; // 取出p所指向的数值赋给y 8 end; 第二行定义了两个变量X,y. 第三行声明了p是指向整数类型的指针;...
阅读全文
摘要:TBucketList和TObjectBucketList类 从Delphi6开始,VCL的Contnrs单元中又增加了两个新的容器类TBucketList和TObjectBucketList。TBucketList实际上也是一个简单基于哈希表的指针-指针对列表。接口定义如下: TBucketList = class(TCustomBucketList)… public dest...
阅读全文
摘要:在DELPHI的程序开发过程中Tstrings类的使用是比较频繁的,下面就此类在DELPHI5的开发环境中进行一下简单的介绍及实例(注:本文只对tstrings类中的方法及属性进行介绍,从其父类继承的属性及方法不属本文讨论之内)。 Add 原型:function Add(const S: string): Integer; virtual; 注解:此方法是在字符表中的后面添加字符串,返回...
阅读全文
摘要:从Delphi 5开始VCL中增加了一个新的Contnrs单元,单元中定义了8个新的类,全部都是基于标准的TList 类。 TList 类 TList 类实际上就是一个可以存储指针的容器类,提供了一系列的方法和属性来添加,删除,重排,定位,存取和排序容器中的类,它是基于数组的机制来实现的容器,比较类似于C++中的Vector和Java中的ArrayList,TList 经常用来保存一组对象列...
阅读全文
摘要:TStrings类 出于效率的考虑,Delphi并没有象C++和Java那样将字符串定义为类,因此TList本身不能直接存储字符串,而字符串列表又是使用非常广泛的,为此Borland提供了TStrings类作为存储字符串的基类,应该说是它除了TList类之外另外一个最重要的Delphi容器类。 要注意的是TStrings类本身包含了很多抽象的纯虚的方法,因此不能实例化后直接使用,必须从TStr...
阅读全文
摘要://字符串分割: Splitvar reg: TPerlRegEx; List: TStrings;begin List := TStringList.Create; reg := TPerlRegEx.Create(nil); reg.Subject := 'aaa,bbb,ccc,ddd'; reg.RegEx := ','; {这里可是运行相当复杂的分割符啊} reg.Split(List,...
阅读全文
摘要:// preCaseLess: 不区分大小写, 相当于其他语言中的 ivar reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'abc ABC aBc'; reg.RegEx := 'abc'; reg.Replacement := '◆'; reg.Options := [preCaseLess]; //选项...
阅读全文
摘要:字符描述\标记下一个字符是特殊字符或文字。例如,"n" 和字符 "n" 匹配。"\n" 则和换行字符匹配。序列 "\\" 和 "\" 匹配,而 "\(" 则和 "(" 匹配。^匹配输入的开头。$匹配输入的末尾。*匹配前一个字符零或多次。例如,"zo*" 与 "z" 或 "zoo" 匹配。+匹配前一个字符一次或多次。例如,"zo+" 与 "zoo" 匹配,但和 "z" 不匹配。?匹配前一个字符零或一...
阅读全文
摘要:// MatchedExpression 与 SubExpressions[0]var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007'; reg.RegEx := 'Delphi'; while reg.MatchAgain do begin ShowMessag...
阅读全文
摘要:使用Delphi开发软件无疑是一种比较高效率的方式,完全对象的语言,严格控制的语法,可视化开发环境的性能,编译器的速度和已编译代码的效率,编程语言的功能及其复杂性,数据库结构的灵活性和可扩展性,框架对设计和使用模式的扩充无疑都是delphi身上的光芒。最近飘易使用Delphi开发了一套工具,由于和网络应用相关的东西较多,需要使用正则表达式,而目前主流的delphi下的正则表达式,应该是PerlRe...
阅读全文
摘要://查找是否存在varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil);reg.Subject := 'CodeGear Delphi 2007 for Win32';reg.RegEx := '\d';if reg.Match then ShowMessage('找到了')else ShowMessage('没找到');FreeAndNil(r...
阅读全文
摘要:try//尝试执行 {SomeCode} except//出错的时候执行, Except有特定的错误类型 {SomeCode} end; try//尝试执行{SomeCode} finally//无论如何都强制执行{SomeCode} end; 例:tryAge:=StrToInt(Edit1.Text);ShowMessage(Format('生于%d年',[YearOf(Now)-Age]))...
阅读全文
摘要:在 Delphi 中使用正则表达式, 目前 PerlRegEx 应该是首选, 准备彻底而细致地研究它.官方网站: http://www.regular-expressions.info/delphi.html直接下载: http://www.regular-expressions.info/download/TPerlRegEx.zip安装方法:1、先把解压的 TPerlRegEx 文件夹放一个合...
阅读全文
摘要:拖三个组件: memo ,idhttp,edit 加一个Button然后在procedure TForm1.Button1Click(Sender: TObject);里加上一句话1.可以这么写memo1.Text:= idHTTP1.Get(edit1.Text);2.也可以这么写memo1.Lines.Add(IdHTTP1.Get(edit1.Text));这件事就这么简单.不过,别用它来试...
阅读全文
摘要:Chr 将一个有序数据转换为一个ANSI字符 Ord 将一个有序类型值转换为它的序号 Round 转换一个实型值为四舍五入后的整型值 Trunc 转换一个实型值为小数截断后的整型值 Int 返回浮点数的整数部分 IntToStr 将数值转换为字符串 IntToHex 将数值转换为十六进制数字符串 StrToInt 将字符串转换为一个整型数,如字符串不是一个合法的整型将引发异常 StrToIntDe...
阅读全文
摘要:Private Sub Command1_Click() Text2.Text = URLEncode(Text1.Text) End Sub Public Function URLEncode(ByRef strURL As String) As String Dim I As Long Dim tempStr As String For I = 1 To Len(strURL) If Asc(...
阅读全文
摘要:概要介绍:Object Pascal语言的结构比较特殊,跟C有很大的不同,但是它秉承PASCAL语言的一贯结构化的传统,相信大家很容易就可以了解。一:Program 单元 一个object Pascal程序,是由一个特殊的单元和若干个可选的单元组成的,也就是说一个最简单的Object Pascal程序,可以只由一个特殊的单元组成,这个特殊的单元就是Program 单元。 在Delphi中,Pro...
阅读全文
摘要:Inet控件(Internet Transfer Control控件)下载网页的HTML代码是很方便,不过有个问题,在读取的是utf-8编码的网页时会出现乱码。这也难怪VB默认支持的是UNICODE编码,在读取utf-8的数据时自然不知所措了。(注:如果你还不知道上面所说的各种字符编码方式的意义的话,那您还是先阅读一下这篇文章:各种字符编码方式详解(ANSI,UNICODE,UTF-8,GB231...
阅读全文
摘要:Function GBtoUTF8(szInput)Dim wch, uch, szRetDim xDim nAsc, nAsc2, nAsc3'如果输入参数为空,则退出函数If szInput = "" ThenGBtoUTF8 = szInputExit FunctionEnd If'开始转换For x = 1 To Len(szInput)wch = Mid(szInput, x, 1)nA...
阅读全文
摘要:Internet Transfer 控件实现了两种广泛使用的 Internet 协议: 超文本传送协议(HyperText Transfer Protocol)(HTTP) 和文件传送协议(File Transfer Protocol) (FTP)。使用 Internet Transfer 控件可以通过 OpenURL 或 Execute 方法连接到任何使用这两个协议的站点并检索文件。 可能的用途...
阅读全文
摘要:在实际编程中,可能需要读取特定网页的信息,但很多网站需要用户登录后,才能够获取相关的页面内容,这就需要编程者先临时存储当前的cookie,在C#中可以使用CookieContainer 对象来保存登录后的Cookie信息,这样,在每次发送数据的时候,附加上Cookie信息,就可以了。 #region 同步通过POST方式发送数据 /// <summary> /// 通过POST方式...
阅读全文
摘要:一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们。Let's go! 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看
阅读全文
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { jiema(); ...
阅读全文
摘要:在网络编程中,有时候会需要重新拨号建立网络连接(如Ad点击软件通过重新拨号形成有效点击) ,下面介绍两种程序中拨号的方法.1、最简单的方法:使用RasDial命令 RasDial是Windows自带的命令,使用非常简单。实际使用是可将下面代码保存为一个批处理文件,然后直接运行或在程序里进行调用。rasdial.exe/disconnect '断开连接del "C:\Documents and Se...
阅读全文
摘要:这个简单的程序可以实现使用河南网通ADSL的帐户进行拨号、断开的功能,在Vista和XP系统中可以正常使用,其他系统未测试。界面如下: 河南网通帐户,获取加密后的真实用户名的具体方法 : 网上邻居=》右键=》属性=》选项=》连接选项,在选中"提示名称、密码和证书等"。 然后,使用客户端输入用户名和密
阅读全文
摘要:编程访问文件是通过文件流对象进行的,当应用程序需要访问文件时,必须先创建一个文件流对象,此流对象和文件是一一对应关系。在.NET中,使用抽象基类System.IO.Stream代表流,它提供Read和Write两个方法。由于数据流的有序性,因此流对象还有一个读写指针,为此,Stream类还有一个Seek方法用于移动读写指针。FileStream对象的数据来自文件,而MemoryStream对象的数...
阅读全文
摘要://1.流转换为字节数组,fileUpload为.net上传控件Stream stream = fileUpload.FileContent;byte[] fileBuffer = new byte[stream.Length];stream.Read(fileBuffer,0,(int)stream.Length);//2.字节数组转换为字符串stringfileBody = System.Te...
阅读全文
摘要:文件处理操作必须先导入命名空间:using System.IO;//实现背景:一个文本框、一个按钮、VS2005方式一:用FileStream//实例化一个保存文件对话框 SaveFileDialog sf = new SaveFileDialog(); //设置文件保存类型 sf.Filter = "txt文件|*.txt|所有文件|*.*"; //如果用户没有输入扩展名,自动追加后缀 sf.A...
阅读全文
摘要:原文出处 Using MSHTML Advanced Hosting Interfaces, CodeProject下载源代码:IDocHostUIHandler(79KB) 摘要 本文向你演示了如何使用IDocHostUIHandler之类MSHTML的高级接口。 概览 本文将向你展示如何在 .NET 下使用 MSHTML 的高级支持接口,特别是其中的 IDocHostUIHandler ...
阅读全文
摘要:这个小程序需要用到系统API,也就是需要用到user32中的三个函数。第一个:WindowFromPoint 返回一个窗口句柄第二个:GetWindowText 获取窗口标题第三个:GetClassName 获取类名当然,最重要的一点就是要引用命名空间:using System.Runtime.In
阅读全文
摘要:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;u
阅读全文
摘要:无意中在一个国外的站点下到了一个利用WCF实现聊天的程序,作者是:Nikola Paljetak。研究了一下,自己做了测试和部分修改,感觉还不错,分享给大家。先来看下运行效果:开启服务:客户端程序:程序分为客户端和服务器端:------------服务器端:IChatService.cs:Codeusing System;using System.Collections.Generic;using...
阅读全文
摘要:本文和大家一起分享利用WCF实现文件的传输。程序运行效果:接收文件端: 发送文件端:连接WCF服务,选择要传输的文件文件传输成功:我们会在保存文件的默认路径:C:\Documents and Settings\Administrator\桌面,下看到传输的文件:代码分析:这里就不一一的阐述每一句代码的作用了,感兴趣的朋友可以下载,文后会有下载链接。说下值得注意的地方:前两天有人在百度知道中问能不能...
阅读全文
摘要: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;namespace 字符串相似度{ public...
阅读全文
摘要:在搜索引擎的开发中,我们需要对网页的Html内容进行检索,难免的就需要对Html进行解析。拆分每一个节点并且获取节点间的内容。此文介绍两种C#解析Html的方法。第一种方法:用System.Net.WebClient下载Web Page存到本地文件或者String中,用正则表达式来分析。这个方法可以用在Web Crawler等需要分析很多Web Page的应用中。估计这也是大家最直接,最容易想到的...
阅读全文
摘要: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.Diagnostics...
阅读全文
摘要:以前满世界问过这个问题,没有人理偶的说,还是自己动手搞定比较好。一般来说,一个COM对象在提供的时候,通常还会提供一个类型库,在其中定义了COM对象的所有方法名称、参数名称、属性名称等等信息。我们要做的就是从类型库中取出这些信息。当然,某些只供C++程序员使用的COM对象没有类型库,而代之以C++的头文件和/或idl文件,对这种情况,一般没有办法在程序中枚举出对象的方法属性:毕竟去找C++头文件不...
阅读全文
摘要:question:读取以TAB为分隔符CSV文件时遇到的问题问题的产生:淘宝CSV文件以TAB为分隔符,那么在利用利用下面的代码会产生问题,String[] field = str1.Split(new char[]{'\t'},StringSplitOptions.RemoveEmptyEntries);淘宝CSV文件共41个字段,对于其字段名(第一行),上面的程序读取结果是正确的,但是,从第二...
阅读全文
摘要:图1:软件界面 软件用途:这个小软件主要目的是为了方便批量下载淘小宝网络相册中的图片。因为这个相册是收费的,空间有限,做服装等类型网店的朋友手中的产品图片往往过多,如果空间容量不够,解决办法当然是把过季的服装图片下载下来保存到硬盘上,再删除相册中的图片以节约空间。目前淘宝店铺用得较广泛的支持外链的相册有:淘小宝,巴比豆,淘宝自己的相册空间,拍拍乐则已经倒闭了。这个小程序很简单,原理无非是用正则式分...
阅读全文
摘要:皮肤界面制作工具。可以自定义皮肤的组件库,它可以使你的程序具有换肤功能,拥有最独特的外观风格。支持所有的Win32平台,包括.NET。支持常用的编程语言,包括VC++,VB,Delphi,微软forms(.NET)。好东西,一定要顶啊,呵。宝盘下载链接CSDN下载链接
阅读全文
摘要:独立线程池 上次我们讨论到,在一个.NET应用程序中会有一个CLR线程池,可以使用ThreadPool类中的静态方法来使用这个线程池。我们只要使用QueueUserWorkItem方法向线程池中添加任务,线程池就会负责在合适的时候执行它们。我们还讨论了CLR线程池的一些高级特性,例如对线程的最大和最小数量作限制,对线程创建时间作限制以避免突发的大量任务消耗太多资源等等。 那么.NET提供的线程池又...
阅读全文
摘要:池(Pool)是一个很常见的提高性能的方式。比如线程池连接池等,之所以有这些池是因为线程和数据库连接的创建和关闭是一种比较昂贵的行为。对于这种昂贵的资源我们往往会考虑在一个池容器中放置一些资源,在用的时候去拿,在不够的时候添点,在用完就归还,这样就可以避免不断的创建资源和销毁资源。如果您做过相关实验的话可能会觉得不以为然,似乎开1000个线程也用不了几百毫秒。我们要这么想,对于一个高并发的环境来说...
阅读全文
摘要:这节我们按照线程池的核心思想来自定义一个简单的线程池:1) 池中使用的线程不少于一定数量,不多于一定数量2) 池中线程不够的时候创建,富裕的时候收回3) 任务排队,没有可用线程时,任务等待我们的目的只是实现这些“需求”,不去考虑性能(比如等待一段时间再去创建新的线程等策略)以及特殊的处理(异常),在实现这个需求的过程中我们也回顾了线程以及线程同步的基本概念。首先,把任务委托...
阅读全文
摘要:还不错推荐给大家原文——名称:快速入门地址:http://chs.gotdotnet.com/quickstart/描述:本站点是微软.NET技术的快速入门网站,我们不必再安装.NET Framework中的快速入门示例程序,直接在网上查看此示例即看。****************************************************名称:微软官方.NE...
阅读全文
摘要:ThreadPool(线程池)是一个静态类,它没有定义任何的构造方法(),我们只能够使用它的静态方法,这是因为,这是因为ThreadPool是托管线程池,是由CLR管理的。ThreadPool使用WaitCallback委托,它所要做的工作是在后台进行的。使工作项的排队和运行更容易,可以给工作者线程传递一个状态对象(提供数据)。状态对象是私有的作用域位于线程层,所以不需要进行同步。ThreadPo...
阅读全文
摘要:今天写代码的时候要用到输入框,想起VB中的InputBox,于是翻了一下.net的类库,居然找不到它的身影,真没想到啊~~VB中的InputBox,很好用,当点击按钮时弹出一个对话框,在对话框中的文本框中可以输入字符串,点击OK后可以返回你刚才输入的字符串。通过网上查阅资料,解决办法要么是自己写个inputbox类,要么是使用VB类库。这里我谈下后者:具体实现的方法:1.添加引用:Microsof...
阅读全文
摘要: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.Diagnostics...
阅读全文
摘要:要让一个Windows Form的TextBox显示多行文本就得把它的Multiline属性设置为true。 这个大家都知道,可是当你要在代码中为Text属性设置多行文本的时候可能会遇到点麻烦:)C# TextBox换行时你往往会想到直接付给一个含有换行符"\n"的字符串给Text属性:aTextBox.Text="FirstLine\nSecondLine\nThirdLine";可是实际运行的...
阅读全文
摘要:源代码如下: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.Net;u...
阅读全文
摘要:源代码: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.Diagnos...
阅读全文
摘要:源代码: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.Diagnos...
阅读全文
摘要: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.Threading;u...
阅读全文
摘要:using System;using System.Drawing;using System.Windows.Forms;using System.Threading;namespace hackpig{ public class myFormControl : Form { public delegate void addListItem(String str1); public addList...
阅读全文
摘要:图1 带EventArgs的委托演示图2 不带EventArgs的委托演示 本例源代码下载:1。不带参数的委托2。带参数的委托带EventArgs的委托演示例程源代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;u...
阅读全文
摘要:在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示元,必要进,还要控制后台线程中断当前操作。以前,类似的应用会比较麻烦,需要写的代码较多,也很容易出现异常。在 .net中,提供了一个组件 backgroundworker就是专门解决这个问题的。使用这...
阅读全文
摘要:在程序中,进行类型转换是常见的事。那么在C#中支持以前语言的类型转换方法,即用类型名进行强行转换,例如:object objTest = new NewType();NewType newValue = (NewType)objTest;但是这样转换,有个严重的问题,就是在把objTest强转换成NewType类型对象的时候,这个过程是不安全的,因此需要用try-catch语句来进行保护。这样一来...
阅读全文
摘要:上接<反流技术之IE插件技术研究第一部分>: http://blog.csdn.net/davemin/archive/2007/01/05/1474858.aspx 申明: 本文涉及到的技术只供参考研究之用,不可用于非法行为,本人不负责。2.3. BHO 示例 A. 下面我讲下,如何使用Micro
阅读全文
摘要:通过如下代码在剪贴板中获取含HTML格式的文本时发现当内容出现汉字的时候会有乱码 if (Clipboard.ContainsText(TextDataFormat.Html)) textBox1.Text = Clipboard.GetText(TextDataFormat.Html);通过剪贴板工具分析,HTML格式的文本是UTF8编码方式看来Clipboard.GetText()是解码出了问...
阅读全文
摘要:最近忽然突发奇想,想统计一下我最经常上的网站是哪些,并且在这些网站上都停留了多久。为此决定写一个BHO插件来做这件事。BHO(Browser Help Objects)是实现了特定接口(IObjectWithSite)的COM组件。开发好的BHO插件除了要在注册表中注册为COM Server外,还必须将它的CLSID在HKLMSOFTWARE...Browser Helper Objects下注册...
阅读全文
摘要:申明: 本文涉及到的技术只供参考研究之用,不可用于非法行为,本人不负责。A. 写在开始:继写了木马技术研究第一部分后, 我发现我的blog,PageRank上升了.最终发现中国的很多网站上摘抄我blog上的一些文章. 我写的东西很少,而能让别人摘抄, 怎么说也是一件荣幸的事. 这里只希望摘抄文章的朋友能够继续深入研究,为中国的反流反木马事业做点贡献. 我的文章能启到抛屎引玉的程度,那就可幸了.今天...
阅读全文
摘要:授权CSDN, 请在征求同意后转载. 作者: 陈嘉, NetSecure Inc, Canada, 软件工程师微软在1997年正式退出Browser Helper Object (BHO), 使程序员能够更好的对IE进行二次开发和操作. 在通过编写BHO程序数月后, 我希望把我的一些经验告诉才开始的同志, 避免走一些弯路.我本人是非常喜欢C++的. 因为C++对内存直接操作的方式可以节省非常多的内...
阅读全文
摘要:protectedstringGetWebContent(stringurl){Streamoutstream=null;Streaminstream=null;StreamReadersr=null;HttpWebResponseresponse=null;HttpWebRequestrequest=null;//要注意的这是这个编码方式,还有内容的Xml内容的编码方式Encodingencod...
阅读全文
摘要:HttpWebRequest毕竟是WebClient的父类,因此POST起来比较麻烦。try{stringvalpairs="";valpairs="c="+textBox1.Text;UTF8Encodingencoding=newUTF8Encoding();b=encoding.GetBytes(valpairs);HttpWebRequestrequest=(HttpWebRequest)...
阅读全文
摘要:导读:本文详细讨论了在C#中两个窗体间通讯的方法,分为如下几类1。利用构造函数进行窗体单向通信2。利用引用变量进行窗体单向通信3。演示利用引用ArrayList变量进行窗体双向通信4。使用form类的owner属性在两个窗体间通讯5。利用自定义属性在两个窗体间通6。利用静态类在两个窗口间通讯猪悟能编写了本文演示代码,在本文最后有下载链接。Windows 窗体是用于 Microsoft Window...
阅读全文
摘要:错误信息是这样的:Form1 可以进行设计,但不是文件中的第一个类。Visual Studio 要求设计器使用文件中的第一个类。移动类代码使之成为文件中的第一个类,然后尝试重新加载设计器。 也就是点击“查看设计器”时不能看到Form和控件只有报错信息。猪悟能看到如图1所示的错误已经不是一次两次了,前几依据这个错误提示死活解决不了问题,只得骂骂咧咧放弃。但是这一次实在忍无可忍...
阅读全文
摘要:"复杂的 DataBinding 接受 IList 或 IListSource 作为数据源" 错误原来是自己的笔误发布:admin | 分类:C#技术 | 引用:0 | 浏览:712 Jan 2010 DataGridView 类,ListBox等控件支持标准的 Windows 窗体数据绑定模型。这意味着数据源可以是实现下列接口之一的任何类型: IList 接口,包括一维数组,ArrayLi...
阅读全文
摘要:insert into 语句的语法错误经常会出现,主要原因是数据的字段名为access或sql数据库的保留字解决的方法很简单,一是可以直接改掉那些字段名,二是在代码中将字段名用中括号"[ ]"括起来即可..当然,要是熟悉access或sql数据库的保留字,就不会有这样的烦恼.以下是SQL和ACCESS保留字,供大家参考:在开发网店下载专家v3.0.0时,写入数据库的其中一个insert into ...
阅读全文
摘要:C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)有时候,为了提高性能和节约资源,我们会为多个控件,指定同一个右键弹出菜单,这时,通常会产生一个需求: 判断当前的弹出菜单是从哪个控件上弹出来,也就是“是由哪个控件的右键点击触发的”,以便于做进一步的控制。在.NET当中,实现起来是非常简单的,假设弹出菜单为 ContextMenuStrip1,则只需...
阅读全文
摘要:演示了imageList 和 listView的大图标模式,关键代码见下面:p rivate void button1_Click(object sender, EventArgs e) { imageList1.ColorDepth = ColorDepth.Depth24Bit; imageList1.ImageSize = new Size(120, 120); for (int i = 0...
阅读全文
摘要:本文将解决.net(c#)系统中因编码转换而出现的乱码问题。 最近的系统与字符集打交道,字符集的编码是一个非常头疼的事情,不小心就会造成乱码。深入学习编码知识,可以使我们在写程序时少走弯路。要实现的功能:将一大堆网页文件批量导入数据库,然后再从数据库中批量导出保存为网页文件,导出的文件还需要再导入数据库中,依次循环。由于最原始的网页文件来源很复杂,所以造成了编码不统一,有utf8、gb2312、...
阅读全文
摘要:首先在C#里添加一个窗体,命名为MdiMain,将其IsMdiContainer设定成true,这样MDI主窗体就建立了。然后再添加新窗体,命名为MdiChild。现在运行程序,会发现只运行了MdiMain这个主窗体。呵呵因为我们没有写任何代码,第二个窗体当然不能出现了。现在来添加这个代码。在MdiMain窗体上添加一个Menu,然后随便写个子菜单。双击子菜单,会出现它的Click事件,在这个事件...
阅读全文
摘要:下面的例子说明一下类的成员的访问修饰符的用法using System;class Vehicle//定义汽车类{public int wheels; //公有成员轮子个数protected float weight; //保护成员重量public void F(){wheels = 4;//正确允许访问自身成员weight = 10; //正确允许访问自身成员}};class train //定义...
阅读全文
摘要://载入资源字符串string s1 = Properties.Resources.id1;//列表框示例 listView1.Columns.Add("name"); listView1.Columns.Add("age"); listView1.Columns.Add("rollno"); ListViewItem firstrecord = new ListViewItem("hope");...
阅读全文
摘要:Item service unavailable:输入属性错误,见图1我第一次看到这个错误的时候,找遍了商品所有必填的属性,结果没有一个发觉有问题的。***TMD,忍不住要浪费口条开骂,呵 谁叫淘宝的提示那么专业难懂呢,摆明了高高在上,乎悠咱老百姓。不过身为程序员的俺,早就被各类“顽固变态”的客户训练出了顽强的耐心,所以,几翻研究之后。。。。原来是这么回事!图1Item s...
阅读全文
摘要:static方法不能直接访问类内的非static变量和不能调用this,super语句分析 大家都知道在static方法中,不能访问类内非static成员变量和方法。可是原因是什么呢? 这首先要从static方法的特性说起。static方法,即类的静态成员经常被称为“成员变量”(class members),对于静态成员变量,我们叫类属性(class attributes)...
阅读全文
摘要:终于静下心来仔细听了一遍Anders Hejlsberg(Visual Studio组的TECHNICAL FELLOW,C#的设计者之一)在PDC08上讲的“The Future of C#”(http://channel9.msdn.com/pdc2008/TL16/)。回顾C#发展的历史,C#1.0完全是模仿Java,并保留了C/C++的一些特性如struct,新学者...
阅读全文
摘要:LINQ,即Language Integrated Query。很多人熟悉SQL语言,用它来操作数据库非常方便。现在在C#3.0中也可以使用相同的语法来操作各种数据,包括数组,文件,数据库等。由于LINQ的东西比较多,准备分三次讲,第一次主要介绍一下LINQ,第二次主要介绍用LINQ操作数据库,第三次主要介绍用LINQ操作XML,第四次主要介绍LINQ的一些函数应用。有时间在写一些关于LINQ的专...
阅读全文
摘要:1.1 变量的声明 C#中变量的声明我们以实例来说明,例如,int i; 该句声明了一个 int (整型) 变量 i 。再如,string str; 这句声明了一个string(字符串类型)的 变量 str 。 1.2 变量初始化 C#编译器需要每个变量在有了初始值之后才能使用该变量。 在C#变量初始化时有两点需要注意, A 、变量是类或者结构中的字段,如果没有显式的初始化...
阅读全文
摘要:LINQ技术:解决降低访问和整合信息数据的复杂度的问题,即集合访问技术LINQ,语言级集成查询(Language INtegrated Query)C#3.0 LINQ 查询语法首先来看一个很简单的LINQ查询例子,查询一个int 数组中小于5的数字,并按照大小顺序排列:class Program { static void Main(string[] args) { int[] arr ...
阅读全文
摘要:淘宝网的Open API开放将近一年了,越来越多的人(包括已工作的和在校的大学生)都在使用淘宝的Open API,有不少ISV应用已上架盈利了。我也使用淘宝的Open Api也大半年了。不过了,由于阿里软件的文档比较的乱,让很多初学者分不清头绪(注:淘宝网的Open API是开放在阿里软件的一个平台上,是什么服务集群平台吧)。当然了,在中国,能够将自己的服务资源开放出来给第三方使用,特别是淘宝网这...
阅读全文
摘要:常用ADO.net对象演示这个例程演示了OleDbConnection, OleDbCommand, cmd.Parameters, OleDbDataReader, OleDbDataAdapter, DataSet 等对象的用法。这是几天的研究成果,特此记录一下。using System;using System.Collections.Generic;using System.Compone...
阅读全文
摘要:结构体的定义:结构体也可以象类一样可以单独定义.classa{};structa{};结构体也可以在名字前面加入控制访问符.publicstructstudent{};internalstructstudent{};如果结构体student没有publice或者internal的声明类program就无法使用student结构定义obj对象如果结构体student的元素没有public的声明,对象...
阅读全文
摘要:1。.NET分布式编程——C#篇内容介绍:分布式编程和.NET平台这两个主题都需要花费大量笔墨才能描述清楚,但在本书中,作者择其精要,深入浅出地介绍了在构建分布式应用时需用到的一些主要的.NET技术,如.NETRemoting、Web服务、串行化、COM+和MSMQ等。对于每一项技术,都首先进行详细的分析,然后再在实际应用中体会该技术解决问题的能力。 \r\n 本书适用的对...
阅读全文
摘要:如果只想读取数据(而不更新数据),则不必将它存储在数据集内。相反,可以直接从数据库读出数据并读入应用程序这时可以使用数据读取器来操作,可以使代码简单化。如果程序需要通过查询结果执行连续的只读传递,则可以使用数据读取器对象来代替填充数据集。数据读取器对象从数据源获取数据,并将这些数据直接传递给应用程序。通常,数据读取器对象用于当不需要在数据集内缓存数据时对数据进行只读、只能向前的访问。(数据适配器本...
阅读全文
摘要:Ole对象在Access中存储为二进制文件,读取的时候需要注意转换出的文件的编码格式Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1OleDbConnectionOleConn=newOleDbConnection();2OleConn.Connec...
阅读全文
摘要:网络上的读写OLE对象的代码是多,不过多是转载的,大部分人从来都没实际测试过,只是COPY来COPY去。我重来没看到一个真正可以运行的东东。没办法,只有自力更生,花了一点时间出了点研究成果,写到这里做个记录。关键代码如下:******* void button1_Click(object sender, EventArgs e) //写入图片 {OpenFileDialog dlg = new O...
阅读全文
摘要:具体的用C#创建方式网上一堆,主要是创建备注字段的时候遇到的问题。用ADOX创建的,在工程里添加引用dll就不说了,错误的步骤如下(就少了一步):------------------------------------------------------------------- //创建库 ADOX.CatalogClass catLog = new ADOX.CatalogClass(); c...
阅读全文
摘要:Meta标签在SEO优化中有着举足轻重的地位,如果在标签上进行了适合搜索引擎的撰写方式,则可以很大程度上的提升网站的排名,同时也有利于站点内容的收录,所以给每个网页加上Meta值就成为了SEO中必不可少的工作之一,除了便于搜索引擎的索引,Meta其实也是一种规范的网页标准,只有完善了Meta,一个h
阅读全文
摘要:对于个人站长来说,SEO已经成为不可或缺的一项技能。因为它的实现成本很低:只需要学习相关的技术,而不需要投入大量的资金来推广网站。所以目前每个与站长有关的论坛社区,几乎都充斥着有关SEO的内容。 说到搜索引擎优化(Search Engine Optimization,缩写为SEO),就不得不提到搜索
阅读全文
摘要:在对网站进行优化的过程中,很多人往往会将所看到的优化方法不分青红皂白的一律应用,但这样一来就往往会出现优化过度的现象,优化过度甚至比不优化还要对网站有危害,只需要注意以下四个方面,就可以避免在优化网站中经常出现的优化过度的情况。保持原创 避免数据重复 内容一直是网站最为重要的部分,在我们发布内容的时
阅读全文
摘要:前言:本文是前一片文章《深入浅出之正则表达式(一)》 本文是Jan Goyvaerts为RegexBuddy写的教程的译文,版权归原作者所有,欢迎转载。但是为了尊重原作者和译者的劳动,请注明出处!谢谢!的续篇,在本文中讲述了正则表达式中的组与向后引用,先前向后查看,条件测试,单词边界,选择符等表达式及例子,并分析了正则引擎在执行匹配时的内部机理。9. 单词边界元字符<<\b>&g...
阅读全文
摘要:很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可。 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异: 第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: public static yourMainWindow pCurrentWin = n...
阅读全文
摘要:前言:半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用“深入浅出&rdqu...
阅读全文
摘要:1。匹配 <a href=""> </a> 并取得url和textMatchCollection mc = Regex.Matches(str, @"<a[^>]*href=(['""]?)(?<url>(?:\\""|[^""'\s>])*)\1[^>]*>(?<text>[\s\S]*?)</a>", R...
阅读全文
摘要:正则表达式可以看做一种有特定功能的小型编程语言,在一段文本中定位子字符串。利用正则表达式可以快速地分析大量的文本以找到特定的字符模式;提取、编辑、替换或删除文本子字符串;或将提取的字符串添加到集合。正则表达式的基本语法可参见:深入浅出之正则表达式(一),深入浅出之正则表达式(二)。 C#命名空间System.Text.RegularExpressions提供了支持正则表达式操作的类。这些类主要包括...
阅读全文
摘要:@符号是特殊而又实用的C#符号。比如它在string中的应用。1. 字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。 // 这个说法来自C# Primer 中文版(Stanley B. Lippman, 侯捷/陈硕合译)2. 对于逐字字符串字面变量(verbatim string literal ),我们不再需要使用“转义序列&rd...
阅读全文
摘要:正在研究一个程序,输入一个关键字,能够把这个关键字发送到Google,yahoo等搜索引擎,进行搜索,然后打开结果网页。原理很简单。比如在Google搜索China,搜索结果页面的URL就是“http://www.google.com/search?hl=zh-CN&q=China&lr=”。只要替换红颜色的内容,就可以按照不同的关键字搜索。但是如果关键字是...
阅读全文
摘要:使用FileStream读写文件文件头:using System;using System.Collections.Generic;using System.Text;using System.IO;读文件核心代码:byte[] byData = new byte[100];char[] charData = new char[1000];try{FileStream sFile = new Fi...
阅读全文
摘要:1、Cookie存放的目录 Cookie是存放在客户端的东东,放在“TemporaryInternetFiles”目录,所以说存在安全性的问题。大伙可通过以下方式找到具体位置:打开控制面板→Internet选项→常规→Internet临时文件→设置→即可看到“当前位置”,→点击“查看文件”将直接打开
阅读全文
摘要:网站为了区分不同的用户,会在每次访问这个站点时给此会话一个ID,我们称之为SESSIONID,而这个ID在每个IE会话中是可以直接看到的,但在模拟登录中就很难获取到。我就在这个问题上卡了很长时间的壳,现在将此问题的解决方案写出来,以供后人参考。:-) 其实说来得到这个SESSIONID的原理非常简单,就是在每次的HTTPWEBRESPONSE中CATCH到这个WEBEXCEPTION,从而在这个W...
阅读全文
摘要:Mircsoft在dotnet1.1框架下提供的向 URI 标识的资源发送数据和从 URI 标识的资源接收数据的公共方法。通过这个类,大家可以在脱离浏览器的基础上模拟浏览器对互联网上的资源的访问和发送信息。WebClient类不能被继承,在dotnet1.1框架中已经为我们提供了WebRequest和WebResponse两个强大的类来处理向URI标示的资源和获取数据了。然后,不足的是利用WebR...
阅读全文
摘要:使用WebClient来获取源码,很容易就能得到网页源码。但是,发现,不同网站的网页字符编码就不一样的,如何自动分别不同网站的字符编码,而正确解释网页中的汉字呢。在C#里,提供了丰富的工具类库,可以轻松的转码。但是,却发现不能自动获取网站上的字符编码而自动正确的解释源码,而导致汉字显示乱码。以前我也用JAVA做过这样的功能,获取网站源码,同样,在JAVA的各种获取网站源码的类库里,也不能自动根据网...
阅读全文
摘要:猪悟能淘宝商品下载专家v3版开发手记 一. 增加的功能与改变1)“猪悟能淘宝商品下载专家”,更名为“网店下载专家”,版本号3.0.0 这是因为主要考虑到这款软件以后会支持有啊与拍拍,而并非仅限于淘宝。2)新增加的功能1是能支持下载“商品销售属性”(图1)与“商品属性”(图2)其中商品属性是个有待突破的关...
阅读全文
摘要:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using System.Net;using System.Net.Sockets;namespace Ping{/// <sum...
阅读全文
摘要:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data; namespace MyDB{/// <summary>/// Form1 的摘要说明。/// </summary&...
阅读全文
摘要:.using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace MyTools{/// <summary>/// Form1 的摘要说明。/// </summa...
阅读全文
摘要:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace SplitWindow{/// <summary>/// Form1 的摘要说明。/// </su...
阅读全文
摘要:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace List{/// <summary>/// Form1 的摘要说明。/// </summary&g...
阅读全文
摘要:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace ListCheckBox{/// <summary>/// Form1 的摘要说明。/// </s...
阅读全文
摘要:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace ErrorTip{/// <summary>/// Form1 的摘要说明。/// </summa...
阅读全文
摘要:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace Notify{/// <summary>/// Form1 的摘要说明。/// </summary...
阅读全文
摘要:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace Tree{/// <summary>/// Form1 的摘要说明。/// </summary&g...
阅读全文
摘要:浏览器模式应了《无间道》的那句话——“出来混,迟早是要还的!”。IE6种下的苦果,现在果然到了要咽下的时候了。当IE8发布的时候,他不得不面对着世界上成千上万“只有在IE6中才能正常显示”的页面。不发布IE8了吧,FireFox和Chrome又跟着后面抢蛋糕;不管那些“IE6 only”的页面吧,那浏览...
阅读全文
摘要:你还没有安装IE8?如果你是前端开发人员,那么还请你安装一下这玩意吧。因为正式版已经发布了。不同于以前的beta版,这次咱得认真的关注一下它了。去下载并安装一个吧,下面是下载地址——IE8中文版下载列表Windows XPWindows VistaWindows Server 2003Windows Server 2008Windows XP 64-bitWindows V...
阅读全文
摘要:有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了1000分,今天想起来,去找《C#字符串和正则表达式参考手册》时,已经不知所踪了。现在用到正则的时候也比较少,把以前的笔记等整理一下,以志不忘。(1)“@”...
阅读全文
摘要:这几天想用vs2005做点东西。要用到windows form 的MainMenu控件。于是想做成动态生成并且动态梆定事件,在网上找了一下没有发现什么好的方法。于是自己来研究一下。以前是做web form的东西,对windows form还真有点陌生的感觉。还好以前用Delphi也做过类似人功能有一点印象。就是用递归去创建菜单。好了不多说了,下面看代码。*******voidfrmMain_Loa...
阅读全文
摘要:最近经常看到论坛中许多帖子询问如何使用split来分割字符串,我这里对split做一些简单的总结,希望能够对大家有所帮助。下面介绍几种方法:第一种方法:打开vs.net新建一个控制台项目。然后在Main()方法下输入下面的程序。string s="abcdeabcdeabcde";string[] sArray=s.Split('c');foreach(string i in sArray)Con...
阅读全文
摘要:树形结构如果不是从数据库中取数据填充,也不想使用“TreeNode”编辑器,可以使用如下代码,有多少级别都可以,代码如下:TreeNode RootNode = new TreeNode(); TreeNode SonNode1 = new TreeNode("儿子1"); TreeNode SonNode2 = new TreeNode("儿子2"); RootNode....
阅读全文
摘要:GetEncoding 方法依赖于基础平台(操作系统)支持大部分代码页。但是,对于下列情况提供系统支持:默认编码,即在执行此方法的计算机的区域设置中指定的编码;Little-Endian Unicode (UTF-16LE);Big-Endian Unicode (UTF-16BE);Windows 操作系统 (windows-1252);UTF-7;UTF-8;ASCII 以及 GB18030(...
阅读全文
摘要:方法一: 如果要加载的图片的长宽比不是太过失衡,可以改变picturebox的SizeMode属性为PictureBoxSizeMode.StretchImage。这样加载到picturebox的图片会充满整个picturebox。但是 当图片长宽比比较大时,这个方法显得不是太好了。可以选择方法二。方法二:可参考;http://www.cnblogs.com/fengzanfeng/article...
阅读全文
摘要:一、一维:int[] numbers = new int[]{1,2,3,4,5,6}; //不定长 int[] numbers = new int[3]{1,2,3};//定长 二、多维 int[,] numbers = new int[,]{{1,2,3},{1,2,3}}; //不定长 int[,] numbers = new int[2,2]{{1,2},{1,2}}; //定长 三、例子...
阅读全文
摘要:折腾了打扮下午,才搞明白了listview的所以然,记得在大学的时候给外教做过一个项目中,用到了listview这个控件,但是那是在vb中,和C#的使用还是稍微有点差别,书上介绍的也不多,网上写的也乱七八糟。下面就通过一个小示例解释一下:加入想在listview中加入以下两条信息。通过设计模式添加很简单,这里就不说了,我们通过代码来完成。//设置listview控件 //MessageBox.Sh...
阅读全文
摘要:实现效果: 通过StatusStrip显示窗体状态栏 同时将状态栏分成三部分 居左边显示相关文字信息 中间空白显示 居右边显示时间信息 StatusStripsb=newStatusStrip(); ToolStripLabeltsl=newToolStripLabel();//定义StatusStrip项目中的控件,其中ToolStripLabel是一个相似於label的控件,现在用於显示文字 ...
阅读全文
摘要:資源檔提供我們存放資料的功能。加入和編輯資源 (Visual C#),想加什麼就加什麼 ^___^如何加入資源檔專案按右鍵→屬性→資源加入字串,直接在欄位輸入字串(下面的圖示有點錯誤>"<)加入圖片如何取出資源檔(法一),C#使用Properties.Resources.XX ,VB使用My.Resources.XXXX所代表的屬性名稱,你可以在程式建構時期就找得到...
阅读全文
摘要:最近写了个软件叫WebAutoScript,目的用于,网页的自动操作处理,就是说,所有你在网页上面的操作,都可以录到一个脚本中,然后可以回放这个操作过程。。我是说任何过程。程序是用C#写的,其中遇到了一个难题,对于网页,我是用C#内置的WebBrowser控件控制,但是这个控件有个问题,就是不能准确判断网页什么时候最终装载完毕,如果这个不能判断的话,我根本不可以判断什么时候执行下一个动作,因为网页...
阅读全文
摘要:最近写了个软件叫WebBrowser,目的用于,网页的自动操作处理,就是说,所有你在网页上面的操作,都可以录到一个脚本中,然后可以回放这个操作过程。。我是说任何过程。程序是用C#写的,其中遇到了一个难题,对于网页,我是用C#内置的WebBrowser控件控制,但是这个控件有个问题,就是对于一些网页上的链接,如果你在IE打开的时候,它是在新窗口打开的话,这时候,你在WebBrowser点击的话,它会...
阅读全文
摘要:进行webBrower开发的时候,肯定都会遇到一个问题。那就是怎么样强制在本窗口打开新窗口的问题。网上最常见的解决方法就是,在NewWindow事件中取得要打开的网址,取消打开新窗口,然后在本窗口打开要转向的网址p rivate void webBrowser_1_NewWindow(object sender, CancelEventArgs e) {WebBrowser webBrowser_...
阅读全文
摘要:本来以为网页里的edit,memo等都和程式里的相同,能够用句柄来控制,但后来才明白,他是不存在句柄的!查了好久,前几天看到一个关于QQ自动申请的例子.主要就是控制网页各种操作的!总结了一下,做出一个论坛灌水机:首先要在uses中引用mshtml单元.代码及分析如下:varhform:IHTMLFormelement;hdoc:ihtmldocument2;hall:ihtmlelementcol...
阅读全文
摘要:Control.Invoke 方法 (Delegate) :在拥有此控件的基础窗口句柄的线程上执行指定的委托。Control.BeginInvoke 方法 (Delegate) :在创建控件的基础句柄所在线程上异步执行指定委托。以下为实际应用中碰到的问题,在主线程中启动一个线程,然后在这个线程中启动serviceForm,然而在线程启动后,往serviceForm发送指令,serviceForm....
阅读全文
摘要:判断是否网络正常p rivateboolIsConnectedToInternet(){intDesc;returninternet.InternetGetConnectedState(outDesc,0);}设置默认页面:webBrowser1.Navigate(newUri("http://www.ic2ic.com/copy.jsp"));登录代码:p rivatevoidbtnlogin_...
阅读全文
摘要:下面通过两部分来说明实现以及应用。一.使用MSScriptControl到微软的网站上下载Windows Script Control,它是一个ActiveX(R) 控件,所以在.NET中使用我Interop了一下。下载安装完成后,新建一个C#的Windows应用程序项目,在解决方案资源管理器中选中引用节点,右键点击选择添加引用菜单,弹出添加引用对话框,单击浏览找到安装Windows Script...
阅读全文
摘要:using System;using System.Net.Mail;using System.IO;/// <summary>/// Utilities 的摘要说明/// </summary>public static class Utilities{static Utilities(){ // // TODO: 在此处添加构造函数逻辑 //} //读取指定URL地址的H...
阅读全文
摘要:一、前言看个图,了解下投票的过程。提交投票信息投票页 ――――――――>投票信息处理页反馈投票结果(请求页)<―――――――(响应页)一般情况下,填写投票信息,然后点提交按钮发送到响应页,这样来完成一个投票。这过程繁琐,还不能多次投票。有时,手工投票达不到所期待的效果。曾帮朋友弄过几次投票,坛里有朋友也PM说要看看源代码。投票器应该说没有一个固定的框架,一些处理方法上需要视响应页做针对性的改动。自...
阅读全文
摘要:using System;using System.IO;using System.Collections;using System.Drawing;using System.Drawing.Drawing2D;using System.Drawing.Imaging;namespace Imag_writer{/// <summary>/// 水印的类型/// </summar...
阅读全文
摘要:[说明:刚接触多线程时,弄不明白Join()的作用,查阅了三本书,都不明不白。后来经过自己的一番试验,终于弄清了Join()的本质。大家看看我这种写法是否易懂,是否真的写出了Join()的本质,多提宝贵意见。] Thread类的Join()方法能够将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,线程A将插入线程B之前,直到线程A执行完毕后,才会继续执行线程...
阅读全文
摘要:ADSL自动拨号类,前提是在系统中已经有了一个宽带拨号连接调用代码:RASDisplay ras = new RASDisplay();ras.Disconnect();//断线ras.Connect("adsl");//拨号using System;using System.Runtime.InteropServices;public struct RASCONN{public int dwSi...
阅读全文
摘要:C#是一门支持多线程的语言,因此线程的使用也是比较常见的。由于线程的知识在Win32编程的时候已经说得过多,所以在.Net中很少介绍这部分(可能.Net不觉得这部分是它所特有的)。那么线程相关的问题大致有如下四类(这篇文章只讨论单线程、单线程与UI线程这两方面的问题)。问题一,线程的基本操作,例如:暂停、继续、停止等;问题二,如何向线程传递参数或者从中得到其返回值;问题三,如何使线程所占用的CPU...
阅读全文
摘要:PageRank 0-2表示这个网站的链接很少,需要获得更多的链接。但是,它不能真正影响你的搜索引擎排名。我有一个客户,他的PageRank为2,其某些搜索词条在竞争相当激烈的业界中排名仍然很高,有时甚至排在首位。因此PageRank并不决定一切;它可能会影响你的排名和流量,但某些情况下它是无关紧要
阅读全文
摘要:释一:属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。 访问器声明可以包含 get 访问器或 set 访问器,或者两者均包含。声明采用下列形式之一:get {}set {} get 访问器 get 访问器体与方法体相似。它必须返回属性类型的值。执行 get 访问器相当于读取字段的值。以下是返回私有字段 name 的值的 get 访问器:p rivate string name...
阅读全文
摘要:事件与委托似乎很难以理解,这是因为它们的使用方式与常用的编码有很大的差别,例如通常编写的都是同步代码,调用一个类型的方法,会即刻出现方法执行的结果,这是符合逻辑的。但在某些情况中,同步代码未必满足需求,拿公共汽车来打个比方,如果交通管制中心希望每一辆公车到达一个站点时都发送给自己一个信号以便自己能够随时掌握交通状况,使用同步代码,公汽对象肯定需要调用管制中心对象,这样就出现了我们一直不愿意看到的情...
阅读全文
摘要:事件(event)是个非常重要的概念,我们的程式时刻都在触发和接收着各种事件:鼠标点击事件,键盘事件,及处理操作系统的各种事件。所谓事件就是由某个对象发出的消息。比如用户按下了某个按钮,某个文件发生了改动,socket上有数据到达。触发事件的对象称作发送者(sender),捕捉事件并且做出响应的对象称作接收者(receiver),一个事件能存在多个接受者。 在异步机制中,事件是线程之间进行通信的一...
阅读全文