Народ так как все таки по скрипту запустить в проекте подряд на одной странице три флэш ролика друг за другом....по принципу карусели с повтором...
» Autoplay Media Studio
в iten data а что ?
ща прверю
Добавлено:
чтото я не так сделал корень не находит
data1 = tonumber(ComboBox.GetItemData("ComboBox1", e_Selection));
data2 = tonumber(Input.GetText("Input2"));
data3 = (data1*data2)^0.5; -- формула
Input.SetText("Input3", data3);
Добавлено:
считает так а дожнополучится не 8... а 12
http://img187.imageshack.us/img187/7386/000ylf.jpg
ща прверю
Добавлено:
чтото я не так сделал корень не находит
data1 = tonumber(ComboBox.GetItemData("ComboBox1", e_Selection));
data2 = tonumber(Input.GetText("Input2"));
data3 = (data1*data2)^0.5; -- формула
Input.SetText("Input3", data3);
Добавлено:
считает так а дожнополучится не 8... а 12
http://img187.imageshack.us/img187/7386/000ylf.jpg
sttmaster
если после одного ролика должен загружатся следующий см. On Finish флэш объекта
Посылает ли ОС приложению какие-нибудь аргументы при переходе в ждущий режим, выключении и т.д.?
если после одного ролика должен загружатся следующий см. On Finish флэш объекта
Посылает ли ОС приложению какие-нибудь аргументы при переходе в ждущий режим, выключении и т.д.?
RW4PIR
У меня и получается 12
Код на кнопку
Цитата:
только имена объектов свои подставь
У меня и получается 12
Код на кнопку
Цитата:
data2 = tonumber(ComboBox.GetText("ComboBox1"));
data1 = tonumber(Input.GetText("Input1"));
data3 = (data1*data2)^0.5; -- формула
Input.SetText("Input2", data3);
только имена объектов свои подставь
Скажите пожалуйста у каго нить есть примеры datagrid с изменеными шрифтом размером стилем и т.д. или примеры кодов а то со встроенной справкой вообще беда не могу ни как разобраться
RW4PIR
http://solidfiles.com/d/98e02ed5ca680f564fa28c5b50b865ed - 10,36 kb
Реализация с радиобаттонами и Комбобоксом (2 варианта).
Добавлено:
RW4PIR
На On Click каждого радиобаттона повесь это (а то забыл в проекте дописать):
Код: Input.SetText("Input1", RadioButton.GetText(this));
http://solidfiles.com/d/98e02ed5ca680f564fa28c5b50b865ed - 10,36 kb
Реализация с радиобаттонами и Комбобоксом (2 варианта).
Добавлено:
RW4PIR
На On Click каждого радиобаттона повесь это (а то забыл в проекте дописать):
Код: Input.SetText("Input1", RadioButton.GetText(this));
Zloy_Gelud
Lexua
спасибо всё работает
Lexua
спасибо всё работает
AleksTrin
Цитата:
проблема из-за того что код находится в on close, сейчас не могу придумать как лучше сделать чтобы все работало.
Возможно ли добавить в окно Dialog.Message объект CheckBox с надписью: "Больше не выводить это окно."
пробовал сделать через xDialog_Message.dll, но я так и не понял, как изменять размер кнопок, под стандартные, как в Dialog.Message и как мне внедрить иконку MB_ICONEXCLAMATION
имею ввиду что-то на подобии этого окна
Цитата:
Появляется нормально все, а вот исчезает быстро, может скажешь почему?
проблема из-за того что код находится в on close, сейчас не могу придумать как лучше сделать чтобы все работало.
Возможно ли добавить в окно Dialog.Message объект CheckBox с надписью: "Больше не выводить это окно."
пробовал сделать через xDialog_Message.dll, но я так и не понял, как изменять размер кнопок, под стандартные, как в Dialog.Message и как мне внедрить иконку MB_ICONEXCLAMATION
имею ввиду что-то на подобии этого окна
и еще помогите, как сделать что при нажатии на Enter мое диалоговое окно закрывалось но без без звуков, как этот звук отключить (то которое если открыто диалоговое окно, а ты кликаешь на страницу проекта)?
Код: if e_Key == 13 then
Window.Close(DialogEx.GetWndHandle(), CLOSEWND_SENDMESSAGE);
end
Код: if e_Key == 13 then
Window.Close(DialogEx.GetWndHandle(), CLOSEWND_SENDMESSAGE);
end
День добрый.
не могу разобраться
1. зачем нужен объект "Dialogs", ни в одном примере он не используется, хотя набор функций стандартный.
2. можно ли создав кнопку в объекте Dialog1 перейти по ней на Page1.
3. как потом вернуться со страницы Page1 на Dialog1.
ЗЫ Нужно сделать превьюху с навигацией, чтобы не тащить кнопки в проект, можно конечно поставить первую страницу как превьюху, но что то меня удерживает от этого действия
не могу разобраться
1. зачем нужен объект "Dialogs", ни в одном примере он не используется, хотя набор функций стандартный.
2. можно ли создав кнопку в объекте Dialog1 перейти по ней на Page1.
3. как потом вернуться со страницы Page1 на Dialog1.
ЗЫ Нужно сделать превьюху с навигацией, чтобы не тащить кнопки в проект, можно конечно поставить первую страницу как превьюху, но что то меня удерживает от этого действия
Вопрос - есть такой сценарий:
Код: result = Dialog.Message("Notice", "Would you like to install your customized company database?", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
if result ~= 7 then
Folder.Create("C:\\Quantum\\Data\\Directmail & Attachments");
Folder.Create("C:\\Quantum\\Data\\Hvac\\Database");
File.Copy(_SourceFolder.."\\Autoplay\\Directmail & Attachments\\Attachments.dat", "C:\\Quantum\\Data\\Directmail & Attachments", true, false, false, true, nil);
File.Copy(_SourceFolder.."\\Autoplay\\Directmail & Attachments\\directmail.mdb", "C:\\Quantum\\Data\\Directmail & Attachments", true, false, false, true, nil);
File.Copy(_SourceFolder.."\\Autoplay\\Hvac\\Database\\HVAC01.DAT", "C:\\Quantum\\Data\\Hvac\\Database", true, false, false, true, nil);
end
result = Dialog.Message("Notice", "Database Files Installed Successfully.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Код: result = Dialog.Message("Notice", "Would you like to install your customized company database?", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
if result ~= 7 then
Folder.Create("C:\\Quantum\\Data\\Directmail & Attachments");
Folder.Create("C:\\Quantum\\Data\\Hvac\\Database");
File.Copy(_SourceFolder.."\\Autoplay\\Directmail & Attachments\\Attachments.dat", "C:\\Quantum\\Data\\Directmail & Attachments", true, false, false, true, nil);
File.Copy(_SourceFolder.."\\Autoplay\\Directmail & Attachments\\directmail.mdb", "C:\\Quantum\\Data\\Directmail & Attachments", true, false, false, true, nil);
File.Copy(_SourceFolder.."\\Autoplay\\Hvac\\Database\\HVAC01.DAT", "C:\\Quantum\\Data\\Hvac\\Database", true, false, false, true, nil);
end
result = Dialog.Message("Notice", "Database Files Installed Successfully.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
lorents
Цитата:
А почему не использовать DialogEx?
Цитата:
Возможно ли добавить в окно Dialog.Message объект CheckBox с надписью: "Больше не выводить это окно."
А почему не использовать DialogEx?
Djon1970
Цитата:
Это означает, что если пользователь НЕ нажал на кнопку "Нет", то будет выполнен нижеследующий сценарий. Логичнее было бы сделать так:
Код: if result == 6 then -- если нажали "Да"
Цитата:
Что в нем обозначает цифра 7?
Это означает, что если пользователь НЕ нажал на кнопку "Нет", то будет выполнен нижеследующий сценарий. Логичнее было бы сделать так:
Код: if result == 6 then -- если нажали "Да"
tavria2
Цитата:
я тоже об этом думал, я вот ни как не могу получить иконку MB_ICONEXCLAMATION, сейчас как раз этим занимаюсь, как это сделать.
Цитата:
А почему не использовать DialogEx?
я тоже об этом думал, я вот ни как не могу получить иконку MB_ICONEXCLAMATION, сейчас как раз этим занимаюсь, как это сделать.
Zloy_Gelud
Этот сценарий я нашел в примере от 5 версии AMS, в справке пытался искать насчет семерки, вводил тильду, знак равенства, но так и не врубился. По тому примеру сделал такой сценарий:
Код: result = Dialog.Message("Сообщение", "Установка русского языка!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
if result ~= 7 then
Folder.Create(_ProgramFilesFolder.."\\Trillian\\languages\\ru");
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\skin.dtd", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\*.dll", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\*.xml", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
end
result = Dialog.Message("Сообщение", "Русский язык установлен!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Этот сценарий я нашел в примере от 5 версии AMS, в справке пытался искать насчет семерки, вводил тильду, знак равенства, но так и не врубился. По тому примеру сделал такой сценарий:
Код: result = Dialog.Message("Сообщение", "Установка русского языка!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
if result ~= 7 then
Folder.Create(_ProgramFilesFolder.."\\Trillian\\languages\\ru");
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\skin.dtd", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\*.dll", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\*.xml", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
end
result = Dialog.Message("Сообщение", "Русский язык установлен!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
tavria2
решил все таки без иконок, поставлю свою картинку
решил все таки без иконок, поставлю свою картинку
Djon1970
Цитата:
Здесь неправильно построен сценарий. В данном случае переменная result будет возвращать всегда значение 1, а у тебя result сравнивается с 7. Или убери это сравнение или сделай как-то так:
Код: cBut = Dialog.Message("Руссификация", "Установить русский язык?", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);
if (cBut == IDYES) then
Folder.Create(_ProgramFilesFolder.."\\Trillian\\languages\\ru");
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\skin.dtd", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\*.dll", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\*.xml", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
Dialog.Message("Руссификация", "Русский язык успешно установлен!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Цитата:
result = Dialog.Message("Сообщение", "Установка русского языка!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
if result ~= 7 then
Здесь неправильно построен сценарий. В данном случае переменная result будет возвращать всегда значение 1, а у тебя result сравнивается с 7. Или убери это сравнение или сделай как-то так:
Код: cBut = Dialog.Message("Руссификация", "Установить русский язык?", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);
if (cBut == IDYES) then
Folder.Create(_ProgramFilesFolder.."\\Trillian\\languages\\ru");
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\skin.dtd", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\*.dll", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
File.Copy("AutoPlay\\Docs\\INTERNET MESSENGER\\Trillian\\Trillian 3.1 Final\\ru\\*.xml", _ProgramFilesFolder.."\\Trillian\\languages\\ru", true, true, false, true, nil);
Dialog.Message("Руссификация", "Русский язык успешно установлен!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Здравствуйте. У меня вопрос. Я понимаю, он может показаться Вам несколько глупым, но я хотел бы разобраться, наконец, с созданием функции "callback"
В справке есть следующий пример:
Код:
-- Callback function for HTTP.Download --
Первый вопрос. Объясните пожалуйста значения параметров данных в скобках, какое значение имеет "n"? Я предполагаю что это просто название переменной. Почему этот пример работает, а я не могу понять где указываются эти самые переменные в скобках?
function DownloadCallback (nDownloaded, nTotal, TransferRate, SecondLeft, SecondsLeftFormat, Message)
Второй вопрос. Опять таки "n"... Правда ли что переменные с этим символом в начале собственно и указывают эти переменные, но тогда где числовое представление? Откуда берётся числовая информация?
sDownloaded = String.GetFormattedSize(nDownloaded, FMTSIZE_AUTOMATIC, true);
sTotal = String.GetFormattedSize(nTotal, FMTSIZE_AUTOMATIC, true);
Третий вопрос. "SecondsLeftFormat" - это что за параметр где я могу задать его значение? Где я могу почитать о этих форматах? если можно не общую ссылку на справку, а конкретный раздел где я могу узнать информацию.
StatusDlg.SetMessage("Currently downloading file . . . Time Left: " .. SecondsLeftFormat);
StatusDlg.SetStatusText("Downloaded: " .. sDownloaded .. " / " .. sTotal);
StatusDlg.SetMeterPos((nDownloaded / nTotal) * 65534);
end
Четвёртый вопрос. Почему нижеследующие вопросы не прописаны в самой функции выше? Объясните, пожалуйста, какой в этом смысл?.
StatusDlg.Show(0, false);
StatusDlg.SetTitle("Downloading . . . ");
StatusDlg.SetMeterRange(0, 65534); -- Пятый вопрос. Число "65534" - оно случайно или это число максимально допустимое значение чего-то?
HTTP.Download("http://www.yourdomain.com/downloads/update.exe", _TempFolder.."\\update.exe", MODE_BINARY, 20, 80, nil, nil, DownloadCallback);
StatusDlg.Hide();
В справке есть следующий пример:
Код:
-- Callback function for HTTP.Download --
Первый вопрос. Объясните пожалуйста значения параметров данных в скобках, какое значение имеет "n"? Я предполагаю что это просто название переменной. Почему этот пример работает, а я не могу понять где указываются эти самые переменные в скобках?
function DownloadCallback (nDownloaded, nTotal, TransferRate, SecondLeft, SecondsLeftFormat, Message)
Второй вопрос. Опять таки "n"... Правда ли что переменные с этим символом в начале собственно и указывают эти переменные, но тогда где числовое представление? Откуда берётся числовая информация?
sDownloaded = String.GetFormattedSize(nDownloaded, FMTSIZE_AUTOMATIC, true);
sTotal = String.GetFormattedSize(nTotal, FMTSIZE_AUTOMATIC, true);
Третий вопрос. "SecondsLeftFormat" - это что за параметр где я могу задать его значение? Где я могу почитать о этих форматах? если можно не общую ссылку на справку, а конкретный раздел где я могу узнать информацию.
StatusDlg.SetMessage("Currently downloading file . . . Time Left: " .. SecondsLeftFormat);
StatusDlg.SetStatusText("Downloaded: " .. sDownloaded .. " / " .. sTotal);
StatusDlg.SetMeterPos((nDownloaded / nTotal) * 65534);
end
Четвёртый вопрос. Почему нижеследующие вопросы не прописаны в самой функции выше? Объясните, пожалуйста, какой в этом смысл?.
StatusDlg.Show(0, false);
StatusDlg.SetTitle("Downloading . . . ");
StatusDlg.SetMeterRange(0, 65534); -- Пятый вопрос. Число "65534" - оно случайно или это число максимально допустимое значение чего-то?
HTTP.Download("http://www.yourdomain.com/downloads/update.exe", _TempFolder.."\\update.exe", MODE_BINARY, 20, 80, nil, nil, DownloadCallback);
StatusDlg.Hide();
Я много узнал с ваших форумов... только немогу найти Скрипт, чтобы можно было видео сделать во весь экран при двойном клике...
Мне это очень срочно надо...
помогите плиз...
заранее спасиб
Мне это очень срочно надо...
помогите плиз...
заранее спасиб
F305
Цитата:
Цитата:
немогу найти Скрипт, чтобы можно было видео сделать во весь экран при двойном кликеА зачем искать скрипт, объект MediaPlayer прекрасно поддерживает двойной клик для полноэкранного режима.
Люди Добрые! Помогите мне пожалуйста. У меня прблемма такая: На одной странице авторана
допустим две программы-у каждой своя кнопка, нажимая на которую появляется её описание
(как это сделать я знаю-просто). И на этой же странице есть кнопка "Установить", нажимая на которую (!!!) устанавливается выбранная кнопкой программа. Для каждой программы делать свою кнопку "Установить" я не хочу. Логически все вроде бы просто, а вот как это скриптами прописать...Заранее Огромное Человеческое Спасибо.
допустим две программы-у каждой своя кнопка, нажимая на которую появляется её описание
(как это сделать я знаю-просто). И на этой же странице есть кнопка "Установить", нажимая на которую (!!!) устанавливается выбранная кнопкой программа. Для каждой программы делать свою кнопку "Установить" я не хочу. Логически все вроде бы просто, а вот как это скриптами прописать...Заранее Огромное Человеческое Спасибо.
Witcherfx
что-то не получается кнопкой перейти на Page1
событие Page.Jump("Page1"); не работает, да по всему видать и не должно работать при попытке добавить обект Ctrl+I в списке ТОЛЬКО объекты окна диалог и ничего более.
что-то не получается кнопкой перейти на Page1
событие Page.Jump("Page1"); не работает, да по всему видать и не должно работать при попытке добавить обект Ctrl+I в списке ТОЛЬКО объекты окна диалог и ничего более.
Ozhogin
Ну так назначь на кнопки переменную и присваивай ей значение
на кнопке 1
Цитата:
на кнопке 2
Цитата:
а на кнопке "установить" контрол структуру
Цитата:
Ну так назначь на кнопки переменную и присваивай ей значение
на кнопке 1
Цитата:
current_program = 1;
на кнопке 2
Цитата:
current_program = 2;
а на кнопке "установить" контрол структуру
Цитата:
if current_program == 1 then
File.Run("AutoPlay\\Docs\\MyProg_1.exe", "", "", SW_SHOWNORMAL, false);
elseif current_program == 2 then
File.Run("AutoPlay\\Docs\\MyProg_2.exe", "", "", SW_SHOWNORMAL, false);
end
Цитата:
что-то не получается кнопкой перейти на Page1
событие Page.Jump("Page1"); не работает, да по всему видать и не должно работать при попытке добавить обект Ctrl+I в списке ТОЛЬКО объекты окна диалог и ничего более.
На самом деле и не должно работать... Прошу прощения, не так просто. Нужно выставить не перейти, а закрыть диалог... Тогда диалог закроется и будет видна главная страница с которой вы её вызывали... всё таки это диалог, а не страница.
Добавлено:
Мда ... вопрос и вправду глупый... Я так увлёкся изучением примеров, что забыл прочитать описание Action...
Если кто-то будет задаваться теми же вопросами на всякий случай напишу:
Код:
function DownloadCallback (nDownloaded, nTotal, TransferRate, SecondLeft, SecondsLeftFormat, Message)
[[где "function" - это тип данных, а "(nDownloaded, nTotal, TransferRate, SecondLeft, SecondsLeftFormat, Message)" - обязательные аргументы для функции DownloadCallback
Message - Чистая строка ("") или информационное сообщение, отправляемое сервером, например, "Connecting to Server."
SecondsLeftFormat - Предполагаемое число секунд отформатированное как строка в формате: ""MM:SS".
SecondLeft - Предполагаемое время загрузки.
TransferRate - Текущая передача в Килобайтах в секунду.
nTotal - arg 1
nDownloaded - arg 2 (пока несовсем понял алгоритм работы..., но "n" никакое не значение, просто часть имени аргумента)]]
Ребята подскажите как сделать функцию прогресса удаления файлов.
В чем ошибка?
Код: function CallBack(del, nPercent)
Progress.SetStep("Progress1", nPercent);
Progress.SetCurrentPos("Progress1", nPercent);
Bar = Progress.GetCurrentPos("Progress1");
Progress.SetText("Progress1", Bar.."%");
end
Folder.DeleteTree(WC3.."\\", CallBack);
В чем ошибка?
Код: function CallBack(del, nPercent)
Progress.SetStep("Progress1", nPercent);
Progress.SetCurrentPos("Progress1", nPercent);
Bar = Progress.GetCurrentPos("Progress1");
Progress.SetText("Progress1", Bar.."%");
end
Folder.DeleteTree(WC3.."\\", CallBack);
Цитата:
какое значение имеет "n"?
В общем, тут все просто
Справку полезно хотя бы раз прочесть всю, а не только по интересующим действиям
При обозначении имен переменных хорошим тоном считается использование имен, начинающихся с маленьких букв, обозначающих тип значений переменной:
n - number, т.е. числовое значение, число
s - string, т.е. строчный, строка
t - table, т.е. табличный, таблица
В принципе, программе все равно , она сама определяет тип значения автоматически. Такое правило позволяет самому программисту не путаться при проверке\разборе кода...
Имитация системных диалоговых окон. (Требуется AMS 7.5 и выше).
Возможности:
системные иконки, звуки, фон текущей темы Windows
скрытие иконки заголовка окна
диалоги возвращают код нажатой кнопки
пример демонстрирует использование чекбокса в диалоговом окне...
Недостатки:
невозможно назначить кнопку по умолчанию
кнопки не поддерживают нажатие Enter
DialogExSystem.apz | зеркало [150 Кб].
Возможности:
системные иконки, звуки, фон текущей темы Windows
скрытие иконки заголовка окна
диалоги возвращают код нажатой кнопки
пример демонстрирует использование чекбокса в диалоговом окне...
Недостатки:
невозможно назначить кнопку по умолчанию
кнопки не поддерживают нажатие Enter
DialogExSystem.apz | зеркало [150 Кб].
GOOSE Большое спасибо за ответ!
Я читал справку, описание самого языка, но, к сожалению, ввиду отсутствия опыта программирования, не всё понятно. Во всяком случае то, что хочется реализовать, даётся небольшими шагами. Спасибо за правила хорошего тона. Был бы признателен, если бы можно было ознакомиться с ними полностью... Справка не даёт исчерпывабщей информации о правилах хорошего тона.
Вот нашёл ещё несколько правил хорошего тона:
Цитата:
Я читал справку, описание самого языка, но, к сожалению, ввиду отсутствия опыта программирования, не всё понятно. Во всяком случае то, что хочется реализовать, даётся небольшими шагами. Спасибо за правила хорошего тона. Был бы признателен, если бы можно было ознакомиться с ними полностью... Справка не даёт исчерпывабщей информации о правилах хорошего тона.
Вот нашёл ещё несколько правил хорошего тона:
Цитата:
- при возникновении ошибки в функциях на lua вместо вызова библиотечной функции error() возвращай nil и текст сообщения об ошибке.
- функции, которые могут вызвать error(), вызывай (где возможно) через библиотечную функцию pcall(), для чего лучше использовать идиому protect, описанную в статье Диего Нехаба (diego nehab) finalized exceptions (www.lua-users.org/wiki/finalizedexceptions). также полезно пользоваться идиомой newtry (см. ту же статью).
- проверяй переданные функции параметры на nil. если, например, функция, объявленная с тремя параметрами, вызывается с двумя, то третьему параметру будет присвоен nil.
- если твоя функция работает с глобальными данными, особенно с описаниями уровней, текстами диалогов и т.п., по возможности проверяй эти данные на nil.
- очень часто ошибки возникают из-за того, что программист забыл написать ключевое слово local перед первым присваиванием локальной переменной и затер таким образом глобальную. следи за областью видимости твоих переменных. в названиях глобальных переменных используй уникальный префикс, например g_. применяй инструменты типа lua lint для проверки использования глобальных переменных. в дистрибутив lua 5.1 входит пример на lua, который настраивает метатаблицу таблицы, содержащей глобальные переменные (“_g”), таким образом, что при добавлении или чтении незарегистрированных глобальных переменных во время выполнения скрипта выдается сообщение об ошибке.
- старайся минимизировать использование глобальных переменных. соблюдай модульность кода. считается хорошим тоном, если один модуль создает только одну глобальную переменную. подробнее о подходах к организации модулей в lua можно прочитать в lua technical note 7: modules & packages роберто иерусалимского (www.lua.org/notes/ltn007.html).
tavria2
Цитата:
просто блеск, то что мне надо было. Спасибо.
Цитата:
Имитация системных диалоговых окон.
просто блеск, то что мне надо было. Спасибо.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
Предыдущая тема: PHP RapidGet Pro V
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.