问题标签 [freepascal]
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.
emacs - Emacs 有没有好的 Object Pascal 模式?
我最近一直在做一些 Object Pascal,但我一直无法找到一个好的模式。我试过delphi-mode
and pascal-mode
,两者都试图提供太多帮助;当他们无法理解 Object Pascal 语法时,很难强迫他们正确格式化代码。我一直在使用 Geany,但我想念我的 Emacs。我应该尝试另一种 Pascal 模式吗?
编辑
这是在 Free Pascal 中实现的 Object Pascal。
delphi - 如何在 Free-Pascal 中转义保留字?
实际上,我正在将一些库翻译为 free-pascal。所以问题是在delphi中可以使用&符号来转义保留字,但在free-pascal中不起作用。编译器抱怨此消息
ForLibDx.pas(72,13) Fatal: illegal character "'&'" ($26)
当包含 & 符号时。
实际上我正在使用{$MODE DELPHI}
free-pascal 下编译我的单元
FPC 2.2.4
拉撒路 0.9.28.2
提前致谢。
delphi - 在 FPC 下的自动化对象中使用标识符或保留字
实际上我在 Free Pascal 下使用 OLE 自动化,但是有些对象具有使用保留字作为名称的属性,所以我无法编译代码。
检查这个样本
这是错误
StdOleAux.pas(783,15) 致命:语法错误,应为“标识符”,但找到“类型”
所以问题是当它们的名称是保留字时,我如何在 FPC 中访问这些属性?
FPC 2.2.4
拉撒路 0.9.28.2
使用 {$MODE DELPHI}
arrays - 多种类型的动态数组元素删除
此外,还有为每种类型删除元素的令人讨厌的过程:
将过程绑定到全局对象并不聪明,但编译器抱怨,当 avar Dyna: array of TSomething
在函数参数中时,所以使用 Dyna 而不是寻址到 dynarray1。所以我什至不能用 var 参数重载多种数据类型的函数!
SetLength(Dyna, length(dynarray1)
类型不匹配!
SetLength(Dyna, length(Dyna)
类型不匹配!
想要什么:
重载
DeleteElement(var Arr: TMultipleTypes, N: element)
:见上,为什么达不到这个目标。适用于数组中任何类型数据的单一
DeleteElement
实现?类似 <template> 类型的支持?
freepascal - 数组键名和文件条目的更好关联是什么?
来源:
我考虑编写简单的宏,例如:
但由于不同的返回类型,它仍然是三个(整数、字符串、布尔值)类似的函数(不像?),或者曾经有六个函数,如果我抛出方向参数并得到一组setkey
and getkey
,或者,(允许key(overload: call set if 4-th parameter presents)
值为空,因此检查值不是决定的方法)
有什么方法可以缩短函数的数量并将 dynarray1[v].Element_Name 与可能传递给 GetValue() 的键相关联?某种类似反射的 API 来访问键名?
php - 帕斯卡 isDir 函数
我想制作一个列出某个目录中包含的文件的程序。我想列出文件并且只列出文件,而不是该目录中的文件夹。我怎样才能在 Pascal 中做到这一点?如果在 PHP 中,有一个名为“isDir”的函数,如果指定的参数是目录(文件夹),则返回 true。使用此功能,我可以检查我正在使用的“路径”是文件还是文件夹。
现在,我正在使用 FindFirst 和 FindNext 过程来获取目录中的所有文件/文件夹。
lazarus - TFPTimer 不“滴答”
我正在编写一个游戏,我试图将界面和模拟器分开(两者都使用单独的计时电路运行 - 理论上动画将同步,并且模拟每秒只能运行 10 次......或者其他的东西)
我的 TFPTimer 出现问题。它使用 Games 构造函数初始化,如下所示:
问题是 OnTick 似乎从未被调用过。我在客户端下运行了一个单独的循环,其中包含 SDL_Delay。我是否需要以某种方式将 TFPTimer 事件化?我应该给它自己的线程(还是已经有线程?)关于让我的计时器工作的任何想法?
谢谢
拉克兰
c# - 使用来自 mono 的 freepascal 库 (.dylib)
虽然学习 C# 和 Delphi Prism 以与 monotouch 一起使用是有益的,但我正在寻找一种方法来重用用普通 Object Pascal 编写的代码。简单地重写我 15 年来在 Delphi 中所做的一切是完全不能接受的。
所以我的问题是双重的:
- 如果为了争论,我有一个用普通 Object Pascal 编写的库,没有外部依赖项,并用 iPhone 的 ARM freepascal 编译器编译 - 我可以使用 monotouch 生成的 dylib 吗?
- 如果以上是正确的,我如何从 C#/Prism 声明和调用这些外部函数?我如何处理单声道中的传递记录类型等?
我注意到其他 iPhone 应用程序附带了它们自己的 dylib 文件(SDL 游戏库就是一个典型的例子)。我找不到为什么这不起作用的原因。
delphi - 为什么 Pascal 控制结构似乎不一致?
大多数 Pascal 控制结构对我来说都很有意义,例如:
其中 {statement} 是单个语句或begin ... end块。我有一个问题:
repeat和try具有相同的一般结构,只接受单个语句或begin ... end块,而不是有一个没有被begin和end正式阻止的语句列表,这不是更好吗?
symbian - 有没有办法将 Free Pascal 代码编译为 Symbian OS .sis
我们都知道 Free Pascal 可以针对支持 Symbian OS 的平台进行编译,那么是否有可能,痛苦地不得不说,获得一种编译成 .sis 格式的方法?
非常感谢!!