小编Bru*_*Gee的帖子

如何让我的Delphi 5应用程序显示密码"blobs"?

很简单,但我找不到答案.

我正在使用Delphi 5 Enterprise构建应用程序,并希望我的应用程序在密码字段中使用新的粗体黑点而不是星号.

我怎样才能做到这一点?

windows delphi delphi-5

4
推荐指数
2
解决办法
1702
查看次数

循环参考修复?

我在一个单独的单元中有一个Player类,如下所示:

TPlayer = class
private
  ...
  FWorld: TWorld;
  ...
public
  ...
end;
Run Code Online (Sandbox Code Playgroud)

我还在一个单独的单元中有一个世界级如下:

TWorld = class
private
  ...
  FPlayer: TPlayer;
  ...
public
  ...
end;
Run Code Online (Sandbox Code Playgroud)

我这样做是为了让玩家可以通过FWorld从世界获取数据,这样世界上的其他对象就可以以类似的方式获取玩家数据.

正如您所看到的,这会导致循环引用(因此不起作用).我已经读到这意味着糟糕的代码设计,但我想不出更好的其他方式.什么是更好的方法呢?

干杯!

delphi pascal

4
推荐指数
1
解决办法
343
查看次数

使用VCL作为Web(intraweb)作为向传统非分层(2层)Delphi win32应用程序添加Web界面的技巧确实有意义吗?

我的团队正在维护一个巨大的Client Server win32 Delphi应用程序.它是一个客户端/服务器应用程序(胖客户端),它使用DevArt(SDAC)组件连接到SQL Server.

业务逻辑经常"被困"在Component的事件处理程序中,无论如何,通过一定程度的重构,可以将业务逻辑移动到公共单元中(这项工作的很大一部分已经在重构期间完成了......维护遗留应用程序的人别写的非常令人沮丧,但这是一项非常普遍的工作).

现在有一个Web界面的请求,当然我有几个选项,在这个问题中我想关注VCL for web(intraweb)选项.

我们的想法是为客户端/服务器应用程序和Web应用程序使用公共代码(相同的pas文件).我听说很多人将遗留应用程序从delphi迁移到intraweb,但在这里我也试图保留Thick客户端.

这个想法是使用通用代码,可能会用一些编译器指令来编写特定的代码:

{$IFDEF CLIENTSERVER}
  {here goes the thick client specific code}
{$ELSE}
  {here goes the Intraweb specific code}
{$ENDIF}
Run Code Online (Sandbox Code Playgroud)

然后另一个问题是"迁移计划",假设我有300个功能,在第一个版本中,我将只在Web应用程序中提供50个.如何跟踪它?我在想(ab)使用Delphi接口来处理这个问题.例如,对于用户身份验证,我可以在过程中移动所有相关代码并声明如下界面:

type
  IUserAuthentication= interface['{0D57624C-CDDE-458B-A36C-436AE465B477}']
    procedure UserAuthentication;
  end;
Run Code Online (Sandbox Code Playgroud)

通过这种方式,当我在两个应用程序(胖客户端和Intraweb)中实现IUserAuthentication接口时,我知道该功能已被"移植"到Web上.无论如何,我不知道这种方法是否有意义.我制作了一个原型来模拟整个过程.它适用于"Hello world"应用程序,但我想知道它是否对大型应用程序有意义,或者这种接口的想法只会适得其反并且会适得其反.

我的问题是:这种方法有意义吗?(接口的想法只是一个额外的想法,它不像上面描述的通用代码部分那么重要)它是一个可行的选择吗?

据我所知,这取决于很多类型的应用程序,无论如何我是CRM/Accounting域中的通用,并且单个安装上的并发用户数通常小于20,峰值为50.

额外评论(更新):我问这个问题是因为我没有n层应用程序,所以我认为Intraweb是拥有一个与胖客户端有共同代码的Web应用程序的唯一选择.在我的特定情况下,从Delphi代码开发Web服务是没有意义的,所以我可以选择使用ASP.NET编写Web界面(复制业务逻辑),但在这种情况下我无法利用公共代码.简单的方法.是的我可以使用dll,但我的代码不适合.

sql-server delphi intraweb devart 2-tier

4
推荐指数
1
解决办法
2247
查看次数

使用单个键快速移动IDE以搜索单个字符(类似vi)

我最近开始在IDE中使用Ctrl-LeftArrow和Ctrl-RightArrow来移动一行源代码(或者,就此而言,在任何Windows输入屏幕中).(当然,Ctrl-Shift-LeftArrow会突出显示文字.也非常有帮助.)

我很高兴看到它节省了我的时间,因为我不需要伸手去抓鼠标.

这需要一些练习(以及学习你的CTRL和箭头键所在的位置,所以可以点击它们而不向下看),但是如果你不使用这种方法来移动Windows文档,我建议你尝试一下!

现在,作为进一步的加速,我想跳到单个特定角色的下一个实例.

很多年前,我简单地使用了"vi"编辑器,我记得,在这个编辑器中键入一个小写字母g然后单个字符跳转到该字符.并且大写字母G在搜索的前一个单个字符上进行了"再次搜索"(如^ L).当然vi是模式化的,所以这个命令是可用的.在IDE中,它必须是一个控制字符.

我认为这将真正加快我周围的IDE我的源代码运动.

我从来没有做过很多可用于增强IDE的工具(这里是Delphi 10).我可以使用哪些工具以及将其添加到IDE有多难?

是否有任何第三方IDE加载项提供此类功能?

TIA

delphi delphi-2010

4
推荐指数
1
解决办法
673
查看次数

将HTML组件安装到Delphi XE中

我认为pbear的组件HTML Components,v 9.45,正是我所需要的.他的免费下载只包含Delphi 2006及更早版本的软件包.我有Delphi XE.我如何将他的组件安装到我的Delphi中?

delphi delphi-xe

4
推荐指数
1
解决办法
2528
查看次数

在 TChart 中设置线条颜色

如何在运行时更改 Delphi 中 TChart 中线条的颜色?例如,我将如何更改以下颜色:

图1.系列[a]。

delphi teechart delphi-7

3
推荐指数
1
解决办法
5163
查看次数

Delphi - MySQL最佳数据感知组件

我需要我的应用程序连接到我的Web服务器的MySQL数据库,这是什么最好的选择.提供数据感知组件.

我尝试了zeos 7,但我一直收到错误:SQL错误:客户端不支持服务器请求的身份验证协议; 考虑升级MySQL客户端,但无法修复它.

谢谢

-Brad

mysql delphi delphi-2009

3
推荐指数
2
解决办法
2623
查看次数

如何以编程方式获取网站的状态标题

我正在Delphi中编写win32服务(应该能够翻译任何其他代码,如果你不懂delphi),需要获取网站的状态.我知道如何在.NET中执行此操作,但我不确定正常的基于Windows的编程.因此,我需要查询网站并返回状态代码200,301等.我的计划是解析返回的数据,如果我的某个网站发生故障,请发送电子邮件.

有人能伸出援助之手吗?

编辑:这是我最后使用的代码 - 使用TIDHttp Indy组件.

IdHTTP.Get('http://www.example.com');
  if IdHTTP.Connected then begin
     ResponseCode := IntToStr(IdHTTP.ResponseCode);
     ShowMessage(ResponseCode);
  end;
Run Code Online (Sandbox Code Playgroud)

delphi service windows-services http-status-codes http-headers

3
推荐指数
1
解决办法
1389
查看次数

在运行时绘制和操纵形状

使用Delphi在运行时以交互方式绘制形状的最佳方法是什么?我需要能够选择,拖动和调整形状大小.这将用于标记现有图像和文档.

这看起来是一个很好的起点,但我想知道是否有更完整的库(最好是免费的)可以节省一些时间.

更新:

如果您从头开始使用自定义解决方案,我在Delphi Central上看到了另一个可能是更好的起点的示例.

delphi graphics

2
推荐指数
1
解决办法
5287
查看次数

德尔福:排序列表

我需要在Delphi中排序接近1,00,000个浮点项.我是Delphi的新手,想知道是否有现成的解决方案.我尝试了一些语言提供的构造,并且他们花费了大量的时间来完成运行.(应用程序的执行时间为5-10秒)

delphi sorting scalability

2
推荐指数
1
解决办法
5049
查看次数