计算汉字的笔画数 利用free pascal计算汉字的笔画数写了一个简单的单元pascnchar.unit pascnchar;{$mode objfpc}{$H+}interfaceuses fpjson,jsonparser;//获取汉字笔画数function GetCountByStroke(cnchar:utf8string):Byte;implementationconst s:utf8string='{"一":"j","乙":"o","丁":"jg","七":"ju","乃"
vfb查询excel visual free basic 通过ado连接excel文件。注意程序的位数和驱动程序的位数要保持一致。#include once "Afx/CADODB/CADODB.inc"DIM pRecordset AS CAdoRecordsetDim r As CVAR = ""Dim f As CAdoFieldDim arr() As CVARDIM Connstr AS CVAR = "Provider=Microsoft.ace.OLEDB.12.0;Extended proper
vfb运行js 利用mshtml在visual free basic里执行js.#include once "Afx/CDispInvoke.inc"DIM pdom AS CDispInvoke = "HTMLFILE"IF pdom.DispPtr = NULL THEN END Else Print "成功运行"DIM oWin AS CDispInvoke = pdom.Invoke("parentWindow")IF oWin.DispPtr THEN oWin.Invoke("exec
VBA如何获取电脑操作系统的时区 #If Win64 Then Private Declare PtrSafe Sub GetTimeZoneInformation Lib "kernel32" (lpTimeZoneInformation As TIME_ZONE_INFORMATION) Private Declare PtrSafe Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)#Else Private Declare Sub G.
VBA使用webdriver 整理了下vbexcelhome之前分享的一个vb的webdriver类。看了一下webdriver 是怎么运行的一文。添加了一些东西。先放出来。以后有空或问题再整.附件是用微软的edge chrome作为例子。你可以去类模块里面修改引用谷歌的webdriver.1.下载和浏览器版本号一直一致的webdriver.网站:https://msedgewebdriverstorage.z22.web....
C#调用chrome edge 1.安装selenium支持包和webdriver.2.最后一个webdriver不知道是不是老版本的edge里用的。安了也不能正常使用。去https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/下载和自己浏览器大版本号一致的webdriver.,可以只用32位的来适应32/64位。也可以到时候在x64程序...
lazarus中的try except 读取下txt文件试了下用try except来容错file not found错误。发现运行的时候总是报错。program Project1; uses sysutils; const file_name='C:\Users\FanXiaoLei\Desktop\15.txt'; var stextF:textfile; s :string;begin try begin...
LAZARUS遍历文件夹/文件 1.遍历所有文件夹。program getfiles;uses Classes,sysutils;var sPath:string; L:TStringList;procedure getdir(path:string; var List:TStringList);//函数的具体描述var SR:TSearchRec; i:smallint;begin List.A...
Lazarus汉字与16进制互转 我没有修改代码编辑器为本地的代码。默认使用utf-8.所以转换总是要涉及解码。program Project1;uses SysUtils;var i: string; j:integer; k:shortstring; m:smallint;begin //汉字转16进制编码。 i:='一龥'; m:=1; for m:=1 to length(...
lazarus使用com组件 写下lazarus里调用com组件。这个大致和vb6里面的写法差不多。上手挺快。也是只适用于win平台。下面我就写下读取excel相关数据来举个例子。program excel; uses comobj,sysutils,Variants;var xlapp :olevariant; wb:variant; sht:Variant; cell:variant; ...
Lazarus网抓。 获取网页数据可以使用fpHttpClient。处理html字符串可以使用正则或sax_html。下面简单写下抓页面的代码:program webscarpping;uses fpHttpClient,classes,sax_html,dom_html,dom;var HTMLString,url:string; doc:THTMLDocument; els: TDomNode...
处理API中文乱码的问题 在Lazarus使用API函数MessageBox中,直接使用中文标题和提示会出现乱码。利用PChar+Utf8ToAnsi来转下可以消除乱码。program Project1;uses Windows;begin MessageBox(0,PChar(Utf8ToAnsi('你好')),PChar(Utf8ToAnsi('温馨提示')),MB_OK);end....
创建后期绑定的comserver 有自动提示的参考https://blog.csdn.net/qq_24499417/article/details/105079648。后期绑定简单不少。主要设置com的classinterface位autodispatch.也就是接口的后期绑定。另外需要加上progid,基本步骤与上一篇一样的。后期绑定没有自动提示,就不需要用到dll文件和导出类型库。需要在配置文件里添加ComServer=...
excel-dna创建comserver 本文利用excel-dna实现comserver.在excel vba里面调用。我的office是64位的,我只生成64位的comserver.1.建立类库。按照exceldna包。3编写代码。代码比较好理解。前半部分建立一个com互操作的类COMLibrary.后面的部分就是在excel启动和关闭时候的插件自注册自销部分代码。using System;using E...
接口的使用 由于C#类不能多重继承。但现实有许多多重继承的情况。为了避免传统多重继承带来的复杂性问题和满足多重继承的需要,就提出了接口的概念。接口提出了一种规范,让使用接口的程序设计人员要遵守其提出的约定。C#中申明接口时,使用关键字interface。using System;using System.Collections.Generic;using System.Linq;...
抽象类与抽象方法。 抽象类主要用来给派生类共享基类的公共定义。抽象类不能被实例化。他可以包含抽象成员且不能被密封。类中只要有一个方法申明为抽象方法,那么这个类也必须申明为抽象类。从抽象类派生出一个非抽象类时,需要在非抽象类中重写抽象方法。重写抽象方法需要使用override关键字。using System;using System.Collections.Generic;using System.L...
多态 类的多态性是通过在派生类中重写虚方法实现的。在C#中,类的方法默认不是虚拟的。但除了构造函数外,都可以显式申明为虚方法。虚方法的关键字是virtual。注意类中的成员字段和静态方法是不能申明为virtual的,只对类的实例方法和属性有意义。下面从交通工具基类到派生类火车和汽车,衍生出多种不同的形态。即类的多态性。using System;namespace test{ c...
继承 1.C#中只支持单继承而不支持多重继承。即在C#里面一次只允许继承一个类,不能同时继承多个类。如下图:2.子类的可访问性一定要低于或等于父类的可访问性。父类的访问性默认为private,子类的public访问性就高于了父类而出现错误。3.子类重写父类中的方法时候,还要调用父类中原方法的时候,可以使用关键字Base.Base关键字代表父类对象。子类中重写父类中的方法时候,要在方法...