2014-11-24 6 views
-1

Я хочу сделать проверку на ListBox, если он пуст, как:Как проверить, пуст ли список?

if {Listbox.Items is empty} then 
begin 
    Listbox.Items.Add('Item'); 
end else 
begin 
    //do somthing else 
end; 

Часть проверки, если Listbox.Items или если Listbox есть/пусто немного трудно для меня. Я попытался выяснить, как это сделать, но я потерпел неудачу, поскольку я все еще новичок в Delphi. Как я могу реализовать это в Delphi XE5?

+4

Что относительно 'if listbox.items.count = 0'? – lurker

+0

iam не уверен, почему кто-то дает голосование за этот вопрос. – DelphiStudent

+0

Внизу я могу «не показывать никаких исследований». Возможно, кто-то чувствовал, что вы не читали метод TListBox и документацию атрибутов? – lurker

ответ

4
if listbox.items.count = 0 then 
    // it's empty 
+7

Точнее, просто ['Count'] (http://docwiki.embarcadero.com/Libraries/XE7/en/Vcl.StdCtrls.TCustomListBox.Count), так как он скажет вам количество элементов также для окна списка в виртуальном Режим. – TLama

0

Я бы отменил ваше заявление if.
Лично мне нравится самый код в истинной части моего утверждения и более короткий код в ложной части. По какой-то причине это имеет для меня больше смысла.

Так что код будет выглядеть следующим образом:

If Listbox.items.count > 0 
begin 
    //Do something else 
end 
else 
Listbox.items.add('item'); 

Кроме того, если ваш истинный или ложный, часть содержит только 1 строку кода вам не нужен begin..end. Нехорошо иметь их, но, на мой взгляд, он упрощает чтение кода, если их там нет;)

+3

Это для 10% скопированного предыдущего ответа и для 90% мнения о стиле кода. Я буду отмечать это как «не ответ», потому что это должен быть комментарий к вопросу. – NGLN

+3

Я бы ** лично ** использовал 'if (Listbox.Items.Count> 0) then' вместо' If Listbox.items.count> 0 begin' ('then' по-прежнему необходимо в Pascal);) – kobik

+0

@kobik oops haha –

Смежные вопросы