Форум профессиональных мебельщиков PROMEBELclub

Форум профессиональных мебельщиков PROMEBELclub (http://promebelclub.ru/forum/index.php)
-   Базис-мебельщик. Скрипты (http://promebelclub.ru/forum/forumdisplay.php?f=273)
-   -   Обсуждение скриптов в Системе Базис (http://promebelclub.ru/forum/showthread.php?t=13614)

Meshok 17.10.2020 10:33

Цитата:

Сообщение от hseva (Сообщение 501359)
Всем привет!
Подскажите, кто в курсе, почему нижеприведенный код у меня всегда выдает null?
А если убрать проверку на наличиие папки existSync так вообще модуля 'fs' не находит. Стоит Базис 11 с установленным node.
PHP код:

 var fs = require('fs');
var 
path = require('path');
// Папка, из которой считывать имена файлов
const folder ''d:'';
var 
names null;
if (
fs.existsSync(folder)) {names fs.readdirSync(folder);}
console.log(names); 


Исправьте:

const folder = 'd:\\'

И проверьте, чтобы на диске D в корневом каталоге был файл с именем fs (такого файла не находит, вот и выдаёт null)

hseva 17.10.2020 20:08

Цитата:

Сообщение от Meshok (Сообщение 501364)
Исправьте:

const folder = 'd:\\'

И проверьте, чтобы на диске D в корневом каталоге был файл с именем fs (такого файла не находит, вот и выдаёт null)

Да в том то и дело что не могу найти файл fs. Он вроде бы входит в встроенную библиотеку node.
P/S/ Спасибо. все ок. Заработало

Meshok 17.10.2020 21:01

Цитата:

Сообщение от hseva (Сообщение 501383)
Да в том то и дело что не могу найти файл fs. Он вроде бы входит в встроенную библиотеку node.

Ну тогда не пойму Вашего поста.
Вопрос был, почему выдаёт null, а не где делся файл, с именем fs. Вся суть в том, что при проверке

fs.existsSync(folder)

выдаёт значение false, и пока Вы не укажете в строке

var fs = require('fs');

реально существующее имя файла, то у Вас не будет выводиться список файлов из заданной папки.

P.S. У меня винда 10, этот файл расположен по адресу:

C:\Users\ Ваше имя пользователя \.vscode\extensions\felixfbecker.php-intellisense-2.3.14\node_modules\mz

sergio1982 25.10.2020 19:47

http://promebelclub.ru/forum/showthr...294#post491294

Цитата:

Сообщение от Letos (Сообщение 491294)
Для возможности редактирования, блок должен создаваться с помощью функции BeginParametricBlock(). Тогда, если выделить этот блок, появится кнопка "Редактировать", которая вызовет скрипт, создавший блок.

Интересно. А возможно в скрипте узнать что он вызывается по кнопке "Редактировать"? Хочется чтобы при таком вызове скрипт взял инфо из блока и заполнил поля, иначе параметры будут по умолчанию, и особого смысла в такой фиче получается что нет?

Meshok 20.11.2020 21:41

Всем доброго вечера. Возник вопрос такого плана:
во встроенных скриптах (Параметрические блоки/Тумба/Редактируемая тумба) есть такая часть кода:

Скрытый текст

var CurBlock;
var CurPos = NewVector(0, 0, 0);
.....
function NewTumba() {
Make();
Action.Hint = 'Укажите положение тумбы';
Action.ShowPoints = true;
Action.OnMove = function() {
CurBlock.Position = Action.Pos3;
CurPos = Action.Pos3;
};
Action.OnClick = function() {
Action.OnMove = undefined;
Action.ShowPoints = false;
Action.Hint = 'Укажите параметры тумбы';
};
}
[свернуть]

А вот и сам вопрос - как сделать, чтобы CurBlock.Position не был в нижнем левом дальнем углу блока? Хочу, к примеру, верхний ближний левый угол блока? Как такое сделать, чего-то меня "танцы с бубнами" до финиша не довели :-\

Meshok 20.11.2020 23:41

Вложений: 1
Не знаю, обсуждалось это или нет, если что - просьба модераторам удалить топик.
Сейчас обнаружил такую вещь.
При монтировании фурнитуры с помощью процедуры Mount ();

Скрытый текст

/**
* Установить крепеж между двух панелей
* @param panel1
* @param panel2
* @param x
* @param y
* @param z
*/
Mount(panel1: Panel, panel2: Panel, x: number, y: number, z: number): Object3;
[свернуть]


параметр Y оказывается, в принципе, не нужен для моего конкретного случая (скрин прилагаю), устанавливал полкодержатели и еврики

Скрытый текст

....
Evrik.Mount(Dno, LevSt, ts.Value, 0, 50);
Evrik.Mount(Dno, PravSt, ts.Value, 0, 50);
Evrik.Mount(Dno, LevSt, ts.Value, 0, w.Value - 50);
Evrik.Mount(Dno, PravSt, ts.Value, 0, w.Value - 50);
Evrik.Mount(Krysha, LevSt, ts.Value, 0, 50);
Evrik.Mount(Krysha, PravSt, ts.Value, 0, 50);
Evrik.Mount(Krysha, LevSt, ts.Value, 0, w.Value - 50);
Evrik.Mount(Krysha, PravSt, ts.Value, 0, w.Value - 50);
....
Polkodergatel.Mount(Polka1, LevSt, ts.Value, 0, paz.Value + paz_ts.Value + 50);
Polkodergatel.Mount(Polka1, LevSt, ts.Value, 0, w.Value - 70);
Polkodergatel.Mount(Polka1, PravSt, ts.Value, 0, paz.Value + paz_ts.Value + 50);
Polkodergatel.Mount(Polka1, PravSt, ts.Value, 0, w.Value - 70);
....
Polkodergatel.Mount(Polka2, LevSt, ts.Value, 0, paz.Value + paz_ts.Value + 50);
Polkodergatel.Mount(Polka2, LevSt, ts.Value, 0, w.Value - 70);
Polkodergatel.Mount(Polka2, PravSt, ts.Value, 0, paz.Value + paz_ts.Value + 50);
Polkodergatel.Mount(Polka2, PravSt, ts.Value, 0, w.Value - 70);
....
[свернуть]

P.S. Это в 8-ке народной...
X и Z для других случаев ещё не проверил...


Текущее время: 06:10. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
© 2007-2021 PROMEBEL