|
#1
|
|||
|
|||
IdFTP
В общем с толкнулся с такой проблемой, необходимо приконнектиться к фтп серверу и просто подсчитать количество содержащихся в указанной дирректории файлов исключая подпапки и вложенные в них файлы. С конектом разобрался, а вот подсчитать немогу. Вывыливается с ошибкой
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 список файлов и директорий выводится Может у кого есть какая нибудь литература, раскрывающая свойства и методы работы с данным компонетом, просто полазил по форумам, с такой проблемой сталкивались многие , но на удивление решения или даже намека куда лезть и как с этим бороться никто и нигде не описывает |