在Windows下只要uses Windows,就有这两个API可调用GetTickCount,GetCurrentThreadID 如果我们需要跨平台使用这两个函数,就不能仅仅Uses Windows了. 如果需要跨平台使用GetTickCount,可以uses System.Classes,然后使用类方法:TThread.GetTickCount 如果需要跨平台使用GetCurrentThreadID,则仅需引用不同的单元即可: uses {$ifdef MSWINDOWS}Windows;…
盒子中的souledge大侠发布了新的Socket库,以下为原文: 我之前写过一个iocp的框架,放到googlecode上了. 由于当时的delphi版本尚无法跨平台,所以该框架只能运行在Windows下. 现在Delphi的跨平台编译器基本已经成熟了,主流的操作系统基本都已支持,这是一个很好的契机,于是催生了我新的通讯框架的诞生,这个新的通讯框架就是Delphi Cross Socket. 期间有很多朋友通过QQ或邮箱联系过我,希望我尽快发布新的框架源码,不过工作一直很忙,我也只能用闲暇时间…
delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手机才可以(IOS的没有试过) 二.使用Sqllite存储中文 SqlLite中,字段类型要设置为nvarchar,保存时,有两种方式 1)用Post时,对中文的字段要进行UTF8转换 先用一个string变量转换一下(不转换的话Win32编译没有问题,Android编译时出错) str_temp:=UTF8E…
一.下载 官方下载网址: http://www.axolot.com/components/download.htm 从这里可以下载到从Delphi5到DelphiXE全部支持的版本. 二.软件安装 下载下来的文件是exe格式,可以直接安装,一路next即可. 按照默认安装,会在: C:\Documents and Settings\All Users\Documents\RAD Studio\8.0  路径下生成XLSRWII4_D2011.bpl,安装时需要使用. C:\Program Fi…
EhLib 在 Delphi 7 下的安装方法 1.将 EhLib 解压到一个目录,如:E:\VCL\EhLib: 2.将 EhLib 安装目录下 Common 目录.DataService 目录下的所有文件拷贝到 EhLib 安装目录下的 Delphi 7 目录: 3.启动 Delphi 7: 4.选择 File — Open Project,跳转到 EhLib 安装目录,在出现的打开文件对话框文件类型下拉列表中选择 Delphi Package(*.dpk:*.dpkw),在文件列表中选择…
Delphi XE-Windows下配置开发环境  (Android版/IOS)   http://www.52jike.com/thread-1-1-1.html Delphi XE5的Android开发平台搭建     http://lotyong.blog.163.com/blog/static/9830690720138251066975 Delphi xe10 安装到配置SDK NDK JDK笔记   https://www.cnblogs.com/devcjq/articles/79…
Delphi 跨平台 Socket 通讯库 免费开源的Delphi 跨平台 Socket 通讯库. 源码URL:https://github.com/winddriver/Delphi-Cross-Socket 作者: WiNDDRiVER(soulawing@gmail.com) ## 重要更新(2017.08.22)- 代码重构, 做了大量修改, 详见源码- 增加了几个新的 interface, 用法详见 demos - ICrossSocket - ICrossSslSocket - IC…
delphi跨平台SOCKET--System.Net.Socket 不知始于DELPHI哪一个版本,姑且始于柏林版吧. 基于此单元的TSocket类,大家可以很方便地封装出自己的服务端和客户端的SOCKET控件. 它可是跨平台的SOCKET哦,想到就激动IN... 感兴趣的话,赶紧看看呗!心动不如行动.…
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789   _NOTIFYICONDATAA = record   cbSize: DWORD;   Wnd: HWND;   uID: UINT;   uFlags: UINT;   uCallbackMessage: UINT;   hIcon: HICON;   szTip: array [0..63] of Ansi…
DELPHI跨平台编译开关 DELPHI 现在是跨平台的开发工具,已经不仅仅针对WINDOWS OS. 跨平台的时候,一些WINDOWS特有的API或语法是不能用的,必须使用跨平台的新语法,要用编译开关区分开来. {$ifdef MSWINDOWS}Windows;{$endif}{$ifdef POSIX}Posix.Pthread;{$endif}…
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789   _NOTIFYICONDATAA = record   cbSize: DWORD;   Wnd: HWND;   uID: UINT;   uFlags: UINT;   uCallbackMessage: UINT;   hIcon: HICON;   szTip: array [0..63] of Ansi…
不光是Delphi,Windows里面所有的之所以无法打开.hlp帮助文档的问题都可以使用以下的方法来解决 问题:情况是这样的,不是打不开hlp帮助文档,按F1出现的是Windows的帮助.而Delphi的帮助也是F1,当我打开Delphi环境时,按F1不打开Delphi的帮助,而是打开windows的帮助.我需要按F1出Delphi的帮助,可气的是,点帮助图标仍然显示的是windows帮助. 原因:Windows缺少一个补丁 解决方法:win7系统下载这个压缩包,win8系统下载这个压缩包,解…
Delphi xe 集成了FastMM,调试程序是的时候可以方便地检查内存泄露了.  使用方法:在project中,添加一行: ReportMemoryLeaksOnShutdown := DebugHook<>0; DebugHook<>0 目的是保证单独运行exe文件不会弹出内存泄漏框,源码可以不用注释掉此行. 当然,实际上除了暴露内存泄露,fastmm 的更多高级功能,我都没有找到怎么使用, 例如: 调试模式下截获每次的内存分配(可以实时统计调试进程的内存分配情况). 也没找…
Log4Delphi是一个开放源码项目,旨在制作用于Borland的Delphi高质量实用的日志套件,是基于Apache Software Foundation的log4j包. 安装:        1.从http://sourceforge.net/projects/log4delphi/files/下载0.8版本,解压到文件夹.打开文件夹"...\log4delphi-0.8",新建一个文件夹"build":        2.运行Delphi 7,打开组件包&…
本教程用 indy 10.5.8 替换 delphi 7 自带的 indy 版本,让大家深入了解 delphi 组件安装的方法. 第一步:下载 indy 10.5.8 组件,解压到合适的目录里.如 D:\Delphi7\Indy 10.5.8\ 下载地址: indy 10.5.8 第二步:菜单 Component ---> Install Packages... 找到此行,点击 "Remove" 删除它. 第三步,点击上图中的 "Add.." ,按 ctrl…
利用Delphi XE7我们可以进行多种设备程序的开发,尤其是移动开发应用程序得到不断地加强.在实际的Android移动程序开发中,如果我们直接用android真机直接调试是非常不错.一是速度快,二是针对特定机型更易发现问题.然而,在实际开发由于涉及Android系统版本.屏幕分辨率等等因素,我们是不可能全部找真机来调试的.因此我要可能需要使用Android模拟器作为目标平台上运行,并在电脑上测试Android应用程序. 工具/原料 Delphi XE7 Android NDK 方法/步骤 1…
论DELPH跨平台中间件的策略 1)起先DELPHI只支持WINDOWS,此时DELPHI三层开发的眼里只有WINDOWS COM. 基于WINDOWS COM的OleVariant组合拳=TDataSetProvider+TClientDataSet. 这时三层开发的天空很纯的蓝色. 2)从DELPHI10.2开始,DELPHI DATASNAP支持开发LINUX控制台应用服务器(后面通称为中间件). 此时,用DELPHI开发跨操作系统的中间件便提上了很多人的议事日程. 3)跨操作系统的中间件…
1.将jar转换为dex call dx --dex -verbose --output=.\output\dex\test_classes.dex --positions=lines .\output\jar\test_classes.jar 2.Delphi XE6,XE7下,通过Project菜单下Deployment Manager,将test_classes.dex复制到远程目录assets\internal\目录…
  Delphi在XE的版本上,已经实现了安卓与苹果的移动跨平台,因此只需要一份代码,就可以统领两种手机平台,确实是一种高效的做法和节约的策略. 用Delphi XE7连接SQLite,主流使用FireDAC,即拖4个控件,就可以实现数据连接与提取. 1. FDPhySQLiteDriverLink1 2. FDGUIxWaitCursor1 2.FDConnection1 3. FDQuery1 最主要是在FDConnetion参数定义部分,首先是SQLite数据库,要以UTF8存储数据,这样…
一.首先将压缩包TeeChart Pro VCL FMX 2017.20 FS.rar解压到一个目录,比如 E:\Application\Steema TeeChart Pro VCL FMX 2017.20 FS目录下: 二.关闭所有Delphi IDE: 三.运行E:\Application\Steema TeeChart Pro VCL FMX 2017.20 FS目录下的 TeeRecompile.exe程序,在编译之前做如下设置: 四.设置完成后,点击“BEGIN”开始编译安装. 五.…
在WINDOWS里面使用临界来保护多线程需要访问的共享对象,现在,DELPHI有了新的跨平台临界保护者--System.TMonitor 代码演示如下: FConnections := TObjectDictionary<TIdTCPConnection,TDSTCPChannel>.Create; ... procedure TCMServerForm.CMServerTransportDisconnectEvent(Event: TDSTCPDisconnectEventObject);v…
前言: 几个月前接到一个任务:将一后台程序访问数据库的方式从BDE改为ADO,原因是由于业务量的增加,通过BDE不论是向数据库写入数据还是从数据库中读出数据的速度都变得无法忍受,大家都知道ADO在数据库访问速度方面比BDE要快的多了(我写了一个测试程序使用ADO比使用BDE快了近100倍!).这个任务还不简单嘛,只要将BDE的控件更换成ADO的再修改一些代码不就搞定了!我当时确实是这么想的,而且用了不到一个小时就搞定,测试运行一段没问题,大功告成了,我想.谁知道一个恶梦就此开始,我的愚昧无知使我…
IGDI+是一个免费开源封装微软GDI+功能的Delphi库,该库使得可以用Delphi语言代码快速简短的实现复杂GDI+应用程序.官方网站:http://www.mitov.com/html/igdi_.htmlSourceForge:https://sourceforge.net/projects/igdiplus/ 安装方法:1.首先下载目前最新版的IGDI+,解压到任意目录下,这里我解压到D盘:2.打开Delphi 7→Tools→Environment Options→Library→…
应女朋友的要求,要写一款销售管理的软件.用于管理服装店每天的销售记录,已及管理服装店的客户,并对客户进行生日提醒 因为之前使用C#写过一款家庭管理软件,主要是自己用,所以使用了服务器型数据库MySQL,积攒了一些数据库软件的开发经验. 针对这次的软件需求决定采用SQLite,因为本人比较鄙视Access,主要是因为不能跨平台,而且在实际需求上SQLite更适合. 因为女朋友要求尽快,那就必须得要快了... 这次采用了Delphi+SQLite的结构来写的,之前一直喜欢Delphi,但是没有深入涉…
试了一下,关于好几个广告界面,左右滚动的效果:用TabControl 加上定时器实现即可. 1.TTabControl外观 TTabControl的外观由属性TabPosition控制,可选项包括: tpTop         选项tab在控件上方 tpBottom   选项tab在控件下方 tpNone      以原点形式显示选项tab,在控件下方,如下图: tpDots        以方格形式显示选项tab,在控件下方,如下图: 以下是源代码: //每五秒滚动一次  Procedure …
一.XE7下Intraweb开发这里就不说了,重点是在开发Intraweb时与ISAPI不同之处要选择 IW library,编译成DLL文件. 二.网站的配置 1.这是站点的物理路径,c:\site 2.添加应用程序池,然后右键,高级设置,开启32位兼容模式 3.将进程表示登录为管理员模式 4.选择.net版本 4.0 5.配置好之后,验证一下登陆,没问题 三.站点文件目录路径,这是c:\site路径下的文件夹及文件.bin不可少,里面放有Intraweb官方提供的三个dll文件,MyWebA…
unit APIUnit; { GetProcessModuleHandle API Unit Ring3调用NtQueryInformationProcess实现跨进程获取DLL句柄 } interface USES Winapi.Windows,System.SysUtils; type USHORT = Word; UNICODE_STRING = packed Record Length : USHORT; MaximumLength: USHORT; Buffer : PWideStr…
{ 单元名:跨平台的TCP客户端库封装 作者:5bug 网站:http://www.5bug.wang } unit uCPTcpClient; interface uses System.Classes, System.SysUtils, IdTCPClient, IdGlobal; type TOnRevDataEvent = procedure(const pData: Pointer; const pSize: Cardinal) of object; TCPTcpClient = cl…
由于项目需要,需要在qt下实现floatformat的函数.之前写过一个,但是写得不好.决定重新写一个,参考delphi xe2下的实现.把xe2下的相关代码都看了一遍,xe2的代码思路在这里贴出来.xe2下的代码在system.sysutils下,核心函数是InternalFloatToTextFmt.它有汇编的版本跟纯pascal的版本.汇编看不懂,参考的是纯pascal的版本. 整体流程是: 1)解析format格式化字符串 Result := 0; DecimalSep := AForm…
在Delphi 7下,如果想在鼠标MouseEnter.MouseLeave的时候改变TLabel自身的颜色,很多人可能会采用 Label.Color := clRed;这样的方式来实现,我当初也是一样,结果无论鼠标怎么移动Tlabel都不会改变自身的颜色,但是通过Object Inspecter却可以设置TLabel的颜色,但是在它的MouseEnter.MouseLeave直接给Color属性赋值,TLabel的颜色却无法跟随鼠标的进入和移出而更改自身的颜色,经过跟踪发现TLabel的col…