- 军军小站|张军博客
搜索到与相关的文章
编程技术

问津BSTR

COM中除了使用一些简单标准的数据类型外(注2),字符串类型需要特别重点地说明一下。还记得原则吗?COM组件是运行在分布式环境中的。通俗地说,你不能直接把一个内存指针直接作为参数传递给COM函数。你想想,系统需要把这块内存的内容传递到“地球另一边”的计算机上,因此,我至少需要知道你这块内存的尺寸吧?不然让我如何传递呀?传递多少字节呀?!而字符串又是非常常用的一种类型,因此COM设计者引入了BASIC中字符串类型的表示方式---BSTR。BSTR其实是一个指

系统 2019-08-29 22:53:27 1988

编程技术

DataGrid中的高级ToolTip

效果如下图所示:实现原理:为DataGrid中的每一行,绑定onmouseover、onmousemove、onmouseout事件,使的鼠标移动到行内时,自动显示一个
,鼠标移出该行,就把这个
隐藏掉。实现代码:前台:1.定义
的样式:.transparent{FILTER:alpha(opacity=85);BORDER-TOP:indianred1pxsolid;BORDER-RIG

系统 2019-08-29 22:51:50 1988

Python

python学习笔记(一)

Python学习笔记(一)#_*_coding:gb2312_*_:这样制定程序的编码;建议如果使用中文,最好用utf-8(用utf-8的时候,),或者gb2312。复数可以直接表示复数a=1.5+0.5j;a.real:取得实部a.imag:取得虚部abs(a):取得模数据类型转换float(),int(),long()我们用a**b表示a的b次方开方依然是函数sqrt(a)最近一次表达式输出,保存在_变量中字符串可以通过几种方式分行。可以

系统 2019-08-29 22:07:05 1988

编程技术

过程扩展与放置钩子

前面我们谈到了功能扩展对维护一个软件的巨大作用。实际上,正是因为功能在不断地扩展,才使得我们的很多软件质量在下降。因此,如何进行功能扩展,我们不得不察。每当新功能到来的时候,不用急急匆匆就开始编码,我们应当仔细思考我们的设计,即使是时间非常紧张的项目。用更多的时间去思考与设计,才会用更少的时间去做更简单的设计与编码。在这里,我提倡的是设计应当简单到发指,因为它体现的是一种精巧绝伦,它会使我们的思路更清晰,维护更简单,变更更容易。只有经过仔细的思考,才会做出

系统 2019-08-29 21:59:07 1988

各行各业

[导入]Web Client Software Factory系列(1):

摘要:Web客户端软件工厂为尝试管理使用ASP.NET构建的大型网站的开发人员提供了引人注目的解决方案。此软件工厂支持创建与站点中的各个子目录相关联的模块,并为模式(如View-Presenter和ApplicationController)提供了一个可支持以模块化方式启用网站的独立开发、测试和部署的框架。阅读全文TerryLee2007-11-2520:03发表评论文章来源:http://www.cnblogs.com/Terrylee/archive/

系统 2019-08-12 09:26:57 1988

数据库相关

用户端的防腐层作用及设计

用户端的防腐层作用及设计阅读目录:1.背景介绍2.SOA架构下的显示端架构腐化3.有效使用防腐层来隔离碎片服务导致显示端逻辑腐烂4.剥离服务调用的技术组件让其依赖接口5.将服务的DTO与显示端的ViewModel之间的转换放入防腐层5.1.转换逻辑过程化,直接写在防腐层的方法中5.2.转换逻辑对象化,建立起封装、重用结构,防止进一步腐化6.防腐层的两种依赖倒置设计方法6.1.事件驱动(防腐层监听显示逻辑事件)6.2.依赖注入接口7.总结1.背景介绍随着现在

系统 2019-08-12 01:53:51 1988

数据库相关

PetShop4.0 学习总结----数据库访问层结构分析

最近在看PetShop4.0,暂且熟悉了一些数据库层的设计。看了看,其实也不是很复杂。主要就是使用了一个工厂,以及一个IOC以来注入。我所画的类图如下(不是很标准,自己的UML水品一般。。。)其中的web.config是我自己天上去的,主要就是为了说明一下IOC的问题。其中的Model主要定义了一些实体类。IDAL提供了数据库访问层的抽象,分别有SQLDAL和OracleDAL去实现。DALFactory是一个反射工厂,通过读取配置文件中的配置,判断使用的

系统 2019-08-12 01:33:39 1988

Python

C++、Python、Rust、Scala 构建编译器的差异性究竟有多大?

【CSDN编者按】编程语言之争是开发者们热议的永恒话题,在不同语言的选择和设计决定上也都观点不一。那么在面对大型项目时该如何选择具体实现呢?本文的作者借课程项目之机,比较了Rust、Haskell、OCaml、C++、Python、Scala等语言编写的编译器差异,最终发现,这些语言在代码量和功能实现上简直千差万别!作者|TristanHume译者|弯月,责编|郭芮出品|CSDN(ID:CSDNnews)以下为译文:我在滑铁卢大学的最后一个学期选了CS44

系统 2019-09-27 17:57:00 1987

Python

python题(线程+GIL)

1:importthreadingnum=0#非原子操作资源竞争l=[]#GIL原子操作defwork1():globalnumforiinrange(1000000):num+=1l.append(i)#一个字节码指令print(num,len(l))defwork2():globalnumforiinrange(1000000):num+=1l.append(i)print(num,len(l))if__name__=='__main__':first

系统 2019-09-27 17:56:41 1987

Python

用Python批量把文件复制到另一个文件夹的实现方法

0前言大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成200个文件一个文件夹,很简单的。我理解了之后,觉得还是挺简单的,花了半个小时写出来了,代码也不多,代码和思路都可以分享一下。1环境说明Win10系统下Python3,编译器是Pycharm。需要安装shutil这个第三方库,直接pipinstallshutil就可以了。2代码先导入需要用到的库,os是用来切换路径和创建文件夹的。shutil是用来复制黏贴文件的im

系统 2019-09-27 17:54:56 1987