0
gabatel
06.06.12
✎
10:24
|
Как передать координаты точки х,у и получить результат?
Текст = "isPointInPoly(points, {x: 10, y: 10})";
scriptCtrl= СоздатьОбъект("MSScriptControl.ScriptControl");
scriptCtrl.language="javascript";
Попытка
scriptCtrl.AddCode("
|function isPointInPoly(poly, pt){
|for(var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)
| ((poly[i].y <= pt.y && pt.y < poly[j].y) || (poly[j].y <= pt.y && pt.y < poly[i].y))
| && (pt.x < (poly[j].x - poly[i].x) * (pt.y - poly[i].y) / (poly[j].y - poly[i].y) + poly[i].x)
| && (c = !c);
| return c;
| }
| points = [
| {x: 49.325829, y: 26.854756},
| {x: 49.326994, y: 26.857169},
| {x: 49.324019, y: 26.860754},
| {x: 49.325577, y: 26.853961},
| {x: 49.325439, y: 26.864316},
| {x: 49.327067, y: 26.866709},
| {x: 49.323869, y: 26.871692},
| {x: 49.323246, y: 26.867334},
| {x: 49.322805, y: 26.866486},
| {x: 49.320791, y: 26.865787},
| {x: 49.320452, y: 26.860936},
| {x: 49.320955, y: 26.859675},
| {x: 49.322664, y: 26.858469},
| {x: 49.323591, y: 26.858516},
| {x: 49.324285, y: 26.857736},
| {x: 49.324858, y: 26.856305},
| ];
|");
Текст=СокрЛП(scriptCtrl.Run("isPointInPoly(points, {x: 10, y: 10})"));
|
|
1
andrewks
06.06.12
✎
10:28
|
мой гений дарит вам... ©
Функция СкачатьФайлПоСсылке(Ссылка,ИмяФайла)
Попытка
JS=СоздатьОбъект("MSScriptControl.ScriptControl");
JS.Language="jscript";
JS.Timeout=-1;
Исключение
ТекстОшибки=ОписаниеОшибки();
Сообщить("Не удалось создать объект MSScriptControl.ScriptControl","!");
Сообщить("Описание ошибки: "+ТекстОшибки,"!");
Возврат 0;
КонецПопытки;
Попытка
СтрКода="function DwnFile(FileLink,FileName)
|{
| Stream=new ActiveXObject(""ADODB.Stream"");
| Stream.Mode=3;
| Stream.Type=1;
| Stream.Open();
| Req=new ActiveXObject(""Microsoft.XMLHTTP"");
| Req.Open(""GET"",FileLink,0,"""","""");
| Req.Send();
| Stream.Write(Req.responseBody);
| Stream.SaveToFile(FileName,2);
| Stream.Close();
| return(0);
|}
|";
JS.AddCode(СтрКода);
Рез=JS.Modules("Global").CodeObject.DwnFile(Ссылка,ИмяФайла);
Исключение
ТекстОшибки=ОписаниеОшибки();
Сообщить("Описание ошибки: "+ТекстОшибки,"!");
Возврат 0;
КонецПопытки;
Возврат 1;
КонецФункции
|
|
2
gabatel
06.06.12
✎
14:55
|
Выдает ошибку в 1С 'y' is null or not an object,А если данный скрип запустить в Iexplorer тоже такая самая ошибка,а если в другом браузере работает нормально,в чем проблема подскажите пожалуйста.
scriptCtrl= СоздатьОбъект("MSScriptControl.ScriptControl");
scriptCtrl.language="javascript";
scriptCtrl.AddCode("
| points = [
| {x: 49.325829, y: 26.854756},
| {x: 49.326994, y: 26.857169},
| {x: 49.324019, y: 26.860754},
| {x: 49.325577, y: 26.853961},
| {x: 49.325439, y: 26.864316},
| {x: 49.327067, y: 26.866709},
| {x: 49.323869, y: 26.871692},
| {x: 49.323246, y: 26.867334},
| ];
|function isPointInPoly(poly, pt){
|for(var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)
| ((poly[i].y <= pt.y && pt.y < poly[j].y) || (poly[j].y <= pt.y && pt.y < poly[i].y))
| && (pt.x < (poly[j].x - poly[i].x) * (pt.y - poly[i].y) / (poly[j].y - poly[i].y) + poly[i].x)
| && (c = !c);
| return c;
| }
|function PolygonSearch(){
|alert(isPointInPoly(points,{x: 49.322664, y: 26.859675}) ? ""объект на поле"" : ""объект вне поля"");
|}
|");
Текст=СокрЛП(scriptCtrl.Run("PolygonSearch"));
|
|