![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IdFTP [D7, WinXP]
anthems © (2007-05-19 04:10:00)После соединения с фтп сервером и забивания каталогов в ListBox, пытаюсь определить файл это или папка
if IdFTP1.DirectoryListing.Items[DirectoryListBox.ItemIndex].ItemType =ditDirectory
выпадает ошибка - "List index out of bounds"
при етом - IdFTP1.DirectoryListing.Items.Count = 0
IdFTP1.DirectoryListing.DirectoryName пустое
работаю с 2005 дельфой.
Заранее благодарен за все предложенные варианты решения проблемы.
selax (2007-12-21 06:39:00) [1]Все просто.
Нужно в uses дописать IdAllFTPListParsers
anthems (2007-05-19 18:56:00) [2]Вот код, может забыл что где
procedure TForm1.ShowDir(Path: string);
var
List: TStringList;
begin
List := TStringList.Create;
try
idFTP1.ChangeDir(Path);
IdFTP1.TransferType := ftASCII;
StatusBar1.Panels.Items[1].Text := Form1.idFTP1.RetrieveCurrentDir;
DirectoryListBox.Items.Clear;
IdFTP1.List(List);
DirectoryListBox.Items.Assign(List);
if DirectoryListBox.Items.Count > 0 then
if AnsiPos('total', DirectoryListBox.Items[0]) > 0 then DirectoryListBox.Items.Delete(0);
finally
List.Free;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if IdFTP1.Connected then
try
IdFTP1.Quit;
finally
DirectoryListBox.Items.Clear;
Path := '/';
end
else with IdFTP1 do
try
Username := Edit2.Text;
Password := Edit3.Text;
Host := Edit1.Text;
Connect;
ShowDir('/');
finally
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var
i,Count: integer;
begin
Count:=0;
for i := 0 to DirectoryListBox.Count - 1 do
if IdFTP1.DirectoryListing.Items[i].ItemType <> ditDirectory then
Inc(Count);
ShowMessage(IntToStr(MyCount));
end;
Anatoly Podgoretsky (2007-05-19 14:59:00) [3]> anthems (19.05.2007 14:15:04) [4]
У тебя ошибка в программе
anthems (2007-05-19 14:15:00) [4]Да ну ето понятно, что если там ничего нет то и лезть туда не надо, я же спрашиваю почему там ничего нет и как сделать так что бы там что-то было
Anatoly Podgoretsky (2007-05-19 13:59:00) [5]> anthems (19.05.2007 13:53:02) [2]
Раз элементов нет, то не надо и обращаться.
anthems (2007-05-19 13:53:00) [6]В этом то и проблема, что элементов нету а должны быть, может я чего не понимаю в работе этого компонента, поэтому и прошу помощи )
Anatoly Podgoretsky (2007-05-19 10:57:00) [7]Зачем же ты обращаешься к списку если у тебя нет элементов?
Да и вообще сама идея странная, по индексу из одного списка обращаться к индексу другого списка, замучаешься с синхронизацией, в одном 3 в другом 10.