如何在Delphi中从URL获取图像

我正在寻找任何显示如何将图像从URL拉入DelphiTImage组件的代码示例 谢谢,在TMemoryStream和Indy组件的帮助下 uses GIFImg; procedure TForm1.btn1Click(Sender: TObject); var MS : TMemoryStream; GIf: TGIFImage; begin MS := TMemoryStream.Create; GIf := TGIFImage.Create; try IdH

在Delphi中处理任意位长度的数据?

我正在开发一个显示/控制实用程序,以取代一个古老的工业机械专用硬件控制器。控制器本身无法维修(有人将1安培保险丝更换为13安培保险丝,“因为它一直在熔断”)。硬件接口通过标准RS232端口。数据格式专用于: 没有控制字符与ETB(Chr 23)的EXECTION一起用于标记消息的结尾 数据为7位,但仅使用可能的7位字符的子集。因此,每个7位数据字符的内容有效地减少到只有6位数据 数据未按字符对齐,例如,对于第一种消息类型,前3位为消息类型,后8位为计数器,后15位为数据值,后7位为值等 因此,将

Delphi对象如何在代码中工作

我一直在看system.pas Delphi可以从windows调用多达65000个内存块 当Delphi生成一个对象时,它会调用一个内存块来获取它的数据 如果是这样的话,类如何加载一个寄存器,其中包含该内存块的内存地址,以及另一个寄存器中放置的方法的地址。 有人知道这件事吗 莱克斯·迪恩 使用GetMem,您可以从windows调用内存块,windows在4G空间内为每个进程分配多达65000个内存块。根据fag的不同,这取决于调整块大小时是否移动块,以及在“调整大小”或“修复”和其他问题中

Delphi 32要模拟的组件;“患者旅程演示者”;

是否有人知道任何模拟Microsoft Health Common用户界面的可调整大小的流程面板的组件?我不确定您到底需要什么功能,例如,请检查。无论如何,使用矢量图形的控件可以以不同于使用位图图形的方式调整大小。谢谢,这是一个开始。对不起,我说不清楚。只需花一点时间观看演示。我只是对最终的结果感到惊讶,我在想:我需要做什么才能得到这样的最终结果???你可能需要带上一百个对UI着迷的人,让他们在Microsoft Expression Blend Designer中放松两周。

Delphi 如何防止操作系统或其他程序与我的程序同时写入存储设备

我是一个Delphi程序员。 我想用虚拟文件填充存储设备的整个可用空间。 在此操作期间,我希望防止Windows或其他程序在设备上写入。 我知道这是可行的,因为我见过这样做的程序 我已经有了创建虚拟文件的代码(使用TFileStream,在NTFS上非常快),所以我所需要的只是某种类型的锁定/解锁代码 有人知道路吗。。? 谢谢你的建议 如果整个程序能够更好地工作,我甚至会接受改变我创建这些文件的方式的解决方案 多谢各位 致以最诚挚的问候,John。有一个功能可能是事务性的(即,它要么成功,要么失

Delphi 字体、字符集和TButton

我正在将表单上所有控件的Font.Charset设置为EASTEUROPE\u Charset。这对于像TLabel这样的控件非常有效。但对于仅是windows控件包装的控件,例如TButton,某些字符显示不正确 在谷歌搜索时,我发现这是因为Font.Charset与系统代码页不匹配 但我找不到如何修复它。我用的是Delphi7,也许这已经在后来的Delphi中修复了,我不知道 有人帮忙吗 谢谢 AJ如果你想在Delphi中使用多种语言,那么你应该升级到最新版本。使用代码页是一个痛苦的世界,当

Delphi RAD Studio序列号

我们目前使用的是Rad Studio 2007,预计很快将升级到Delphi XE 有人知道我们如何看到安装Rad Studio 2007时使用的序列号是什么吗 请注意,“Rad Studio”安装的“bin”文件夹中的“LicenseManager.exe”应该会显示出来。此外,您可以在EDN页面(登录后)上看到所有注册的产品及其序列号

Delphi 在世界坐标中使用SVG图像中的屏幕坐标进行Hittest

如何使用GDI+将鼠标坐标转换为世界坐标? 或者为使用GDI+绘制的SVG形状获取边界框(甚至更好)旧skool区域 无论如何。我一直在寻找SVG代码,发现: 这是第一个真正适用于SVG的Delphi组件,但我离题了 此组件使用GDI+显示圆、曲线等。 GDI+使用矩阵将世界坐标、旋转和扭曲转换为屏幕坐标。 这部分我理解。您可以使用矩阵乘法进行转换 问题在于 如果将鼠标光标指向闭合形状上: 我从何处获得矩阵,该矩阵将我的鼠标屏幕点转换为一个世界点,我可以将其点击到屏幕上绘制的圆圈中? 在所有这

Delphi 指针^s与指针[1]

在一个从磁盘读取数据(数据意味着以独占方式读取字符串)的函数中,我应该选择哪个?哪个更好 A) DiskStream.Read(Pointer(s)^, Count) or B) DiskStream.Read(s[1], Count) 注: 我知道两者的结果相同。 我知道在调用Read之前必须设置S的长度 更新 S正在回答 以下是完整的功能: {从文件中读取一组字符。为什么“RechCARS”而不是“RetryString”?这个函数读取C++字符串(字符串的长度也没有写入磁盘)。因此,

Delphi:绘制ListView的行

我有一个ListView(vsReport):最后一个子项有一个文本“wait”。然后我会将其更改为“ok”或“error”。如何使用此子项以绿色(确定)和红色(错误)绘制整行(如果在CustomDrawItem中使用Sender.Canvas.Brush.Color,则它将是Windows 7中列之间的间隙) 谢谢 你能行 procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; S

delphigui测试和模式表单

在这篇有趣的博客文章中,我了解了DUnit的内置GUI测试功能(基本上是在unitGUITesting中定义的一个替代测试用例类TGUITestCase,它有几个用于调用GUI中的操作的实用函数)。我对它非常满意,直到我注意到它不适用于模态形式。例如,如果第一个按钮显示模式配置表单,则以下顺序将不起作用: Click ('OpenConfigButton'); Click ('OkButton'); 第二次单击仅在模式窗体关闭时执行,我必须手动执行 我不太了解情态形式在后台是如何工作的,但一定

用Delphi实现Unicode的预合成与分解

包含一段关于不同Unicode编码方式的问题: 虽然Subversion将文件名存储为Unicode,但它没有指定 预合成或分解用于某些重音 字符(如é)。因此,在上运行的SVN客户端中添加的文件 某些操作系统(如OS X)使用分解编码, 而在其他操作系统(如Linux)上运行的客户端使用 预合成编码,其结果是 如果本地SVN客户端不可用,则无法正确显示字符 使用与用于添加文件的客户端相同的编码 虽然这描述了Subversion客户端实现的一个特定问题,但我不确定常规Delphi应用程序是否也会

Delphi 如何绘制自定义标题栏,如yahoo messenger 11

正如你所看到的,Y!messenger 11使用了一些技巧来绘制漂亮的标题栏。它的窗口与Win7中的普通窗口相似,但有一个特殊的标题。这是玻璃框吗?我怎样才能创造一个这样的 我所知道的最好的参考资料是著名德尔福专家克里斯·罗利斯顿的一系列文章 我也找到了这些。尽管本文提供了代码,但为此做了大量工作。在支持XP/Win2003兼容的回退模式方面需要做大量工作。如果我正确阅读了上面链接的文章,Chris没有完全实现这一逻辑。对于一个完全实现它的示例,请查看VCL Ribbon源代码,它在win

Delphi 实现我自己的DBGrid

我想实现我自己的DBGrid我的问题是我对组件不太了解如何覆盖onkeydown事件 关于扩展组件功能的教程将非常有用。您不重写事件,而是重写触发事件的方法。OnKeyDown事件由method触发,method调用该事件(由WM_KEYDOWN消息触发)。因此,其中之一是您必须在自定义控件中重写的方法,这取决于您希望在哪个阶段拦截按键 顺便说一句,下面有一篇由Peter撰写的关于VCL关键消息处理工作原理的优秀文章:。确保您也阅读了这些内容。您不会覆盖事件,而是覆盖触发事件的方法。OnKeyD

如何在Delphi中实现一组标准的超链接检测规则

我目前在程序中自动检测文本中的超链接。我做得很简单,只查找http://或www 但是,一位用户建议我将其扩展到其他表单,例如:https://or.com 然后我意识到它可能不会就此结束,因为有ftp、mailto和file,还有所有其他顶级域,甚至还有电子邮件地址和文件路径 我认为最好的办法是,通过遵循目前正在使用的一些常用的标准超链接检测规则集,将其限制在实用的范围内。也许微软Word是如何做到的,也许RichEdit是如何做到的,也许你知道一个更好的标准 所以我的问题是: 是否有一个内置

Delphi 为什么我在IDE中得到了另一个大小的组件?

使用Delphi6教授 我创建了一个用于分离的倒角组件 因为我使用了8像素(宽x高)的间隔,我想我创建了这个组件,当我把它放在一个表单上时,我只需要设置对齐-仅此而已 type TSSpacer = class(TBevel) public constructor Create(aOwner: TComponent); override; published //property Width default 8; //property Height defau

Delphi 德尔福XE2数据捕捉-x27;连接正常关闭';在HTTPS上使用REST时

我正在尝试使用REST over HTTPS连接到我的DataSnap服务,这两个应用程序都来自我的Delphi Win32应用程序和Android应用程序。在我的Delphi客户端中,我收到消息“连接正常关闭”,我的Android应用程序失败,没有对等证书。我想我需要在客户端安装一些东西。我已经按照其他帖子的建议在Win32应用程序的EXE文件夹中安装了2个OpenSSL dll“libeay32.dll”和“ssleay32.dll”,但这并没有解决问题 需要注意的一点是,我可以使用DBXp

BcdDivide函数在Delphi XE和XE2中的行为不同

FmtBcd.pas已在Delphi XE2中进行了大量修改和重写。在我的一个项目中,有一个案例对两个Bcd值使用除法运算,但这两个版本产生不同的结果。在最坏的情况下,Delphi XE2可能会抛出Bcd溢出错误 示例:在Delphi XE2控制台应用程序中运行以下代码: var A, B, C, D: TBcd; begin A := StrToBcd('1'); B := StrToBcd('3'); BcdDivide(A, B, C); WriteLn(BcdToStr(

Delphi 解析HTTP目录列表

你好!我正在使用Delphi XE和Indy TIdHTTP。使用Get方法,我得到远程目录列表,我需要解析它=获取文件列表及其大小和时间戳,并区分文件和子目录。请问,有没有一个很好的例行程序?提前谢谢你!沃伊特 以下是示例: <head> <title>127.0.0.1 - /</title> </head> <body> <H1>127.0.0.1 - /</H1><hr> <pr

如何在delphi中使用isset()

我正在寻找从PHP代码到Delphi的转换。目前,我在处理PHP代码中的Isset函数时遇到了麻烦。有没有办法把下面的代码转换成Delphi $collection = array( 'doc1' =>'php powerbuilder', 'doc2' =>'php visual'); $dictionary = array(); $docCount = array(); foreach ($collection as $docID => $doc) {

Delphi 如何在DataSnap服务器/客户端应用程序中使用NTLM身份验证?

看起来像 如何激活DataSnap服务器/客户端应用程序的NTLM身份验证并使用目标DataSnap服务器的登录信息(用户名、密码、域)?您好,这是否为您解决了问题?5年后,我来到了你所在的地方。在我的例子中,我需要DataSnap服务器在连接到COM+服务器的原始调用方帐户下工作。也许在以后的版本中有了一些发展。

删除Delphi中标记之间变量子字符串的所有实例

我正在将可读文本从HTML提取到字符串中,需要删除标记之间的现有文本。实现这一目标最有效的方法是什么 现在我是这样做的: function RemoveIEScripts(const s: string): string; var i: Integer; InTag: Boolean; begin Result := ''; InTag := False; for i := 1 to Length(s)-3 do begin if (s[i] = '&

Delphi Firemonkey拖动图像未显示在屏幕上

下面的第一个图像是从虚拟机拍摄的,第二个是从真实的pc拍摄的。为什么我看不到真实pc上的拖动图像 虚拟机 真正的个人电脑 请使用每30分钟可下载1次以上的图像共享网站!!!好的,我更改了图片的url。一台机器的主题是XP。另一种是WindowsClassic或Windows2000。请提供详细信息。你是对的。我想在这两部电影中都出现。我该怎么办?请提供完整的操作系统详细信息。这两台机器都有。包括外观首选项,是否主题化。

Delphi 如何使用DLL中包含的标志?

我使用的函数包含三个参数,其中一个参数需要标志(fCreationDisposition): 函数MpqOpenArchiveForUpdate(lpFileName:LPCSTR;fCreationDisposition,dwHashTableSize:DWord):THandle;stdcall;外部“lmpqapi.dll” 表示有五个可用标志。然而,当我使用任何标志时,Delphi告诉我这是一个“未声明的标识符” 为了能够在Delphi不告诉我这是一个“未声明的标识符”的情况下访问这些标

Delphi Dataset.Previous vs Dataset.Next性能

在Delphi中,使用Dataset.Previor而不是Dataset.Next是否会导致性能下降 背景: 我有一个在数据集中搜索特定记录的例程。我从数据集中的最后一条记录开始,然后使用dataset.Previor反向工作,直到找到匹配项。我使用这种背对背的方法仅仅是因为(实际上)我正在寻找的记录更可能接近数据集的末尾,所以在我看来,从后面开始会更快地找到记录 但是,此逻辑基于这样的假设:Dataset.Previor和Dataset.Next的性能开销大致相同。是这样吗?这在很大程度上取决

Delphi 对记录文件进行排序时出错

我需要对一个记录文件进行排序,但我不太确定怎么做。我有一个记录文件,我试图用一个简单的气泡排序法对它们进行排序,但我被卡住了,需要一些帮助。有人能帮我吗?我将在下面列出代码 HighScoreFile = file of HighScoreRecord; var frmEnterDetails: TfrmEnterDetails; HighScoreMasterFile: HighScoreFile; HighScore:HighScoreRecord; FileArray:array[1.

删除“;“3D外观”;来自Delphi控件

标准的Delphi控件(面板、按钮等)都有这种斜角效果(顶部和左侧的白线),这给了它们一种3D的感觉,但今天它使它们看起来过时了 至少在Delphi 7中,是否有方法删除此“3D外观”?某些控件具有可关闭的Ctl3D属性 对于t面板,您还可以关闭其倒角…属性 您真正应该做的是在应用程序中启用视觉样式,使其在Windows XP及更高版本上具有主题外观。Delphi 7本机不支持视觉样式,但您可以使用Mike Lischke的组件来处理(它直接合并到更高版本的VCL中)。某些控件具有可关闭的Ctl

Delphi 如何设置子窗体在任务栏上的焦点按钮单击?

我正在Windows 7上使用Delphi XE 2010。当您左键单击任务栏按钮时,我需要能够设置焦点并将子窗体置于其他子窗体的前面,而不是整个程序或应用程序 所以,我需要知道如何为此编写回调过程。我尝试了WM_LEFTBUTTONUP,但它似乎是针对整个应用程序而不是仅针对子窗体 这就是我现在所拥有的一切。过程定义不完整,因为我目前正在调查它接收的是哪种消息以及所有消息 procedure WMnclb(var Msg:TMessage) ; message WM_NCLBUTTONUP;

Delphi 填充数组并以不同形式将其内容显示到丰富的编辑中

这是我单击btnInfoClick 调试器异常通知 Project_PAT_Phase_3.exe引发异常类EAccessViolation,消息为“模块'Project_PAT_Phase_3.exe'读取地址00000022'中地址004047E0处的访问冲突” 程序运行平稳,没有任何错误,直到我点击按钮,如我的代码所示。谢谢你的帮助 unit Navigation; interface uses Windows, Messages, SysUtils, Variants, Clas

Delphi XE5-启动时的组件初始化

我想在启动我的应用程序时将一些单选按钮和复选框设置为真或假。。。但当我在OnShow、OnActivate或OnCreate事件处理程序中这样做时,我得到了异常,甚至整个表单也没有绘制,因为表单上缺少许多控件 您是否有这样做的良好做法?您选择使用哪个事件取决于您希望何时执行操作 OnCreate仅在窗体的生存期内执行一次。 每次窗体从隐藏变为显示时,OnShow都会执行。它可能在窗体的生命周期内执行多次。 每当窗体收到焦点时,OnActivate就会执行。它可能在窗体的生命周期内执行多次。 在.

MessageDlg Delphi的IF语句

如何使用if语句获取在“MessageDlg”中单击的按钮的状态 这是我的密码: if MessageDlg('Message',mtError,[mbYesNoCancel],0) = No then ShowMessage('Message2'); 不久前我看到我的IT老师写了这样的东西,但我不记得语法了。上面说: MessageDlg返回用户选择的按钮的值。这个 下表列出了每种按钮类型的TMsgDlgBtn值 可以显示在消息框中的,以及 如果用户选择该按钮,则返回: TMsgDl

错误500使用Delphi Indy上载文件失败

我正在尝试将文件上载到oboom.com。我已成功登录,但在尝试发布文件时,我收到了该错误 HTTP/1.1500内部服务器错误 有了这个回复文本 [500,“非法文章标题”,“内容传输编码”] 我在谷歌上搜索了几个小时,想找到一个解决方案,但运气不好:/ 这样尝试: Params.AddFile('file', 'C:\Users\M\Pictures\Martin.jpg','application/octet-stream'); Params.AddFile('file', 'C:\U

可以在Delphi方法参数上使用属性吗?

这段代码对更新的Delphi版本有效吗 // handle HTTP request "example.com/products?ProductID=123" procedure TMyRESTfulService.HandleRequest([QueryParam] ProductID: string); 在本例中,参数“ProductID”的属性为[QueryParam]。如果这是Delphi中的有效代码,那么还必须有一种方法来编写基于RTTI的代码来查找属性参数类型信息 请参阅我的上一个

是否可以使用Delphi XE5创建zeroconf服务?

正在设备上工作,并且希望支持零配置功能。这样,用户就可以在网络上查找设备,只需双击一个图标即可访问web界面,而无需对其进行配置或知道其ip地址 尝试使用UPNPLib_TLB,但函数似乎是只读的;我说得对吗?我可以使用CoUPnPDevice.create创建设备,但无法设置FriendlyName或URL 试图使用,但在创建时崩溃(访问冲突)。演示代码使用了一个定制的测试单元,这使实验变得复杂 经过大量研究,似乎没有一个组件可用于此,并将感谢一些指针。是否有人使用Delphi XE2/5通过

delphi xe6中一个窗体的锁定方向

是否仅针对特定表单而非整个应用程序将方向锁定为自身纵向? 使用DelphiXe6,用于iOS。通过谷歌搜索似乎找不到任何东西。谢谢大家! 更新: 我的潜在问题是,我正在使用zbar装置进行扫描,当屏幕旋转时,相机视图中的显示不起作用。因此,应用程序转到横向,但扫描仪的视图仍然是纵向的,因此使视图看起来是横向的。从我自己在谷歌上搜索和使用的工具来看,锁定方向似乎更容易,所以我就在这里 我发现了这篇文章:,但没有用,我不想旋转的表单仍然旋转 我已经实现了这段代码,虽然我不是很了解它。只是一个快速的解

密码和Delphi-TZipFile

Delphi XE5 TZipFile是否能够处理加密/密码保护的zip文件? 或者用户必须使用第三方软件来处理此问题 任何帮助都将不胜感激。查看System.Zip的源代码,我看不到任何允许使用加密Zip文件的迹象。没有为压缩或提取文件或创建压缩存档指定密码的规定 您可以始终使用turbopower几年前提供的开源技术支持加密档案。据SourceForge的项目负责人介绍,它已更新为支持XE5。该项目的贡献者对其进行了很好的维护,提供了完整的源代码,并且是跨平台的(至少是Windows、OS

Delphi PAnsiChar,无效的类型转换

我无法将字符串转换为AnsiChars,函数如下所示 function PI_CST(ID: LongInt; const szAxes: PAnsiChar; const szNames: PAnsiChar): Bool cdecl ; 我想这样使用此函数: bOk:=PI_CST(g_iD,'1',PAnsiChar(ComboBox1.Text)); 但它不起作用,当我以这种方式调用函数时:bOk:=PI_CST(g_iD,'1','

使用Delphi2007和IndyTidHTTPV10从流中获取x字节的数据

我正试图定期从我们办公室周围的各种安全摄像头捕捉静态图像。我使用以下代码执行此操作: Var MS: TMemoryStream; I: Integer; Begin MS := TMemoryStream.Create; Try // Loop through however many channels the camera has (most have 1 but 180 // cams have 4). For I := 1 To FCamera.

Delphi 本地常量太多。使用更短的错误处理过程

我正在使用Delphi6,我正在准备一个列表,其中将有一些变量字符串名称及其指针引用。代码是什么样的 var VarList: TstringList; procedure AddNameList(aName :string; aRef: TObject); begin VarList.AddObject(aName, aRef); end; 上面的方法AddNameList是在Unit1.pas中调用的,我有大约5000到6000个条目,这可能会增加 现在unit1包含 AddNa

Delphi ICS FTP-将包含多个子文件夹和文件的文件夹上载到FTP服务器

我正在尝试使用Overbyte Ics ftp组件将文件夹上载到ftp服务器。 据我所知,没有内置函数将包含文件和子文件夹的文件夹上载到ftp,因此我必须创建一个递归,以便将它们全部上载到一个调用中。 解决这个问题的正确方法是什么? 我正在考虑这样做: 扫描要上载的本地文件夹,并将文件夹与文件分开 对于每个文件夹名称,检查ftp上是否存在。如果不存在,则创建它 创建ftp服务器的所有文件夹后,检查ftp服务器上是否存在本地文件。如果不存在,开始将文件上载到创建的目录 这是正确的方法吗? 有没

Delphi 如何在Firebird 3 OO Api中使用事务参数块

我一直在玩Firebird 3附带的新Firebird.pas界面。我在尝试使用自定义事务参数块时遇到问题。如果向块中添加任何标记,我似乎总是会收到错误“事务参数块的格式无效”。我见过的唯一一个例子是Firebird 3附带的“Using_OO_API.html”文档。下面是重现错误的代码。任何建议,谢谢 procedure TForm1.Connect2ButtonClick(Sender: TObject); var Master: IMaster; Status: IStatus;

delphizlib压缩/解压缩

我在Delphi中使用ZLib单元进行解压缩时遇到了一个小问题 unit uZCompression; interface uses uCompression; type TZZipCompression = class(TInterfacedObject, ICompression) public function DoCompression(aContent: TArray<Byte>): TArray<Byte>; function

如何在没有pas的情况下进行delphi 7编译

我有一个缺少1个pas文件的项目。但是我有这个文件.dcu 可以使用1.dcu和其他.pas文件编译新版本吗?是的,如果.dcu是用Delphi 7制作的。如果dcu依赖于您有源代码的任何单元,您将无法修改这些使用单元的接口部分。不仅是Delphi 7,而且是完全相同的编译器版本/版本。@Jerry说,即使编译器版本上只有一个版本号,也可能是灾难性的。“DCU格式旨在在单个主要版本的发行版中保持稳定。但仅此而已,”Jerry说。对Delphi的更新不会完全改变单元的接口,因为它会破坏现有的DCU

是否可以更改Delphi FMX TEdit控件中的字符间距?

我正在创建从FMX TEdit控件派生的自定义组件。一个要求是,我需要这个控件能够模拟/表现得像一个梳理过的场。这需要最大长度和增加字符之间的间距,以便字符落在垂直线之间。例如,请参见下图 最大长度功能已经是TEdit控件的一部分,但是我找不到关于如何增加字符间距的任何信息。我研究了Delphi源代码,没有发现任何可能有用的东西。我遇到的字体设置是粗体/斜体的典型字体样式和前导/中间/尾随的字体对齐方式 我还遇到了TFontStyleExt下的TFontStretch,但没有找到更多关于它的信

Delphi 我可以随时更改控件布局吗?

有没有办法将窗口或对话框从垂直布局更改为水平布局 e、 g.从这个(窄而高的窗户) 到这个(方窗) 到这个(宽窗口) 当我调整窗口大小时? A、 B、C、D是编辑框或组合框等 显然,我可以使用一个包含3个(或更多)页面和不可见选项卡的pagecontrol,并在这些页面和选项卡之间交替使用,但我希望这样做不会产生重复 我希望找到一种不需要我编写代码的解决方案 此示例使用t流程面板。将其添加到表单中,并将Align设置为alClient。四个TEdit控件添加到TFlowPanel。调整表单大小时

delphi TStringGrid和鼠标右键

我正在使用Delphi10.1 Berlin制作一个多设备应用程序。我有一个TStringGrid来列出查询中的一些数据 我也有一个弹出菜单(编辑,删除,…),但为了编辑/删除一个项目,我必须用鼠标左键点击一个单元格 在显示弹出菜单之前,是否可以仅使用右键“选择一行” 我试过: procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integ

如何防止多视图不透明度影响Delphi中的子组件文本?

我在Firemonkey中使用带有一些按钮的多视图。“多视图”在0.5处不透明,这会导致按钮也不透明 问题:有没有办法防止多视图不透明度影响按钮文本?也就是说,按钮的文本将继续使用明亮的颜色,但按钮的“主体”将是不透明的。我见过一些具有此可视化功能的应用程序,但我不知道用于此目的的组件是什么 我想你做不到。但您可以通过将空白按钮作为“多视图”的子对象,并添加一个单独的TText对象作为窗体的子对象(或绝对不透明度为1的其他对象)来实现此效果,如下面的屏幕截图所示。例如,按钮是否可以移动或调整大小

Delphi DBGrid-如何设置单个背景颜色?

我正在使用Delphi10.2.3,希望更改DBgrid的背景色。 例如,我有一个文本列和一个整数列。 根据文本,如果值为非零,我希望更改整数单元格(在同一行中)的颜色 我从你那里得到了一些想法 所以我知道如何改变OnDrawColumnCell中单元格的颜色。 我可以改变课文的背景。 但我仍然不知道如何改变另一个细胞的颜色。 当然,这很容易,而且我对显而易见的东西视而不见。下面的代码显示了如何根据颜色改变单元格的背景颜色 同一网格行中另一列中的值 procedure TForm1.FormCr

Delphi 如何在服务器处于活动状态时绑定新服务器绑定

在服务器处于活动状态时,如何让操作系统将可用端口分配给Indy server中的新绑定 IdUDPServer.Active := True; for I := 0 to 4 do begin IdUDPServer.Bindings.add; end; for I := 0 to IdUDPServer.Bindings.Count-1 do begin WriteLn(IdUDPServer.Bindings[I].Port); end;

Delphi FireDac应用程序使用CachedUpdate更新FDTable上的错误

我用BDE在Delphi 5上开发和应用程序,在更新到Delphi XE 10之前,我从未得到任何回收。我将数据引擎从BDE更改为Firedac。该程序是简单的POS应用程序制作发票,发票表与项目表主控详细信息。有时会漏掉一些不具体的发票,但每1000张大约有11张 我开始查找、检查和更改,添加事务组件。。稍后测试相同的结果添加SchemaAdapter相同的结果,直到我找出问题所在 如果数据服务器在同一时间运行一条语句,那么在同一个表上运行另一条不同于另一个客户机的语句,您可以在FireDac

  1    2   3   4   5   6  ... 下一页 最后一页 共 462 页