Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Привожу небольшой пример обработки теста. Задание студентам даётся в бумажном варианте (вопросы и формы для ответа). Ответы сканируются и обрабатываются. Можно ли, как то ускорить обработку теста, если к примеру будет большой объём ответов или ещё другой информации (циклом медленно)? PHP- быстрее, но в нём я не силён.
Можно ли, как то ускорить обработку теста, если к примеру будет большой объём ответов или ещё другой информации (циклом медленно)?
Необушный цикл не блещет скоростью при большом количестве итераций (и чем длиннее цикл, тем скорость работы цикла ниже), но, как минимум до 100, справляется по скорости вполне исправно. Большой объем это сколько? Можно попробовать разбить длинный цикл на несколько более мелких. Так же надо учитывать то обстоятельство, что необушные переменные тоже обновляются тем медленнее, чем "обЪемнее" их содержимое., например, при добавлении значений в переменную.
Цитатаmark ()
ещё другой информации
Организация цикла (и его скорость) будет зависеть от характера этой "другой информации".
К сожалению, на обработке больших объемах информации NeoBook начинает тупить, и единственным эффективным выходом будет применение специализированного (под конкретную задачу) плагина. Не думаю, что на других скриптовых языках получится получить судьбоносный прирост скорости. Ну, может быть если на очень длинных циклах. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
выходом будет применение специализированного (под конкретную задачу) плагина.
А, есть ли такой плагин?
Добавлено (25 Ноября 2015, 06:53) --------------------------------------------- И ещё, если будет дано 2 и более ответа на один вопрос, как можно решить эту проблему с минимум кода, ведь если будет 2 и более ответа программа считает последний закрашенный ответ? По условию 2 и более ответа не засчитывается.
А сделать это в электронном варианте составляет какие то проблемы? Или это обязательное условие, в бумажном варианте?
Цитатаmark ()
(циклом медленно)
Циклом не так уж и медленно как это кажется. Отключите отладчик, или скомпилируйте проект, и вы увидите что цикл работает в данном случае быстро.
Цитатаmark ()
ведь если будет 2 и более ответа программа считает последний закрашенный ответ?
Проверять результаты по горизонтали, а не по вертикали. Не выходить из цикла если найден результат. Если в одной строке больше одного результата, прекратить дальнейшую обработку. В данном случае все это будет быстро обрабатываться. Не хочешь читать хелп?
mark, вам уже ответили - нужно просто НЕ выходить из цикла сразу, если найдена черная метка, а проверить строчку до конца, и если черный круг встречается более одного раза в строке, тогда - ошибка, все просто.
Цитатаmishem ()
Циклом не так уж и медленно как это кажется. Отключите отладчик, или скомпилируйте проект, и вы увидите что цикл работает в данном случае быстро.
Верно.
Цитатаmark ()
Внутри этого кода по моему нужно что-то добавить, но что не могу сообразить.
SetVar "[n]" "[n]+1" If "[n]" ">" "1" Сообщение об ошибке Общий выход Else SubStr "[Otv]" "[X]" "1" "[Cods]" StrIns "[Cods]" "[pred]" "[Y]" "[pred]" EndIf
EndLoop
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
тестируемый не очень аккуратно (плотно) закрасит круг...
ЦитатаPeter ()
Могут быть и дефекты сканирования или пылинка....
Совершенно верно. Могу еще добавить что сканирование может произойти в серых тонах. То есть может быть не черный цвет, а допустим 0,0,1 или1,0,1 и т.д. И вообще, подводных камней может быть очень много.
Есть еще плагин hpwDCR, преобразование изображения в текст.
Цитатаmark ()
Это обязательное условие.
Не понимаю я этих стереотипов, век электроники, а все бумагой пользуемся. Не хочешь читать хелп?
Не понимаю я этих стереотипов, век электроники, а все бумагой пользуемся.
Просто в институте или школе не работал, не всегда есть возможность всех усадить на компы, особенно если поток студентов большой или кабинет с компами вечно кем то занят...
Цитатаmishem ()
Совершенно верно. Могу еще добавить что сканирование может произойти в серых тонах. То есть может быть не черный цвет, а допустим 0,0,1 или1,0,1 и т.д. И вообще, подводных камней может быть очень много.
Да подводных камней тут много, ведь еще и отсканировать можно так что, все элементы на изображение слегка сдвинутся и ты попиксельно будешь получать цвет не с нужного места.
ЦитатаPeter ()
К сожалению, на обработке больших объемах информации NeoBook начинает тупить, и единственным эффективным выходом будет применение специализированного (под конкретную задачу) плагина.
Ну это не беда, лично я на замену неубушного цикла использую аналог js функции.
Цитатаmishem ()
Есть еще плагин hpwDCR, преобразование изображения в текст.
Я бы присмотрелся именно к этому плагину, с помощью него можно сначала получить данный по изображению без ответов, а и уже потом сравнивать с ним данные получаемые с изображения с ответами. "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Просто в институте или школе не работал, не всегда есть возможность всех усадить на компы, особенно если поток студентов большой или кабинет с компами вечно кем то занят...
Всё правильно, в этом причина.
Цитатаanton ()
Да подводных камней тут много, ведь еще и отсканировать можно так что, все элементы на изображение слегка сдвинутся и ты попиксельно будешь получать цвет не с нужного места.
В данном случае 1) настраивается как надо сканер (цвет, разрешение и т.д.) 2) Шаблоны бланков ответов идентичны (преподаватель их сам готовит) ну и соответственно сам их сканирует как надо (в случае сдвига есть идея вычислять разницу пикселей сверху, слева от образца (данные координат в программе) ну и произвести коррекцию. Это ведь только пример моего проекта. В самом проекте предусмотрена запись данных в базу, обработка ответов, вывод на печать результатов, ну и там у меня много вопросов, но вот Антон меня заинтриговал.
Цитатаanton ()
Ну это не беда, лично я на замену неубушного цикла использую аналог js функции.
anton, а можно аналог в студию, очень интересно посмотреть, если не трудно на примере моего примера (извиняюсь за тавтологию). В самом начале я об этом и просил (об увеличении скорости обработки)
Добавлено (26 Ноября 2015, 11:11) ---------------------------------------------
Цитатаmark ()
Я бы присмотрелся именно к этому плагину, с помощью него можно сначала получить данный по изображению без ответов, а и уже потом сравнивать с ним данные получаемые с изображения с ответами.
Стыдно просить но, если бы живой пример
Добавлено (26 Ноября 2015, 17:45) --------------------------------------------- плагин hpwDCR демку ковырял и ничего не понял.Перевёл гуглом, а дальше непонятки Список действий:
hpwDcrCreate = Создать DCR-окно. hpwDcrRemove = Удалить DCR-окно и базу знаний. hpwDcrLoadKnowledgebase = Загрузите базу знаний с параметрами в DCR-окна. hpwDcrLoadPicture = Загрузите изображение в DCR-окна. hpwDcrRecognize = Rocognize текст в загруженном изображении и сохранить в переменную.
mark, этот плагин служит для распознавания текстов, и скорости не добавит (скорее всего прямо наоборот и весьма существенно). Да и JS в данном случае скорости тоже не добавит. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
демку ковырял и ничего не понял.Перевёл гуглом, а дальше непонятки
Ну... Здесь со всеми плагинами так. Кто то разбирается, а после объясняет другим.
По сути плагин нужно сначала обучить распознавать текст. Для этого с ним идет программа DCR.exe Запускаем ее и начинаем обучать. Вот здесь и нужно разбираться, как все это сделать.
Когда обучили, сохраняем файл *.dcr и после подсовываем его плагину. По идее плагин должен распознать текст.
Лично я с настройками не смог разобраться, что-за что отвечает.
Ниже перевод плагина и файл не полного перевода для DCR.exe (кладем DCR.RUS рядом с DCR.exe)
Сегодня много работы, функцию и если разберусь с плагином hpwDCR постараюсь выложить завтра... "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Только для одного ответа, примерно нужно обработать 1000 с лишним точек на изображении (кроме ответов есть другая информация-фамилия студента, вариант и т.д.), а ещё обработка ответа, поэтому вопрос скорости и возник.
ЦитатаPeter ()
mark, этот плагин служит для распознавания текстов, и скорости не добавит (скорее всего прямо наоборот и весьма существенно). Да и JS в данном случае скорости тоже не добавит, если его вообще можно хоть как-то прикрутить к поставленной задаче.
А раз это так буду делать по своему варианту (изображение обрамлю рамкой, отступив немного от края листа,после сканирования вычислю разницу относительно верха, слева, буду манипулировать этой разницей, а для точности проверю две точки (на небольшом расстоянии-2-5 пикселей) на одном участке и если хоть один черный считаем закрашено, долго, но что делать, раз нет вариантов или других идей.
Цикл из 10 повторений плюс вложенный цикл из 5 повторений для NeoBook - ерунда. Не думаю, что решение через JS (nbExecAction) даст прирост скорости, т.к. тормозить будет не сам цикл (он короткий), а то, что внутри цикла. Но, интересно будет посмотреть, с учетом того, что уже как-то был прецедент, когда необушный скрипт работал быстрее VBS.
Необушный язык это тот же самый скриптовый язык, как и все остальные, разница только в синтаксисе, организации интерпретатора, и наборе готовых "к употреблению" функций. Реально эффективное решение (по скорости) - специальный плагин, которому только указывается картинка, а затем после нажатия кнопки - результат (примерно как с поиском файлов). Впрочем, посмотрим что нам скажет тов. JS. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
mark Может пойти другим путем... Не знаю, может идея и дебильная, но опишу, может не вся, а хоть какая то часть пригодится. Я бы попробовал сделать так, создать шаблоны - один пустой, а другие с правильными вариантами ответов. Пропустил бы от сканированные ответы через плагин, для того чтоб получить некий "отпечаток"/шаблон Надо что то типа сравнение или поиск или сохранить (при наличии) Mime/Stream, может есть Base64, MD5 и т.д. Естественно при сканировании сделать отступ сверху, где написаны тех данные (ФИО вариант и т.д.), т.е. только рабочую область ответов. А потом бы уже ответы учеников сравнивал с уже готовыми шаблонами-отпечатками. Надеюсь мысль хоть немного понятна) ------------------------------------------------------------ Конечно будет погрешность, но при сравнении просто учитывать эту погрешность. Это про круги которые будут не полностью закрашены. Тут надо проверять методом тыка. ------------------------------------------------------------ да уж, идея тупая
Сообщение отредактировано Сергей - Пт, 27 Ноября 2015, 12:22
Сергей, спасибо, но идея не годится. т.к. правильные ответы проще хранить в таблице, где есть поле-вариант и поле-правильные ответы. Я решил обработку ответов путем сравнения полученных ответов с правильными ответами. Фамилия, вариант, ответы тестируемого записываются другую таблицу, сюда же записываются правильные ответы только после того как мы узнаем вариант, отобрав их с таблицы с правильными ответами. т.е. в одной строке ответы тестируемого и правильные, а там дело "техники". Плагин, который предлагает Мишем тоже не пойдет т.к. он распознает буквы и символы, а у меня ответ в виде закрашенного кружка. В моем примере я показал как узнать ответ тестируемого, мне кажется-это самый простой вариант.
ЦитатаСергей ()
Надо что то типа сравнение или поиск или сохранить (при наличии) Mime/Stream, может есть Base64, MD5 и т.д.
В этом я не разбираюсь.
Добавлено (27 Ноября 2015, 13:08) ---------------------------------------------
ЦитатаСергей ()
которые будут не полностью закрашены.
сразу предупредить тестируемого как надо закрашивать, какой ручкой, цветом, фломастер и т.д.
Добавлено (27 Ноября 2015, 13:09) --------------------------------------------- иначе я не виноват
При втором верном условии n всегда будет больше 1. Да и вообще зачем здесь это надо?
Цитатаmark ()
If "[Pos]" "=" "0,0,0"
то так или иначе нужно
Цитатаmark ()
StrIns "?" "[pred]" "[Y]" "[pred]"
а при первом верном результате эта запись не произойдет, так как 1 не больше 1
Вы этого не замечаете так как переменная n у вас не удаляется по завершению сценария.
Я советовал бы практически в каждом скрипте использовать
ClearVariables ""
и внести список всех не нужных переменных после выполнения скрипта. Правда бывает что под "шумок" туда попадают и нужные, по этому к этому делу нужно внимательно подходить.
Цитатаmark ()
хотя оптимизировать код не мешало бы.
10 строчек кода?
У ва есть отладчик. Запускайте выполнение пошагово и смотрите что происходит и как выполняется код. Иногда замена условия с < на > или = меняет полностью структуру кода.
Не брезгуйте подпрограммами. Интерпретатору не нужно будет обрабатывать весь код если условие не верно. он обработает только одну строку
GoSub ""
Так же можно использовать Return, об этом я уже говорил в какой то теме, правда некоторые со мной не согласились. :)
Экспериментируйте.
Добавлено (28 Ноября 2015, 13:48) ---------------------------------------------
Цитатаmark ()
SetVar "[n]" "0"
Ага, я просмотрел эту строчку, прежде чем то что я написал выше. :)
Тогда вообще не понятно как у вас записывается первое найденное верное решение? Если в ответах [Pos] <> 0,0,0, то соответственно все что после
Код
If "[Pos]" "=" "0,0,0"
не будет выполнено.
И строка не будет записана в [pred].
Мож я что то упускаю? Я просто смотрю по коду который выше.
SetVar "[pred]" " "
После
StrDel "[pred]" "[Y]" "1" "[pred]"
а что там удаляется если она пустая? ну и т.д.
Короче как всегда, проще написать свой код, чем разбирать чужой.
Добавлено (28 Ноября 2015, 15:53) ---------------------------------------------
Короче как всегда, проще написать свой код, чем разбирать чужой.
100% согласен mishem, ну наверное для этого и создан форум, что бы таким как я "непрограммистам"как-то помогать.
Цитатаmishem ()
Мож я что то упускаю? Я просто смотрю по коду который выше.
SetVar "[pred]" " "
После StrDel "[pred]" "[Y]" "1" "[pred]" а что там удаляется если она пустая? ну и т.д.
mishem, переменной [pred] присваивается 10 пробелов [/code]SetVar "[pred]" " "[code] когда If "[Pos]" "=" "0,0,0" удаляется лишний пробел, вместо него записывается переменная [pred], а если строка пустая т.е. студент не закрасил тогда пустой пробел остаётся (т.е. длина строки не должна меняться, 10 символов), это что бы знать на какие он ответил на какие нет а где 2 кружочка закрасил, ну и при обработке ответа эти пробелы нужны т.е. длина строки ответа должна быть равна длине строки правильных ответов. У меня на картинке есть такой вариант и в ответе мы видим небольшой отступ в ответе. Сейчас кумекаю над обработкой ответа. Короче всё будет записываться в таблицы, как я писал выше.
Добавлено (28 Ноября 2015, 16:19) --------------------------------------------- посмотрел свой первый вариант, там действительно пусто, извиняюсь должно быть
Я бы наверно так сделал. Повесил бы этот код на кнопку "Загрузить изображение" Строку hpwImageCreate "Rectangle1" "" "" "" "" "" "" "" перенес бы на запуск проекта или на открытие страницы. нет смысла каждый раз создавать объект. Здесь код если пустой ответ тоже не засчитывается.
Код
.не нужны так как в дальнейшем будут изменяться или удаляться .SetVar "[FIO]" "" .SetVar "[pred]" "" FileOpenBox "Выберите файл" "Изображение|*.bmp" "[PubDir]" "[File]" "" If "[File]" "=" "" . нет смысла дальше обрабатывать код Return EndIf
.размер нигде не меняется, зачем эта команда? . SizeObject "Rectangle1" "-1" "-1" . выполняем при запуске один раз или при открытии страницы . hpwImageCreate "Rectangle1" "" "" "" "" "" "" "" hpwImageLoadFromFile "Rectangle1" "[File]" "0" "0" "" "" ShowObject "PushButton50" "None" "0" ExtractFileName "[File]" "[FIO]" .заменяем на одну строку . StrLen "[FIO]" "[kol]" . StrDel "[FIO]" "[kol]-3" "4" "[FIO]" ChangeFileExt "[FIO]" "" "[FIO]"
If "[n]" ">" "1" AlertBox "Ошибка" "Ответ не засчитан, два и более ответов в [Y] строке.|Выполнение дальнейшей обработки остановлено." ClearVariables "pred,x,y,n,Cods,Pos" Return .или закомментируйте Return GotoLine ":Error" EndIf EndIf EndLoop If "[n]" "=" "" AlertBox "Ошибка" "Ответ не засчитан, в [Y] строке нет ни одного ответа.|Выполнение дальнейшей обработки остановлено." ClearVariables "pred,x,y,n,Cods,Pos" Return .или закомментируйте Return GotoLine ":Error" EndIf EndLoop ClearVariables "x,y,n,Cods,Pos" :Error If "[n]" ">" "1" .Здесь какой то код EndIf
Если пустой ответ засчитывается, то вместо
Код
If "[n]" "=" "" AlertBox "Ошибка" "Ответ не засчитан, в [Y] строке нет ни одного ответа.|Выполнение дальнейшей обработки остановлено." ClearVariables "pred,x,y,n,Cods,Pos" Return .или закомментируйте Return GotoLine ":Error" EndIf
пишем
Код
If "[n]" "=" "" StrIns "[#32]" "[pred]" "[Y]" "[pred]" EndIf
mishem, моя ошибка наверное в том, что здесь я не раскрываю полностью замысел своего проекта, ниже привожу кратко....
mishem,
Цитатаmishem ()
Я бы наверно так сделал. Повесил бы этот код на кнопку "Загрузить изображение"
В проекте все вешается на 1 кнопку и называется она "Сканировать ответы" (т.е. там и сканирование, загрузка изображения, обработка и т.д. ит.д пока не закончится сканирование), потом печать результатов Ну, это просто пример, что бы вы могли протестировать с тем или иным ответом, а вот
Цитатаmishem ()
If "[n]" "=" "" AlertBox "Ошибка" "Ответ не засчитан, в [Y] строке нет ни одного ответа.|Выполнение дальнейшей обработки остановлено." ClearVariables "pred,x,y,n,Cods,Pos" Return .или закомментируйте Return GotoLine ":Error"
ну это вообще не надо т.к. ответы пропускаются через потоковый сканер и потом также автоматом обрабатываются без всяких Алертов, т.е. как ответил так ответил, но в анализе ответа будет отражено что стоит типа ? или пусто (дална 2 и более ответа или не ответил на данный вопрос), их ведь, тестируемых, будет много более 100 да вопросов будет поболее 10, я ведь просто дал простой пример.
Добавлено (28 Ноября 2015, 17:01) --------------------------------------------- и просил совета по увеличению обработки, а так некоторые советы учту конечно.
Добавлено (28 Ноября 2015, 17:15) ---------------------------------------------
Цитатаmishem ()
.не нужны так как в дальнейшем будут изменяться или удаляться .SetVar "[FIO]" "" .SetVar "[pred]" ""
что здесь я не раскрываю полностью замысел своего проекта
Ну это не ошибка, хотя мы именно отталкиваемся от поставленной задачи. А дальше уже вам самим разбираться что нужно, а что нет.
Цитатаmark ()
обрабатываются без всяких Алертов
Алерт для вас, чтобы вы видели именно тот момент когда прерывается обработка. Я вам показал как прервать цикл.
К примеру в строке не 5 а 10,20... ответов. По условию два ответа не допустимы. А вот дальше условий ваших я не знаю. Можно добавить условие что первый ответ по порядку будет засчитываться, можно если 2 ответа то ответ считается не верным, или вообще все ответы считаются не верными. И на каждое условие есть свое решение построения кода.
1. Если первый ответ засчитывается, зачем перебирать дальше? 2. Если 2 ответа в строке не принимается только эта строка, то опять, зачем перебирать следующие ответы в строке если нашли в одной строке второй ответ? 3. Если 2 ответа в одной строке и считается что весь тест не верный, то зачем перебирать следующие строки?
Вместо алерта вы можете вставить что угодно. Переменную которая будет содержать что то или еще что нибудь....
1. Если первый ответ засчитывается, зачем перебирать дальше? 2. Если 2 ответа в строке не принимается только эта строка, то опять, зачем перебирать следующие ответы в строке если нашли в одной строке второй ответ? 3. Если 2 ответа в одной строке и считается что весь тест не верный, то зачем перебирать следующие строки?
Условие-из 5 ответов только один правильный, а вопросов может быть более 100 и на каждый вопрос, повторюсь один правильный ответ Пример; 1) Решите пример 2*2 A) 1 B ) 2 C) 3 D) 4 E) 5 Или я что-то не договорил или вы не поняли смысл для чего проверяю дальше, а проверяю для того что бы выявить может еще закрашен кружок или в случае когда ничего не закрашено, чтобы в своем ответе проставить знак вопроса или пробел это нужно для того чтобы потом обработать ответ сравнив их с правильными ответами. Ведь обрабатывать ответы я буду после того как узнаю вариант теста. Я же до этого не знаю какой вариант пока все не просканирую. Всё записывается в таблицу как есть на листе ответов .
Цитатаmishem ()
[#32] = пробел
В принципе код будет работать так же, но этот момент учту.
Добавлено (28 Ноября 2015, 19:49) --------------------------------------------- Лучше наверное я приготовлю пример что бы понять лучше мою идею
Добавлено (29 Ноября 2015, 09:26) ---------------------------------------------
Цитатаmishem ()
Интерпретатору не нужно будет обрабатывать весь код если условие не верно. он обработает только одну строку
Мне кажется код сканируется весь, а подпрограмма нужна для того что бы обрабатывать повторяющиеся коды, чтобы не увеличивать количество строк кода ну и как вспомогательное средство в некоторых операторах типа dbfCreate и т.д. Может я не прав.
Ну как не добавит, маленько добавит. Накалякал на скорую руку тест неубушого Loop и jsLoop и Необушный пока проигрывает js. На заполнение Листбокса 12 секунд потребовалсь циклу написанному на JS и 17 сек необушному Loop. Но конечно надо проверят в реальной работе, реализуя конкретную задачу.
В прилагаемом же к архиву скомпилированном приложении пришли к финишу одинаково:
И потом, 1000 срабатываний для необушного цикла уже многовато, я уже это отмечал Сейчас вспомнил - когда как-то давно тестировал циклы, то скорость работы необушного скрипта начинает падать где-то после 200-250 срабатываний, и чем дальше, тем -сильнее. Так-что...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Переменную [Val] перед циклом, естественно, каждый раз обнуляем.
Получился весьма интересный результат:
Нужно заметить, что делал несколько "замеров", и в большинстве случаев (60-70%) результат по времени одинаков, но, если проигрывал, то почти всегда - JS... Тут, видимо играет роль в каком месте "стартовой" секунды начинается отсчет времени (нажатие кнопки), но в любом случае - показательно..
Добавлено (29 Ноября 2015, 13:46) ---------------------------------------------
Цитатаmark ()
Мне кажется код сканируется весь, а подпрограмма нужна для того что бы обрабатывать повторяющиеся коды, чтобы не увеличивать количество строк кода ну и как вспомогательное средство в некоторых операторах типа dbfCreate и т.д. Может я не прав.
Забыл сказать... Это все можно проследить по отладчику.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Значит будем использовать необушный скрипт. Выкладываю немного доработанный пример . В дальнейшем, как я говорил выше, буду все цеплять на одну кнопку.
Добавлено (29 Ноября 2015, 14:52) ---------------------------------------------
ЦитатаPeter ()
Забыл сказать... Это все можно проследить по отладчику.
В отладчике по моему все команды кода присутствуют, но только не пойму то, что серым цветом тоже обрабатывается?