Delphi是美国Borland(宝兰)公司开发的工作在Windows平台下的开发工具,它的前身是在DOS下的产品Borland Turbo Pascal。Delphi是一个集成开发环境(IDE),使用的是由传统Pascal语言发展而来的Object Pascal语言。
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c++ 调用, 抽空研究了一下该库的最新版 ,把部分api 翻译成了dephi版的 记录一下 地址 ffmpegvcl.zip
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)
我做了一个简化的演示(带有伪结构)来说明我需要的东西: type TMyRec = record GroupID: Integer; Color: TColor; end; TMyRecArray = array of TMyRec; 我的输入数组/列表元素由非零GroupID组成.它们始终按GroupID分组(但未排序且无法排序): GroupID -------
我想将String转换为字节数组,代码如下所示: procedure StringToByteArray(const s : String; var tmp: array of Byte); var i : integer; begin For i:=1 to Length(s) do begin tmp[i-1] := Ord(s[i]);
我正在研究delphiXE2,我正在研究PInteger. 如果我在我的delphi代码中这样做 var P: PInteger; testInt: Integer; Scores: array[0..4] of Integer=(33,44,56,78,78); begin P := @Scores; testInt := (P+1)^; WriteLn(testInt)
Internet Explorer 10内置了拼写检查功能,工作正常.我尝试创建一个小的 HTML页面,用以下内容对其进行测试: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML lang=en xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><HEAD>
我想改善一些代码的运行时间. 为了我第一次使用所有相关代码的运行时间,使用如下代码: before:= rdtsc; myobject.run; after:= rdtsc; 然后我放大并计时相关部分,如下所示: procedure myobject.part; begin StartTime:= rdtsc; ... EndTime:= rdtsc; inc(TotalTime,
>如何获取SD卡路径以及如何使用Delphi XE5在 Android和iOS中获取可执行文件路径? 使用 System.IoUtils.TPath.使用TPath.GetDocumentsPath获取SD卡路径,并且应该使用TPath.GetHomePath找到应用程序的基本目录. uses IOUtils; var AppPath, CardPath: string; Ap
我在我的DLL中使用OmniThreadLibrary 2.09,主应用程序和dll使用相同的SimpleShareMem内存管理器. 我用这段代码创建了自己的监视器: FMonitor: TOmniEventMonitor; ... FMonitor := TOmniEventMonitor.Create(nil); 当我尝试使用此监视器创建新任务时,我收到错误“只能使用单个监视器监视任
我在Delphi 7中有一个应用程序,它会弹出几个条件的模态对话框.我正在尝试确定来自特定单元的对话框是否从另一个单元打开并关闭它.到目前为止,我已尝试使用以下代码: Wnd := GetLastActivePopup(Application.Handle); if (Wnd <> 0) and (Wnd <> Application.Handle) then PostMessage(Wnd
我想知道,调用ApplyUpdates时TClientDataSet如何执行SQL语句. 如果更改了多个记录,是否为每条记录准备并发送了更新SQL查询作为单个SQL语句,或者是否可能创建了一个SQL“脚本”而不是立即发送到数据库? 我的意思是,当我使用ApplyUpdates对ApplyUpdates进行非常记录的更改时,是否存在性能差异? 没有从客户端发送SQL,只发送增量数据包.服务器上的提供
我已成功使用Delphi 2010来发出http get请求,但对于一个需要名为’xml’的参数的服务,请求失败并出现’HTTP / 1.1 400 Bad Request’错误. 我注意到调用相同的服务并省略’xml’参数有效. 我试过以下但没有成功: HttpGet('http://localhost/Service/Messaging.svc/SendReports/PDF?xml=<?xm
如何从套接字句柄中获取关联的sockaddr_in,以便从中获取端口和地址?或者还有什么关于如何从SocketHandle获取IP和端口? 例如.: function GetSocketPort ( s : TSocket ) : Integer; var Addr : sockaddr_in; begin // Get sockaddr_in from
我有TStatusBar的问题. 启用VCL样式后,即使SizeGrip属性设置为false,sizegrip也始终可见. 有办法解决吗? 该问题位于TStatusBarStyleHook类的Paint方法中,VCl代码不检查SizeGrip属性的值并始终绘制控件.解决方法是创建一个从TStatusBarStyleHook类派生的新样式钩子并覆盖paint方法. 试试这个样本 uses Win
出于疑难解答的目的,我的应用程序可以在运行时检查是否有实用的方式: > openssl dll(ssleay32.dll和libeay32.dll)是否真的存在并且能够被我的应用程序成功加载? > openssl dll实际加载的路径是什么(所以我可以验证它是从应用程序目录中的副本加载它,还是从某个地方的系统路径中拾取一些杂散副本) >什么版本的openssl是我的应用程序(或Indy)使用的?
等待! – 这听起来并不是一个愚蠢的问题.标题简洁明了. 我有一些调试代码来验证数据结构的正确性和一些断言检查这个正确性,我只想在Debug构建中启用它: {$ifdef DEBUG} function Sorted : Boolean; function LinearSearchByValue(const T : TType) : NativeInt; {$endif} 后来在一个方法中
我刚刚开始使用ActionMainMenuBar和ActionManager,我想找出这个组件引入的Delphi版本是什么?我在哪里可以找到这类信息? 来源1 我发现此页面包含Google搜索:http://www.blong.com/Conferences/BorCon2003/Actions/6102.htm 在顶部附近的介绍部分,它提到自“1998年6月的德尔福4”以来行动和行动清单组件已经
我需要编辑或替换Inno Setup的About Setup对话框文本中的文本. 这是一张图片: 在互联网上看到我得到这个代码: [Setup] AppName=My Program AppVerName=My Program v 1.5 DefaultDirName={pf}\My Program OutputDir=. [Languages] Name: "default"; Message
我尝试过Synapse,Indy和ICS,我对它们并不满意.我想同时下载多个部分的多个文件,支持恢复,gzip编码文件,cookie,使用POST登录网站等等.所以我想我会用套接字写. 但我发现Delphi中有很多套接字:TTcpClient,TRawSocket,TCGIRequest,TClientSocket等等.它们都记录错误 – 很难找到用法示例.我尝试使用TTcpClient,但有时程
我在两个网络环境中使用我的笔记本电脑(在工作和家中),他们有不同的网络设置(IP地址,子网掩码,默认网关),所以我每次回到家,当我到达办公室时都要更改网络设置..无论如何编写一个可以更改设置的代码,以便我只需要运行程序而不是手动更改设置? 我google了一下,发现了this,但我找不到我的网卡名称,似乎代码只更改了IP地址和子网掩码,但它没有改变默认网关..我是否正确? 哦顺便问一下,如果你们可
有没有人有TDictionary< TKey,TValue>的示例代码?在构造函数中填充? 您需要调用接收类型为TEnumerable< TPair< TKey,TValue>>类型的Collection参数的 dictionary constructor overload. 例如,假设我们有TDictionary< string,Integer>.然后我们可以向构造函数传递一个TEnumerab
有人知道,如果Firebird中存在命令字符串大小限制吗? 当执行一个小的“插入”脚本时,它工作得很好,但是当脚本有很多行时,它返回以下错误:“意外的命令结束 – 第X行,第Y列”. Interessting,行和列号取决于实际的脚本大小. 我正在使用Firebird 2.5 这是执行脚本: set term ^ ; EXECUTE BLOCK AS BEGIN insert into TABLE