问题标签 [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.
freepascal - 帕斯卡 - 不写入文件
你好,帕斯卡大师!我有一个自定义记录的文件类型:
以及打开并向文件添加新元素的函数:
问题是,实际上没有任何东西写入文件。我究竟做错了什么?
pascal - 在 Pascal 中实现冒泡排序时出现奇怪的运行时错误
这个片段不仅会导致运行时错误,而且如果我使用调试器运行它,它会使 FPC 关闭。
代码本身是一个非常大的源文件的一部分,我可以发布整个内容,但导致错误的只是那一堆行。调试器在以下行终止:
tplayers 只是一种定义为记录数组的类型,其中包含一堆其他变量中的分数(整数)。tplayers 是上述记录的类型。我完全不知所措;FPC(虽然不在调试模式下)吐出一个超出范围的错误,但在我的观察下,我看到我试图读取的变量存在。非常感谢任何帮助!
delphi - 编写要从 gcc 应用程序调用的 Delphi/FreePascal DLL
我需要将我的部分 Win32 Delphi 应用程序提供给另一家公司的 Linux gcc 程序。
吞吐量和部署要求使任何类型的远程服务都不合适,因此我正在考虑使用 FreePascal 构建 gcc 应用程序可以调用的 .SO(Linux 等效的 DLL)。
自从我使用 C/C++ 并且从未在 Linux 上使用过很长时间了,所以我有点不确定如何最好地构建 DLL/SO 接口以与 gcc 调用者兼容。
这是我的数据结构的表示
要通过 FreePascal 使此 Process 方法在外部可用。所以我需要如何修改这些声明?我在想一些事情
我在正确的轨道上吗?我不必完全正确,其他公司的程序员很可能会纠正我的错误。我只是不想让他们看到我发给他们的东西时笑得太厉害。
mysql - 从外部应用程序查询 MYSQL(我的代码效率低下)?
我有一个数据库,我需要尽可能快地反复查询。我的查询执行得很快,但似乎还有一些额外的滞后。
我有一种感觉,这种滞后是由于我每次都在启动和取消启动连接。有没有办法避免这种情况?
我没有使用 libmysql(至少,不是直接使用)。我在 Lazarus/FreePascal 中使用“mysql50”包(类似于 delphi),它又使用 libmysql(我认为)。
如果有人查看我的代码并指出(或者甚至修复)一些低效率的地方,我将不胜感激。
这个库的目的是传递从 MQL4(金融交易市场的一种类似 C 语言的专用语言)发送的查询,并从我的 MYSQL 数据库(通过管道连接到该数据库)返回一行。
for-loop - Free Pascal - 解决问题的查询(不是语法) - 如何处理此循环的下一阶段
我有更多的“解决问题”问题,而不是与语法相关的问题。
简而言之,我正在创建一个程序,它将读取一个充满单词的文本文件(可能是密码列表),每行一个单词 - 我将在循环中使用 ReadLn 来读取该位。对于它找到的每个单词,我希望它添加“一定量”的混淆,以符合如今用户在密码中使用“3”而不是“E”或“1”而不是“I”的方式。我在 IT 安全领域工作,密码破解通常是其中的一部分,这就是该程序的用途。
到目前为止,我已经设法创建了一个程序,它为字母表中的每个字母生成了一个充满许多不同值的 LEET 表,并将它们堆叠在一个 StringGrid 中,我可以作为该过程的一部分访问它(并且它也可以直观地输出到桌子)。
我的问题是这样的:例如,给定“爱德华”这个词,我如何决定我应该混淆它的级别?只是第一个字母“E”被替换为“3”,也许仅此而已?或者前两个字母 'E' 和 'd' 被替换为 LEET 表中字母 E 和 d 的所有值(这意味着将从 'Edward' 生成几十个新单词,依此类推),或“E”的所有值,但仅此而已……列表还在继续。潜在地,对于每个单词,我都可以创造出数千个额外的单词!一个 100Gb 的源文件很快就会变成 TB!
换句话说,我需要设置程序将运行的“级别”,用户可以决定。但我不确定如何构建该级别?
所以我不确定如何使它工作?在开始之前,我并没有真正考虑清楚。我最初的想法是“有一个程序可以从计算机中获取单词索引,然后生成每个单词的变体来解释混淆字符的人,这将是一件很酷的事情。” 但是在编写代码之后,我意识到这是一项比我想象的更大的工作,我现在被困在实际“LEETing my input file”的部分!
string - 如何交换字符串变量中的一些值并使用 Free Pascal 将其写回新值?
使用 ReadLn(InputFile, strVar) 从文本文件中读取一行后,我需要读取 strVar 的每个字符,如果它包含字母“E”(例如),我想输出(写入新文件,事实上)原始变量,但“E”被交换\替换为数字“3”。
因此,如果从文件中读取“示例”,我希望将“3xample”写入新文件。
如何在 Free Pascal 中编写交换代码(我可以写入文件位)?其他语言似乎有交换功能什么的。
谢谢
泰德
freepascal - 如何在 FreePascal 中逐字读取输入?
我想逐字阅读标准输入(即输入字符串始终是用空格分隔的单词的集合)。现在我正在使用该read
函数,并按字符读取输入字符。
是否可以?谢谢!
c# - FreePascal 64 位 DLL 和调用 C# 应用程序
我正在尝试编译一个 64 位 dll 以用于 64 位 C# 应用程序。我有一个简单的类和一个简单的应用程序来尝试和测试它,无论我尝试做什么,它都会失败。这是代码:
德尔福
C#
任何人都可以看出它有什么问题吗?如果不喜欢创建相同的简单场景来尝试让它发挥作用,我就完蛋了!
exception - 在 GDB 中捕获 FreePascal 异常
我有一个用 fpc 编译的巨大的帕斯卡代码。我收到随机的“EInOutError”异常,我正在尝试使用 gdb 对其进行调试。
我已经尝试过break fpc_raiseexception、catch throw、catch exception、catch catch。似乎没什么用...
引发异常时如何中断(在 gdb 进行回溯)?
windows - 你如何在 FreePascal 中加载多个库?
我可以完美地加载第一个 DLL,但如果我尝试加载第二个 DLL,它会失败。
信息:
- 操作系统:Windows Vista
- FPC:2.4.4
- 无论我是从 EXE 还是从第一个 DLL 中加载第二个 DLL,第二个都会失败。
- 无论第一个 DLL 是否静态加载,第二个都会失败。
- 无论哪个是要加载的第二个 DLL。
- 我控制 DLL 的源代码。
- 没有外部依赖。
- 它发生在非常简单的 DLL 中。
- GetLastError() 返回 487 错误 (ERROR_INVALID_ADDRESS)。
- 它只发生在使用 FPC 生成的 DLL 中。
我缺少一些东西,我无法弄清楚。
谢谢
回答:好的,我发现了我的问题,我的 fp.cfg 文件中有 -WN 命令行开关