![]() |
|
|
#1
|
|||
|
|||
|
В общем с толкнулся с такой проблемой, необходимо приконнектиться к фтп серверу и просто подсчитать количество содержащихся в указанной дирректории файлов исключая подпапки и вложенные в них файлы. С конектом разобрался, а вот подсчитать немогу. Вывыливается с ошибкой
class EListError with message 'List index out of bounds (0)' var i,count:integer; begin count :=0; DirectoryListBox.ItemIndex := 0; for i:=1 to DirectoryListBox.Count do begin if IdFTP1.DirectoryListing.Items[DirectoryListBox.ItemIndex].ItemType=ditDirectory then count := count else count:= count + 1; DirectoryListBox.ItemIndex := DirectoryListBox.ItemIndex + 1; end; ShowMessage(IntToStr(Count)); end; |
|
#2
|
|||
|
|||
|
Списки (ака TList) начинаются с 0.
Код:
for i := 0 to List.Count - 1 do |
|
#3
|
|||
|
|||
|
проблема в этой строке
if IdFTP1.DirectoryListing.Items[DirectoryListBox.ItemIndex].ItemType=ditDirectory, непонятно почему |
|
#4
|
|||
|
|||
|
Попробуй так:
Код:
var
i, MyCount: integer;
begin
MyCount:=0;
for i := 0 to DirectoryListBox.Count - 1 do
if IdFTP1.DirectoryListing.Items[i].ItemType <> ditDirectory then
Inc(MyCount);
ShowMessage(IntToStr(MyCount));
end; |
|
#5
|
|||
|
|||
|
Постараюсь немного уточнить вопрос:
После соединения с фтп сервером и забивания каталогов в ListBox, пытаюсь определить файл это или папка if IdFTP1.DirectoryListing.Items[DirectoryListBox.ItemIndex].ItemType =ditDirectory выпадает ошибка - "List index out of bounds" при етом - IdFTP1.DirectoryListing.Items.Count = 0 IdFTP1.DirectoryListing.DirectoryName пустое Последний раз редактировалось Apple, 18.05.2007 в 18:32. |
|
#6
|
||||
|
||||
|
Цитата:
ItemIndex - это выбраный элемент! if IdFTP1.DirectoryListing.Items[i].ItemType =ditDirectory |
|
#7
|
|||
|
|||
|
все равно
даже если просто if IdFTP1.DirectoryListing.Items[0].ItemType =ditDirectory ошибка не исчезает, проблема как я понял в том что IdFTP1.DirectoryListing ничего не содержит а следовательно и не может обратиться к запрашиваему элементу, так как его попросту нет, но почему так, я понять немогу, так как коннект проходит а в ListBox список файлов и директорий выводится Может у кого есть какая нибудь литература, раскрывающая свойства и методы работы с данным компонетом, просто полазил по форумам, с такой проблемой сталкивались многие , но на удивление решения или даже намека куда лезть и как с этим бороться никто и нигде не описывает |