天行健,君子以自强不息;地势坤,君子以厚德载物。


预览模式: 普通 | 列表

Delphi不用ODBC不用安装驱动连接mySQL

我们有时候,可能需要用Delphi来连接mySQL数据库,也许大多数人的选择是安装mySQL官方提供的ODBC驱动,然后连接mySQL数据库。这样做在我看来是很麻烦的一件事情。所以如果让我选择的话,我一定不会选择使用ODBC的驱动或者是BDE方式来连接mySQL数据库的,有这样的选择吗?

当然有,要不然我就无法进行在这个话题了。

先说一下原理吧:不适用驱动连接mySQL,那肯定是用了mySQL中的某个文件,这是一定的,不如将mySQL中的libmySQL.dll文件里面的函数导出,并且定义相关的数据结构,这样就可以使用这个DLL来处理mySQL数据库了。

查看更多...

Tags: Delphi ODBC 连接 mySQL 驱动

分类:Delphi技巧 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2383
为什么要这样做?

有时候我们需要一个非窗口组件(比如一个非继承自TWinContrl的组件)可以接受Windows消息。要接受消息就需要一个窗口句柄,但是非窗口组件却没有句柄。这篇文章将讲述怎么让一个没有句柄的组件如何通过一个隐藏的窗口接受消息

这是怎么做到的?

查看更多...

Tags: Delphi 组件 消息 Windows TWinContrl AllocateHWnd DeallocateHWnd DefWindowProc

分类:Delphi技巧 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 805

Delphi多表合并数据

Delphi最强悍之处,莫过于数据库编程了。就Delphi提供的数据库组件也是数量不少了,更不用说第三方的数据库组件,那更是多不胜数1,Delphi所提供的数据库组件TDataSource,TADOQuery,TDBGrid,TADOConnection等这些都算是比较常用的,而且是比用到的。

今天写这个文章也用到了上面三个组件,首先,我们先来设置TADOConnection,这个组件主要是设置它的ConnectionString属性,不设置它,我们将无法与数据库建立连接,这个两种设置方法:

1.采用连接字符串形式来连接数据库,这种方法有个缺点,就是当你把数据库文件移到了其他地方之后,程序连接数据库就会出错。或许有人会说,我在窗体创建的时候用代码设置ConnectionString来连接数据库,这样也可以,不过我个人觉得还是不太方便,假如把数据库文件移动到了其他的磁盘那怎么办?连接是不是失败了?

查看更多...

Tags: Delphi 合据 TADOQuery TDataSource TDBGrid TADOConnection

分类:Delphi技巧 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 308

MS SQL Server导出为Access

有些时候,我们可能需要把MS SQL Server的数据库导出成Access数据库。其实利用Ms SQL Server的企业管理器就可以完成,现在把详细步骤记录如下:

1.打开SQL的企业管理器,逐步展开左侧的项目,找到数据库项目,然后找到你需要导出的数据,右键选择“所有任务”—>“导出数据”;

查看更多...

Tags: 数据库 MS SQL Server Access 企业管理器 视图

分类:数据库技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 244

Delphi与Javascript的交互

网络上也有人写了关于Delphi与Javascript的文章,其大多数使用ScriptControl等,均无法达到与Delphi自身融合的效果。我也是在翻阅自己的组件库的时候发现了这个以前收集来的代码。这个主要是使用了Mozilla的Javascript引擎,所以在程序运行的时候必须带上js3215R.dll和msvcr70.dll这两个动态链接库。

现在我们来看一看几个例子:

例程1:

查看更多...

Tags: Delphi Javascript 交互

分类:Delphi技巧 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1680
最大化按钮不可用,而且窗体最大化,我以前一直这样设置:在Object Inspector下把BorderIcons属性下的biMaximize属性设置为False,然后把WindowState属性设置为wsMaximized,结果是窗体的最大化按钮的确是隐藏了,窗体也最大化了,但是窗体也遮盖住了任务栏!

网上也有很多人来讨论这个问题的,也有人说窗体的ALign 属性为 alClient同时窗体WindowState属性要设置为wsNormal就可以了;这样看起来的确是最大化了,但是窗体还是有点边框显示了出来,当你点击最大化的时候窗体还是会重新调整为真正的最大化。还有人在窗体创建过程使用如下代码:
var  
  TrayWnd:  HWnd;

查看更多...

Tags: Delphi 窗体 最大化按钮 BorderIcons biMaximize CreateForm

分类:Delphi技巧 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 433
Delphi创建控制台(Console)程序默认是无法添加图标和版权的。经过仔细的对比窗体程序与控制台程序源码,发现窗体程序的工程文中,在uses结束begin开始的地方有一句如下代码:
{$R *.res}
而控制台程序的工程文件里是没有这句代码的。于是,我就在想是不是我在控制台程序的工程文件里加上如上代码,我们就可以更改图标和添加版权了,说做就开始做,加上如上代码,然后保存,Delphi会自动生成资源文件,如下图:

本以为可以就可以编辑图标和版权了,结果发现,版权是可以修改了,但是图标还是无法修改的。

查看更多...

Tags: Delph 控制台 Console 程序 图标 版权信息

分类:Delphi技巧 | 固定链接 | 评论: 4 | 引用: 0 | 查看次数: 433

无标题窗体的移动及其简单美化


      先看效果图吧。

      最近做Web,发现网页三剑客总是会留下一些“最近打开项目”这样的痕迹在软件的界面上,心里总是觉得很不舒服,于是萌发了写一个清除器的念头。说动手就动手吧!

查看更多...

分类:Delphi技巧 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 201

hh.exe的隐藏参数

众所周知 hh.exe 是 Windows 系统中用来打开CHM帮助文档的程序。

其实它不仅可以用来看 .chm 文件,而且可以用来反编译 CHM 文件的~~命令如下:

HH.EXE -decompile <输出路径> <目标chm文件>

查看更多...

Tags: hh.exe 隐藏参数

分类:电脑技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 103
{**********************************************************************
API函数 AnimateWindow 使用:
函数功能:窗体显示和隐藏时产生特殊的动画效果;可以产生两种类型的动画效果:
          滚动动画 和 滑动动画
函数原型:BOOL AnimateWindow(HWND hWnd, DWORD dwTime, DWORD dwFlags)

查看更多...

Tags: Delphi Windows API 函数 AnimateWindow 窗体 特效

分类:Delphi技巧 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 318