我无法完成这项工作.显然,我不能使用>或<在案例句中,是否有解决方法?谢谢!
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) 我想预先安装inno setup字体.我已经使用字体Aller Light创建了一个自定义的inno安装程序.当我第一次在客户端计算机上运行我的inno设置时.由于字体的原因,设计不合适..但是当安装程序再次运行时,设计就会正常进行.
为了更清楚,这个字体用于我的安装程序的设计,而不是在使用此安装程序部署的应用程序中.我只需要一种方法在安装程序可执行文件打开欢迎页面之前在客户端计算机上安装字体,这样我自定义设置的设计是正确的.
我已经用两个具有相同数据类型的参数制作了一个函数,对此我没有任何问题。
但是我在使用不同的数据类型时遇到了麻烦
这是我的代码:
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
是否有内置函数将整数转换为Free Pascal中的字符串,如返回整数输入的字符串对象?我已经为谷歌和文档提供了2个小时的能力,并且只找到了虚假的希望和失望.在Windows 10上使用Lazarus 1.4.4.
另外,为什么帕斯卡如此复杂/加重?有大量的版本,IDE,应用程序支持与非应用程序支持,文档最好是平庸(至少对于Free Pascal,尽管Delphi看起来也不是很好看).它遍布整个地方,就像一对巨大的纠结耳塞.
谢谢!
在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中的顶级方式是否合法,或者你是否必须在旧学校这样做,比如在底部.
我已经将项目从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)
我用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%).
我怎样才能做到这一点?
我应该绘制矩形?或者我应该创建位图并放入单元格?
你能帮助我吗?:)
德尔福10.1柏林.我有一个动态的记录数组.我想从一个TStream数组中读取N条记录.我认为我需要打电话ReadBuffer,但第一个论点应该是什么样的?@MyArray不起作用.
我可以用以下方法定义一个字节
a: byte;
Run Code Online (Sandbox Code Playgroud)
并且还可以定义如下:
a: Byte;
Run Code Online (Sandbox Code Playgroud)
编译器会传递以上两种情况,但是byte和Byte?的区别是 什么?
怎么把这个...
我整天都在努力反转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) pascal ×10
delphi ×6
freepascal ×3
lazarus ×3
arrays ×1
case ×1
char ×1
endianness ×1
inno-setup ×1
installer ×1
mifare ×1
stringgrid ×1