它停止在第54和58行编译时出现错误'错误:非法表达'和'语法错误,; 期待,但ELSE分别找到了.我的线条位置错了吗?
Procedure PlayDiceGame(PlayerOneName, PlayerTwoName : String;
VirtualDiceGame : Boolean; Var TopScores : TTopScores);
Var
PlayerOut : Boolean;
CurrentPlayerScore : Integer;
AppealDieResult : Integer;
PlayerNo : Integer;
PlayerOneScore : Integer;
PlayerTwoScore : Integer;
BowlDieResult : Integer;
RunsScored : Integer;
NumberOfBalls : Integer;
Begin
For PlayerNo := 1 To 2
Do
Begin
NumberOfBalls := 0;
CurrentPlayerScore := 0;
PlayerOut := False;
If PlayerNo = 1
Then Writeln(PlayerOneName, ' is batting')
Else Writeln(PlayerTwoName, ' is batting');
Writeln;
Writeln('Press the Enter key to …Run Code Online (Sandbox Code Playgroud) 我试图在帕斯卡的一个单位内召唤一个单位.这可能吗?
我有一个单位RailFence和另一个单位fileHandlingRailfence
在fileHandlingRailfence中,我想使RailFence程序和函数可用,而无需复制和粘贴整个函数.但是,将其添加到我的Uses列表时出现错误.
uses
SysUtils;
railFence in 'RailFence.pas';
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
[DCC Error] FileHandlingRailfence.pas(15): E2029 Declaration expected but identifier 'RailFence' found
[DCC Fatal Error] Proj_RailFence.dpr(7): F2063 Could not compile used unit 'FileHandlingRailfence.pas'
Run Code Online (Sandbox Code Playgroud)
关于这是否可能的任何想法?
我有一个包含许多记录的数组。像这样设置:
Tcustomer= record
Name: string[40];
Address: string[100];
phone: string[15];
email:string[50];
end;
Run Code Online (Sandbox Code Playgroud)
现在,假设我想在这个数组中搜索具有特定姓名和地址的人。我该怎么办?所以基本上搜索不仅仅是1个元素。(我可以专门搜索 1 个属性,但不能过滤超过 1 个)
附件是我的表单如何设置的图片,这将更详细地显示我所指的内容:

大家好,我出现了一个错误,我无法摆脱..
我在我的 delphi 代码中添加了 2 个自定义过程,我读到你可以点击crtl+shift+c自动生成函数,我做到了。
但是我现在的问题是我不需要自动生成的东西,这就是我在执行命令后删除它的原因。现在我的代码不再工作,因为我收到了这个错误:
应为 E2029 声明但已找到文件结尾
预期初始化,但在第 520 行(520:1)处收到文件结尾
如何修复我的代码?在文件末尾删除或添加“结尾”对我没有帮助。有没有办法找出我的代码中遗漏了什么?(我可以发布我的 delphi 代码,但它的 500 行长我认为这没有意义。
更新代码:
unit Benutzerverwaltung_U;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.ComCtrls,
Vcl.StdCtrls,
Vcl.WinXCtrls, Vcl.CheckLst, System.Actions, Vcl.ActnList, Vcl.Menus,
System.StrUtils,
Data.DB, Vcl.Grids, Vcl.DBGrids, Vcl.DBCtrls, FireDAC.Stan.Intf,
FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS,
FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Comp.DataSet,
FireDAC.Comp.Client;
type
TForm1 = class(TForm)
Run Code Online (Sandbox Code Playgroud)
其他按钮等等...
procedure SwapValues(var Zahl1, Zahl2: Integer); //new
procedure SelectionSort(Sender: TObject); // new
procedure Button11Click(Sender: TObject); //new
private
{ Private-Deklarationen } …Run Code Online (Sandbox Code Playgroud) 我正在尝试查看如何创建指向简单记录的指针。
我在发布之前搜索过类似的主题,但它很混乱。
我创建了 A & B 其中是实际的记录。然后我有一个变量 C,我想它只是一个“指向这条记录的指针”。我不希望 C 存储它自己的值,而只是一个指向 A 或 B 的指针。
但是每当 C 被读取/写入时,它实际上是被写入 A 或 B,无论 C 指向哪个。
换句话说,它就像一个指向对象的指针,但在我的情况下我不需要对象。
使用 Delphi 10.3 和 10.4(如果有任何区别),请突出显示。
下面的代码在第一个 ShowMessage 上导致访问冲突。
procedure TForm1.Button2Click(Sender: TObject);
type
TMyRecord = record
Field1 : integer;
end;
var
A : TMyRecord;
B : TMyRecord;
C : ^TMyRecord; // how to declare this as a pointer?
begin
A.Field1 := 1;
B.Field1 := 2;
C^ := A; // psuedo code to point to A
A.Field1 := 3; …Run Code Online (Sandbox Code Playgroud) 我有一个像“10011011001”这样的字符串,我希望将该字符串转换为十六进制字符串,最好的方法是什么。
我正在尝试计算 CRC-6 GSM,但结果是错误的(16 美元)。对于“123456789”,根据 https://reveng.sourceforge.io/crc-catalogue/all.htm#crc.cat.crc-6-gsm ,它应该返回 13 美元
var Table: array[0..255] of Byte = (
$3F, $10, $0E, $21, $32, $1D, $03, $2C,
$25, $0A, $14, $3B, $28, $07, $19, $36,
$0B, $24, $3A, $15, $06, $29, $37, $18,
$11, $3E, $20, $0F, $1C, $33, $2D, $02,
$38, $17, $09, $26, $35, $1A, $04, $2B,
$22, $0D, $13, $3C, $2F, $00, $1E, $31,
$0C, $23, $3D, $12, $01, $2E, $30, $1F,
$16, $39, $27, $08, $1B, $34, $2A, $05,
$31, …Run Code Online (Sandbox Code Playgroud) 输入:月份名称(1月/ 2月/ .../12月)
产量:季节(冬/春/夏/秋)
冬季:12月至2月
春天:3月 - 5月
夏季:6月 - 8月
秋天:9月 - 11月
我试过了:
Program Months;
var
Month:String;
begin
writeln('Insert month name:');
readln(Month);
if Month = 'March' or Month = 'April' or Month = 'May' then
begin
writeln(Month,' is Spring month');
end
...
etc
...
end.
Run Code Online (Sandbox Code Playgroud)
但是这个程序没有用.
它在这个简单的例子中失败了:
procedure TForm1.Button1Click(Sender: TObject);
var
ts: TStream;
begin
ts.Create; //<---- fails here
ts.Free;
end;
Run Code Online (Sandbox Code Playgroud)
有错误:
Project project1 raised exception class 'External: SIGSEGV'.
At address 10000DB38
Run Code Online (Sandbox Code Playgroud) 我想使用Delphi程序进行HTTP请求.
我使用下面的代码,但我得到了一个名为"Undeclared identifier:TIdHTTP"的错误
我是Delphi的新手.
我请你帮帮我
function PostExample: string;
var
lHTTP: TIdHTTP;
lParamList: TStringList;
begin
lParamList := TStringList.Create;
lParamList.Add('id=1');
lHTTP := TIdHTTP.Create;
try
Result := TIdHTTP.Post('http://192.168.1.247:8001/test/test_api/', lParamList);
finally
lHTTP.Free;
lParamList.Free;
end;
end;
Procedure http;
begin
PostExample();
end;
Run Code Online (Sandbox Code Playgroud) pascal ×10
delphi ×7
lazarus ×3
record ×2
arrays ×1
binary ×1
crc ×1
freepascal ×1
hex ×1
httprequest ×1
if-statement ×1
loops ×1
pointers ×1
vlc ×1