小编Joh*_*gon的帖子

在Delphi中使用变量global和class的变量

我有一个关于使用全局变量和类变量的问题class var.

在类中声明变量class var:

unit Unit1;

interface

type
  TClass = class
  public
    class var ObjectList: TObjectList
  end;

implementation
end.
Run Code Online (Sandbox Code Playgroud)

声明全局变量:

unit Unit1;

interface

var
  ObjectList: TObjectList

implementation
end.
Run Code Online (Sandbox Code Playgroud)

编译器如何为这两个变量分配内存?

delphi

11
推荐指数
1
解决办法
1335
查看次数

Delphi中如何知道类型变量是TDateTime、TDate和TTime

我需要知道类型变量 TDateTime、TDate 和 TTime。

任何人都知道如何做到这一点?

我使用了下面的代码,结果是“不是 TDateTime”、“不是 TDate”、“不是 Ttime”


program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.Rtti,
  System.SysUtils;

var
  DateTime, Date,Time: TValue;

begin

  DateTime:= StrToDateTime( '01/01/2013 01:05:09' );
  if ( DateTime.TypeInfo = System.TypeInfo(TDateTime) ) then
    Writeln( 'Is TDateTime' )
  else
    Writeln( 'Is NOT TDateTime' );

  Date:=  StrToDate( '01/01/2015' );
  if ( Date.TypeInfo = System.TypeInfo(TDate) ) then
    Writeln( 'Is TDate' )
  else
    Writeln( 'Is NOT TDate' );

 Time:=  StrToTime( '01:01:02' );
  if ( Date.TypeInfo = System.TypeInfo(TTime) ) then
    Writeln( 'Is TTime' …
Run Code Online (Sandbox Code Playgroud)

delphi rtti tdatetime

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

在Delphi中使用Lambda函数

我有一个关于lambda函数的问题.

在下面的代码示例中,它是Delphi中的lambda函数?

var
  Lambda: TFunc<Integer, Integer>;
begin
  Lambda:= function(ANumber: Integer) : Integer
           begin
             Result:= ANumber * ANumber;
           end;


   ShowMessage(Lambda(2).ToString());
   ShowMessage(Lambda(4).ToString());
end;
Run Code Online (Sandbox Code Playgroud)

谢谢

delphi lambda

5
推荐指数
1
解决办法
5611
查看次数

SetLength()如何在Delphi中分配内存

以这种形式声明数组时,将静态分配内存:

var
  Data: array[0..5] of integer;
Run Code Online (Sandbox Code Playgroud)

我的问题是当以下列方式声明数组时:

var
  Data: array of integer;
....
SetLength( Data, Length( Data ) + 1 );
Run Code Online (Sandbox Code Playgroud)

内存是静态还是动态分配的?

我认为内存是静态分配的,数组是在内存中复制的,但我不确定.

delphi

4
推荐指数
1
解决办法
822
查看次数

Delphi 2007和XE3中的差异函数Char/Chr

我使用函数Char和Chr与参数130,并在Delphi 2007 e XE3中表现不同.

Delphi 2007:Char(130)或Chr(130) - 结果:逗号

Delphi XE3:Char(130)或Chr(130) - 结果:#$ 0082

我使用AnsiChar解决问题(130).

我的问题是如果我在使用AnsiChar时遇到问题.我应该在整个项目中通过AnsiChar更改Chr/Char吗?

谢谢

delphi unicode char chr delphi-xe3

2
推荐指数
1
解决办法
3667
查看次数

Python中的多重继承 - 调用__init__时出错

我有一个类D,这个类继承的类BC,这既继承了A,但是当我创建类的实例D发生此错误:

johni@johni-pc:~/Draft$ python3.4 main.py 
Traceback (most recent call last):
  File "main.py", line 35, in <module>
    d = D()
  File "main.py", line 31, in __init__
    super().__init__()
  File "main.py", line 19, in __init__
    super().__init__("pg")
TypeError: __init__() takes 1 positional argument but 2 were given
Run Code Online (Sandbox Code Playgroud)

我不明白这一点.

这些类BC被初始化参数driverA.我的档案main.py:

class A:   
    def __init__(self, driver):
        self.driver = driver

    @property
    def driver(self):
        return self.__driver

    @driver.setter
    def driver(self, …
Run Code Online (Sandbox Code Playgroud)

python

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

标签 统计

delphi ×5

char ×1

chr ×1

delphi-xe3 ×1

lambda ×1

python ×1

rtti ×1

tdatetime ×1

unicode ×1