gpt4 book ai didi

delphi - 当字符串中有名称时使用指针

转载 作者:行者123 更新时间:2023-12-03 15:58:28 26 4
gpt4 key购买 nike

我有多个指针,每个指针的名称都是这样构建的'str'+'name'。因此,假设指针 1 的名称为 strpointer1,指针 2 的名称为 strpointer2,依此类推;

我将所有这些名称存储在某处,并且在某个时刻我会将指针 1 的名称存储在字符串变量中,此时我需要对该指针执行某些操作。

当我只有字符串中的他的名字时,如何使用该指针?

更好的解释(我希望):

我尝试使用 devexpress 套件的本地化组件来翻译从 sql 表动态生成的菜单;

举个例子:对于菜单的"file"组件的标题,您在本地化程序中声明其他语言的翻译,然后您将获得指向这些翻译的指针(我将其命名为“filecap”)。

当我在设计时绘制菜单时,我会像这样分配 File.caption :

File.caption := cxgetresourcestring(@filecap);

函数cxgetresourcestring(apointer):string;

但我正在动态地绘制菜单:我正在从 TTable 中读取菜单项,然后将它们存储在动态数组中。所以这就是我正在谈论的时刻,通常我会这样做:

MenuItems_Array[i].caption := tbl_menu.fieldbyname('MenuItemName').asstring;

但现在我想使用我尝试过的定位器:

MenuItems_Array[i].caption := cxgetresourcestring(tbl_menu.fieldbyname('MenuItemName').asstring);

这当然会返回一个错误:指针类型和字符串不匹配;

最佳答案

cxGetResourceString(和cxSetResourceString)函数旨在获取(和设置)现成的 DevExpress 组件的翻译。

我不是 100% 确定,但我认为它只是设计用于对资源字符串变量进行操作: http://docwiki.embarcadero.com/RADStudio/en/Resource_Strings

我认为这根本不是你想要的。您想要 C 语言中的 gettext() 之类的东西,但 DevExpress 没有提供。

一些解决方案的列表:

http://delphi.about.com/od/toppicks/tp/aatplocalize.htm

Delphi IDE 还内置了翻译支持:

http://docwiki.embarcadero.com/RADStudio/en/Localizing_Applications_by_Using_Translation_Manager_Index

关于delphi - 当字符串中有名称时使用指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12172868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com