本例使用类与TList相结合,用简洁的方法,实现了一个 HTML 解析与格式化功能.所用到的知识点如下:1.类的提前申明2.TList用法3.String的指针操作4.单例设计5.递归用法 编程是综合实力的较量,把单个技术小点,结合起来,实现一个具体的功能才能创造价值.为了让代码漂亮,需要反复修改,善用重构工具. 写完本例后的思考:此类解析文本的工作,不适合用Class来实现,应该用接口.原因是,如果要取Class中的Item并使用,此时Item到底由谁来负责释放的问题变得复杂了.如:Super…
面向对象编程手法,是一项综合技能,单独把谁拿出来说都不合适.本次重写 TSimpleThread ,使其能在 D7 下运行. 基于 TSimpleThread ,重磅推出 TSimpleUI.ExeProcInMainThread ,命名更精准,消除使用时的疑惑.详情如下: 1.TSimpleThread ,本博客线程教程中,已详细介绍. 2.TSimpleUI , 在 UI Thread 或称之为 MainThread 中执行 Proc . 3.TManagementBase , 管理基类,用…
VS Code实用技能 VS Code实用技能1 - 代码折叠.面包屑 一.代码折叠 ubuntu ctrl + shift + { ctrl + shift + } ctrl + k , ctrl + 0 ctrl + k , ctrl + j 二.面包屑 1.打开控制面板 ctrl + p 2.输入> 3.选择Open User Setting 4.搜索bread 5. 打开面包屑功能 三.常用配置项 { "window.zoomLevel": 0, "workbe…
写代码写习惯了,在做数据预处理时也总是习惯性地用python.pandas来做处理,但其实有时候根本不需要写代码,用excel也能达到目的,甚至比写代码快很多,写代码要半天,excel只要几秒钟.下面是几个最近发现的实用技能和场景: 1.去掉某一个列的重复项:例如,删除address列中的重复项. 操作方法:点击address列的列头(表第一行上方的A,B,C等),选中该列的所有行,复制粘贴到一个新的sheet页,在新的sheet页中选中address列的列名,点击excel上方的"数据&quo…
Git实用技能 1.图形管理工具 Github for Desktop Source tree 老牌的GitGUl管理工具了,也号称是最好用的Git GUI工具.功能丰富,基本操作和高 级操作都非常流畅,适合初学者.上手.   TortoiseGit 对于熟悉SVN的开发人员来说,这个小乌龟图标应该是非常友善了.JortoiseGit 简称 tgit,中文名海龟Git.它与其前辈TortoiseSVN都是非常优秀的开源版本控制客户端软件.     2.忽略文件     场景:在项目目录下有很多万…
以下讨论均基于Delphi XE8,主要是利用DELPHI新版的功能,如:Unicode,泛型,匿名函数等[XE2 后应该都支持]. 用新特性的好处是少写代码,提高效率.本博客不再讨论Delphi旧版,旧版资料太多,无需太多重复. 本博客不讨论第三方控件,因为Delphi没落已成事实,第三方控件很难再去支持新版,但Delphi本身作为非程序员的工具,还是非常合适的. 非程序员要用DELPHI生存(生存是指用Delphi熟练正确地解决问题)下来,请参考以下技能:(本文会不断更内容并加上实例代码)…
来自: daocaoren0824, 时间: -- ::, ID: 再给你一份 程序员实用函数 {▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎} {▎ ▎} {▎ 大家都是程序员 没有必要重复一些无聊的事情 我的这些函数能给大家带来方便 ▎} {▎ 如果觉得还一般 请关注 WWW.cdsunco.com/www.ccemove.com QQ:35013354 ▎} {▎ 系统公用函数及过程 ▎} {▎ ▎} {▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎…
一.面向对象介绍 OOP是使用独立的对象(包含数据和代码)作为应用程序模块的范例.虽然OOP不能使得代码容易编写,但是它能够使得代码易于维护.将数据和代码结合在一起,能够使定位和修复错误的工作简单化,并最大限度地减少对其他对象的影响,提高代码的性能.一般OOP都支持一下三个概念: 1)封装:把相关的数据和代码结合在一起,并隐藏了实现细节.封装的好处是有利于程序的模块化,并把代码和其他代码分开 2)继承:是指一个新的对象能够从父对象中获取属性和方法,这种概念能用来建立VCL这样的多层次的对象,首先…
增 数组.push() 删 数组.splice(开始删除索引,删除几个) 在当前对象中调用当前对象的方法中和属性,必须用this调用 nodeType判断节点类型 节点.nodeType ==  1:元素节点/2:属性节点/3:文本节点 concat 返回的是一个新的数组 封装歌曲列表管理(函数) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">…
第一章.建立面向对象的新思维 1.1.1历史背景 目前对象技术的前沿课题包括设计模式.分布式对象系统.和基于网络的对象应用等 目前面向对象的语言包含4个基本的分支: 1.基于Smalltalk的:包括Smalltalk的5个版本,以Smalltalk-80为代表 2.基于C的:包括Objective-C.C++.Java.C#. 3.基于LISP的:包括Flavors.XLISP.LOOPS.CLOS. 4.基于PASCAL的:包括Delphi(Object Pascal).Turbo Pasc…