自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (12)
  • 收藏
  • 关注

原创 计算汉字的笔画数

利用free pascal计算汉字的笔画数写了一个简单的单元pascnchar.unit pascnchar;{$mode objfpc}{$H+}interfaceuses fpjson,jsonparser;//获取汉字笔画数function GetCountByStroke(cnchar:utf8string):Byte;implementationconst s:utf8string='{"一":"j","乙":"o","丁":"jg","七":"ju","乃"

2021-03-23 13:45:31 5964

原创 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

2020-06-19 19:15:04 567

原创 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

2020-06-14 17:16:00 429

原创 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.

2020-06-12 12:30:55 435 1

原创 VBA使用webdriver

整理了下vbexcelhome之前分享的一个vb的webdriver类。看了一下webdriver 是怎么运行的一文。添加了一些东西。先放出来。以后有空或问题再整.附件是用微软的edge chrome作为例子。你可以去类模块里面修改引用谷歌的webdriver.1.下载和浏览器版本号一直一致的webdriver.网站:https://msedgewebdriverstorage.z22.web....

2020-04-18 17:52:14 2522

原创 C#调用chrome edge

1.安装selenium支持包和webdriver.2.最后一个webdriver不知道是不是老版本的edge里用的。安了也不能正常使用。去https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/下载和自己浏览器大版本号一致的webdriver.,可以只用32位的来适应32/64位。也可以到时候在x64程序...

2020-04-15 16:11:00 3805

原创 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...

2020-04-06 11:45:13 319

原创 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...

2020-04-04 17:17:05 776

原创 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(...

2020-04-02 19:00:11 304

原创 lazarus使用com组件

写下lazarus里调用com组件。这个大致和vb6里面的写法差不多。上手挺快。也是只适用于win平台。下面我就写下读取excel相关数据来举个例子。program excel; uses comobj,sysutils,Variants;var xlapp :olevariant; wb:variant; sht:Variant; cell:variant; ...

2020-03-31 17:30:09 1074

原创 Lazarus网抓。

获取网页数据可以使用fpHttpClient。处理html字符串可以使用正则或sax_html。下面简单写下抓页面的代码:program webscarpping;uses fpHttpClient,classes,sax_html,dom_html,dom;var HTMLString,url:string; doc:THTMLDocument; els: TDomNode...

2020-03-31 08:20:39 559

原创 处理API中文乱码的问题

在Lazarus使用API函数MessageBox中,直接使用中文标题和提示会出现乱码。利用PChar+Utf8ToAnsi来转下可以消除乱码。program Project1;uses Windows;begin MessageBox(0,PChar(Utf8ToAnsi('你好')),PChar(Utf8ToAnsi('温馨提示')),MB_OK);end....

2020-03-30 21:10:52 1540

原创 创建后期绑定的comserver

有自动提示的参考https://blog.csdn.net/qq_24499417/article/details/105079648。后期绑定简单不少。主要设置com的classinterface位autodispatch.也就是接口的后期绑定。另外需要加上progid,基本步骤与上一篇一样的。后期绑定没有自动提示,就不需要用到dll文件和导出类型库。需要在配置文件里添加ComServer=...

2020-03-25 09:53:05 205

原创 excel-dna创建comserver

本文利用excel-dna实现comserver.在excel vba里面调用。我的office是64位的,我只生成64位的comserver.1.建立类库。按照exceldna包。3编写代码。代码比较好理解。前半部分建立一个com互操作的类COMLibrary.后面的部分就是在excel启动和关闭时候的插件自注册自销部分代码。using System;using E...

2020-03-24 20:34:00 836

原创 接口的使用

由于C#类不能多重继承。但现实有许多多重继承的情况。为了避免传统多重继承带来的复杂性问题和满足多重继承的需要,就提出了接口的概念。接口提出了一种规范,让使用接口的程序设计人员要遵守其提出的约定。C#中申明接口时,使用关键字interface。using System;using System.Collections.Generic;using System.Linq;...

2020-03-22 08:14:11 130

原创 抽象类与抽象方法。

抽象类主要用来给派生类共享基类的公共定义。抽象类不能被实例化。他可以包含抽象成员且不能被密封。类中只要有一个方法申明为抽象方法,那么这个类也必须申明为抽象类。从抽象类派生出一个非抽象类时,需要在非抽象类中重写抽象方法。重写抽象方法需要使用override关键字。using System;using System.Collections.Generic;using System.L...

2020-03-21 22:20:11 101

原创 多态

类的多态性是通过在派生类中重写虚方法实现的。在C#中,类的方法默认不是虚拟的。但除了构造函数外,都可以显式申明为虚方法。虚方法的关键字是virtual。注意类中的成员字段和静态方法是不能申明为virtual的,只对类的实例方法和属性有意义。下面从交通工具基类到派生类火车和汽车,衍生出多种不同的形态。即类的多态性。using System;namespace test{ c...

2020-03-21 20:42:28 155

原创 继承

1.C#中只支持单继承而不支持多重继承。即在C#里面一次只允许继承一个类,不能同时继承多个类。如下图:2.子类的可访问性一定要低于或等于父类的可访问性。父类的访问性默认为private,子类的public访问性就高于了父类而出现错误。3.子类重写父类中的方法时候,还要调用父类中原方法的时候,可以使用关键字Base.Base关键字代表父类对象。子类中重写父类中的方法时候,要在方法...

2020-03-21 18:12:17 146

原创 C#执行js

看到一个比较小巧的jint库。dll才244Kb的样子。在c#里面执行js脚本还蛮方便的。1。执行js里的函数。using Jint;using System;namespace RunJs{ class Program { static void Main(string[] args) { Engine e...

2020-03-19 21:13:58 1048

原创 C#获取文件和文件名称

使用System.IO里的Directory类.这是一个静态类,所以不需要new就能直接使用。1.Directory.GetFiles 方法Directory.GetFiles是一个重载的方法。可以直接提供文件夹的路径获取所在目录中文件,返回一个文件全名的字符串数组。2个参数的里面,第二参数可以使用*和?通配符实现模糊匹配查找文件。注意这个参数是不支持正则表达式匹配的方式。三参...

2020-03-19 14:31:31 4300

原创 字符串相关的两点说明

1.null和“”的区别。string s1 = null;string s2 = ""; 虽然都说明是字符串类型,但是前者是空对象,没有指向任何引用地址。调用字符串的方法会出现空引用异常。而后者是一个字长度为0的字符串,分配了内存空间。可以调用字符串的方法。2.StringBuilder和string类的区别。如下图:我们可以看到字符串每次内容发生改变,都会产生...

2020-03-18 11:25:37 143

原创 网抓并将数据写入excel里

看到别人的提问,用C#爬了一页青塔的数据并保存到excel里。获取网页数据用了自带的webclient.处理json数据用了newtonsoft.json.将爬取的数据写入新excel表里用了npio.using Newtonsoft.Json.Linq;using System;using System.Net;using System.Text;using System.Text...

2020-03-16 10:37:55 410 1

原创 freebasic获取目录中所有文件

使用函数GetDIR.其语法如下。Function GetDIR(nPath As CWSTR, lName() As WIN32_FIND_DATAW) As Long获取文件夹下所有文件,包括文件夹 (不包含 . 和 .. 文件夹)nPath 要获取的路径,要带通配符,如: c:\*.*lName() 返回文件名列表,包括文件夹名,从 0 开始 到文件数-1返回文件数,返回0表...

2020-03-13 17:36:40 216

原创 浅谈64位excel里面怎么调用32位的dll/OCX

大家应该遇到过64位office在vba里无法调用32位dll的问题。最近看到别人碰到了类似的问题。我就来啰嗦几句。软公司的官方网站针对这个问题描述如下:在64位的windows系统中,一个64位进程不能加载一个32位dll,同理一个32位进程也不能加载一个64位dll。但是,64位windows支持64位和32位进程(包括本机或跨机)间进程间通信(RPC)。在64位windows中,一个...

2020-03-10 12:27:40 4315 1

原创 power query简单的错误处理

最简单上手的容错可以采用try error otherwise语句。以内容的形式展示错误而不出现黄色的横框错误提示。如下图的例子

2020-03-09 21:27:09 4425

原创 static成员

在C语言中,static关键字具有两层含义。(1)如果是在函数外部使用,则表示的是文件的作用域。只能在本文件中使用。(2)若在函数内部使用static修饰局部变量,则表明该变量永久存在。即使在超出变量作用域后也不会被永久释放。变量第一次被赋值后初始化,其后值保持不变,直到重新赋值。在C++类中,类被赋予了新的意义。用static修饰类成员变量。表示该变量不属于某个具体对象,所有对象共享同一份数...

2020-03-08 08:04:50 99

原创 析构函数

析构函数用于完成类释放前的清理工作,由C++自动调用。同构造函数,析构函数名为类名称前面加上~符号。析构函数没有返回值也没有参数列表。每个类只有一个析构函数。若没有添加析构函数,C++提供默认的析构函数,但什么也不做。例:定义一个字符串,在构造函数里创建动态字符数组,在析构函数里释放字符数组,并根据索引获得某个索引的字符。#include <iostream>using...

2020-03-07 15:54:19 182

原创 构造函数

类不像基本的数据类型,可能包含大量的成员和函数。仅分配一块足够大小的内存是不够的,还需要对类中的成员变量进行集中初始化。构造函数的作用就是完成对类对象的初始化操作。include <iostream>using namespace std;class Rect{public: Rect(int lefttop[], int rightbottom[])...

2020-03-07 11:42:14 92

原创 变量初始化三种语法形式

1.等号赋值int a=10;int b=100;int c=5;2.函数表示法.这时候无需使用等号赋值。只需要将数值写入变量名后面的小括号里即可。int d(1);int e(11);int f(24);3.初始化列表.初始值放在变量名后面的大括号里。如括号里为空,如h的数据类型定义,默认值为0.这种记号由C++11标准引入的。int g{7};i...

2020-03-05 08:34:06 1543

原创 函数模板的应用

利用函数重载可以实现多态性。例如在计算两个数相加时,无论两个整数相加还是实数相加,只需要调用一个函数即可以实现。但是,它需要用户定义两个同名函数。利用函数模板,用户可以涉及一个通用的函数,实现两个整数或者两个实数的相加。例:定义一个模板函数add,实现两个数的相加。#include <iostream>template<class T>T add(T one,T...

2020-03-05 06:46:25 521

原创 freebasic中字典的使用

对国家个数进行计数。#include once "Afx/CDicObj.inc" Dim s As String = "中国/捷恩斯/日本/中国/日本/中国/韩国/中国/韩国/中国/日本/韩国/中国/日本/中国/日本"Dim arr() As String dim U as Integer = Split(s, "/", arr()) 'U为split分割成的数组的成员的个数,ar...

2020-02-26 21:53:18 221

原创 freebasic获取MP3的播放时长

#include once "Afx/CDSAudio.inc" #include once "Afx/CTime64.inc" Dim Audio_class As CDSAudioDim Return_code As HRESULT = Audio_class.Load("E:\KuGou\Beyond - 海阔天空.mp3")if Return_code = S_OK Then ...

2020-02-24 08:22:31 181

原创 freebasic里的Split函数

今天讲一下FB里面的split函数。其语法:Function Split(TEXT as String, DELIMIT as String, RET() as String) as Integer。TEXT为要分割的字符串,DELIMIT为分隔符。第三参数为存放分割后的元素的数组。Split返回的值是ret这个数组的元素数量。下面我们来试试。Dim s As String = "中国/...

2020-02-23 17:15:44 263

原创 freebasic 制作dll并导出函数

记录一下自己使用freebasic来制作标准的dll导出函数来给vb6调用。当然了在vba里也是可以使用的。今天就用fb写一个调用管道的导出函数。我用的ide是 VisualFreebasic.使勇芳大佬在老外的基础上进行打造的。体验效果还不错。自己可以百度去下载,是绿色免费的。言归正传,创建dll操作如下文件--新建,如下图,选择标准dll工程:在建立的dll模板里面deFF_WIN...

2020-02-21 12:33:17 494

原创 字典的简单使用。

对国家个数进行计数。写vba字典写多了,熟悉下c#里面的写法。using System;using System.Collections.Generic;namespace ConsoleApp1{ class Program { static void Main(string[] args) { string ...

2020-02-21 11:45:22 135

原创 VBA判断win操作系统是32位还是64位

利用API函数GetSystemWow64Directory看系统中是否存在SysWow64目录从而得到系统位数。在64位系统中,该函数返回SysWow64目录的路径字符串长度值。在32位系统中返回值为0.代码:#If VBA7 Then Private Declare PtrSafe Function GetSystemWow64Directory Lib "Kernel32....

2019-08-17 18:18:30 2250

原创 c#从嵌入的资源dll文件加载程序集并导出函数

通过AssemblyResolve event实现。然后就可以using直接调用了。GetManifestResourceStream里面加载的资源名称字符串由"项目名.路径文件夹名.dll文件名带扩展名"构成。看资源文件路径就可以得到。static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventA...

2019-07-05 06:23:12 2039

原创 powershell生成二维码

今天说一下powershell利用nuget里面的c#包Qrcoder来生成二维码。下载地址:https://www.nuget.org/packages/QRCoder/。只需要弄出来里面的一个.net dll就行了。其他的垃圾扔了。net core等其他版本的dll.自带的powershell目前应该还没支持这些框架。不过官方好像出了跨平台的powershell 。net core,操作系统比...

2019-04-24 12:23:46 625

原创 powershell批量修改文件名称。

下面的代码能够给桌面“都彭”文件夹下的所有目录文件名称增加都“都彭”两个字。Get-ChildItem -Path F:\Desktop\都彭\ 获取这个目录下的所有文件。增加recurse参数后能够对这个目录进行递归获包含子目录的所有文件名。利用管道传递然后foreach-object进行遍历。为了避免修改文件夹名称,就检验遍历的对象是文件。$_ -is [System.IO.FileIn...

2019-04-20 16:20:48 2419

原创 powershell识别图片验证码

通过powershell+tesseract分别来完成图片预处理和识别验证。如图验证码:add-type -AssemblyName System.DrawingFunction 识别([string]$path){$img = [System.Drawing.Bitmap]::FromFile($path)for($x = 0; $x -lt $img.Width; $x++)...

2019-03-26 21:49:05 711

sqliteodbc-0.9998.zip

2021年2月4日更新到0.9998版的sqlodbc,包含32位和64位数据库驱动。

2021-02-04

msedge.zip

用于vba操作edge chrome浏览器。附件只提供了代码。需要你自己下载webdriver.默认和excel文件放在一起。你也可以自己设置driverpath路径。

2020-04-18

调用c#dll生成二维码.zip

c#dll导出函数给vb/vba调用。实例展示了在32位和64位的excel里面用 vba调用非注册的c# dll 方式里面的函数。需要.net framework支持。但不需要注册dll.

2019-10-25

SQLite odbc驱动-x86(x64)

用于sqlite数据库的odbc驱动。包含32位驱动和64位驱动。可以满足一般用户连接数据库需求。

2019-03-29

c语言算法基础书

用于学习C语言算法的基础入门书籍。上篇讲解算法与数据结构基础,下篇讲解用数据结构解决实际问题。

2019-01-06

SQLite odbc_0.9996

这个是今天2019年1月6日在官网下载的最新版本。目前的sqlite odbc驱动最新版本号为:0.9996.

2019-01-06

RegexBuddy4单文件免安装版本

本文件为RegexBuddy4。RegexBuddy4为正则表达式的测试工具,支持多种语言。而且本工具绿色无需安装,只有一个单文件的exe.解压缩后即可开箱使用。方便快捷。

2018-08-17

2000年-2050年节气表

包含了从2000年到2050年之间的一年四季的节气,里面还有excel power query抓取数据的过程可供参考。。

2018-08-17

免注册方式使用vbrichclient5

excel模块里演示了不少VBA的例子,方便无法注册dll的环境下使用vbrichclient5里面定义的类。方便有需要的人使用和套用参考。几个代码例子包含了: 1.剪切板操作 2.集合collection的简单使用 3.fso文件的简单操作 4.不使用驱动直接读取SQLIT3数据库写入单元格 5.替代scriptcontrol实现脚本操作 6.字典的简单演示 7.简单解析xml

2018-07-18

VBA利用js繁简转换

VBA调用js文件函数实现繁体字和简体字之间的相互转换,方便有需要的人使用和学习,顺便赚取点积分。。。。嘿嘿。。

2018-07-14

SQLite ODBC驱动

SQLite ODBC驱动

2017-12-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除