Хорошо бы иметь такой проект. Было бы очень полезно.
» Indigo Rose AutoPlay Media Studio
Люди как присвоить не объявленной переменной n значение массива nArray
KerberX -- будет настроение, может и проект будет.
SergD29 -- поподробней можно?
SergD29 -- поподробней можно?
SergD29
Наверное так: n=nArray;
В LUA объявлять переменные предварительно не нужно так же как и не нужно определять тип данных для этих переменных.
Наверное так: n=nArray;
В LUA объявлять переменные предварительно не нужно так же как и не нужно определять тип данных для этих переменных.
Robby
если бы, так точно не получается
Добавлено:
function save_in_linkarray (n,e_URL)
nArray={};
tblMenu={};
--tblMenu[1]={};
--tblMenu.number ={};
--local n = 1;
linkArray={};
e_URL = IExplorer.GetLocationURL("Web1");
res_fin = String.Find(e_URL, "AutoPlay/Docs/Start.html", 1, false);
if res_fin > 0 then n=1;
else
for i = 1, 2 do
n=nArray[i];
end
--buf_menu=tblMenu;
--n = buf_menu.number;
--RichText.SetText("RichText7",n, false);
for i = n, n+1 do
n=n+1;
end
end
for i = n, n+1 do
linkArray[n] = e_URL;
end
nArray=n;
--tblMenu.number = n;
RichText.SetText("RichText7",n, false)
if n == 0 then RichText.SetText("RichText7","Óâû", false);
end
Добавлено:
пишет что n=nil
если бы, так точно не получается
Добавлено:
function save_in_linkarray (n,e_URL)
nArray={};
tblMenu={};
--tblMenu[1]={};
--tblMenu.number ={};
--local n = 1;
linkArray={};
e_URL = IExplorer.GetLocationURL("Web1");
res_fin = String.Find(e_URL, "AutoPlay/Docs/Start.html", 1, false);
if res_fin > 0 then n=1;
else
for i = 1, 2 do
n=nArray[i];
end
--buf_menu=tblMenu;
--n = buf_menu.number;
--RichText.SetText("RichText7",n, false);
for i = n, n+1 do
n=n+1;
end
end
for i = n, n+1 do
linkArray[n] = e_URL;
end
nArray=n;
--tblMenu.number = n;
RichText.SetText("RichText7",n, false)
if n == 0 then RichText.SetText("RichText7","Óâû", false);
end
Добавлено:
пишет что n=nil
SergD29
В твоем коде можно х#й сломать.
Цитата:
У тебя массив nArray пустой, и ты пытаешься присвоить переменной n значение из массива, в котором ничего нет.
В твоем коде можно х#й сломать.
Цитата:
n=nArray[i ];
У тебя массив nArray пустой, и ты пытаешься присвоить переменной n значение из массива, в котором ничего нет.
а эта строчка разве не пристраивает nArray=n;
SergD29
А ты не исключаешь варианта, что сначала выполняется цикл
Код: for i = 1, 2 do
n=nArray[i ];
end
А ты не исключаешь варианта, что сначала выполняется цикл
Код: for i = 1, 2 do
n=nArray[i ];
end
SergD29
Чтобы записать в массив значение нужно указать индекс для числового массива или имя для именованного
nArray[1]=n - так записывают значение в массив
лучше опиши свою задачу, а то код у тебя как сказал Zloy_Gelud ...
Чтобы записать в массив значение нужно указать индекс для числового массива или имя для именованного
nArray[1]=n - так записывают значение в массив
лучше опиши свою задачу, а то код у тебя как сказал Zloy_Gelud ...
так условие
res_fin = String.Find(e_URL, "AutoPlay/Docs/Start.html", 1, false);
if res_fin > 0 then n=1;
обязано было занести 1 в массив nArray=n;
Добавлено:
Robby ты еще весь код не видел, а индекс я указывал, результат тот же
res_fin = String.Find(e_URL, "AutoPlay/Docs/Start.html", 1, false);
if res_fin > 0 then n=1;
обязано было занести 1 в массив nArray=n;
Добавлено:
Robby ты еще весь код не видел, а индекс я указывал, результат тот же
SergD29
Обязано, если выполняется. А оно у тебя выполняется? Может нет?
Обязано, если выполняется. А оно у тебя выполняется? Может нет?
во общем мне нужно создать переменную которая бы изменялась при работе функции, значения в ней
Добавлено:
да в RichText.SetText подтверждаться вывод 1)))
Добавлено:
да в RichText.SetText подтверждаться вывод 1)))
SergD29
Приведи скриншот ошибки.
Приведи скриншот ошибки.
SergD29
Ну тогда уж и весь код с события On Navigated в студию.
Ну тогда уж и весь код с события On Navigated в студию.
[more] e_UR = IExplorer.GetLocationURL("Web1");
RichText.SetText("RichText4", e_UR, false);
--old_url=e_URL;
--function setWindowsSIZE()
--Window.Maximize(Application.GetWndHandle());
--end
function save_in_linkarray (n,e_URL)
nArray={};
tblMenu={};
--tblMenu[1]={};
--tblMenu.number ={};
--local n = 1;
linkArray={};
e_URL = IExplorer.GetLocationURL("Web1");
res_fin = String.Find(e_URL, "AutoPlay/Docs/Start.html", 1, false);
if res_fin > 0 then n=1;
else
for i = 1, 2 do
n=nArray[i];
end
--buf_menu=tblMenu;
--n = buf_menu.number;
--RichText.SetText("RichText7",n, false);
for i = n, n+1 do
n=n+1;
end
end
for i = n, n+1 do
linkArray[n] = e_URL;
end
nArray=n;
--tblMenu.number = n;
RichText.SetText("RichText7",n, false)
if n == 0 then RichText.SetText("RichText7","Óâû", false);
end
end
save_in_linkarray();
ToolBar.AddButton("Plugin1", n, "Tab", e_URL, false, true, 1, 1, 1);
ToolBar.SetButtonSize("Plugin1", 32, 32, 2, 2, 4, 4);
ToolBar.SetButtonBackColor("Plugin1", STATE_NORMAL, 255);
ToolBar.SetButtonBackColor("Plugin1", STATE_NORMAL, 0); [/more]
Добавлено:
я его только начал писать
RichText.SetText("RichText4", e_UR, false);
--old_url=e_URL;
--function setWindowsSIZE()
--Window.Maximize(Application.GetWndHandle());
--end
function save_in_linkarray (n,e_URL)
nArray={};
tblMenu={};
--tblMenu[1]={};
--tblMenu.number ={};
--local n = 1;
linkArray={};
e_URL = IExplorer.GetLocationURL("Web1");
res_fin = String.Find(e_URL, "AutoPlay/Docs/Start.html", 1, false);
if res_fin > 0 then n=1;
else
for i = 1, 2 do
n=nArray[i];
end
--buf_menu=tblMenu;
--n = buf_menu.number;
--RichText.SetText("RichText7",n, false);
for i = n, n+1 do
n=n+1;
end
end
for i = n, n+1 do
linkArray[n] = e_URL;
end
nArray=n;
--tblMenu.number = n;
RichText.SetText("RichText7",n, false)
if n == 0 then RichText.SetText("RichText7","Óâû", false);
end
end
save_in_linkarray();
ToolBar.AddButton("Plugin1", n, "Tab", e_URL, false, true, 1, 1, 1);
ToolBar.SetButtonSize("Plugin1", 32, 32, 2, 2, 4, 4);
ToolBar.SetButtonBackColor("Plugin1", STATE_NORMAL, 255);
ToolBar.SetButtonBackColor("Plugin1", STATE_NORMAL, 0); [/more]
Добавлено:
я его только начал писать
SergD29
Ох. Мне кажется, что после
Цитата:
переменная n равна nil. Т.к. похоже, что массив состоит всего лишь из одного элемента, а ты пытаешься присвоить перем. n значение второго элемента, которого нет. Может я и ошибаюсь, но дальнейшего желания в таком "грязном" коде желания нет. Да и занимаемся мы "гаданием на кофейной гуще". Сделай несколько проверок в коде и выясни на каком этапе у тебя перем. n будет равна nil.
Ох. Мне кажется, что после
Цитата:
for i = 1, 2 do
n=nArray[ i];
end
переменная n равна nil. Т.к. похоже, что массив состоит всего лишь из одного элемента, а ты пытаешься присвоить перем. n значение второго элемента, которого нет. Может я и ошибаюсь, но дальнейшего желания в таком "грязном" коде желания нет. Да и занимаемся мы "гаданием на кофейной гуще". Сделай несколько проверок в коде и выясни на каком этапе у тебя перем. n будет равна nil.
да даже если я возьму n=nArray[1]; то ошибка возникает снова, а как ещё можно создать изменяемую переменную
SergD29
Может так:
Код: local n
save_in_linkarray();
ToolBar.AddButton("Plugin1", n, "Tab", e_URL, false, true, 1, 1, 1);
ToolBar.SetButtonSize("Plugin1", 32, 32, 2, 2, 4, 4);
ToolBar.SetButtonBackColor("Plugin1", STATE_NORMAL, 255);
ToolBar.SetButtonBackColor("Plugin1", STATE_NORMAL, 0);
Может так:
Код: local n
save_in_linkarray();
ToolBar.AddButton("Plugin1", n, "Tab", e_URL, false, true, 1, 1, 1);
ToolBar.SetButtonSize("Plugin1", 32, 32, 2, 2, 4, 4);
ToolBar.SetButtonBackColor("Plugin1", STATE_NORMAL, 255);
ToolBar.SetButtonBackColor("Plugin1", STATE_NORMAL, 0);
SergD29
Вот если прокомментировать твой код, то
Код: function save_in_linkarray (n,e_URL)
nArray={}; -- создаем пустую таблицу nArray
tblMenu={}; -- создаем пустую таблицу tblMenu
--tblMenu[1]={};
--tblMenu.number ={};
--local n = 1;
linkArray={}; -- создаем пустую таблицу linkArray
e_URL = IExplorer.GetLocationURL("Web1"); -- получаем URL
res_fin = String.Find(e_URL, "AutoPlay/Docs/Start.html", 1, false); -- ищем в e_URL совпадение
if res_fin > 0 then n=1; -- если найдено присваиваем n=1
else -- иначе
for i = 1, 2 do -- цикл от 1 до 2
n=nArray[i]; -- nArray[i] таблица пустая null, значение в n будет перезаписано 2 раза, вообще не понятно зачем это нужно, тут вообще будет ошибка на ошиибке ибо не известна размерность массива nArray[i] и так как таблица возвращает null то и переменной n больше не существует
end
--buf_menu=tblMenu;
--n = buf_menu.number;
--RichText.SetText("RichText7",n, false);
for i = n, n+1 do -- здесь перменной n может уже и не быть
...
Вот если прокомментировать твой код, то
Код: function save_in_linkarray (n,e_URL)
nArray={}; -- создаем пустую таблицу nArray
tblMenu={}; -- создаем пустую таблицу tblMenu
--tblMenu[1]={};
--tblMenu.number ={};
--local n = 1;
linkArray={}; -- создаем пустую таблицу linkArray
e_URL = IExplorer.GetLocationURL("Web1"); -- получаем URL
res_fin = String.Find(e_URL, "AutoPlay/Docs/Start.html", 1, false); -- ищем в e_URL совпадение
if res_fin > 0 then n=1; -- если найдено присваиваем n=1
else -- иначе
for i = 1, 2 do -- цикл от 1 до 2
n=nArray[i]; -- nArray[i] таблица пустая null, значение в n будет перезаписано 2 раза, вообще не понятно зачем это нужно, тут вообще будет ошибка на ошиибке ибо не известна размерность массива nArray[i] и так как таблица возвращает null то и переменной n больше не существует
end
--buf_menu=tblMenu;
--n = buf_menu.number;
--RichText.SetText("RichText7",n, false);
for i = n, n+1 do -- здесь перменной n может уже и не быть
...
все равно пишет что n равно nil
Добавлено:
Цитата:
почему пустая, я же в низу присвоил ей nArray=n;, хорошо если написать n=nArray[1] без for результат тот же
Добавлено:
Цитата:
for i = 1, 2 do -- цикл от 1 до 2
n=nArray[i]; -- nArray[i] таблица пустая null, значение в n будет перезаписано 2 раза, вообще не понятно зачем это нужно, тут вообще будет ошибка на ошиибке ибо не известна размерность массива nArray[i] и так как таблица возвращает null то и переменной n больше не существует
почему пустая, я же в низу присвоил ей nArray=n;, хорошо если написать n=nArray[1] без for результат тот же
SergD29
Короче, здесь
Цитата:
ты присваиваешь n значение nil, ибо условие
Цитата:
в текущей момент не выполняется, не важно до этого выполнялось оно или нет.
Короче, здесь
Цитата:
for i = 1, 2 do
n=nArray[ i];
end
ты присваиваешь n значение nil, ибо условие
Цитата:
if res_fin > 0 then
в текущей момент не выполняется, не важно до этого выполнялось оно или нет.
Возвращаясь к прошлому
Цитата:
Цитата:
Этот скрипт умеет/должен извлекать устройства типа DRIVE_REMOVABLE (например, флешки, external HDD)есть ли возможность силами AMS считать ID материнки?
ra700
Цитата:
Есть, если ты сам найдешь пример в инете как получить ID мат. платы на любом другом языке программирования.
Цитата:
есть ли возможность силами AMS считать ID материнки?
Есть, если ты сам найдешь пример в инете как получить ID мат. платы на любом другом языке программирования.
ra700
Ключевую информацию я и так знаю, ты мне покажи код, где именно ID материнки получают.
Добавлено:
А вообще, я на предыдущей странице специально утилиту выложил для работы с WMI. Выбирай нужный класс, смотри свойства и вперед.
Ключевую информацию я и так знаю, ты мне покажи код, где именно ID материнки получают.
Добавлено:
А вообще, я на предыдущей странице специально утилиту выложил для работы с WMI. Выбирай нужный класс, смотри свойства и вперед.
Получить номер материнской платы и номер диска .
Добавлено:
Zloy_Gelud, благодарю!
Мои возможности пока очень скромны, постараюсь "переварить"
Добавлено:
Zloy_Gelud, благодарю!
Мои возможности пока очень скромны, постараюсь "переварить"
ra700
Цитата:
Это получение серийного номера, а не ID, который ты просил.
И я ж написал:
Цитата:
Нашел в инете подходящий вариант, запустил мою утиль, выбрал класс, получил код для AMS. Куда уже проще.
Добавлено:
Я надеюсь, что твой проект реально стоит той защиты, над которой ты работаешь.
Цитата:
Получить номер материнской платы и номер диска .
Это получение серийного номера, а не ID, который ты просил.
И я ж написал:
Цитата:
А вообще, я на предыдущей странице специально утилиту выложил для работы с WMI. Выбирай нужный класс, смотри свойства и вперед.
Нашел в инете подходящий вариант, запустил мою утиль, выбрал класс, получил код для AMS. Куда уже проще.
Добавлено:
Я надеюсь, что твой проект реально стоит той защиты, над которой ты работаешь.
Цитата:
Я надеюсь, что твой проект реально стоит той защиты, над которой ты работаешь.
В моем случае задача стоит не ЧТО защитить, а КАК защитить.
У каждого свои причуды, у меня вот сидит жук и точит:"а слабо сделать?" Делать то, что умеешь делать - это одна задача, а сделать то, что не умеешь - это несколько другое.
Вот и сижу, е...у мозг себе и людям...
Zloy_Gelud, (кстати, почему злой? По-моему, добрый), спасибо, утиль - супер!!!
ra700
Цитата:
Это отдельная история.. да обсуждение здесь моего ника совсем неуместно.
Цитата:
Рад, что пригодилась.
Цитата:
(кстати, почему злой? По-моему, добрый)
Это отдельная история.. да обсуждение здесь моего ника совсем неуместно.
Цитата:
спасибо, утиль - супер!!!
Рад, что пригодилась.
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
Предыдущая тема: память не может быть written
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.