标签: pascal

嵌入pascal

是否有人知道可以嵌入C++(或Pascal以外的任何其他东西)应用程序的Pascal解释器/编译器?我正在克隆(缺少一个更好的词)一个使用Object-Pascal兼容的脚本语言并且需要与脚本兼容的应用程序.我最终会写一个翻译吗?(!)

scripting pascal embedding

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

Pascal评论是否应该嵌套?

我有一个编译器作业问题,希望我为Pascal评论绘制DFA,但我从来没有(也可能永远不会)使用Pascal.问题没有说明我们是否应该使用ANSI Pascal或Turbo Pascal,所以我打算为两者做一个.

一些谷歌搜索向我展示了Turbo Pascal允许嵌套注释,只要没有使用相同的分隔符{(*comment*)},所以可以(*{comment}*),但是,{{comment}}或者(*(*comment*)*)不好.我的问题是,如果评论喜欢{(*{comment}*)}或者(*{(*comment*)}*)没有问题,因为相同的分隔符不会连续使用.

我也用谷歌搜索ANSI Pascal是否允许嵌套注释,但我还没有找到明确的答案.如果ANSI Pascal允许嵌套注释,那么规则是什么?

另外,我并不担心不同的起始和结束分隔符的奇怪的注释约定,这是ANSI Pascal中允许的约定.

更新:

我想明确的是我并不关心特定编译器如何处理Pascal注释,我关心编译器应该如何处理Pascal注释,如果该编译器100%遵守ANSI或TURBO Pascal标准.

pascal comments

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

什么是首选的Pascal文件扩展名?

是吗:

  • .p
  • .pl
  • .pas
  • .pascal

或者是其他东西?

如果您不使用首选扩展名,各种Pascal编译器(尤其是fpc)会不会出现问题?

pascal file

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

什么是一致的数组?

我试图弄清楚一致的数组是什么,但我无法在任何地方找到一个好的定义.任何人都可以解释这是什么,并给我一个基本的例子,他们的目的是什么?

谢谢

arrays pascal

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

如何通知Free Pascal Compiler为已编译的应用程序设置区域设置ID

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

delphi locale pascal fpc

8
推荐指数
2
解决办法
1260
查看次数

用于更改单元名称及其所有引用的工具

如果我对单元进行重大更改,我想更改其名称以明确这是一个不同的版本,并避免与其他存档版本混淆,例如:CSVUtils.PAS成为CsvUtilsNew.PAS

但是必须手动更改其他单位对它的所有引用,例如:

Unit ManiForm

Uses
  CSVUtils 
Run Code Online (Sandbox Code Playgroud)

Unit ManiForm

Uses
  CsvUtilsNew
Run Code Online (Sandbox Code Playgroud)

这在复杂的项目中非常费力.

伊卡洛斯非常善于找到所有参考文献,但我找不到任何可以自动更新所有其他单位的工具.

有谁知道任何自动更新单位参考的工具?

非常感谢

delphi pascal

8
推荐指数
3
解决办法
1845
查看次数

用于调用OpenSSL EVP函数的Delphi/Pascal示例

有没有人有一个Delphi/Pascal示例来调用下面的OpenSSL函数...

http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/packages/openssl/src/openssl.pas?revision=17634&view=markup

我特别感兴趣的是:

procedure EVP_CIPHER_CTX_init(a: PEVP_CIPHER_CTX);

function EVP_CIPHER_CTX_cleanup(a: PEVP_CIPHER_CTX): cint;

function EVP_CIPHER_CTX_set_key_length(x: PEVP_CIPHER_CTX; keylen: cint): cint;

function EVP_CIPHER_CTX_ctrl(ctx: PEVP_CIPHER_CTX; type_, arg: cint; ptr: Pointer): cint;
//
function EVP_EncryptInit(ctx: PEVP_CIPHER_CTX; const chipher_: PEVP_CIPHER;const key, iv: PByte): cint;

function EVP_EncryptUpdate(ctx: PEVP_CIPHER_CTX; out_: pcuchar;outlen: pcint; const in_: pcuchar; inlen: cint): cint;

function EVP_EncryptFinal(ctx: PEVP_CIPHER_CTX; out_data: PByte; outlen: pcint): cint;

function EVP_DecryptInit(ctx: PEVP_CIPHER_CTX; chiphir_type: PEVP_CIPHER;const key, iv: PByte): cint;

function EVP_DecryptUpdate(ctx: PEVP_CIPHER_CTX; out_data: PByte;outl: pcint; const in_: PByte; inl: cint): cint;

function EVP_DecryptFinal(ctx: PEVP_CIPHER_CTX; …
Run Code Online (Sandbox Code Playgroud)

delphi pascal openssl freepascal

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

如何检查字符串是否包含Pascal中的字符串

我尝试了下面的代码,它应该检查一个字符串是否包含空格但是我得到一个错误.我怎么能检查一下

if Index('some string',' ')>1 then begin
   Result:= False;
 end
 else begin
      Result := True;  
 end;
Run Code Online (Sandbox Code Playgroud)

pascal

8
推荐指数
2
解决办法
1万
查看次数

如果使用调试编译器设置编译exe文件,是否更容易逆向工程或破坏Delphi程序?

如果我在发布程序之前意外忘记切换到发布配置,那么对我的代码进行反编译或反向工程更容易吗?

例如,如果我不小心使用以下调试编译器选项:

1. Compiling:
    - StackFrames = True

2.  Debugging
    - Debug information = Debug information
    - Local Symbols = True
    - Symbol Reference info = Reference Info

3.  Linking
    - Map File = Detailed
Run Code Online (Sandbox Code Playgroud)

我已经阅读了帮助,除了地图文件也以某种方式与二进制文件一起发布之外,我可以告诉它没有多大区别,所以我想知道如果有人有地图文件会有多大差异?

delphi debugging pascal

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

如何在Lazarus中为Mac执行相当于shellexecute()的操作?

我怎样才能shellexecute()在Lazarus中为Mac 执行相同的操作?

delphi macos pascal lazarus

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