OberonCore https://forum.oberoncore.ru/ |
|
Как правильно получить список файлов в папке? https://forum.oberoncore.ru/viewtopic.php?f=23&t=2124 |
Страница 1 из 1 |
Автор: | Виталий [ Четверг, 26 Ноябрь, 2009 12:21 ] |
Заголовок сообщения: | Как правильно получить список файлов в папке? |
Доброго всем. продолжая изучение Оберона решил попробовать работу с файлами. В хелпе наткнулся на пример построения дерева. попробовал сам написать получение списка файлов вот так: Код: 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 ] |
Заголовок сообщения: | Re: Как правильно получить список файлов в папке? |
Попробуйте так: Код: ...
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 ] |
Заголовок сообщения: | Re: Как правильно получить список файлов в папке? |
Евгений, та же история. Папка такая существует, и файлы там есть... |
Автор: | Valery Solovey [ Четверг, 26 Ноябрь, 2009 13:43 ] |
Заголовок сообщения: | Re: Как правильно получить список файлов в папке? |
Файлы - это хорошо, но Вы уверены, что там есть поддиректории? |
Автор: | Виталий [ Четверг, 26 Ноябрь, 2009 13:50 ] |
Заголовок сообщения: | Re: Как правильно получить список файлов в папке? |
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 ] |
Заголовок сообщения: | Re: Как правильно получить список файлов в папке? |
Виталий писал(а): В хелпе наткнулся на пример построения дерева. Вы про пример ObxFileTree? ObxLinks не смотрели? Почти то же что у Вас получилось... |
Автор: | Виталий [ Четверг, 26 Ноябрь, 2009 15:54 ] |
Заголовок сообщения: | Re: Как правильно получить список файлов в папке? |
Цитата: Вы про пример ObxFileTree? ObxLinks не смотрели? Однако не добрался еще туда... Ну зато самостоятельно на своих граблях допер до результа - это плюс ![]() |
Автор: | Евгений Темиргалеев [ Четверг, 26 Ноябрь, 2009 16:07 ] |
Заголовок сообщения: | Re: Как правильно получить список файлов в папке? |
Виталий писал(а): Все оказывается просто до безобразия ![]() Виталий писал(а): Цитата: Вы про пример ObxFileTree? ObxLinks не смотрели? Однако не добрался еще туда...Ну зато самостоятельно на своих граблях допер до результа - это плюс ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |