标签: firemonkey

Delphi android无法使用TPath

我需要存储从相机拍摄的照片,并且我正在尝试使用您可以在下面找到的代码。

ImagePhoto.Bitmap.SaveToFile(  TPath.Combine(TPath.GetCameraPath, getNewName) );
Run Code Online (Sandbox Code Playgroud)

特别是变量名称代表:

  • ImagePhoto:包含拍摄图片的 TImage
  • getNewName:返回类似 filename.bmp 的字符串的函数

我已包含System.IOUtils在 use 子句中,但 TPath 无法正常工作。当我按下 Ctrl 并单击 TPath 时,IDE 将打开此

TPath = class(TCustomPath)
Run Code Online (Sandbox Code Playgroud)

这是在 FMX.Objects 内部,而不是 System.IOUtils!我怎样才能解决这个问题?我正在使用德尔福东京。

基本上我需要知道如何指定我需要 IOUtils 中的 TPath。

delphi firemonkey

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

如何检测FMX列表视图何时滚动到底部?

我正在开发 FiremonkeyTListView来显示搜索结果。此列表一次加载 25 个项目,但可能会显示数百个项目。

我需要检测用户何时向下滚动到底部,以便我可以获取接下来的 25 个项目以显示在列表中。但是,我找不到合适的属性来确定这一点。

有一个OnPullRefresh事件,但这适用于滚动到列表顶部并将其下拉。我需要的是类似的,但是是列表的底部而不是顶部

有一个OnScrollViewChange事件,看起来很合适。还有ScrollViewPos属性,也很有用。但是,我无法弄清楚将该数字与什么进行比较 - 具体来说,是 的最大可能值ScrollViewPosScrollViewMax我需要类似的东西。

但我找不到更多的东西来准确检测用户已滚动到底部。

如何检测用户何时滚动到 Firemonkey 底部TListView以便加载更多搜索结果?

编辑

如果由于某种原因无法做到这一点,则可以使用“加载更多...”按钮将虚拟项目添加到列表末尾。但我宁愿它是自动化的。

编辑2

我忘了提及...我在此列表视图中显示了搜索框,并且项目可以具有可变的高度。如果按照物品内容来计算是唯一的方法,那么这样的计算就必须是完美的。我不想知道用户何时“接近”或“接近”底部,而是知道用户何时恰好到达列表的底部。

delphi listview scroll firemonkey

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

firemonkey 中的透明表单和样式书

我有一个应用程序,其中包含多个样式手册,其中包含来自 delphistyles.com 的样式。我想添加一个轨迹栏,以允许用户在运行时更改表单的透明度,就像在 VCL 中使用 alphablend 所做的那样。

这篇文章:FireMonkey 中的 AlphaBlend说道:

要使表单背景半透明,您应该将表单透明度属性设置为 true 并使用带有 alpha 值的 Fill.Color,如 $AAFFFFFF(with Fill.Kind = bkSolid)。在这种情况下,窗体边框变得不可见(至少在 Delphi XE2 中)

但是,当我的表单有样式手册时,我该如何实现这一目标呢?

delphi alpha-transparency firemonkey firemonkey-style

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

如何使选项卡不可见,但不显示选择选项卡时显示的工作表?- 德尔福FireMonkey

我希望能够通过 tabB 上的按钮打开 tabA。但我不希望用户除了使用该按钮之外还能够打开 tabA。但是,如果您设置它TabA.Visible := False,则会将选项卡和选项卡表设置为不可见。有没有办法解决?

我的想法是,当我需要显示 tabA 时,用空白白色图像覆盖 tabB,而当我需要显示 tabB 时,只需隐藏所有 tabA 控件。对于这个问题来说,这是最好的做法吗?

delphi firemonkey

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

自定义Android权限请求消息?

按照 Embarcadero Android 权限模型文档并查看 Camera cpp 移动片段示例,我现在可以成功请求用户权限。

但是,我不知道如何自定义请求消息。我只是请求许可read external storage- 我不希望收到询问照片等的消息。

在此输入图像描述

我如何自定义此消息?

c++builder firemonkey c++builder-10.3-rio

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

如何将 onFinish evant 添加到 Firemonkey 中的 TAnimate

我在 Delphi 10.3.3 中有代码:

 MainForm.Circle1.AnimateInt('Height', 150, 0.5, TAnimationType.InOut,
    TInterpolationType.Linear);
Run Code Online (Sandbox Code Playgroud)

如何为此动画添加 OnFinish 事件,如 ShowMessage('Finish')

delphi firemonkey

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

如何从 Delphi 中的 TRESTReponse 获取子项值?

我需要获取包含以下 JSONsubitem1的 a 的值:LResponse

"Information": {
    "subitem1": "2011",
    "subitem2": "Test"
}
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码来获取其他值,它运行良好,但是当我尝试获取Information, subitem1or时subitem2,它返回一个空值。

var
  LClient: TRESTClient;
  LRequest: TRESTRequest;
  LResponse: TRESTResponse;
begin
  LClient := TRESTClient.Create(URL_API);
  try
    LRequest := TRESTRequest.Create(LClient);
    try
      LResponse := TRESTResponse.Create(LClient);
      try
        LRequest.Client := LClient;
        LRequest.Response := LResponse;
        LRequest.Method := rmGET;
        LRequest.Params.AddHeader('Authorization','Bearer '+FToken);
        LRequest.Params.ParameterByName('Authorization').Options := [poDoNotEncode];
        LRequest.Params.AddHeader('Accept', 'application/json');
        LRequest.Execute;

        LResponse.GetSimpleValue('subitem1', FLogradouro);
        { ... }
Run Code Online (Sandbox Code Playgroud)

delphi response firemonkey

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

如何获取当前设备的dpi?

是否有任何函数可以检索移动设备(android/ios)的 DPI(或屏幕密度)?我隶属于德尔福悉尼公司。

delphi android ios firemonkey

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

如何在 FMX 中隐藏 TTabControl 的所有选项卡标题

在 中FMX.TTabControlTabItem.Visible使整个选项卡不可见。选择它不会显示任何内容。我知道那时我可以让它可见。

如何隐藏所有选项卡标题?

delphi tabcontrol firemonkey

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

TMapAccess.maReadWrite 未使用 DELPHI 11 定义

下面的代码片段适用于 DELPHI 10.4 和 FMX 框架,但不能使用 DELPHI 11 进行编译。错误:maReadWrite 未定义

[dcc64 Error] ImageUnit.FMX.pas(5340): E2003 Undeclared identifier: 'maReadWrite'
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题以及如何编写使用 DELPHI 10.4 和 DELPHI 11 进行编译的代码?

 var bit : TBitmap;
 begin
  if (Bit.Map(TMapAccess.maReadWrite, bitdata1)) then
    try
      for i := 0 to Bit.width - 1 do
        for j := 0 to Bit.height - 1 do
        begin
Run Code Online (Sandbox Code Playgroud)

delphi firemonkey

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