我对PHP dockblocks非常熟悉,因为它是我过去15年来的工作.
/**
* Description
*
* @tag bla bla
* @tag more bla bla
*/
Run Code Online (Sandbox Code Playgroud)
我想要了解的是,对于Delphi和/或FreePascal,是否存在类似的标准.
从我对很多代码的分析我从未见过,但我可能是错的.
我在我的Mac上有一个由GCC编译的x86_64库,我想将它与使用Free Pascal 2.4编译的Pascal代码链接.我可以使用哪些选项fpc来生成64位代码?没有任何选项,我只获得32位.o文件.
我正在使用来自SourceForge 的fpc-2.4.0.intel-macosx.dmg下载,但是当我运行时fpc -i,它列出的唯一目标Macintosh平台是"Darwin for i386",尽管2.4版本说明它可以定位"64 -bit Mac OS X(x86_64/ppc64)."
我开始玩FreePascal/Lazarus,似乎有一个Indy端口可用.这是一个最近的端口,它是否足够稳定,可用于生产?(标准HTTP post/get客户端类型工作,以及基本TCPIP服务器端.)
或者,也许Indy明确开发用于FreePascal以及Delphi,所以最新版本可行吗?
谢谢!
如何在UTF-8中将WideString(或其他长字符串)转换为字节数组?
有没有人有一个Delphi/Pascal示例来调用下面的OpenSSL函数...
我特别感兴趣的是:
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) 我想要记录屏幕(通过每秒捕获15个屏幕截图).这部分我知道怎么做.但我不知道如何将其写成一些流行的视频格式.我找到的最佳选择是将帧写入分离的PNG文件并使用命令行Mencoder,它可以将它们转换为多种输出格式.但也许有人有另一个想法?
要求:
问候
是否可以从C头文件自动生成接口单元?特别是,我想包装HDF5库,如果我可以避免手动编写接口单元那将是很好的.
我正在尝试实现 nsurlconnectiondatadelegate,因为我需要支持异步模式 - 在同步模式下,我不想要自动遵循重定向。
作为参考,我有使用 urlRequest 等在同步模式下工作的代码。
问题是我无法让 FPC/Lazarus 编译我的代码。
...
代码片段
{$mode objfpc}
{$modeswitch objectivec1}
{$modeswitch objectivec2}
Run Code Online (Sandbox Code Playgroud)
...
// We need to implement support for NSURLConnectionDelegate and NSURLConnectionDataDelegate
TmsMacRequestDelegate = objcclass(NSObject)
public
// this will set flag when done
procedure connectionDidFinishLoading(ANSUC: NSURLConnection); message onnectionDidFinishLoading:'; override;
// ... implement rest?
end;
Run Code Online (Sandbox Code Playgroud)
...
requestDelegate := TmsMacRequestDelegate.alloc.init;
urlConnection := NSURLConnection.connectionWithRequest_delegate(urlRequest, requestDelegate);
// ... setup flag
urlConnection.start;
// ... wait here in loop checking flag set by "finish loading"
Run Code Online (Sandbox Code Playgroud)
...
有了上述内容,初步测试似乎不太顺利。我们到达 urlConnection.start; 但 …
大多数Pascal控件结构对我有意义,例如:
for ... do {statement};
if (condition) then {statement};
while (condition) do {statement};
Run Code Online (Sandbox Code Playgroud)
其中{statement}是单个语句或begin ... end块.我有一个问题:
repeat {statement-list} until (expression);
try {statement-list} except {statement-list} end;
Run Code Online (Sandbox Code Playgroud)
重复并尝试具有相同的通用结构,只接受单个语句或开始 ... 结束块,而不是具有未正式阻止开头和结尾的语句列表,这不是更好吗?
freepascal ×10
delphi ×6
lazarus ×4
pascal ×4
64-bit ×1
comments ×1
components ×1
docblocks ×1
hdf5 ×1
indy ×1
indy10 ×1
macos ×1
openssl ×1
repository ×1
utf-8 ×1