Оберон-клуб «ВЄДАsoft»
https://zx.oberon.org/forum/

FileSystemObject
https://zx.oberon.org/forum/viewtopic.php?f=79&t=396
Страница 1 из 1

Автор:  Len [ 08 сен 2018, 06:33 ]
Заголовок сообщения:  FileSystemObject

Как получить доступ к FileSystemObject из библиотеки Scrrun.dll? Понятно, что после имени модуля надо указать ["Scrrun.dll"]; но вот дальше, как создать объект, не знаю.

Автор:  SovietPony [ 08 сен 2018, 08:05 ]
Заголовок сообщения:  Re: FileSystemObject

Смотри в документации раздел Platform-Specific Issues. Там подробно описан синтаксис интерфейсных модулей.

Автор:  Len [ 09 сен 2018, 13:51 ]
Заголовок сообщения:  Re: FileSystemObject

При помощи програмки Dependency Walker узнал, что библиотека Scrrun.dll 64 битная. В BlackBox может быть загружена только 32 разрядная Dll? Если так, то как узнать на Win 64, напиример, существует ли файл?

Автор:  SovietPony [ 09 сен 2018, 16:19 ]
Заголовок сообщения:  Re: FileSystemObject

Да, blackbox может загружать только 32-битные либы. Сделать 64-битную версию до сих пор никто не почесался.
Для работы с файлами, внезапно, есть модуль Files. (или подсистема Win/Lin если стандартных возможностей не хватает)

Автор:  Len [ 10 сен 2018, 17:11 ]
Заголовок сообщения:  Re: FileSystemObject

Что за подсистема Win/Lin? Можно по подробнее.

Автор:  SovietPony [ 11 сен 2018, 08:03 ]
Заголовок сообщения:  Re: FileSystemObject

Платформозависимые модули. Например модуль WinApi с готовым интерфейсом к соответствующему вендовому api. Там уж точно можно найти всё нужное для работы с файлами.

Автор:  Len [ 12 сен 2018, 13:19 ]
Заголовок сообщения:  Re: FileSystemObject

В модуле WinApi я нашёл процедуру GetLogicalDrives (): INTEGER. Но она выдаёт какие-то странные числа. При двух логических дисках на жёском диске и одном DVD приводе выдаёт 28. Подключаю флешку - 60, две флешки - 124, три флешки - 252. Что значат эти числа? Почему не 3, 4, 5, 6?

Автор:  Zorko [ 12 сен 2018, 18:38 ]
Заголовок сообщения:  Re: FileSystemObject

Len писал(а):
Почему не 3, 4, 5, 6?
А как бы ты стал хранить ВСЕ эти числа в ОДНОЙ переменной? :-)

Цитата:
Функция GetLogicalDrives возвращает число — битовую маску, в которой хранятся все доступные диски.
http://www.helloworld.ru/texts/comp/lang/visualc/vc2/25.htm

Код: "OBERON"
  1. VAR drives: SET; i: INTEGER;
  2. BEGIN
  3. drives := BITS(WinApi.GetLogicalDrives());
  4. FOR i := 0 TO 25 DO
  5. IF i IN drives THEN Log.Char(CHR(i+97)) END
  6. END;

Страница 1 из 1 Часовой пояс: UTC + 2 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/