行内技术
链表的C语言实现之动态内存分配
  一、为什么用动态内存分配  但我们未学习链表的时候,如果要存储数量比较多的同类型或同结构的数据的时候,总是使用一个数组。比如说我们要存储一个班级学生的某科分数,总是定义一个float型(存在0.5分)数组:floatscore[30];  但是,在使用数组的时候,总有一个问题困扰着我们:数组应该有多大?  在很多的情况下,你并不能确定要使用多大的数组,比如上例,你可能并不知道该班级的学生的人数,那么你就要把数组定义得足够大。这样,你的程序在运行时就申请了固定大小的你认为足够大的内存空间。即使你知道该班级的学生数,但是如果因为某种特殊原因人数有增加或者减少,你又必须重新...
2013-3-5371
Visual C++中为普通程序添加ODBC应用
  一、引言  数据库属于最流行的应用程序之一,几乎每个商业部门都使用数据库来记录、管理各种各样的数据。在VC下我们可以在创建工程时选择数据库支持,并选定数据源和相关的表,并选择CRecordView作为我们这个程序的基类,这样做可以毫不费力的将应用程序和数据库建立了关联,而几乎不用编什么代码,但这样做的前提是在新建工程时已明确知道用到哪个数据库,并且有相关的数据库。事实上我们往往有许多已做好的应用程序和类,其功能除了未和数据源建立关联外以基本满足要求,我们只要在其基础上添加ODBC接口,使之与数据库建立关联即可,这样做避免了与数据库无关部分代码的重新编写所造成的重复性操作,大大提高...
2013-3-5291
Win32开发中最易踏上的地雷
  有关微软编程技术的书籍可谓多如牛毛,但读来读去感觉还是MSDN比较权威。这里就拿一个例子来说吧,可能让很多刚开始学习Win32API程序设计、甚至是一些已经有一定Win32API经验的人感觉大汗淋漓。  在学习Win32API程序设计时,“第一课”我想都会学到“事件循环”吧?很多书给出了类似这样的经典示例:intWINAPI_tWinMain(HINSTANCEhInst,HINSTANCEhPrevInst,LPCTSTRlpCmdLine,intnCmdShow){ MSGmsg; ... while(GetMessage(&msg,NULL,0,0))...
2013-3-5334
在C#程序设计中使用Win32类库
  C#用户经常提出两个问题:“我为什么要另外编写代码来使用内置于Windows中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?”当框架小组构建他们的.NET部分时,他们评估了为使.NET程序员可以使用Win32而需要完成的工作,结果发现Win32API集非常庞大。他们没有足够的资源为所有Win32API编写托管接口、加以测试并编写文档,因此只能优先处理最重要的部分。许多常用操作都有托管接口,但是还有许多完整的Win32部分没有托管接口。  平台调用(P/Invoke)是完成这一任务的最常用方法。要使用P/Invoke,您可以编写一个描述如何调用函数的原型,然后运行时将使...
2013-3-5347
VB将OCX植入执行文件内
在用VB编程中合理的使用第三方控件,往往能够事半功倍。但是使用第三方控件也有不好的地方,那就是为了保证程序正常运行,必须使程序能够在系统目录或程序目录下找到所用的第三方控件。要做到这一点通常有两种办法:一是把控件和程序制成一个压缩包发行,这样的缺点是有可能导致在程序传播过程中丢失控件文件。二是制作安装程序,缺点是制作过程烦琐。而且上面两种办法也不符合绿色软件的要求。所谓的绿色软件是指软件只有单个可执行文件且无须安装,目前很受用户欢迎。那么有没有办法在使用了第三方控件的情况下实现绿色软件梦呢?答案是有。  做法是,将第三方控件以自定义资源文件方式保存在程序中,程序运行之后使用控件之前将...
2013-3-5375
在ASP.NET中实现多文件上传
在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举。下面的这个例子实现了多文件上传功能。可以动态添加输入表单,上传的文件数量没有限制。代码如下:MultiUpload.aspx<%@PageLanguage="vb"AutoEventWireup="false"Codebehind="MultiUpload.aspx.vb"Inherits="aspxWeb.MultiUpload"%><!DOCTYPEHTMLPUBLIC"-//W3...
2013-3-5512
ASP.NET程序员应用程序域须知
  本文将讨论.NET的应用程序域,并且它们是如何对ASP.NET的执行和调度产生影响的。  当在Windows中启动Notepad程序时,众所周知程序会执行一个包含在容器内的进程。可以启动多个Notepad的实例,并且每个实例都会在一个专注的进行程运行。使用任务管理器,可以看到在系统中当前运行的所有进程的清单。  一个进程包括可执行从操作系统中保留的在内存中的代码和程序数据。在进程之内只少有一个包含在进程之内的正在执行指令的线程,并且在多数情况下有多个线程。如果程序打开了任何文件或者资源,这些资源将属于这个进程。  一个进程也有一个分界线。包含在进程之内的错误代码不能在当前...
2013-3-5345
PHP中通过Web执行C/C++应用程序
  一、简介    如果你对Unix/Linux有所了解的话,你应该知道他们大都自带了C和C++的编译器,分别是GCC和G++。Unix在程序安装及Make等许多地方使用到了这些编译器。利用一些控制台命令,C++和PHP,我将向你介绍怎样生成一个完整的C++程序例子,他可以在用PHP程序来执行,并能获得相应的输出结果。我将先生成C++程序代码,并编译它,谈后讨论我们将如果通过使用PHP的函数passthru来执行这个程序。从某种意义上来说,这边文章给我们提供一种通过Web页面来访问一般程序的方法。    为了能更好的理解这篇文章,你应该有一台运行着apache和最新版本php的u...
2013-3-5389
SQL Server数据库安全规划全攻略
  在改进SQLServer7.0系列所实现的安全机制的过程中,Microsoft建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQLServer服务器系统和数据库的安全进行全面地管理。按照本文介绍的步骤,你可以为SQLServer7.0(或2000)构造出一个灵活的、可管理的安全策略,而且它的安全性经得起考验。  一、验证方法选择本文对验证(authentication)和授权(authorization)这两个概念作不同的解释。验证是指检验用户的身份标识;授权是指允许用户做些什么。在本文的讨论中,验证过程在用户登录SQLServer的时候出现,授权过程在用户试图访...
2013-3-5349
利用VB函数Dir()实现递归搜索目录
  我在很久以前就实现了这个方法了。它没有采用任何的控件形式,也没有调用系统API函数FindFirst,FindNext进行递归调用,和别人有点不同的就是我用的是VB中的Dir()函数。事实上,直接采用Dir()函数是不能进行自身的递归的调用的,但我们可以采用一种办法把Dir将当前搜索目录的子目录给保存下来,然后在自身的search(strPathName)递归函数中依次进行递归的调用,这样就可以把指定的目录搜索完毕。具体代码如下:'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''...
2013-3-5473
VC6中用DOM遍历网页中的元素
本文源代码http://www.programfan.com/code/200504/20050424193805.rar  一、摘要  在我们编写的程序中,如果想要实现对浏览器打开的网页进行监视、模拟操纵、动态提取用户输入、动态修改......等功能,那么请你抽出宝贵的时间,继续往下阅读。本文介绍的知识和示例程序都是围绕如何遍历HTML中的表单(form)并枚举出表单域的属性为目标的,对于网页中的其它元素,比如图象、连接、脚本等等,应用同样的方法都可以轻松实现。  二、网页的文档层次结构  IE浏览器,采用DOM(文档对象模型)来管理网页的数据。它通过一个容器(IW...
2013-3-5436
用C#轻松在DOTNET中实现缩略图
以前,在页面上实现缩略图必须借助第三方组件。现在,有了.NET,就可以很轻松地实现缩略图。下面就是实现缩略图的例子。ToThumbnailImage.aspx<%@Pagelanguage="c#"Codebehind="ToThumbnailImage.aspx.cs"Src="ToThumbnailImage.aspx.cs"AutoEventWireup="false"Inherits="Exam_C.ToThumbnailImage"%><...
2013-3-5362
基于Delphi的接口编程入门
  为什么使用接口?  举个例子好了:有这样一个卖票服务,电影院可以卖票,歌剧院可以卖票,客运站也可以卖票,那么我们是否需要把电影院、、歌剧院和客运站都设计成一个类架构以提供卖票服务?要知道,连经理人都可以卖票,很显然不适合把经理人也包括到卖票服务的继承架构中,我们需要的只是一个共通的卖票服务。于是,卖票的服务是个接口,电影院、歌剧院什么的只要都遵循这样一个服务定义就能很好地相互交互和沟通(如果须要的话)。  如何在Delphi中使用接口  1、声明接口IMyInterface=interface(IInterface)//说明(1)['{63E072DF-B81E-4...
2013-3-5581
提高Visual Basic访问数据库的效率
  1.尽量使用事务处理更新数据库  VB的事务处理包括以BeginTrans开始,以CommitTrans或Rollback结尾的多条数据库操作指令。事务处理除了能很好的保证数据库的完整性以外,同时能大大提高数据库批量更新的效率。这是因为如果数据库更新操作没有使用事务处理,则每次Update操作都会引起数据库写盘一次。使用事务处理后,更新只在内存缓冲区内进行,执行CommitTrans时才将所有修改一次写回到磁盘中。使用事务处理要注意一下几点:  (1)事务处理要有很完善的错误检查机制;  (2)因为VB在事务处理结束前对数据库使用了页面锁.所以在多用户环境中,如果事务被挂...
2013-3-5517
C++程序设计从零开始之表达式
  本篇是此系列的开头,在学英语时,第一时间学的是字母,其是英语的基础。同样,在C++中,所有的代码都是通过标识符(Identifier)、表达式(Expression)和语句(Statement)及一些必要的符号(如大括号等)组成,在此先说明何谓标识符。  标识符  标识符是一个字母序列,由大小写英文字母、下划线及数字组成,用于标识。标识就是标出并识别,也就是名字。其可以作为后面将提到的变量或者函数或者类等的名字,也就是说用来标识某个特定的变量或者函数或者类等C++中的元素。  比如:abc就是一个合法的标识符,即abc可以作为变量、函数等元素的名字,但并不代表abc就是某...
2013-3-5339
用C++实现简单的文件I/O操作
  文件I/O在C++中比烤蛋糕简单多了。在这篇文章里,我会详细解释ASCII和二进制文件的输入输出的每个细节,值得注意的是,所有这些都是用C++完成的。  一、ASCII输出  为了使用下面的方法,你必须包含头文件<fstream.h>(译者注:在标准C++中,已经使用<fstream>取代<fstream.h>,所有的C++标准头文件都是无后缀的。)。这是<iostream.h>的一个扩展集,提供有缓冲的文件输入输出操作.事实上,<iostream.h>已经被<fstream.h>包含了,所以你不必包含所...
2013-3-5385
使用C#编写的一个定时关机程序
有很多的软件都实现了自动关机这样的功能。前一阵在Codeproject上看到一个这样的程序,整理了一下共享给大家。里面实现了关机,重启,注销等功能.usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Drawing;usingSystem.Diagnostics;usingSystem.Runtime.InteropServices;usingSystem.Threading;usingSystem.Windows.Forms;namespaceTimerCompu...
2013-3-5354
在Visual Basic .NET 中实现后台进程
RockfordLhotkaMagenicTechnologies2002年10月1日从MSDNCodeCenter下载VBbackground.exe示例文件(英文)。http://msdn.microsoft.com/code/default.asp?url=/code/sample.asp?url=/msdn-files/026/002/886/msdncompositedoc.xml(请注意,在示例文件中,程序员的注释使用的是英文,本文中将其译为中文是为了便于读者进行理解。)摘要:RockyLhotka建议并实现了一个结构化架构示例,该架构可用于充当辅助线程和UI...
2013-3-5301
利用JAVA生成JPG缩略图
在某些网站,我们往往需要上传一些图片资料。但随着高分辨率DC的普及,上传的图片容量会很大,比如300万象素DC出来的文件基本不下600K。  为了管理方便,大家可能不愿意每次都用ACDsee修改它,而直接上传到服务器。但是这种做法在客户端看来就没有那么轻松了,对于拨号上网的用户简直是一场恶梦,虽然你可以在图片区域设置wide和high!    问题的解决之道来了!我们可以在类中处理一张大图,并缩小它。  前提是需要JDK1.4,这样才能进行处理。按以下方法做:  importjava.io.File;  importjava....
2013-3-5437
在Delphi中使用CreateOleObject方法对WORD文件进行操作
使用CreateOleObject方法对WORD文档操作具有先天所具备的优势,与delphi所提供的那些控件方式的访问相比,CreateOleObject方法距离WORD核心的操作“更近”,因为它直接使用OFFICE所提供的VBA语言对WORD文档的操作进行编程。以下是我在本机上所做的实验,机器软件配置如下:WindowsXP+delphi7.0+OFFICE2003这个程序很简单,在页面上放置了一个edit和一个button,每单击一次按钮,就会自动把edit中的内容添加在后台中的word文档中,程序关闭时文件自动保存在当前程序的主目录中。unitmain;inte...
2013-3-5491