NEO 541 Опубликовано: 6 декабря, 2014 (изменено) Здравствуйте форумчане, пришла мне идея,создать программу для систематизации программ ,и скачивания их. Использование: key:d= открывает описание программы если таково есть. key up= поднимает указатель на 1 вверх. key:down= опускает указатель на 1 вниз. key:space= выходит из под меню. Pastebin: http://pastebin.com/VhdQt94A P.S все кто хочет,что бы их программа попала в список писать в эту тему таким форматом. краткое название PD0.1(служит для имени скачанного файла) адрес pastebin , с конца до первого слеша.Пример есть адрес такой http://pastebin.com/VhdQt94A, а нужно такой VhdQt94A. получается PD0.1 VhdQt94A. И написать Краткое описание программы. Пример Program Downloader 0.1 by NEO.This program serves to organize programs and for easy download. можно длиннее. Все баги , и ошибки отписывать сюда. В скором будет поддержка большого описания. Первая программа Файловый менеджер Zer0Galaxy , для примера. Изменено 6 декабря, 2014 пользователем NEO 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 6 декабря, 2014 function parseD(adress) lines= pastebin(adress) tokens= {} s= {} c= 0 for i=1,#lines do for q=1,#lines[i] do c= c+1 s[c]= string.sub(lines[i],q,q) end end temp= '' forS= false i= 0 while i<#s do i= i+1 forS= false if (s[i] == ';') then forS= true tokens[#tokens+1]= temp temp= '' end if (s[i] == '=') then forS= true tokens[#tokens+1]= temp tokens[#tokens+1]= '=' temp= '' end if (forS~= true) then if (s[i+1] == nil) then temp= temp..s[i] tokens[#tokens+1]= temp end temp= temp..s[i] end end name_list= {} id_list= {} i= 0 while i<#tokens do i= i+1 if (tokens[i+1] == '=') then name_list[#name_list+1]= tokens[i] id_list[#id_list+1]= tokens[i+2] i= i+2 end end return name_list,id_list end Всё это делается в три строчки. Читай тему "Шаблоны" Переменные, используемые в процедуре, лучше описывать локальными. Ничего не перетрешь и мусора меньше остается. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 6 декабря, 2014 (изменено) function parseD(adress) lines= pastebin(adress) tokens= {} s= {} c= 0 for i=1,#lines do for q=1,#lines[i] do c= c+1 s[c]= string.sub(lines[i],q,q) end end temp= '' forS= false i= 0 while i<#s do i= i+1 forS= false if (s[i] == ';') then forS= true tokens[#tokens+1]= temp temp= '' end if (s[i] == '=') then forS= true tokens[#tokens+1]= temp tokens[#tokens+1]= '=' temp= '' end if (forS~= true) then if (s[i+1] == nil) then temp= temp..s[i] tokens[#tokens+1]= temp end temp= temp..s[i] end end name_list= {} id_list= {} i= 0 while i<#tokens do i= i+1 if (tokens[i+1] == '=') then name_list[#name_list+1]= tokens[i] id_list[#id_list+1]= tokens[i+2] i= i+2 end end return name_list,id_listendВсё это делается в три строчки. Читай тему "Шаблоны"Переменные, используемые в процедуре, лучше описывать локальными. Ничего не перетрешь и мусора меньше остается. Почему-то мне проще так делать. Чем писать 3 строки 1 из них не зная как работает. Изменено 6 декабря, 2014 пользователем NEO Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 6 декабря, 2014 Почему-то мне проще так делать. Чем писать 3 строки 1 из них не зная как работает. Неверный подход к проблеме. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
cyber01 1 704 Опубликовано: 6 декабря, 2014 Просьба: для простыней кода лучше использовать тег спойлер.... Находится он в разделе специальных ББ кодов (в редакторе третья иконка слева) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 6 декабря, 2014 (изменено) А раньше код сворачивался в спойлер автоматически. Ну не в спойлер, но сворачивался Изменено 6 декабря, 2014 пользователем Zer0Galaxy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 7 декабря, 2014 патч: Изменения: Добавлено: функция update: Добавлены новые программы,такие NewEdit() by Dimus GUI by 1Ridav CraftNetAPI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 7 декабря, 2014 @NEO, а как быть, если программа состоит не из одного файла, а из нескольких (у меня 5 файлов, которые должны работать вместе)? Нужно писать Installer? Это, конечно, не проблема, но просто интересно узнать. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 7 декабря, 2014 @NEO, а как быть, если программа состоит не из одного файла, а из нескольких (у меня 5 файлов, которые должны работать вместе)? Нужно писать Installer? Это, конечно, не проблема, но просто интересно узнать. Конечно писать инсталлер. Откуда Нео знает, что там подтягивают программы пользователей. И, видимо, надо выработать общие принципы и какие-то стандарты. Даунлоадер Нео качает выбранный из списка инсталлер в папку ТЕМР и закрывается. Далее запускаем инсталл_имя_программы_№версии - этот инсталлер создает папку ProgramFiles(если ее нет) в корне папки ROM, далее создает папку для самой программы с одноименным именем(например MiddayCommander_v.1.2) и туда все запихивает вместе с необходимыми файлами, далее инсталлер на всякий случай бэкапит startup с новым именем startup_old_d_t , где d и t , дата и время майна, записывает строку shell.run("bg ProgramFiles/MiddayCommander_v.1.2/mc") в startup сам себя удаляет и ребутает комп. В итоге у нас все программы по отдельным папочкам в главной папке ProgramFiles, при старте компа в фоновом мультизадачном режиме запущен Midday Commander, в корне ROM валяются бекапы всех старапов, так как пользователи очень любят в них хранить код программы какой-то. Не пробовал и не знаю пока как запустить несколько программ в мультизадачном многооконном режиме одновременно автомачически сартапом, но делать надо как-то так, в таком ключе по идее. Ну и фишка в том, что обычно ПК из мода КК мы используем для одной проги и одной задачи (замок на дверь, например), там не критично, можно и в стартап запихнуть прогу. А вот для планшета задумка даунлоадера, мультизапуск многооконный и хранение программ по папкам упорядоченным вполне может быть актуальной. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 7 декабря, 2014 (изменено) AlexCC, да ты правильно говоришь, только инсталлер , потому что в много-файловой программе, нужно разпарсить весь файл найти все os. loadAPI() записать туда правильный путь, это будет куча проблем, а разработчику написать инсталлер намного легче. @NEO, а как быть, если программа состоит не из одного файла, а из нескольких (у меня 5 файлов, которые должны работать вместе)? Нужно писать Installer? Это, конечно, не проблема, но просто интересно узнать. Пиши инсталлер. Подругому пока никак, у меня программы состоят только из одного файла.я потому думаю добавлю поддержку несколько файлов. Да и если нет инсталлера, мне пока будет проще его написать. Изменено 7 декабря, 2014 пользователем NEO Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 7 декабря, 2014 (изменено) если почитать вики,про инсталлятор,вот что написано:Большинство программ поставляются для продажи и распространения в сжатом (упакованном, см.: Архив) виде. Для нормальной работы они должны быть распакованы, а необходимые данные правильно размещены на компьютере, учитывая различия между компьютерами и настройками пользователя. В процессе установки выполняются различные тесты на соответствие заданным требованиям, а компьютер необходимым образом конфигурируется (настраивается) для хранения файлов и данных, необходимых для правильной работы программы. Установка, как правило, включает в себя размещение всех необходимых программе файлов в соответствующих местах файловой системы, а также модификацию и создание конфигурационных файлов. Изменено 7 декабря, 2014 пользователем NEO 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 7 декабря, 2014 если почитать вики,про инсталлятор,вот что написано:Большинство программ поставляются для продажи и распространения в сжатом (упакованном, см.: Архив) виде. Для нормальной работы они должны быть распакованы, а необходимые данные правильно размещены на компьютере, учитывая различия между компьютерами и настройками пользователя. В процессе установки выполняются различные тесты на соответствие заданным требованиям, а компьютер необходимым образом конфигурируется (настраивается) для хранения файлов и данных, необходимых для правильной работы программы. Установка, как правило, включает в себя размещение всех необходимых программе файлов в соответствующих местах файловой системы, а также модификацию и создание конфигурационных файлов. Так и надо, видимо, уговорить всех программеров начинать писать свой код с инсталятора. А тело программ (папки и файлы) хранить в ROM/ProgramFiles/Name_prog/... тем более, что есть чудо файловый менеджер, а в сети можно найти подобие графических операционных систем, для КК по крайней мере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 7 декабря, 2014 Так и надо, видимо, уговорить всех программеров начинать писать свой код с инсталлятора. А тело программ (папки и файлы) хранить в ROM/ProgramFiles/Name_prog/... Я вообще привык всё делать, как в Linux: либы в /lib, а проги в /usr/bin. Уже пишу инсталлер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 21 января, 2015 Добавление: +BRController by Nick_alps. +KrutoyTurtle by Krutoy. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 21 января, 2015 Скоро добавлю много нововведений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Krutoy 1 169 Опубликовано: 21 января, 2015 Добавление: +KrutoyTurtle by Krutoy. Уиииии! 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 3 августа, 2017 Скоро добавлю много нововведений. Нравится мне, когда темы заканчиваются такими фразами Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах