OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 24 Апрель, 2024 20:18

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: Четверг, 26 Ноябрь, 2009 12:21 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Доброго всем. продолжая изучение Оберона решил попробовать работу с файлами.
В хелпе наткнулся на пример построения дерева.
попробовал сам написать получение списка файлов вот так:
Код:
MODULE MFile;
 IMPORT Files,StdLog,Stores;
VAR
 l:Files.Locator;
 li:Files.LocInfo;
PROCEDURE do*;
BEGIN
 l:=Files.dir.This("c:\temp\");
 li:=Files.dir.LocList(l);
 HALT(0);
END do;
 END MFile.

Но в Trap переменная li равна NIL.
вопрос: Что я не так делаю? (l кстати нормально инициализировался)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Ноябрь, 2009 12:40 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Попробуйте так:
Код:
...
 l:=Files.dir.This("c:\temp\"); ASSERT(l.res = 0, 100);
 li:=Files.dir.LocList(l); ASSERT(l.res = 0, 101);
...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Ноябрь, 2009 13:02 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Евгений, та же история.
Папка такая существует, и файлы там есть...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Ноябрь, 2009 13:43 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Файлы - это хорошо, но Вы уверены, что там есть поддиректории?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Ноябрь, 2009 13:50 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Valery Solovey писал(а):
Файлы - это хорошо, но Вы уверены, что там есть поддиректории?


Ах тыж... Точно!!! Там только файлы. нет подкаталогов.
Вот такое вот чудо:
Код:
MODULE MFile;
 IMPORT Files,StdLog,Stores,TextViews,TextModels,TextMappers,
Views,In;
VAR
 l:Files.Locator;
 li:Files.LocInfo;
 lf:Files.FileInfo;
PROCEDURE do*;
 VAR
  w:TextViews.View;
  tm:TextModels.Model;
  txt:TextMappers.Formatter;
  s:ARRAY(200) OF CHAR;
BEGIN
 In.Open;
 In.String(s);
 l:=Files.dir.This(s);
[b] li:=Files.dir.LocList(l);
 lf:=Files.dir.FileList(l); [/b]
 IF  (li#NIL) OR (lf#NIL)  THEN

  tm:=TextModels.dir.New();
  txt.ConnectTo(tm);
  w:=TextViews.dir.New(tm);
  Views.OpenView(w);
 
    WHILE (li#NIL) DO
      txt.WriteString(li.name); txt.WriteLn;
      li:=li.next;
    END;

    WHILE (lf#NIL) DO
      txt.WriteString(lf.name); txt.WriteLn;
      lf:=lf.next;
    END;

 END;
END do;
 
END MFile.
MFile.do;
"c:\temp"

Как раз мне и показало где я ошибался.

Все оказывается просто до безобразия :)

В просо привык в FindFirst который и файлы и папки показывает в куче...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Ноябрь, 2009 15:12 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Виталий писал(а):
В хелпе наткнулся на пример построения дерева.

Вы про пример ObxFileTree? ObxLinks не смотрели? Почти то же что у Вас получилось...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Ноябрь, 2009 15:54 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Цитата:
Вы про пример ObxFileTree? ObxLinks не смотрели?

Однако не добрался еще туда...
Ну зато самостоятельно на своих граблях допер до результа - это плюс :o


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Ноябрь, 2009 16:07 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Виталий писал(а):
Все оказывается просто до безобразия :)
Виталий писал(а):
Цитата:
Вы про пример ObxFileTree? ObxLinks не смотрели?
Однако не добрался еще туда...Ну зато самостоятельно на своих граблях допер до результа - это плюс :o
Зафиксируем в пользу "низкого порога вхождения в ББ". Извиняюсь за оффтоп.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB