Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Меняем местами подэлементы двумерного массива
Задача: поменять в двумерном массиве числа A и B местами Меняем трёхэтапным способом
Arr=# (# (13, 31, 59), # (13, 32, 60), # (13, 35, 58), # (13, 36, 68), # (13, 31, 58), # (13, 32, 59), # (13, 35, 68), # (13, 36, 60)) Листенер вернёт: #(#(58, 31, 59), #(58, 32, 60), #(58, 35, 13), #(58, 36, 68), #(58, 31, 13), #(58, 32, 59), #(58, 35, 68), #(58, 36, 60)) _______________________________________________________________ Немного логики и интересный способ присвоения значений переменным. a=0 --эту переменную надо обязательно объявить, иначе код не будет работать tmp = (-- переменная tmp не была объявлена, поэтому пока её значение undefined a+=1 -- это то же самое что и a=a+1 1 -- /*просто любая цифра, которая вернётся в листенер и присвоится переменной tmp*/ ) tmp==1 -- проверяем, tmp есть 1? -- Листенер вернет true
А вот такой же пример, но с маленькими изменениями a=0 tmp = ( a+=1 off -- булевое значение, тоже самое что и false ( on соответствует true) ) tmp==false -- Проверяем, переменная имеет значение false? -- Листенер вернёт true В общем на последнюю линию в блоке можно ставить всё что угодно, чему мы хотим, чтобы равнялась переменная, которой приравнивается блок
_______________________________________________________________ Работа с внешним текстовым файлом
Просьба дополнить по-возможности: Как удалять строку (или узнать длину строки), как записывать текст на кириллице
Основные операции с файлом --Создание текстового файла "test.txt" в корне диска "С"
Примечание: Файл обязательно нужно закрывать командой "close", после открытия/создания и редактирования, иначе могут возникнуть проблемы с редактированием и удалением файла (пока не будет закрыт 3ds Max)
Создание нового файла Примечание: кириллица не записывается в файл. Все примеры ниже, использованы в целях лучшего понимания. --Запись текста в конце строки format "Какой-то текст" to:f Результат повторного выполнения: "Какой-то текстКакой-то текст"
--Переход на следующую строку "\n" (Например: format "Какой-то текст\n" to:f) Результат повторного выполнения: "Какой-то текст Какой-то текст"
--Пример кода полностью: f = createFile "C: \\ test.txt"
Результат: The second line Line #3 Line #4 Line #5 Line #6”
3) Открытие файла: f = openFile "C: \\ test.txt" mode:"r+"
Есть множество режимов открытия файла (mode:) Основные: r - чтение rt - чтение текста rb - чтение как бинарный код r+ - чтение и запись (с сохранением содержимого) w - запись wt - запись текста (все содержимое удаляется) wb - запись бинарного кода (все содержимое удаляется) w+ - чтение/запись текста (все содержимое удаляется) Внимание! эти атрибуты добавляются с кавычками, как строковые значения! --Количество символов в файле:
Примеры кода полностью. --Замена символов текстом "999999" в третьей позиции:
Результат: "The999999 line"
--Вставка текста"999999" в третью позицию, без замены: --(Допустим, в файле есть всего одна строка "The first line") f = openFile "C: \\ test.txt" mode:"r+"
Результат: "The999999 first line"
-- Если файла по указанному пути не существует, то создать его fPath=”c:\\tmp.txt”
Если файл существует, и надо добавлять в него данные, то: f = openFile fPath mode:"a" -- файл открывается и готов к изменению, об этом говорит параметр “а” format (“tmp” + \n) to:f -- печатать в файле строку “tmp” и перейти на следующую строку. close f
Пример работы с файлами, скрипт выполняет чтение из файла вершин и выделяет их в объекте сцены 3dsMax (
Единственно, что последняя строчка кода почему то не срабатывает и файл остаётся занят. _______________________________________________________________ Если скрипт выполняет то что нужно, но в каких-то ситуациях выдаёт ошибки, то можно их скрыть вот таким параметром, задаваемым в шапке макроскрипта. macroScript UserScriptName category:"NewTools" tooltip:"toolName" silentErrors: true Ну или можно локально сам код организовать с помощью конструкции перехвата ошибокtry () Catch (), по русски это можно понять как try - пробовать выполнить () Catch если возникнет ошибка, тогда выполнять () Если при ошибке делать ничего не нужно, то Catch() так и остаётся с пустыми скобками. _______________________________________________________________
|
||||||
Последнее изменение этой страницы: 2021-04-13; просмотров: 48; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.67.251 (0.015 с.) |