Studopediya

КАТЕГОРИЯ:


Астрономия- (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) Arhitektura- (3434) Astronomiya- (809) Biologiya- (7483) Biotehnologii- (1457) Военни бизнесмен (14632) Висока technologies- (1363) Geografiya- (913) Geologiya- (1438) на държавата (451) Demografiya- ( 1065) Къща- (47672) журналистика и смирен (912) Izobretatelstvo- (14524) външен >(4268) Informatika- (17799) Iskusstvo- (1338) историята е (13644) Компютри- (11,121) Kosmetika- (55) Kulinariya- (373) културата е (8427) Lingvistika- (374) Literatura- (1642) маркетинг-(23702) математиците на (16968) Механична инженерно (1700) медицина-(12668) Management- (24684) Mehanika- (15423) Naukovedenie- (506) образователна (11852) truda- сигурност (3308) Pedagogika- (5571) Poligrafiya- (1312) Politika- (7869) Лево- (5454) Priborostroenie- (1369) Programmirovanie- (2801) производствено (97 182 ) индустрия- (8706) Psihologiya- (18388) Religiya- (3217) Svyaz (10668) Agriculture- (299) Sotsiologiya- (6455) на (42831) спортист строително (4793) Torgovlya- (5050) транспорт ( 2929) Turizm- (1568) физик (3942) Filosofiya- (17015) Finansy- (26596) химия (22929) Ekologiya- (12095) Ekonomika- (9961) Electronics- (8441) Elektrotehnika- (4623) Мощност инженерно ( 12629) Yurisprudentsiya- (1492) ядрена technics- (1748)

Пишете на двоичен файл




Входно-изходната в двоични файлове

Отваряне на файл спасяване диалогов прозорец

В диалоговия прозорец, за да записвате файлове (Save) е открита от getSaveFileName функции:

Име на файл = getSaveFileName \

надпис: "Изберете Име на файла" \

типа: "Текст (. * TXT) | (. * TXT) |"

функция getSaveFileName връща името на избрания файл. Ако файлът вече съществува, ще бъде подканен да потвърди продължаването на операцията, за да запишете данните във файла. По същия начин действа функция getOpenFileName getSaveFileName всъщност не записва данните във файл. Тя извлича само името на избрания файл. Този файл трябва да бъде открита в сценария, записват данните за него, и да го затвори с предварително обсъдени функции.


приложение

Номерата съхраняват в компютъра в компактен бинарен формат. Този формат предлага редица предимства, като същевременно се запази числовите данни в досиетата.

На първо място, файл, получен компактен. По този начин, ако се изисква един байт за всяка цифра плюс още един байт за десетична запетая за съхраняване на цифрова стойност в плаваща запетая двоични четири байта се изисква, за да го запишете в текстов формат с помощта на горепосочените функции. Например, за запазване на 1.4565 в текстов файл се изисква 6 байта.

Въпреки това, трябва да се има предвид, че не всички числови стойности се съхраняват в двоичен формат, водят до намаляване на размера на файла. За да се съхранява двоично цяло число изисква най-малко четири байта, така че представянето поредица от числа от 0 до 100 е по-компактна от двоичен.

Друго предимство на опазване в двоичен формат е, че сценарият не е необходимо да я превърне в редицата от данни при четене от файл. Данните низ функция readValue обсъдени по-горе, се четат от файл и автоматично конвертирани в цифрови стойности, за които те могат да бъдат използвани при извършване на числови операции на компютъра. И при четене двоични файлове с данни, който се нуждае от такава трансформация не е необходимо.

За да отворите файл, за целите на четене или записване на двоични данни е функция fopen. Тази функция връща стойност BinStream, който се използва за последващо достъп до файла.

В следващото упражнение ще създадете обхвата, за да подаде координатите на върховете му, и след това задайте 3dsMax нулиране и чете от файл, съхранявани координати на върховете.

1. Комплект 3dsMax към първоначалното си състояние.

2. Създаване на прозорец за показване на всяка сфера на радиус от около 50 единици. В това поле трябва да бъде наречена Sphered.

3. Превръщане на сферата в редактируем рамка.



4. Вид на прозореца на MAXScript Editor-долу редактор скрипт линия на код на. Ако C устройството на вашия компютър не е временна директория, изберете друга директория на вашия собствен, съответно промяна на сценария:

поток = fopen "C: \\ температура \\ bintest.bin" "WB"

Wb параметър в този ред на код се записва само двоични данни. Този режим се използва в сценария, за да запише данните във файл.

5. Продължете да въвеждате код сценарий:

- Вземете броя на върховете на областта

бр = getNumVerts $ Sphere01

за I = 1 до бр направя


приложение

(

- Вземи координатите на позицията на върховете

поз = getVert $ Sphere01 аз

- Запишете координатите X, Y, Z в изображението

writeFloat поток pos.x

writeFloat поток pos.y

writeFloat поток pos.z

)

метод getNumVerts връща броя на върховете на редактирана метода на рамка и рамка getVert отнема един обект като първата му параметър, и броят на върховете като втория си параметър. Той връща Point3, обозначаващ координатите X, Y и Z са единствен връх.

6. Затворете файла, като въведете следния код, за да окончателното сценария:

fclose поток

7. Изпълнете скрипта.

В резултат на това файлът е създаден.

8. Опитайте се да отворите bintest.bin файл в текстов редактор като Notepad или Wordpad.

Данните в този файл се записват в двоичен формат. Те могат да се четат с помощта на MAXScript, но не от текстовия редактор. Затова промените вида на изходните данни във файл, за да го прочете.

9. Направете следните промени в сценария, този път с помощта на данните от низ. Също така в този случай е посочено WB параметър като низови данни се състоят от отделни байтове. В допълнение, трябва да промените името на файла.

поток = fopen "C: \\ температура \\ bintest2.bin" "WB"

бр = getNumVerts $ Sphere01

за I = 1 до бр направя

(

поз = getVert $ Sphere01 аз

writeString поток (pos.x като низ)

writeString поток (pos.u като низ)

writeString поток (pos.z като низ)

)

fclose поток

10. Отвори файла bintest2.bin vtekstovomredaktore Notepad или Wordpad. По това време, данните се записват в стандартен текстов формат. Тъй като Windows Explorer, размерът на файла е по-голяма от предишната. Ако добавите емисия характер линия след всеки елемент от данни, bintest2.bin размер на файла ще бъде още по-голям.

разнообразие на мнения може да се използва за запис на данни в двоичен формат. По-специално, то е възможно да се чете и пише дълго целочислена стойност, въпреки че те трябва да се съхранява повече байта. Ако кратко целочислени стойности, записани с помощта writeShort функция и се съхраняват в два байта, записването на дълги числа, използвайки writeShort функции, необходими за четири байта.


приложение

Освен това, стойностите на целочислени могат да се съхраняват със знака (плюс или минус) или неподписани (положителни само стойности).

Показани са обхвати за номерата, съхранени с помощта writeByte функции и writeShort writeLong. Съответните стойности са приблизителни.

• Numbers, които се съхраняват с помощта на функции writeByte

• Единична байта цяло число: +/- 127

• Single-байт положително цяло 0-255

• Numbers, които се съхраняват с помощта на функции writeShort

• Двойна байта цяло число +/- 32000

• Double-байт положително цяло: 0-65000

• Numbers, които се съхраняват с помощта на функции writeLong

• Цялото число четири байта +/- 2,0 милиарда

• Най-положително цяло четири байта: 0-4000000000

Пълен списък на представителства на номера на разположение в MAXScript, може да се намери в следния раздел справка ръководството но MAXScript: MAXScript Инструменти и взаимодействие с 3dsMax ⇨ FileAccess ⇨ Текст и Binary входен файл и Output ⇨ BinStream за Binary четене и писане (Tools MAXScript и взаимодействие с 3dsMax ⇨ достъп до файлове ⇨ Входно-изходен в текстови и бинарни файлове ⇨ Методи BinStream клас за четене и писане на двоични данни).





; Дата: 10.15.2014; ; Прегледи: 187; Нарушаването на авторските права? ;


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



ТЪРСЕНЕ:





zdes-stroika.ru - Studopediya (2013 - 2017) на година. Тя не е автор на материали, и дава на студентите с безплатно образование и използва! Най-новото допълнение , Al IP: 66.102.9.24
Page генерирана за: 0.05 секунди.