Показать сообщение отдельно
Старый 22.09.2009, 20:04   #16
vad74
Оператор ЭВМ
 
Аватар для vad74
 
Регистрация: 31.08.2009
Адрес: Беларусь, Полоцк
Сообщений: 48
Написано 4 полезных сообщений
(для 8 пользователей)
Ответ: Lib_jsr75: работа с файловой системой.

ViNT
Переделал на использование jsr75ex.
1. Виснет при findfirst(Dir); Если в Dir нет папок или файлов, Вместо того чтоб вернуть пустую строку как в конце списка возвращает findnext.
2. Скорость работы примерно равна варианту с jsr75i, и составила 1200 мс на 30 папок и файлов. Почемуто выйгрыша нет. Вот процедура:
procedure ReadDir(MyDir string);  // читать все папки и файлы в 2 строки
var time integer;
begin
  time 
:= GetRelativeTimeMs;
  if 
MyDir '' then begin
    DirsStr 
:= jsr75ex.get_roots;  // взять корень файловой системы
    
FilesStr := '';
  
end  
  
else begin
    DirsStr 
:= '';  
    
FilesStr := '';
    
:= jsr75ex.findfirst('/'+MyDir);     // взять первый объект
    
while <> '' do begin
      
if jsr75ex.is_directory('/'+MyDir s) > 0 then
        DirsStr 
:= DirsStr '|'
      
else
        
FilesStr := FilesStr '|';
      
:= jsr75ex.findnext
    
end;  {while} 
  
end
  
DrawText(IntegerToString(GetRelativeTimeMs time), 10200);
  
repaint;
  
delay(2000); 
end
(Offline)
 
Ответить с цитированием