问题标签 [fpc]

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 投票
4 回答
14898 浏览

notepad++ - 记事本++ + fpc 编译器

如何结合 Free Pascal 编译器和 NP++(或者其他编辑器,Vim,Geany,...)?即我想要类似IDE:编译,从NP++ 运行,错误\警告列表。我试过http://sourceforge.net/projects/notepad-plus/forums/forum/331753/topic/2084061?message=5036415但它不起作用。还尝试了一些不同的代码

但同样的问题发生

在此处输入图像描述

0 投票
2 回答
1216 浏览

delphi - 类引用作为属性

谷歌对这类搜索毫无用处,因为你会得到数以亿计的结果,这些结果绝对与特定问题无关。

问题很简单:

  • Delphi 中是否可以有类引用属性?
  • 如果是这样,怎么做?

这是我尝试过的...

上面的代码编译得很好,但是 Object Inspector 根本不显示该ObjectType属性。

我在这里的目标(如果您还没有猜到的话)是做到这一点,以便我可以从特定的基类中选择一个类后代,以使相同的组件以不同的方式运行。

我想这样做,这样组件就不需要直接了解子类(它需要完全模块化)。

让我明确一点:我不能使用 Enum 在子类类型之间进行选择,因为组件不能直接链接到子类类型在这种特殊情况下根本不可能

无论如何...提前谢谢!

0 投票
2 回答
202 浏览

pascal - TStringList.Sort 可以返回排序索引吗?

使用 TStringList.Sort 对自由帕斯卡中的字符串集合进行排序,我需要记住初始顺序。是否有可能返回排序后的索引?如果没有,如何有效地做到这一点?

0 投票
2 回答
3942 浏览

delphi - 简单的 Delphi 3d 函数

任何人都可以帮我举一些德尔福中一些简单的、老式的 3d 方法的例子吗?不使用 openGL 或 firemonkey 或任何外部库(香草画布编码)。我想要做的是能够围绕一个共同的 origo 旋转 X 个点。从我过去的记忆中,你从右(在 3d 点上)减去左,这样 origo 总是 0,0 - 然后执行计算,最后添加左/顶部像素偏移以获得实际的屏幕位置。

我正在寻找的是一组小的临时例程,ala:

  • RotateX(aValue:T3dpoint; degr:float):T3dPoint;
  • 旋转Y(--/--)
  • 旋转Z(--/--)

使用这些函数应该很容易创建旧的“旋转 3d 立方体”(8 点)。

此外,是否有用于找出可见“面孔”的功能?如果我想要一个填充的矢量立方体,那么我想我需要提取可见区域(基于距离/重叠?),然后将其绘制为 X 个填充多边形?毫无疑问,这些必须按深度排序,以免弄得一团糟。

例如:

  • PointsToFaces(const a3dObject:T3dPointArray):TPolyFaceArray;
  • SortFaces(Const aFaces:TPolyFaceArray):TPolyFaceArray;

欢迎任何帮助!

0 投票
2 回答
1519 浏览

delphi - 如何通知 Free Pascal Compiler 为已编译的应用程序设置 Locale ID

在 Delphi 中,查看项目属性时有一个选项VersionInfo->Language->Locale ID 。
我在徘徊如何为在 Free Pascal 下编译的程序设置此类属性。
欢迎任何解决方案:命令行参数预处理器指令,例如{$key value}; 相当于德尔福。

0 投票
1 回答
1662 浏览

ide - 从命令行在 Lazarus 上安装没有 IDE 的软件包

我正在尝试使用( this)文章 从命令行自动将我的包安装到 IDE 。

使用 IDE 时,软件包安装正确,我的组件出现在 Lazarus 调色板上。
为了验证文章步骤,在使用 IDE 安装后,我将idemake.cfg,packagefiles.xmlstaticpackages.inc文件复制C:\Users\<user_name>\AppData\Local\lazarus到了一个临时文件夹,所以我在那里注册了我的包。

然后尝试但没有成功:
1. 从 IDE 卸载我的包
2.make clean allc:\Lazarus
3. 调用lazbuild并构建我的包
4. 将所有保留的文件(idemake.cfgpackagefiles.xmlstaticpackages.inc复制到C:\Users\<user_name>\AppData\Local\lazarus
5. 复制保留idemake.cfgc:\Lazarus
6..lpl为我的包创建文件并放置在7. 最后从8.C:\Lazarus\packager\globallinks
调用, 或者尝试并具有相同的结果make idepkgC:\Lazarus
make bigidelazbuild --build-ide=

当 Lazarus IDE 构建并启动时,我可以在已安装的包中看到我的包,但标有green "+". 调色板也错过了我的组件。
如果我选择 then Tool -> Build Lazarus with profile: Build IDE with Packages,这将使我的包在第二次重建 IDE 后正确安装。

版本信息:

拉撒路:0.9.30.2
FPC:2.4.4
操作系统:Win 7

我错过了什么吗?是否可以在没有 IDE 的情况下从命令行注册包?

提前致谢。

0 投票
1 回答
443 浏览

ubuntu - 在 Free Pascal/Lazarus 下处理 Unity 的全局菜单和覆盖滚动条

我在 IDE 下遇到了一些问题,这些问题通过取消设置和禁用全局菜单和覆盖滚动条来解决

我已经在 Lazarus 的 Mantis 中报告了这个问题:#0021465#0021467
还有这个错误报告更多地谈论它:#0019266

他们的解决方案是使用取消设置来关闭全局菜单和覆盖滚动条。

我已经快速搜索了这个问题,并且在 Launchpad 上有一个打开的错误报告:覆盖滚动在 lazarus 中被破坏

那么,问题是否与“lib 覆盖滚动条”有关?
如果是,是否有通过代码的解决方案来避免同时关闭全局菜单和覆盖滚动条?
如果不是,是否有人注意到并解决问题?

非常感谢,格斯

0 投票
3 回答
10996 浏览

file - 在 FreePascal 中读取文件

我有一个具有指定结构的文本文件,即(对于每一行):char、space、char、space、double value、endline。例如

在 Free Pascal 中“提取”这些值的正确方法是什么?

0 投票
1 回答
230 浏览

linux - Freepascal, Indy SVN trunk version, nothing received by PHP client when transfering XML, until removing encoding conversion

I have written a server daemon (Linux, Ubuntu) which communicates with PHP as frontend layer.

Recently, i updated both FPC and the Indy library to its FPC 2.6.0 and Indy to the trunk version (before i was using the Tiburon branch).

All compiled, and everything looked fine, but, when writing to an IOHandler, nothing gets received (by the PHP client), the client will report that 0 bytes were received.

After diving into the problem, i saw that when using the write methods from the IOHandler, the encoding is validated and converted before the response is sent, in the ToBytes() method in IdGlobal.pas.

Now if i comment out the conversion lines in the ToBytes() routines;

This time, the PHP client receives the response.

My question is, how can i configure my Indy tcp server or IOHandlers to stop encoding the data ?

0 投票
5 回答
12018 浏览

pascal - 在 Pascal 中检查类型

我只是想知道如何在帕斯卡中进行类型检查?我现在已经搜索了几个小时,但我找不到任何有用的东西。

例子: