好吧,我是Delphi的新手,一般都是离线编程(标准C++除外),并且最近获得了Delphi的副本,并且有兴趣从它开始.我在某处读到它使用Pascal但是我很困惑,如果它使用Pascal,就像它用它编程一样,或者如果它使用Pascal,就像你在其中编码的语言一样.不管怎样,我想知道是否有人有任何好的资源可以开始学习.在线书籍或文章/论坛都会很出色.这是一个整洁的小社区,所以我打算利用它.
我想在一个范围之间得到pascal中的随机数.基本上是这样的:
r = random(100,200);
Run Code Online (Sandbox Code Playgroud)
然后,上面的代码将具有100到200之间的随机数.
有任何想法吗?
内置的pascal函数只允许你从0到你的范围之间得到一个数字,而我需要指定要返回的最小数字
是否可以使用Delphi或Pascal创建可启动的(MBR应用程序)应用程序(我知道我们不能使用vcl,RTL和其他东西,因为它们依赖于OS),但我可以使用至少Readln和writeln.
如果是真的!!! 我们可以在其他操作系统下运行该程序.但我知道PE(windows)和ELF(Linux)格式是不同的.但至少我可以做一些小修改.
我一直在寻找能够将任何语言翻译成另一种语言的代码,但我找不到任何代码.
我知道谷歌有一个很好的翻译API,但我不能让任何人的Delphi代码工作.
始终存在错误.任何帮助将不胜感激,我需要一个程序,可以尽快翻译我最后的学校项目.
我的问题非常简单.我有一个TList(称为queue)包含类的对象,CNotif并希望is_alive在这些对象上使用该方法.
问题是,当我使用时queue.Items[0].is_alive(),我收到一条错误消息Error: Illegal qualifier.
我也对我在这个TList中实例化对象的方式感到困惑(以及编译器"知道"存储的对象是这种类型的方式......)
我现在所做的是:queue.Add(CNotif.create(timer, title, text, badge))但我认为不应该这样做.
先感谢您 !
我一直在尝试通过TDownloadURL类创建(TFileStream)PDF,但我真的遇到了从URL获取文件/流的麻烦,特别是如果URL是HTTPS.
我不确定我是否清楚,但我会发布一个片段,这样可能有助于理解:
implementation
var pdfStreamed: TDownloadUrl;
var fileStream : TFileStream;
procedure generateStream;
begin
pdfStreamed:= TDownLoadURL.Create(nil);
with pdfStreamed do
begin
URL := 'https://farm9.staticflickr.com/8327/8106108098_08e298f0d9_b.jpg'; //stream;
FileName := 'D:\';
ExecuteTarget(nil);
// Execute;
end;
end;
Run Code Online (Sandbox Code Playgroud)
URL属性在HTTP中同样存在于HTTPS中!但它会抛出一个错误:异常类异常消息'下载URL时出错:https://farm9.staticflickr.com/8327/8106108098_08e298f0d9_b.jpg '.
可以指出我做错了什么?我为此搜索了很多,但找不到任何有效和简单的东西!
非常感谢!
我不小心碰到空格键并写了这个:
lTTEvent .CustUpdateStatus := usUnchanged;
Run Code Online (Sandbox Code Playgroud)
并且惊讶地发现编译器接受了点前面的空间(实际上,任意数量的空格).
点是否是解析器可以正确解释它的特殊字符?如何在Pascal中工作?
我正在寻找一种方法来使用一个程序的多个按钮.这是一个测验,就像你必须按下问题1的按钮1,但复制和粘贴36个按钮的整个代码并更改36个按钮的变量对任何人来说都不是很有趣.
所以我认为这样的事情是可能的:
procedure TForm1.Button[x]Click(Sender: TObject);
begin
DoTask[x];
end;
Run Code Online (Sandbox Code Playgroud)
X是变量.
这样的事情是可能的,还是有其他方法来获得相同的结果?
鉴于以下内容:
LBytes: TBytes;
LArr: array[1..512] of Byte;
...
SetLength(LBytes, 512);
Run Code Online (Sandbox Code Playgroud)
什么是正确的Move()调用将所有字节从LBytes复制到LArr?
Move(LBytes[0], LArr, Length(LBytes)); // works
Move(LBytes[0], LArr[1], Length(LBytes)); // works, too
Move(LBytes, LArr[1], Length(LBytes)); // fail
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么使用Larr和Larr [1]没有区别但LBytes [0]和LBytes之间有区别吗?
我现在正在尝试探索pascal.我遇到了一些编译器错误.我写了一个if else if语句,如下所示:
if ((input = 'y') or (input = 'Y')) then
begin
writeln ('blah blah');
end;
else if ((input = 'n') or (input = 'N')) then
begin
writeln ('blah');
end;
else
begin
writeln ('Input invalid!');
end;
Run Code Online (Sandbox Code Playgroud)
它在第一次给我一个错误else:
";" 预期,但"ELSE"发现
我找了很多关于if语句的教程,他们就像我一样:
if(boolean_expression 1)then
S1 (* Executes when the boolean expression 1 is true *)
else if( boolean_expression 2) then
S2 (* Executes when the boolean expression 2 is true *)
else if( boolean_expression 3) then
S3 (* Executes …Run Code Online (Sandbox Code Playgroud) pascal ×10
delphi ×7
delphi-xe2 ×2
lazarus ×2
api ×1
freepascal ×1
https ×1
if-statement ×1
procedures ×1
resources ×1
tfilestream ×1
translate ×1
variables ×1