Я могу использовать строку методы “IsEmpty” в Delphi

Небольшая модификация ответа Кена. Позвольте CGGeometry "стандартизировать" прямоугольник для вас.

CGRect rect = CGRectStandardize(CGRectMake(p1.x, p1.y, p2.x - p1.x, p2.y - p1.y));

5
задан Roddy 19 June 2009 в 14:32
поделиться

4 ответа

String не является классом в Delphi, поэтому у него нет методов, вы должны использовать функции для манипуляций со строками, такие как длина, копирование и т. Д. String - это класс в C ++, поэтому, возможно, вы смущен этим.

14
ответ дан 18 December 2019 в 06:23
поделиться

Delphi - это гибридный язык. Он содержит основные типы и классы. Только классы (а также записи и объекты) могут содержать методы.

String - это базовый тип, хотя и особый. Это единственный тип, в котором есть зарезервированное слово. Вот почему его часто пишут строчными буквами (строка), в отличие от других типов, у которых есть начальная заглавная буква (Целое число).

Если хотите, можете:

type
  TString = class
  private
    FString: string;
  public
    constructor Create(const AValue: string);

    property &String: string read FString write FString;
    property IsEmpty: Boolean read GetIsEmpty;
    // ...
  end;
5
ответ дан 18 December 2019 в 06:23
поделиться
if Trim(s)='' then

???

1
ответ дан 18 December 2019 в 06:23
поделиться

Нет. строка не является WideString, даже в D2009. Вы бы тоже не захотели; сравнение с nil / пустой строкой намного быстрее, чем вызов метода.

В Delphi:

var 
  s: string;
begin
  if s = '' then begin
    ShowMessage('It is empty or nil.');

... for string обнаруживает как пустую, так и пустую строку (которая равна = nil).

5
ответ дан 18 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: