Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Доступ к файлам на уровне системы




Запись в файлы

В следующем упражнении вы научитесь записывать данные в файл.

1. Создайте в сцене цилиндр: c = cylinder()

2. Введите в новом окне редактора MAXScript Editor следующий фрагмент кода и выполните его:

fs = createFile "c:\\3dsmax8\\scripts\\cylinderData.txt"

format "radius %" c.radius to: fs

close fs

В итоге будет сформирована текстовая строка "radius 15,0", которая затем записывается в файл.

3. Откройте в текстовом редакторе WindowsNotepad файл cylinderdata.txt, чтобы проверить его содержимое, а затем закройте его в том же текстовом редакторе.

4. Перейдите в редактор сценариев, внесите изменения в строку форматирования, чтобы отформатировать два элемента в одной строке, и выполните сценарий: format "radius% heightsegs%"c.radius с. heightsegs to: fs

5. Откройте в текстовом редакторе WindowsNotepad файл cylinderdata.txt, чтобы проверить его содержимое, а затем закройте этот файл в том же текстовом редакторе.

В этом файле должна быть записана строка " radius 15.0 heightsegs1". Весь автоматически сформированный текст находится в одной строке. Это положение вам предстоит изменить в следующем пункте данного упражнения.

6. Перейдите в редактор сценариев и внесите изменения в строку форматирования следующим образом:

format "radius = %\nheightsegs = %" c.radius c.heightsegs to: fs

Итак, в файле будет записано следующее:

radius = 15.0

heightsegs = 1

Символ новой строки выглядит так: \n. Между символом n и началом следующей строки не должно быть пробела, иначе пробел станет частью строки.

7. Откройте в текстовом редакторе WindowsNotepad файл

cylinderdata.txt, чтобы проверить его содержимое, а затем закройте этот файл в том же текстовом редакторе.


Приложение

Если в файл необходимо записать очень длинный перечень данных, все эти данные необязательно записывать в одной отформатированной строке. Ведь всегда можно ввести символ новой строки. Приведенный ниже сценарий формирует тот же текст, что и предыдущий:

fs = createFile "c:\\3dsmax8\\scripts\\cylinderData.txt"

format "radius = %" c.radius to: fs format "\n" to: fs

format "segments = %" c.heightsegs to: fs

close fs

Для записи чисел без текста просто опустите текст: format"%" c.radiusto: fs

Иногда управлять файлами или каталогами приходится на уровне системы, например, для того, чтобы создать новый каталог, получить список всех файлов в этом каталоге или скопировать файлы. Для решения подобных задач в MAXScript имеется целый ряд функций.

Ниже приведен перечень этих функций и краткие сведения о том, как они реа­лизованы. Введите каждую из них в приемнике команд, чтобы просмотреть ре­зультаты их выполнения.

• getFiles — возвращает массив строковых значений в виде имен файлов, соответствующих указанному имени файла или обозначению любых символов. В приведенном ниже примере осуществляется поиск в каталоге c:\temp всех файлов с расширением.max:

fileList = getFiles "c:\\temp\\*.max"

В этом примере fileList представляет собой массив строковых значений в виде имен файлов, соответствующих заданному критерию поиска. Используя свойство.count данного массива, можно определить число таких файлов:

numFiles = fileList.count

Примечание. Свойство.count, обозначающее число элементов данного массива, позволяет определить наличие найденных файлов. Если это число равно нулю, значит, файлы, соответствующие заданному критерию поиска, отсутствуют.

• getDirectories — возвращает такой же массив каталогов, как и у функции getFiles. Так, приведенная ниже строка кода возвращает все каталоги, находящиеся на корневом уровне диска C:\:

directories = getDirectories "c:\\*"

• makeDir — создает каталог. Синтаксис этой функции следующий:

makeDir "c:\\newDir"

• deleteFile — удаляет из системы указанный файл. Синтаксис этой функции следующий:

deleteFile "c:\\temp\\dontneedit.max"


Приложение

• renameFile — изменяет имя файла. В качестве первого аргумента этой функции указывается текущее имя файла, а в качестве второго аргумента — новое имя файла:

renameFile "c:\\nameidontlike.max" "c:\\bettername.max"

• copyFile — копирует файл. Синтаксис этой функции такой же, как и у функции renameFile:

copyFile "c:\\oldfile.mах" "c:\\newfile.mах"

Дополнительные сведения о применении перечисленных выше функций при­ведены в следующем разделе справочного руководства по MAXScript: MAXScript Tools and Interaction with 3dsMax ⇨ FileAccess ⇨ External File Access ⇨ External File Methods (Инструменты MAXScript и взаимодействие с 3dsMax ⇨ Доступ к файлам ⇨ Доступ к внешним файлам ⇨ Методы доступа к внешним файлам).




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 620; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.