问题标签 [delphi-prism]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1003 浏览

delphi - 如何在单个语句中将 ListBox 中的对象分配给 ArrayList?

在 Delphi Prism 中,我需要在单个语句中将 ListBox 中的 objectcollection 分配给 ArrayList。到目前为止,我还没有找到任何解决方案。

在德尔福,我就是这样做的。

Groups 是 Delphi 中的 TList 和 Delphi Prism 中的 ArrayList。当我尝试在 delphi prism 中做同样的事情时,它给了我以下错误。

“Groups.TGroupList”在表达式“theUser.groups.Assign”中不包含“Assign”的定义

如果 ArrayList 没有接受 objectcollection 的方法,那么我将不得不遍历 ListBox 项中的每个对象并将其添加到 ArrayList。

你会怎么做?

提前致谢。

0 投票
3 回答
153 浏览

winforms - Delphi Prism:如何在不显示的情况下加载 Winform?

我有一个需要加载的 winform 以在显示之前更新其控件的值或属性。

我发现一个stackoverflow问题问同样的事情,但它的答案并没有真正帮助我。加载表单而不显示它

任何示例代码将不胜感激。谢谢,

0 投票
1 回答
213 浏览

winforms - Delphi prism 中 RadioGroup 的替换

在 Delphi 中,有 RadioGroup 控件,但在 Delphi Prism 中没有。不知道德尔福棱镜有没有类似的控制?我搜索了我的工具箱,我能找到的只有 CheckedListBox。我一直在使用它,但此控件的功能与 RadioGroup 控件不同。

0 投票
1 回答
872 浏览

delphi - Delphi Prism:如何覆盖 GetHashCode 和 Equals 方法以使 IndexOf 正常工作?

我不确定我这样做是否正确。我在列表框中有一个对象列表,需要使用 IndexOf 来获取列表中对象的索引。

alrm 是 TAlarm 类的对象。

基于 StackOverflow C# 问题(How Can I Get the Index of An Item in a ListBox?),我尝试覆盖 GetHashCode 和 Equals 方法,但它仍然无法正常工作。

重写方法:

这就是我填充 AlarmListBox 的方式:

编译器编译没有任何错误,但是当我逐行调试程序时,它总是返回 -1 并且这些被覆盖的方法永远不会被调用或触发。

我是否正确实施了这些覆盖?如果没有,我应该如何覆盖它们?

示例代码或提示或线索将不胜感激。谢谢,

更新:对于大卫赫弗南和其他评论或回答的人,我认为问题可能是我传递了两个不同的对象,正如 Rob 的最后评论所述。我确实使用 TAlarmGroup 填充列表框(UI),但将 TAlarm 传递到 IndexOf,尽管它们都是相同的类。这可能是我的问题。我真正想做的是用 TAlarmGroup 对象填充列表框,并通过 listbox.indexof 通过传入字符串(标记名)来搜索对象位置。这就是它在 Delphi XE 上的工作方式,效果很好。上面的代码不是实际的代码。一旦我清理了代码中的混乱,它可能会在不覆盖 GetHashcode 和 Equals 方法的情况下工作。

更新:我想,我在这里偶然发现了一些东西。在 Delphi XE 或更低版本中,ListBox (UI) 提供了一个名为 AddObject 的方法。它的参数分别是一个字符串和一个对象。因此,当我将对象填充到列表框中时,我还提供了与之配套的字符串。当我搜索时,我传入了一个字符串或警报组名称。IndexOf 针对我提供的每个对象的字符串而不是对象的字段 (TagName) 搜索此字符串。在 Delphi Prism 中,listbox 没有与 AddObject 方法类似的方法,但只有 Add 只接受对象作为参数。

0 投票
1 回答
141 浏览

.net - 使用 Delphi Prism 在计算机上保存 HTTP jpeg 图像?

我有一个使用 Delphi Prism 编写的脚本来提取网页上的特定图像。

我只需将 URL 放在 PictureBox.ImageLocation 中即可在 PictureBox 中显示图像

如何将此图像保存到计算机上的某个位置?

非常感谢

0 投票
1 回答
519 浏览

delphi - Delphi Prism:替换 TMathparser 类以评估复杂表达式?

在 Delphi 中,我使用一个名为 TMathparser 的组件来评估表达式以获得答案。我试图让它在 Delphi Prism 中工作,但效果不太好。事实上,错误太多了。所以,我想知道是否有类似的东西可以与 Delphi Prism 一起使用。

谢谢,

0 投票
1 回答
658 浏览

.net - System.Drawing.Rectangle 找不到“底部”或“左侧”或“右侧”或“顶部”的属性设置器

在Delphi Prism中,我试图设置矩形属性,左上或下,编译器一直说它找不到设置器来为矩形的这些属性设置值。

我查看了与此相关的其他 stackoverflow 问题,但没有找到好的答案。

我希望能够将 Rectangle 设置为顶部、底部、右侧或左侧值,以便能够执行以下操作。

显然,你不能这样做。你如何在 Delphi Prism 中完成同样的事情?

0 投票
1 回答
1299 浏览

.net - 在不导入 winmm.dll 或 microsoft.visualbasic.dll 的情况下播放声音文件

我正在使用 Delphi prism 编写程序。目标是能够在同一个项目的 Windows 和 linux(单声道)上运行。所以,在这一点上,我需要有一种方法来播放 windows 和 linux(mono) 的声音文件,而不必导入 winmm.dll 或 microsoft.visualbasic.dll。

因为我也需要这个在单声道上工作,所以我不想使用 visualbasic.dll。过去,它给了我各种各样的问题。

有没有办法在不使用这些 dll 文件的情况下播放声音文件?

更新

无论声音播放器是如何实例化和使用的,它在 windows 操作系统下总是可以正常工作,而在单声道下的 Linux 上它有时会播放,有时它根本不会播放。

第一个版本:

第二版

0 投票
2 回答
63 浏览

.net - “A 类型不能用作独立语句”错误是什么意思?

这是用于 .NET 的 Delphi Prism。我遇到了这个错误,“A type cannot be used as a standalone statement”,我不明白也不知道为什么。编译器指向 var 关键字正下方的行。

谷歌搜索也没有帮助。

提前致谢。

0 投票
1 回答
60 浏览

.net - “从另一个类型使用的类型必须是公共的”错误是什么意思?

.NET 的德尔福棱镜:

对于我的一些成员函数,我收到一个错误,“从另一个类型使用的类型必须是公共的。”

例如,看看我的一些引发错误的成员函数。

所有这些方法都来自公共访问说明符下的一个类。

那么,他们为什么会提出这个错误呢?

谢谢,