http://www.delphisources.ru/files/so...ent_server.zip
Скачал отсюда пример. Никак не могу сообразить: как можно получить доступ к остальным дискам? По дефолту открывается C, а например на компьютере есть E,F,I. Как подключиться к ним?
a:=FindFirst(TransLatePath(apath, ASender.HomeDir)+'*.*', faAnyFile, f);
Form1.Edit1.Text:=Copy(apath,7,1)+':'+Copy(apath,8,1000)+'*.*';
if Copy(ASender.CurrentDir,2,4)='disc' then
a:=FindFirst(Copy(apath,7,1)+':'+Copy(apath,8,1000)+'*.*', faAnyFile, f);
if ASender.CurrentDir='/' then begin
AddlistItem(ADirectoryListing, 'disc D', ditDirectory, 0, Date()+Time());
AddlistItem(ADirectoryListing, 'disc E', ditDirectory, 0, Date()+Time());
AddlistItem(ADirectoryListing, 'disc I', ditDirectory, 0, Date()+Time());
AddlistItem(ADirectoryListing, 'disc F', ditDirectory, 0, Date()+Time());
end;
Данный код в списке файлов на сервере создает виртуальные папки disc X, когда юзер пытается посмотреть их содержимое - программа выводит файлы с диска X.
Алгоритм кривой, но полностью решил проблему.