标签: pascal

是否可以根据组件属性包含文件(链接)?

德尔福2007/2009奇怪的问题在这里:

基于设计时定义的组件属性,可以将文件包含在链接中或保留它们吗?

示例:如果我将SomeProperty保留为true,则在编译时,单元SomeUnit将包含在我的项目中.否则将不包括在内.

我解决这个问题的第二种方法是部署第二个组件,当在表单中删除时(或不在表单中)将包含使用子句中的单元.但如果可以用财产来做,那就更好了.

我想通过IFDEF避免条件编译,因为这会强制每次构建项目时构建组件.或不?

我试图实现一个简单的方法,在项目中包含一些单位,然后这些单位将提供对特定数据库的支持.将这些选项放在连接组件中将非常简单:检查支持并完成.取消选中,并在已编译的APP中获得更少的KB.

编辑:我会继续使用组件方式.我知道IFDEF方法和事情,但这会强制每次构建项目时构建组件.或不?

我试图通过简单的方法将一些单元包含在项目中,然后这些单元将为特定数据库提供支持.将这些选项放在连接组件中将非常简单:检查支持并完成.取消选中,并在已编译的APP中获得更少的KB.

delphi pascal conditional-compilation

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

Pascal的任何方言是否允许可变数量的参数?

这是程序员的问题.

几年前,我遇到了一种Pascal方言,通过某种扩展允许可变数量的参数.

有没有人知道Pascal的当前方言允许可变数量的参数?

考虑到Pascal不像以前那么受欢迎,如果答案是否定的,我不会感到惊讶.

顺便说一句,这比较正确的,是不是,说了可变数量的参数,而不是参数

language-features pascal

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

Pascal和Delphi语法错误?

这是来自inno setup的代码部分.我的目的是使两个Checkbox在一个时间被选中.但是这段代码返回错误.

[代码]部分:

procedure CheckBoxOnClick(Sender: TObject);
var
Box2,CheckBox: TNewCheckBox;
begin
if CheckBox.Checked then
   CheckBox.State := cbUnchecked;
   Box2.State := cbChecked;
else                                //THIS LINE RETURNS AN ERROR: "Identifier Expected."
   CheckBox.State := cbChecked;
   Box2.State := cbUnchecked;
end;

procedure Box2OnClick(Sender: TObject);
var
Box2,CheckBox: TNewCheckBox;
begin
if Box2.Checked then
   CheckBox.State := cbChecked;
   Box2.State := cbUnchecked;
else                               //same error
   CheckBox.State := cbUnchecked;
   Box2.State := cbChecked;
end;

procedure CreateTheWizardPages;
var
  Page: TWizardPage;
  Box2,CheckBox: TNewCheckBox;
begin
  { TButton and others }

  Page := CreateCustomPage(wpWelcome, '', '');

  CheckBox := …
Run Code Online (Sandbox Code Playgroud)

delphi pascal inno-setup

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

如何解决轮班减少我语法中的冲突?

我正在编写一个从(简化的)Pascal到ARM asm的编译器.我正处于这个过程的第二步 - 在编写词法分析器之后,我正在使用java cup进行语法分析.

我写了我的语法,但有5个S/R冲突,这些都非常相似.例:

   Warning : *** Shift/Reduce conflict found in state #150
between assign_stmt ::= val_expr ASSIGN val_expr (*) 
  and     val_expr ::= val_expr (*) LBRACKET val_expr RBRACKET 
  under symbol LBRACKET
  Resolved in favor of shifting
Run Code Online (Sandbox Code Playgroud)

我这节的语法:

assign_stmt ::=
 val_expr ASSIGN val_expr;

val_expr ::=
     NIL | BOOL_CONST | INT_CONST | CHAR_CONST | PTR val_expr %prec MEM | ADD val_expr %prec UADD |
     SUB val_expr %prec USUB | NOT val_expr | val_expr PTR %prec VAL | val_expr …
Run Code Online (Sandbox Code Playgroud)

compiler-construction syntax pascal shift-reduce-conflict

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

检查Pascal中的数组元素是否为空

我很抱歉打扰你这种过时的语言,但有没有办法检查pascal中的特定数组元素是否为空?它是一个整数数组,因此检查元素是否为空字符串会导致类型不匹配(我喜欢这种语言!).谢谢你的时间.

pascal turbo-pascal

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

布尔评估错误:不兼容的类型

我试图在我的代码中将布尔变量(curs)设置为false但我收到此错误:

[错误] Main.pas(50):不兼容的类型

有谁知道这意味着什么?

if form1.Left = pt.X and form1.Top = pt.Y
then curs := false;
Run Code Online (Sandbox Code Playgroud)

如果您对所发生的事情了解或有任何想法,请随时分享.:) 谢谢

-connorbp

delphi variables pascal boolean delphi-7

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

在Delphi中传递self作为参数

我想将"self"作为参数传递给另一个类的方法(在不同的单元中).但是第一个类的类型在第二个类中是未知的,因为我不能将第一个单元放入第二个单元的使用部分.所以我将参数类型定义为指针,但是当我尝试从第一个类调用一个方法时,Delphi 7解析器告诉我classtyp是必需的.

那我该怎么解决这个问题呢?

delphi pascal

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

避免在TDataSet中重复添加列名

我正在使用以下代码向TDataSet动态添加字段:

while not ibSQL.Eof do
   fieldname := Trim(ibSql.FieldByName('columnnameofchange').AsString);
   TDataSet.FieldDefs.Add(fieldname , ftString, 255);
end
Run Code Online (Sandbox Code Playgroud)

问题是我可能会得到重复的名称,因此筛选重复项而不添加已添加的重复项的最简单方法是什么?

我希望不要遍历添加的每一列的TDataSet.FieldDefList,因为这对于添加的每一列都是很繁琐的。并且可以有很多补充。

如果可能,请提供其他解决方案。如果没有,那么我将无法使用FieldDefList迭代。

我还将补充一点,在SQL查询中筛选出重复项是一个选项,但不是所需的选项。

谢谢

delphi pascal tdataset

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

DELPHI和Opencv中的类型不兼容

我试图在图片中找到轮廓.我实现如下,但我得到

不兼容的类型:'ocv.core.types_c.pCvMemStorage'和'UWaterShedSegment.pCvMemStorage'错误.

 type
      pCvMemStorage = ^TCvMemStorage;
      pCvSeq = ^TCvSeq;
    .
    .
    .
    var
      contours :  pCvMemStorage;
      first_contour :   pCvSeq;
    .
    .
    .
    cvFindContours(DistImgEq, contours, first_contour, SizeOf(TCvContour) ,CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE,cvPoint(0,0));
Run Code Online (Sandbox Code Playgroud)

delphi opencv pascal image-processing imagej

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

Turbo Pascal中的动态数组

我正在研究我的学校项目,我想使用动态(非静态)数组.我使用ObjectPascal,所以我习惯了一些语法.但现在我在旧的TurboPascal编程(我正在使用Turbo Pascal 7 for Windows).

它似乎不知道ObjectPascal,所以我想,你Turbo Pascal不知道动态数组.

如果我的理论是正确与否,有人能告诉我吗?我试图谷歌,但我没有成功.基本上我问"Turbo Pascal 7中的动态数组怎么样?" 谢谢你的所有反应.

delphi pascal dynamic-arrays turbo-pascal

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