软件技术
siow
做想做的事
展开
-
uni-app开发微信小程序,关于获取手机号事件绑定的坑
闲话少说,直接上代码。微信官方的代码是这样的:<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>Page({ getPhoneNumber (e) { console.log(e.detail.errMsg) console.l...原创 2020-02-03 23:26:02 · 3617 阅读 · 1 评论 -
ACCESS中奇怪的问题!
前几天写了个函数://函数说明:根据ID字段比较两个Access数据库中的数据表中的记录异同// p1 第一个数据库// p2 第二个数据库// tName 要对比的数据表名function CompRecordById(AdoQuery:TADOQuery;p1,p2,tName:string):Boolean;var sqlstr:string;begin sqlst原创 2008-05-29 17:00:00 · 1496 阅读 · 0 评论 -
各种数据库的ado连接字符串
1.Oracle: a>先设置好Oracle本地服务名配置,如:USER_DB b>配置ODBC引擎:ODBC_DB,该引擎的服务器指向Oracle的本地服务名,即:USER_DB c>配置联接字符串,如:Provider=MSDASQL.1;Password=user;Persist Security Info=True;User ID=user;Data Source=ODBC_DB;Exte转载 2008-05-15 20:57:00 · 963 阅读 · 0 评论 -
ACCESS导入导出
Access有很强的导入导出功能. 可以使用SELECT ... INTO 语法来导入非ACCESS表, 这样就不需要一条条地写入. 这种导入方式效率极高, 近30万条的数据, 不到半分钟就导入完成.假设有一个dBase表customer.db位于D:/dbase目录中, 需要导入ACCESS中, 首先创建一个ADO 连接指向要导入的ACCESS数据库, 然后执行SQL:SELEC转载 2008-07-09 11:03:00 · 3625 阅读 · 1 评论 -
根据ID字段比较两个Access数据库中的数据表中的记录异同
//函数说明:根据ID字段比较两个Access数据库中的数据表中的记录异同// p1 第一个数据库// p2 第二个数据库// tName 要对比的数据表名function CompRecordById(AdoQuery:TADOQuery;p1,p2,tName:string):Boolean;var sqlstr:string;begin sqlstr:=select原创 2008-04-10 18:01:00 · 3085 阅读 · 1 评论 -
把DBGrid输出到Excel表格(支持多Sheet)
{ 功能描述:把DBGrid输出到Excel表格(支持多Sheet) 调用格式:CopyDbDataToExcel([DBGrid1, DBGrid2]); } procedure CopyDbDataToExcel(Args: array of const); var iCount, jCount: Integer; XLApp: Variant; Sheet: Variant;转载 2007-08-02 23:46:00 · 1088 阅读 · 0 评论 -
Delphi 代码优化
Delphi 代码优化 Come from: http://www.optimalcode.com 文章编目 [显示隐藏] 1. 字符串优化 1.1. 不重复初始化 1.2. 使用SetLength预分配长字符串(AnsiString) 1.3. 字符串与动态数组的线程安全(Thread Safety) 1.4. 避免使用短字符串 1.5. 避免使用copy函数 1.6. 总是使用长字符串,必转载 2007-06-29 23:32:00 · 3332 阅读 · 0 评论 -
二元一次方程 高斯消元法计算函数
TRS=array[1..2] of Real; {二元一次方程 高斯消元法计算函数} function X1Y1_2(const ia1,ib1,ic1,ia2,ib2,ic2:Real):TRS; const //为数组的行数与列数 Rows = 2; Cols = 3; var C: array[1..Rows, 1..Cols] of Real; //系数及常数项原创 2007-01-05 12:13:00 · 2747 阅读 · 2 评论 -
不用DLL即可Hook得到按键代码(支持XP)
不用DLL即可Hook得到按键代码(支持XP)unit Main;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TMainForm = class(TForm) RMemo: TMemo; Hoo转载 2006-12-21 19:41:00 · 1650 阅读 · 0 评论 -
delphi图片换肤处理优化修正
原来见过一个png图像换肤处理的文章,但其中颜色处理上有些问题,特作优化修正处理,本是回复群友的问题的,所以用的是bmp图片,png图片处理原理是一样的。代码如下:<!--body { font-family: "Courier New"; font-size: 10pt;color: #000000 }.u0 { font-family: "Courier New"; font-原创 2008-08-21 17:42:00 · 1010 阅读 · 0 评论 -
Delphi与Java中的日期互换
在最近做的一个项目中用到了Java和Delphi,发现它们不能正确读取对方的日期类型,如在Java中写入一个值为“2007-12-1”的日期值,通过Delphi读取却不是这个值了。 通过查阅资料,发现两者对日期类型的定义略有不同。Java中日期使用的是长整型进行存储的,它表示距“1970-1-1”的毫秒数。如 “1970-1-2”是在“1970-1-1”后的86400000毫秒,所以转载 2008-11-20 02:26:00 · 953 阅读 · 0 评论 -
解决Goland debug模式编译启动很慢的问题
File -> Settings -> Build, Execution, Deployment -> Debugger把Rebuild transitive packages勾选框去掉就可以了原创 2019-04-04 17:06:32 · 6969 阅读 · 0 评论 -
让Chrome/Firefox轻松兼容老旧的ActiveX,让访问硬件外设变得更友好
因为不常来,所以无法及时回复,看到很多人需要交流,请加QQ群:1041052470【JS调用ActiveX解决方案】同学公司的医院系统是B/S架构的,之前为了兼容各种二代证读卡器(神思、握奇、精纶等)、IC卡读卡器(明华等)、还有各地神奇的健康卡,还有一个奇葩的ActiveX打印控件Lodop,还要支持汉王手写板签名,还要兼容客户的Windows XP,还要照顾前端的js框架......,为了...原创 2018-11-02 21:01:16 · 24993 阅读 · 13 评论 -
一直苦恼于找不到获取系统默认的UserAgent的方法,今天偶然想到一种方法,可实现效果
<br />/// <summary>/// 获取系统默认的UserAgent/// uses SHDocVw, MSHTML;/// </summary>function GetUserAgent: string;var Doc: IHTMLDocument2; win: IHTMLWindow2; wb: TWebBrowser;begin Result := ''; try wb := TWebBrowser.Create(nil);原创 2010-08-24 00:17:00 · 1805 阅读 · 0 评论 -
调用API实现MD5加密
<br />代码如下:<br />end.unit uMD5;interfaceuses SysUtils,Windows;function MD5(const Input: String): String;implementationconstADVAPI32 = 'advapi32.dll';function CryptAcquireContext(phProv: PULONG; pszContainer: PAnsiChar; pszProvider: PAnsi转载 2010-06-20 04:17:00 · 1884 阅读 · 0 评论 -
创建多层目录函数
//创建多层目录procedure MkDirMulti(sPath: string);begin if(/=sPath[Length(sPath)]) then begin sPath :=Copy(sPath, 1, Length(sPath)-1); end; if (Length(sPath)<3) or DirectoryExists(sPa原创 2009-06-05 17:47:00 · 814 阅读 · 1 评论 -
在delphi程序中实现QQ用户的Web登陆并获取个人信息
{code by siowhttp://blog.csdn.net/siowver 0.2 2009-04-16 修正了分组信息与好友信息获取不到的bugver 0.1 2009-04-15 初步实现QQ账号的Web登陆,个人信息和头像的获取}unit Unit1;interface{.$DEFINE ID10}uses Windows,原创 2009-04-16 10:41:00 · 7595 阅读 · 5 评论 -
整理的两个图像处理函数
unit Graphics2;interfaceuses Windows,SysUtils,Graphics,Math;const MaxPixelCount = 32768;type pRGBTripleArray = ^TRGBTripleArray; TRGBTripleArray = ARRAY[0..MaxPixelCount-1]原创 2009-03-31 01:22:00 · 853 阅读 · 0 评论 -
通过消息拦截达到在Delphi控件中屏蔽原有事件处理的一种方法
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;type TForm1 = class(TForm) btn1: TButton;原创 2009-02-10 17:33:00 · 5071 阅读 · 1 评论 -
Access的SQL语句中不能便用CEILING的解决办法
因为要取两个时间之间相差的分钟数,不够一分钟按一分钟来算,但万恶的ACCESS里N多函数都是内置的,CEILING等函数在程序中无法使用,所以想了个办法折衷实现:int((datediff(s,Begin_Time,stop_time)+59)/60) 或(datediff(s,Begin_Time,stop_time)+59)/60原创 2006-08-23 18:34:00 · 2408 阅读 · 0 评论 -
TStringList类的字符分割有问题,另贴一替代函数
TStringList类的字符分割有问题,当字符串中有#0到空格之间的任一字符时,都会被当作分割符,郁闷,另贴一替代函数:function SplitString(Source, Deli: string ): TStringList;var EndOfCurrentString: byte; StringList:TStringList;begin StringList:=TStringL原创 2006-07-17 18:08:00 · 1549 阅读 · 2 评论 -
SQL中HAVING从句的用法
HAVING用户在使用SQL语言的过程中可能希望解决的一个问题就是对由sum或其它集合函数运算结果的输出进行限制。例如,我们可能只希望看到Store_Information数据表中销售总额超过1500美圆的商店的信息,这时我们就需要使用HAVING从句。语法格式为:SELECT "column_name1", SUM("column_name2") FROM "table_name" GROUP原创 2005-12-03 10:39:00 · 2359 阅读 · 1 评论 -
[转]delphi建议使用的一些方法
{ No.1 判断逻辑类型 }var B: Boolean;beginB := Boolean(2); //这样只是为了调试//B := True;if B = True then ShowMessage(B = True); //不建议//不安全///////if B then ShowMessage(B); //建议//简短end;var B: Boolean;beginif Edit原创 2005-06-09 02:00:00 · 1280 阅读 · 0 评论 -
[函数]function GetLocalSQLDataPath: string;
{------------------------------------}{ MS SQLServer数据库安装路径 }{ Uses Registry }{------------------------------------}function GetLocalSQLDataPath: string;var myReg:TRegist原创 2005-05-25 15:38:00 · 1118 阅读 · 0 评论 -
[函数]procedure GetSQLServerLsit(sSList:TStrings);
作用:获取MS SQLServer服务器列表{------------------------------------}{ MS SQLServer服务器列表 }{ Uses ComObj }{------------------------------------}procedure GetSQLServerLsit(sSLi原创 2005-05-25 15:30:00 · 1272 阅读 · 1 评论 -
偶写的第一个控件,一个用选择代替输入的Edit控件
控件截图{***************************************************************}{ }{ Siow写的第一个控件 }{原创 2005-05-07 14:25:00 · 1566 阅读 · 0 评论 -
[函数]procedure SortDBGridEh(Sender: TObject; ACol: Integer; Column: TColumnEh);
//// 使用说明:单击DBGridEh的标题栏排序(适用于ADO)// --在DBGridEh的事件OnTitleBtnClick引用该函数即可:// SortDBGridEh(Sender, ACol, Column);// --为了保证表格的每一列都能点击触发排序,你需要将你需原创 2005-07-21 03:01:00 · 1485 阅读 · 3 评论 -
[函数]function CheckUrl(url: string): Boolean; //检查一个URL是否有效函数
//检查一个URL是否有效函数//可用来检测网络连接是否正确,InternetCheckConnection函数检查不准确,有些情况无法检测到,而以下CheckUrl函数则不会。//uses wininet;function CheckUrl(url: string): Boolean; var hSession, hfile, hRequest: hInternet; dwindex, dw原创 2005-07-17 03:26:00 · 2725 阅读 · 0 评论 -
[转]IP助手函数,可以检查出所以已经打开的端口
IP助手函数,可以检查出所以已经打开的端口转自:http://www.delphibbs.com/keylife/iblog_show.asp?xid=15675unit IPHelper;(* ========================== Delphi IPHelper functions ========================== Requires : NT4/SP4原创 2005-07-10 02:38:00 · 2709 阅读 · 0 评论 -
DELPHI高精度计时方法
DELPHI高精度计时方法//取毫秒级时间精度(方法一):var t1,t2:int64; r1:int64;begin t1:=GetTickCount;//获取开始计数 WINDOWS API sleep(1000);{do...}//执行要计时的代码 t2:=GetTickCount;//获取结束计数值 r1:=t2-t1;//取得计时时间,单位毫秒(ms) showmessa原创 2005-12-28 17:13:00 · 2144 阅读 · 2 评论 -
如何在程序发布时不附带midas.dll文件
Delphi程序中,如果用到了ClientDataSet控件,程序发布时需要附带midas.dll文件,在客户端和服务器内uses midaslib单元,这样就不用发布midas.dll文件了。原创 2006-08-30 11:04:00 · 1700 阅读 · 0 评论 -
Sql Server 和 Access 操作数据库结构Sql语句
下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助。内容由海娃整理,不正确与不完整之处还请提出,谢谢。新建表:create table [表名]( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default 默认值 null , [字段2] ntext null ,转载 2006-07-19 11:11:00 · 1387 阅读 · 2 评论 -
SOAP路径问题补遗
今天又查了查次料,原来在昨天的路径问题不是UDL引起的,是因为在DLL中不能像EXE中那样用Extractfilepath(Application.ExeName)来取当前程序的绝对路径,这样取出来的是DLL宿主的路径,而应该用GetModuleFileName(hInstance,buf,sizeof(Buf)),呵呵,试了一下,不光能用UDL了,而且服务器端还能读取ini文件了原创 2006-07-12 00:53:00 · 1212 阅读 · 2 评论 -
SOAP开发中遇到的郁闷问题终于解决了!
因为项目中要用到SOAP,所以花了点时间看了看,我们的工作主要在C端,但要写个S端进行测试,遇到的问题记录如下:问题一:WSDL文件能正常预览,调用接口函数报错.错误信息:Received content of invalid Content-Type setting:text/html -soap expects"text/xml"解决办法:将Server端的dpr内的 ISAPIThre原创 2006-07-11 04:24:00 · 8071 阅读 · 0 评论 -
Delphi--TStrings的一些技巧
TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。常规的用法大家都知道,现在来讨论它的一些高级的用法。先把要讨论的几个属性列出来:1、CommaText2、Delimiter & DelimitedText3、Names & Values & ValueFromIndex先看第一个:CommaText。怎么用呢?用代码说话:const constr :String转载 2006-07-07 15:03:00 · 9106 阅读 · 1 评论 -
SQLServer和Oracle的常用函数对比
---------数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001转载 2006-07-04 18:09:00 · 1105 阅读 · 0 评论 -
用SQL语句对数据库字段值做批量修改
UPDATE 表名 SET 字段名 = "字段值"+right(字段名,len(字段名)-要替换的字段的长度) WHERE 字段名 like "原字段值*";例:UPDATE MutiFile SET path = "D:/目录/"+right(path,len(path)-10) WHERE path like "//My/d/目录/*";注意:汉字算一个字符.原创 2006-05-26 16:33:00 · 4405 阅读 · 0 评论 -
今天帮一个哥们弄的查找无标题窗体上的控件句柄的代码
var lst:TStringList; {$R *.dfm} function EnumWndProc(AWnd: HWND; AlParam: LPARAM):Boolean;stdcall; var WndCaption: array[0..254] of Char; str:string; begin GetWindowText(AWnd, @WndCaption, 25原创 2006-09-14 18:35:00 · 1937 阅读 · 0 评论 -
rs.open sql,conn,1,1全接触
经常会在连接DB的时候用到,就是不知道代表什么意思。。。RS.OPEN SQL,CONN,A,BA: ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动ADOPENKEYSET(=1) 只读,当前数据记录可自由移动ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动ADOPENSTATIC(=3) 可读写,当前数据记录可自由移动,可看到新增记录B:转载 2006-09-07 22:10:00 · 1208 阅读 · 0 评论 -
[转]设置桌面图标文字透明
一段代码,只实简单地现了透明,但只要桌面一刷就会恢复,其它软件不知是怎么实现的,个人猜测,可能是捕获到桌面刷新的消息后就再重新设置(未经考证之想法)var wnd:HWND;begin Wnd := GetDesktopWindow; Wnd := FindWindowEx(Wnd, 0, Progman, nil); Wnd := FindWindowEx(Wnd, 0,原创 2005-07-10 02:27:00 · 1950 阅读 · 2 评论