我从来没有使用过任何这些,但是它们列在主要的Free Pascal网站上,我真的很想得到:
所有这一切,以防它仍然使用/标准.
谢谢
我对拉撒路的自由帕斯卡做了一些工作.因此,当客户要求我为mac编写应用程序时,在最初之后,"它无法完成"阶段.(其次是asp.net可能是舞台)我想用lazarus写它.
问题是.我只有一台运行mac OSX的虚拟机,这意味着我真的不想在mac上开发.但是,我似乎无法获得我在Windows上的lazarus中编写的应用程序在Mac上工作.我已尝试使用Lazarus Wiki进行部署,并且MACOS文件夹为空,因此当我将其放在mac上时,它不会运行应用程序.
这样做的最佳方式是什么,还是我咆哮错误的树?
如何创建(当我想要显示它)并在主TForm上销毁(当我想隐藏它时)帧?帧'align = alClient.
我试过这个:
表格:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, uFrame1, uFrame2;
type
TFormMain = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
f1: TFrame1;
f2: TFrame2;
end;
var
FormMain: TFormMain;
implementation
{$R *.dfm}
procedure TFormMain.FormCreate(Sender: TObject);
begin
f1 := TFrame1.Create(Self);
f1.Parent := Self;
end;
end.
Run Code Online (Sandbox Code Playgroud)
第一帧:
unit uFrame1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TFrame1 = class(TFrame) …Run Code Online (Sandbox Code Playgroud) 我正在尝试调试64位程序,但gdb似乎认为它具有i386体系结构。
# file /usr/local/bin/foo
/usr/local/bin/foo: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.4.0, not stripped
# gdb --args foo bar
GNU gdb (GDB) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB …Run Code Online (Sandbox Code Playgroud) 这是我第一次访问这个网站.通常,我在旧帖中找到回复没有问题,但我的实际问题没有成功.
我想知道如何使用RTTI函数在运行时知道Lazarus/FPC下记录的属性/成员?我知道如何为一个类(Tpersistent后代和已发布的属性)执行此操作,但不知道如何为FPC执行此操作.一些链接指示如何在Delphi(来自D2010)下进行,但我不知道如何在Lazarus下转置它.
在此先感谢您的帮助和帮助.Salim Larhrib.
凯文:正如我之前所说,这是我的第一个要求.但是我明白.你是对的.这是我的代码
procedure TMainForm.btRecordTHashListClick(Sender: TObject);
var
pTData : PTypeData;
pTInfo : PTypeInfo;
TablePtr : PatableRecord;
Loop : Integer;
begin
// Set of Record pointers + HashList
// Create Container
if not Assigned(FTableRecList) then FTableRecList := TFPHashList.Create;
// Insert data
new(TablePtr);
TablePtr^.description := 'Dictionnaire des tables.';
FTableRecList.add('atable', TablePtr );
new(TablePtr);
TablePtr^.description := 'Dictionnaire des fonctions.';
FTableRecList.add('afunction', TablePtr );
new(TablePtr);
TablePtr^.description := 'Dictionnaire des listes d''option.';
FTableRecList.add('alist', TablePtr );
// Read records
for Loop:=0 to FTableRecList.Count-1 do
begin
TablePtr …Run Code Online (Sandbox Code Playgroud) 我是计算机科学专业的学生,我正在学习Pascal编程.
我找到了一个有趣的Pascal编译器P4(http://homepages.cwi.nl/~steven/pascal/).
要了解有关Pascal的更多信息,我正在尝试编译他们的源代码,但我失败了.
在这个网页上,他们说:
- 使用Pascal编译器编译pcom.p和pint.p.你显然必须有一个Pascal编译器.这为您提供了一个生成P4代码的Pascal编译器(pcom)和一个运行P4代码的解释器(pint).
- 要使用编译器,请使用Pascal程序作为标准输入运行pcom.这会在标准输出上产生任何诊断,并在Pascal文件上生成名为prr的代码.检查Pascal编译器如何将其分配给文件存储中的文件.您可能必须更改pcom.p和pint.p中的行'rewrite(prr)'和pint.p中的'reset(prd)',例如"rewrite(prr,'prr')"等等. .
- 要运行生成的代码,请运行pint,将pcom生成的prr输出作为文件'prd'的输入,并在标准输入上输入已编译的Pascal程序.
我用Free Pascal编译了它(在https://ideone.com/上),但也失败了.
Free Pascal Compiler version 2.6.4+dfsg-4 [2014/10/14] for i386
Copyright (c) 1993-2014 by Florian Klaempfl and others
Target OS: Linux for i386
Compiling pcom.p
pcom.p(1,3) Warning: Unsupported switch "$L"
pcom.p(88,23) Fatal: Syntax error, ":" expected but ")" found
Fatal: Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
Run Code Online (Sandbox Code Playgroud)
我不知道如何在Windows机器上编译这个源代码,因为我只知道Pascal语言 …
我一直在学习Pascal(使用Free Pascal编译器)一个星期,并且遇到了一个看似简单的练习.给定如下所示的结构,找到最大加权分支:
1
4 9
7 0 2
4 8 6 3
Run Code Online (Sandbox Code Playgroud)
分支是从顶部开始的任何数字序列(在这种情况下:1),对于每个数字,分支可以向左或向右扩展.例如,分支1-4-0可以扩展为1-4-0-8或1-4-0-6.所有分支必须从顶部开始,在底部结束.
在这个例子中,最大分支是1-4-7-8,这给了我们20.为了解决这个问题,我尝试使用回溯.三角形结构存储在"三角形"类型的数组中:
type triangle = array[1..MAX_NUM_OF_ROWS, 1..MAX_NUM_OF_ROWS] of integer;
Run Code Online (Sandbox Code Playgroud)
这是我的实现:
function findAux(data: triangle; dim: integer; i: integer; j:integer) : integer;
begin
if i = dim then
findAux := data[i][j]
else
if findAux(data, dim, i + 1, j + 1) > findAux(data, dim, i + 1, j) then
findAux := data[i+1][j+1] + findAux(data, dim, i + 1, j + 1);
else
findAux := data[i+1][j] + findAux(data, dim, i + …Run Code Online (Sandbox Code Playgroud) 我已经通过FPC和GDB在Visual Studio Code中设置了用于对象Pascal的构建和调试环境,但是我只是通过以下方式使仅包含1个.pas文件的程序的构建过程有效
"command": "fpc",
"args": [ "-g", "-Px86_64", "helloWorld.pas" ],
Run Code Online (Sandbox Code Playgroud)
现在,我需要建立一个很大的Delphi项目组(类似于解决方案?),它包含主项目文件.groupproj。
有没有办法通过FPC构建.groupproj?
还是至少有一些解决方法,例如转换为.lpi,然后通过FPC进行构建?
或者至少从VS Code调用Delphi编译器/生成器,并通过它来构建整个项目组?(但是我不喜欢这个选项,因为我更喜欢不使用Delphi)
我有这个文件:
Bulgaria = Bulgarian
Croatia = Croatian
Austria = Croatian
Czech Republic = Czech
Slovakia = Czech
Denmark = Danish
Germany = Danish
Belgium = Dutch
Netherlands = Dutch
Ireland = English
Malta = English
United Kingdom = English
Estonia = Estonian
Finland = Finnish
Belgium = French
France = French
Italy = French
Luxembourg = French
Austria = German
Belgium = German
Denmark = German
Germany = German
Italy = German
Luxembourg = German
Cyprus = Greek
Greece = …Run Code Online (Sandbox Code Playgroud) 为什么 pascal 在 (8,21) 和 (8,12) 行中给了我无法访问的代码。我不知道为什么它是一个将 3 位八进制数转换为十进制的简单代码。该程序没问题,因为它给了我正确的结果,但我不知道为什么 free pascal 在程序的那个部分给了我无法访问的代码。
我在 Linux 上使用 3.0.4 freepascal,我只使用我发布的命令进行编译,我没有修改 freepascal 的任何内容我使用以下命令进行编译 fpc -Co -Cr -Miso -gl
PROGRAM Ejercicio21;
VAR decimal,octal,a,b,c:integer;
BEGIN
writeln('Ingrese el valor decimal: ');
readln(octal);
a:=(octal div 100);
b:=(octal mod 100) div 10;
c:=octal mod 10;
decimal:=(a*sqr(8)+(b*8)+c);
writeln('Octal',octal,'=',decimal);
END.
Run Code Online (Sandbox Code Playgroud)