标签: pascal

德尔福=帕斯卡?学习资源?

好吧,我是Delphi的新手,一般都是离线编程(标准C++除外),并且最近获得了Delphi的副本,并且有兴趣从它开始.我在某处读到它使用Pascal但是我很困惑,如果它使用Pascal,就像它用它编程一样,或者如果它使用Pascal,就像你在其中编码的语言一样.不管怎样,我想知道是否有人有任何好的资源可以开始学习.在线书籍或文章/论坛都会很出色.这是一个整洁的小社区,所以我打算利用它.

delphi resources pascal

6
推荐指数
7
解决办法
3404
查看次数

如何在pascal中获取随机数?

我想在一个范围之间得到pascal中的随机数.基本上是这样的:

r = random(100,200);
Run Code Online (Sandbox Code Playgroud)

然后,上面的代码将具有100到200之间的随机数.

有任何想法吗?

内置的pascal函数只允许你从0到你的范围之间得到一个数字,而我需要指定要返回的最小数字

pascal

6
推荐指数
2
解决办法
5万
查看次数

可启动和跨平台应用程序以及使用delphi或Pascal

是否可以使用Delphi或Pascal创建可启动的(MBR应用程序)应用程序(我知道我们不能使用vcl,RTL和其他东西,因为它们依赖于OS),但我可以使用至少Readln和writeln.

如果是真的!!! 我们可以在其他操作系统下运行该程序.但我知道PE(windows)和ELF(Linux)格式是不同的.但至少我可以做一些小修改.

delphi pascal

6
推荐指数
1
解决办法
1263
查看次数

在Delphi中翻译语言

我一直在寻找能够将任何语言翻译成另一种语言的代码,但我找不到任何代码.
我知道谷歌有一个很好的翻译API,但我不能让任何人的Delphi代码工作.
始终存在错误.任何帮助将不胜感激,我需要一个程序,可以尽快翻译我最后的学校项目.

delphi api pascal translate

6
推荐指数
2
解决办法
3118
查看次数

如何使用存储在TList中的对象的方法?

我的问题非常简单.我有一个TList(称为queue)包含类的对象,CNotif并希望is_alive在这些对象上使用该方法.

问题是,当我使用时queue.Items[0].is_alive(),我收到一条错误消息Error: Illegal qualifier.

我也对我在这个TList中实例化对象的方式感到困惑(以及编译器"知道"存储的对象是这种类型的方式......)

我现在所做的是:queue.Add(CNotif.create(timer, title, text, badge))但我认为不应该这样做.

先感谢您 !

delphi pascal lazarus

6
推荐指数
2
解决办法
937
查看次数

TDownloadURL无法从HTTPS下载

我一直在尝试通过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 '.

可以指出我做错了什么?我为此搜索了很多,但找不到任何有效和简单的东西!

非常感谢!

delphi https pascal tfilestream delphi-xe2

6
推荐指数
1
解决办法
1956
查看次数

插入了意外空间 - 为什么要编译?

我不小心碰到空格键并写了这个:

lTTEvent .CustUpdateStatus := usUnchanged;
Run Code Online (Sandbox Code Playgroud)

并且惊讶地发现编译器接受了点前面的空间(实际上,任意数量的空格).

点是否是解析器可以正确解释它的特殊字符?如何在Pascal中工作?

delphi pascal delphi-xe2

6
推荐指数
1
解决办法
149
查看次数

有没有办法在Pascal中为多个按钮使用ONE程序?

我正在寻找一种方法来使用一个程序的多个按钮.这是一个测验,就像你必须按下问题1的按钮1,但复制和粘贴36个按钮的整个代码并更改36个按钮的变量对任何人来说都不是很有趣.

所以我认为这样的事情是可能的:

procedure TForm1.Button[x]Click(Sender: TObject);
begin
  DoTask[x];
end;
Run Code Online (Sandbox Code Playgroud)

X是变量.

这样的事情是可能的,还是有其他方法来获得相同的结果?

variables pascal event-handling procedures lazarus

6
推荐指数
1
解决办法
479
查看次数

在Delphi中将数据从TBytes复制到Byte数组的正确方法

鉴于以下内容:

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之间有区别吗?

delphi pascal

6
推荐指数
1
解决办法
4338
查看次数

我的if语句有什么问题?

我现在正在尝试探索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 if-statement freepascal

6
推荐指数
1
解决办法
590
查看次数