标签: pascal

在Pascal中使用逻辑运算符(<> =等)的case语句

我无法完成这项工作.显然,我不能使用>或<在案例句中,是否有解决方法?谢谢!

case num of
    0:
        begin
            cont_0 := cont_0 + 1;
        end;
    > 0:
        begin
            cont_pos := cont_pos + 1;
            sum_pos  := sum_pos + num;
        end;
    < 0:
        begin
            sum_neg := sum_neg + num;
        end;  
    else;
end;
Run Code Online (Sandbox Code Playgroud)

pascal case

0
推荐指数
1
解决办法
1368
查看次数

如何使用inno setup安装字体

我想预先安装inno setup字体.我已经使用字体Aller Light创建了一个自定义的inno安装程序.当我第一次在客户端计算机上运行我的inno设置时.由于字体的原因,设计不合适..但是当安装程序再次运行时,设计就会正常进行.

为了更清楚,这个字体用于我的安装程序的设计,而不是在使用此安装程序部署的应用程序中.我只需要一种方法在安装程序可执行文件打开欢迎页面之前在客户端计算机上安装字体,这样我自定义设置的设计是正确的.

installer pascal inno-setup

0
推荐指数
1
解决办法
6593
查看次数

如何在Pascal中使用具有不同数据类型的多个参数来实现功能?

我已经用两个具有相同数据类型的参数制作了一个函数,对此我没有任何问题。

但是我在使用不同的数据类型时遇到了麻烦

这是我的代码:

uses crt;
function inputscore(name : string, score:integer) : integer;

begin
     writeln('My name is ',name,' and my score is ',score);
     inputscore:=0;
end;

begin
    clrscr;

    inputscore('David',98);
    readkey;
end.
Run Code Online (Sandbox Code Playgroud)

但是它返回了此错误消息:

multipleparameterfunc.pas(2,34)Fatal syntax error, ")" expected but "," found

pascal freepascal

0
推荐指数
1
解决办法
1894
查看次数

Pascal整数到字符串转换

是否有内置函数将整数转换为Free Pascal中的字符串,如返回整数输入的字符串对象?我已经为谷歌和文档提供了2个小时的能力,并且只找到了虚假的希望和失望.在Windows 10上使用Lazarus 1.4.4.

另外,为什么帕斯卡如此复杂/加重?有大量的版本,IDE,应用程序支持与非应用程序支持,文档最好是平庸(至少对于Free Pascal,尽管Delphi看起来也不是很好看).它遍布整个地方,就像一对巨大的纠结耳塞.

谢谢!

pascal freepascal lazarus

0
推荐指数
2
解决办法
6462
查看次数

Pascal例外

在Pascal中编写这样的表达式是不合法的:

b += c;  {Take whatever in b and add what in c to it, then assign it back to b}
Run Code Online (Sandbox Code Playgroud)

或者你必须写

b := b + c;
Run Code Online (Sandbox Code Playgroud)

我想知道Pascal,Object或Delphi中的顶级方式是否合法,或者你是否必须在旧学校这样做,比如在底部.

delphi pascal

0
推荐指数
1
解决办法
280
查看次数

在Char数组中发送†字符而不是空格字符

我已经将项目从XE5迁移到了西雅图10。我仍在使用ANSII代码与设备通信。在我的新构建中,Seattle IDE在Char数组中发送†字符而不是空格char(在Ansii代码中为#32)。我需要将空格字符数据发送到文本文件,但不能。

我尝试了#32(就像我以前使用过的一样),#032和#127,但是它不起作用。任何的想法?

这是我的用法:

fillChar(X,50,#32);
Run Code Online (Sandbox Code Playgroud)

方法签名(var X; count:Integer; Value:Ordinal)

arrays delphi pascal char delphi-10-seattle

0
推荐指数
1
解决办法
513
查看次数

StringGrid中的透明颜色

我用StringGrid绿色填充单元格

procedure TForm1.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin

StringGrid.Canvas.Brush.Color := clGreen;
StringGrid.Canvas.FillRect(Rect);

StringGrid.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, AGrid.Cells[ACol, ARow]);

end;
Run Code Online (Sandbox Code Playgroud)

我的StringGrid有黑色.我想填充单元格透明色(例如50%).

我怎样才能做到这一点?

我应该绘制矩形?或者我应该创建位图并放入单元格?

你能帮助我吗?:)

像这样的Imean效果: 在此输入图像描述

delphi pascal freepascal lazarus stringgrid

0
推荐指数
1
解决办法
1396
查看次数

从TStream读取到动态数组

德尔福10.1柏林.我有一个动态的记录数组.我想从一个TStream数组中读取N条记录.我认为我需要打电话ReadBuffer,但第一个论点应该是什么样的?@MyArray不起作用.

delphi pascal

0
推荐指数
1
解决办法
727
查看次数

"字节"和"字节"之间有什么区别?

我可以用以下方法定义一个字节

a:  byte; 
Run Code Online (Sandbox Code Playgroud)

并且还可以定义如下:

a:  Byte; 
Run Code Online (Sandbox Code Playgroud)

编译器会传递以上两种情况,但是byteByte?的区别是 什么?

delphi pascal lazarus

0
推荐指数
1
解决办法
227
查看次数

创建一个将十六进制值作为字符串反向排序的函数

怎么把这个...

我整天都在努力反转Mifare NFC卡的UID值,该值我读为十六进制字符串,可以将其转换为整数,这对于4字节UID来说效果很好。

可能有大型UID示例的mifare desfire卡会变得一团糟:

04 44 44 22 E0 62 80

该值已正确读取,我什至可以使用我的函数StrToInt('$'+ TheUIDvalue)将其转换为小数

现在,奇怪的是,我需要使用以下函数来扭转这种情况:

function HexToInt(s: string): Longword;
var
  b: byte;
  c: Char;
begin
  Result := 0;
  s := UpperCase(s);
  for b := 1 to Length(s) do
  begin
    Result := Result * 16;
    c := s[b];
    case c of
      '0' .. '9':
        Inc(Result, Ord(c) - Ord('0'));
      'A' .. 'F':
        Inc(Result, Ord(c) - Ord('A') + 10);
    else
      begin
        Result := 0
      end;
    end;
  end;
end;

function LongEndian(L : UInt64) : …
Run Code Online (Sandbox Code Playgroud)

delphi pascal endianness mifare

0
推荐指数
1
解决办法
156
查看次数