Delphi Bpl包学习】的更多相关文章

对于BPL包,我个人理解是:就是一种封装方式,和DLL,EXE类似,把代码放到包(package)里面保存而已. 一.先说说如何创建BPL包 1.   打开delphi IDE(delphi7 为例)-->File-->Close ALL(关闭全部) -->File-->New-->other-->在New Item选项卡中选择(new)-->package-->ok; 2.点击ok后,delphi就帮我们创建好了一些包需要的基础东西,如下图, 这个时候我们…
转载:http://www.cnblogs.com/gxch/archive/2011/04/23/bpl.html 为什么要使用包? 答案很简单:因为包的功能强大.设计期包(design-time package)简化了自定义组件的发布和安装:而运行期包(run-time package)则更是给传统的程序设计注入了新鲜的力量.一旦把可重用的代码编译为运行期库中,你就可以在多个应用程序中共享它们.所有应用程序都可以通过包访问标准组件,Delphi自己就是这么干的.因为应用程序不必在可执行文件中…
Delphi 对XML的支持---TXMLDocument类       Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocument把XML文档读到内存中,从而可以进行编辑.保存操作.TXMLDocument类是通过DOM(文档对象模型)接口来访问XML文档中的各个元素的.对于DOM接口的实现有多种方式,Delphi支持的方式有:1)微软的MSXML SDK,这种方式是通过COM对象来实现:2) Apache 的Xerce…
注意:这文章是2月份写的,拉勾网早改版了,代码已经失效了,大家意思意思就好,主要看代码的使用方法吧.. 最近一直在用且有维护的另一个爬虫是KINDLE 特价书爬虫,blog地址见此: http://www.cnblogs.com/weibaar/p/4824578.html 博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html R语言爬虫初尝试-基于RVEST包学习 Thursday, February 26, 2015 在学完coursera的…
在实际程序中,遇到1.bpl 引用了2.bpl中的方法,2.bpl的方法进入后又引用了3.bpl ,刚开始挺蒙,怎么调试呢,  其实bpl就是dll, 故, 1.我在Delphi的run->parameters ->Host Application中指定了相应的宿主程序,***.exe 2.我把相应的断点点到对应的方法上,就可以调试进去了,  我是放在了3.bpl的方法上,因为问题是在它那暴露出来的. 简单吧.…
困扰已久的网络通信(IOCP:完成端口),今天终于揭开她的神秘面纱了,之前百度N久还是未能理解IOCP,网络上好多博文都没有贴出源码,初学者很难正在理解IOCP并自己写出通信例子 ,经过努力,今天自己终于做出了简单的测试程序,下面贴出源码,水平有限,难免有错,希望不要误人子弟. 1.Svr主窗体 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36…
类图: 其实从类图我们能发现concurrent包(除去java.util.concurrent.atomic 和 java.util.concurrent.locks)中的内容并没有特别多,大概分为四类:BlockingQueue阻塞队列体系.Executor线程组执行框架.Future线程返回值体系.其他各种单独的并发工具等. 首先学习的是Executor体系,是我们处理多线程最常接触的内容.首先我们单独看下继承体系: Executor是顶级接口,里面只有一个方法: public inter…
1首先是sklearn的官网:http://scikit-learn.org/stable/ 在官网网址上可以看到很多的demo,下边这张是一张非常有用的流程图,在这个流程图中,可以根据数据集的特征,选择合适的方法. 2.sklearn使用的小例子 import numpy as np from sklearn import datasets from sklearn.cross_validation import train_test_split from sklearn.neighbors…
前面刚讲到goroutine和channel,通过goroutine启动一个协程,通过channel的方式在多个goroutine中传递消息来保证并发安全.今天我们来学习sync包,这个包是Go提供的基础包,提供了锁的支持.但是Go官方给的建议是:不要以共享内存的方式来通信,而是要以通信的手段来共享内存.所以他们是提倡使用channel的方式来实现并发控制. 学过Java的同学对锁的概念肯定不陌生,在Java中提供Sychronized关键字提供独占锁,Lock类提供读写锁.在sync包中实现的…
安装环境 delphi xe2 + opencv opencv 从下面的地方下载  https://github.com/Laex/Delphi-OpenCV然后按照 此网站的 说明 一项以项的 安装.重点在这里:安装opencv 的时候 代码有错误 {$ endif} 要修改为{$ ifend} 而且必须编译一次 发现一个错误 ,修改一个. 不能全部一次替换修改,因为有些不能改的(本来就正确).说不清道不明的,反正我这样搞完就 正常了. 另外一个需要注意的地方是: 32位系统好办. 如果自己的…
目录 zip Importing & exporting data Plotting with pandas Visual exploratory data analysis 折线图 散点图 panadas hist pdf cdf Statistical exploratory data analysis descripe Separating populations resample() .str.contains() 时区处理方法 导入和处理数据hon drop() 总结 或许可以对比一些…
这个部分我在datacamp上面学习笔记,可视化的性能很差,使用的函数也很少. 可以参考一下大佬的博客园个人感觉他们讲的真的很详细 https://cosx.org/2016/09/r-and-parallel-computing https://blog.csdn.net/quety/article/details/79825615 个人小结: R的底层设计仍是单线程,上层应用包依赖性很强. 并行计算技术正是为了在实际应用中解决单机内存容量和单核计算能力无法满足计算需求的问题而提出的.因此,并…
总算到了 PHP 的拿手好戏上场了,前面我们学习过 Bzip2 . LZF . Phar 和 rar 这些压缩相关扩展在 PHP 中的使用,不过它们要么是太冷门,要么就是很多功能不支持.而 Zip 则是在 PHP 中得到最大幅度功能支持的热门压缩格式,或者说是通用常见的一种压缩格式.当然,也主要得益于 Zip 也是事实上的 Linux 环境中的通用压缩格式. 安装 对于 PHP 来说,Zip 扩展已经集成在了 PHP 的安装包中,在 Configure 的时候可以直接加上 --with-zip…
释放接口对象,既不是调用MyObj.Free,也不是MyObj.Release;破坏对象的正确方法是将它们设置为nil:MyInterface := nil; 一个接口不能离开实现它的对象而独立存活.这个接口仅仅是一个抽象,它仅仅是一个想法.接口具有即插即用的功能,它建立了供应商必须遵守的规范. 接口可以仅仅在一层深度上运行,比较简单.不像OOP,一层套一层,一旦改了中间层,即容易引起更下层的错误.在本质上,接口并不鼓励创建深分层结构,而鼓励相对简单的具有较好的性能特征的程序. GUID是128…
函数重载重载的思想很简单:编译器允许你用同一名字定义多个函数或过程,只要它们所带的参数不同.实际上,编译器是通过检测参数来确定需要调用的例程.下面是从VCL 的数学单元(Math Unit)中摘录的一系列函数: function Min (A,B: Integer): Integer; overload; function Min (A,B: Int64): Int64; overload; function Min (A,B: Single): Single; overload; functi…
今天看到一个抓包笔记, 因为是老早抓包的需求, 后期不用就忘了, 换电脑桌面软件图标都没了, 点开看了一下一脸懵逼... 这是啥...  以后有需要在看一遍吧! Fiddler抓包使用教程-扫盲篇 http://blog.csdn.net/zhaoyanjun6/article/details/72823370 Fiddler简介 http://blog.csdn.net/ohmygirl/article/details/17846199 Fiddler抓包简易教程 https://www.ji…
DBMS_OUTPUT包中的其他方法和函数的用法,所以这次特地来研究一下. 先简单的讲解一下这个包的所有procedure的含义及作用:  -----------------------     1.enable:在serveroutput on的情况下,用来使dbms_output生效(默认即打开)     2.disable:在serveroutput on的情况下,用来使dbms_output失效     3.put:将内容写到内存,等到put_line时一起输出     4.put_li…
jar包是由.class文件压缩而成.要查看jar包中的内容,使用压缩工具 解压缩即可.也可以做修改,并重新打成jar包.总结一下最近学到的一些打jar包的方法: 一.DOS下使用jar命令 打jar包 (1)在DOS下输入命令:">jar",可以查看它的用法,如下图: (2)以下是一些常用例子,例子中所用文件目录结构如图: 示例1:将1.class和2.class打包到test.jar中,方法: 结果:jar-example下会新增test.jar,jar包目录结构如下: te…
一.总结 1.引入包的概念的原因和包的作用比如有多个人开发一个大型程序,A定义了一个Math.java类,B也定义了一个Math.java类,它们放在不同目录,使用的时候也是用目录来区分,包实际上就是一个文件夹(可以含有多级子目录)路径名.包的作用就是用来区分同名的类(冲突问题). 2.使用步骤package:Java源文件中:package 包名.子包名:eg: package a.b.c.d;编译命令:javac -d <dir> <file.java> 表示在<dir&…
一.介绍 ExecutorService是java.util.concurrent包中的一个线程池实现接口.其有两个实现类: 1)ThreadPoolExecutor:普通线程池通过配置线程池大小,能有效管理线程的调度,在执行大量异步线程时提高程序的性能. /** * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters. * * @param corePoolSize the number of…
上一篇学习了ExecutorService和其它相关类的源码,本篇要学习的BlockingQueue中的源码,as always,先上类图 其实继承(实现)的层次比较简单,我们只要需要先学习一下BlockingQueue中的方法: public interface BlockingQueue<E> extends Queue<E> { boolean add(E e);--往队列中插入一个对象,队列满了会抛异常 boolean offer(E e);--同上,区别是队列满了会返回f…
一.为什么需要学这个 很多时候,开发环境上不会出现问题.但在测试或者现场时,总是会有很多莫名其妙的问题. 这时候,能在出问题的环境上,开启抓包,然后再去重现问题的话,这时候,就可以拿到第一手的资料了. 这对我们解决问题,是至关重要的. 以前在华为工作时,遇到一次问题,是电信客户投诉,一个第三方公司和我司都是电信的客户.第三方公司和我方通信的是一个 boss系统,通信是soap协议. 问题大概是boss系统对我方进行了请求,然后我方设备的应答不对. 当时还是新员工的我,心慌得一匹,傻傻地找自己系统…
大部份内容摘自授课老师的博客http://www.cnblogs.com/Eva-J/ 编译python文件 编译python文件是为了提高加载模块的速度,强调强调强调:提高的是加载速度而绝非运行速度. python解释器会在__pycache__目录下缓存每个模块编译后的版本,格式为:module.version.pyc. 通常会包含python的版本号. 例如,在CPython3.3版本下,my_module.py模块会被缓存成__pycache__/my_module.cpython-33…
模块简介 python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题.模块我们就可以理解为lib库,如果需要使用某个模块中的函数或对象,则要导入这个模块才可以使用,除了系统默认的模块(内置函数)不需要导入外. 导入直接使用如下语法:  import 模块名称 (不要.py后缀) 这样导入成功后,就可以在另外一个模块中使用被导入模块的功能函数或对象. 举例如下,比如在F:\Pro-files\workspace\myPython目录…
之前没用过这个EventBus,然后看了一下EventBus的源码也没看明白,(-__-)b.反正大概就是弄一个优雅的方式实现了观察者模式吧.慢慢深入学习一下. 观察者模式其实就是生产者消费者的一个变种,就是一边有变化,然后有一个中介,也就是观察者去告诉消费者说:我说哥们啊,他们那边又变了,咱也跟着变吧! 然后观察者要么就是一个抽象类或者一个接口,里面有个update方法,需要每个处理的实例去实现,然后变化的那方持有这些实例,然后挨个去通知. 所以你也看到了,这个持有操作其实就是很不优雅的操作,…
这段时间用到了ehcache和memcache,memcache只用来配置在tomcat中做负载均衡过程中的session共享,然后ehcache用来存放需要的程序中缓存. Guava中的Cache和ehcache其实差不多,只不过Guava并不会对数据进行持久化落盘这种操作.那其实和Map就比较相似了,你放一下static的map好像也可以办到,只不过Guava的cache支持设置最大占用的内存,已经命中统计信息之类的东西. 这里不从怎么创建一个cache,怎么去添加删除开始学习,我们先看ca…
Maps包方法列表: 还是泛型创建Map: public static <K, V> HashMap<K, V> newHashMap() { return new HashMap<K, V>(); } public static <K, V> HashMap<K, V> newHashMapWithExpectedSize(int expectedSize) { return new HashMap<K, V>(capacity(e…
Sets包的内容和上一篇中的Lists没有什么大的区别,里面有些细节可以看一下: 开始的创建newHashSet()的各个重载方法.newConcurrentHashSet()的重载方法.newTreeSet().newCopyOnWriteArraySet()等都和Lists中的很相似.Sets中有一个不常用的EnumSet,至少不没太使用过这个集合去做事情.EnumSet是Java枚举类型的泛型容器,它的速度据说比HashSet还要快.如果Sets中的值可枚举,那使用这个应该很不错.上个重载…
Guava包是我最近项目中同事推荐使用的,是google推出的库.里面的功能非常多,包括了集合.缓存.原生类型支持.并发库.通用注解.字符串处理.IO等.我们项目中使用到了guava依赖,但是实际上只是用了其中很小一部分功能,比如集合的声明和处理以及函数式风格等. 废话少说,上图先: 我们会发现里面太多的东西,基本上全部加起来得有数百个上千的类了,但是所经常使用的其实就几十个类.其实可以在项目中建立common-utils包专门抄一部分guava的类过去,而不必全部将guava依赖进来. 工作中…
摘要 go语言中goroutine之间的关联关系,缺乏维护,在erlang中有专门的机制来保障新开仟程的生命周期, 在go语言中,只能通过channel + select来实现,但不够直观,感觉很绕. Context 通常被译作 上下文 ,它是一个比较抽象的概念.在公司技术讨论时也经常会提到 上下文 .一般理解为程序单元的一个运行状态.现场.快照,而翻译中 上下 又很好地诠释了其本质,上下上下则是存在上下层的传递, 上 会把内容传递给 下 .在Go语言中,程序单元也就指的是Goroutine.…