草庐IT

Freepascal

全部标签

linux - FreePascal 控制台视频行和列

我正在寻找一种方法来获取FPC下控制台视频的行数和列数。我正在寻找最便携的方式,但至少可以在Windows下(最好也在Linux下)工作。从旧的TurboPascal时代开始,我写了下面的函数,但它们不能在FPC下编译,而且在汇编器中它们不是很可移植。//ReturnthenumberofvideorowsfunctionGetVideoY:Byte;assembler;asmmovax,$40moves,axmoval,es:$84incalend;{GetVideoY}//ReturnthenumberofvideocolumnsfunctionGetVideoX:Byte;ass

windows - 调试器错误 193 拉撒路

我已经有一年无法调试我的程序了。当我按下绿色的运行按钮时,出现以下错误消息:全文为:TheGDBcommand:"-exec-run"returnedtheerror:",msg="ErrorcreatingprocessC:/Users/leven/OneDrive/J\341t\351kpogramok/People/people.exe,(error193).""我已经阅读了很多关于这个错误的论坛,但我的情况看起来有点不同......如您所见,文件路径不包含任何可能出现此问题的字符(无空格,无特殊字母)。我试过在OneDrive之外运行,同样的错误。我花了很多时间在我的程序中寻找

windows - 选择多个复选框以执行条件

我想要一个文本文件在我选中2个复选框后显示memo1中的内容。我该怎么做?我尝试了下面的代码,但似乎无法正确执行。ifCheckBox1.CheckedandCheckBox2.Checkedthenbeginmemo1.lines.LoadFromFile('files\RS.txt');end;我还希望能够单独选择复选框喜欢:(指出这一点以防将它们组合起来阻止单独检查它们)复选框1:procedureTForm1.CheckBox1Change(Sender:TObject);beginmemo1.lines.LoadFromFile('files\R.txt');end;复选框2

windows - 重置非空文件后,Freepascal 发现 eof

让我难住了:在Windows上,FreePascal{...writestextlinestoPdfTmp,then...}close(PdfTmp);reset(PdfTmp);whilenoteof(PdfTmp)dobeginreadln(PdfTmp,InpLine);writeln(ProdFile,InpLine);end;close(PdfTmp);我已经验证PdfTmp文件是用文本写入的,但是eof()函数在第一次调用时返回true,因此永远不会执行whileblock。我对周围的代码尝试了各种技巧来确定可能导致失败的其他原因,包括更新我的FPC编译器,但都无济于事。测

windows - 我在一个列中有一个重复的结果,即使我有针对它的规则。我怎样才能消除这种重复出现的情况?

程序问题是这样的:友好号码:有些数字对被称为“友好数字”。根据定义,友好数字是两个不同的数字,其适当的除数之和等于另一个数字。例如:最小的一对友好数是220和284。220的真约数是:1,2,4,5,10,11,20,22,24,44,55和110。这些除数的总和是284。另一方面,284的真因数是:1、2、4、71和142。这些因数的和是220。因此,220和284被称为“友好号码”。编写程序查找并打印前两打友好数字对。友情号码列表可以查here.我正在尝试转到80620和389924。我的源代码在这里:programFriendlyNumbers;typeList=Array[1.

windows - Windows 7 上的多播套接字

此代码在Linux和WindowsXP上运行良好,但它总是无法在Windows764位和WindowsServer2008上添加多播成员。usesClasses,Sockets,{$IFDEFMSWINDOWS}Windows,Winsock,{$ELSE}BaseUnix,UnixType,{$ENDIF}Sysutils;typeTIP_mreq=packedrecordimr_multiaddr:in_addr;//IPmulticastaddressofgroupimr_interface:in_addr;//localIPaddressofinterfaceend;varAS

windows - Freepascal 刷新 Windows 下每个输出的标准输出?

请看以下四个程序。在Windows下使用Freepascal构建它们并运行,将输出重定向到任何文件,并注意它所花费的时间。我的结果是:所有程序的运行时间大致相同(大约6秒),尽管第四个程序的输出字节数是原来的100倍。这意味着第四个程序每字节输出的运行速度比其他树快得多。对于第二个程序,缓慢的原因很明显:flush调用。对于第三个程序,原因不是很明显,但可以合理地假设每次调用writeln到stdout都会隐式刷新输出缓冲区。然而,目前还不清楚为什么第一个程序比第四个程序慢那么多。然而,添加flush(output);(见程序2)并没有太大改变时间的事实似乎意味着即使在每次write之

windows - 在 Windows 操作系统上将 SDL 与 FreePascal 链接(使用 Lazarus)

好的,对于我正在开发的游戏,我的程序员决定将FreePascal与SDL结合使用,并向我展示了它的工作原理(尽管他使用的是Linux操作系统而我没有)。我尝试了多种将SDL2.dll和附带的头文件链接到Lazarus项目的方法,但它们似乎都不起作用。到目前为止,这是我尝试过的:将.dll添加到我正在处理的项目的项目文件夹中Addingthe.dllstotheFPC"Units"folderinmyOSAddingthe.dllspathintheprojectoptionswindow直接在fpc.cfg文件中添加.dlls文件夹:searchpathforlibraries-FlC

java - 如何使用 JNA 调用返回字符串的 Delphi 函数?

我正在研究从Java程序中调用Delphi编译的*.so文件的函数。经过一些研究,它似乎是JNA他要走的路吗?在深入研究一些复杂的Delphi代码之前,我尝试使用一些“HelloWorld”代码,但在获取Delphi函数返回的字符串时遇到了问题。Delphi代码(helloworld.pp):libraryHelloWorldLib;functionHelloWorld(constmyString:string):string;stdcall;beginWriteLn(myString);Result:=myString;end;exportsHelloWorld;beginend.我

c++ - OpenCV 指向位图处理的指针

我创建了一个从Delphi/Lazarus应用程序加载的用于轮廓检测的共享库。主应用程序传递一个指向位图的指针,以供库内的函数处理。这是库中的函数。参数“img”是指向我的位图的指针。extern"C"{voiddetect_contour(intimgWidth,intimgHeight,unsignedchar*img,int&x,int&y,int&w,int&h){Matthreshold_output;vector>contours;vectorhierarchy;Matsrc_gray;intthresh=100;intmax_thresh=255;RNGrng(12345
12