Перейти к содержимому


Фотография

Program Downloader (v0.1)

Program Downloader pastebin

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 16

#1 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,82%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 06 Декабрь 2014 - 20:28

Здравствуйте форумчане, пришла мне идея,создать программу для систематизации программ ,и скачивания их.

Использование:

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 , для примера.


Сообщение отредактировал NEO: 06 Декабрь 2014 - 20:41

  • Fingercomp это нравится

#2 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 06 Декабрь 2014 - 20:45

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

Всё это делается в три строчки. Читай тему "Шаблоны"

Переменные, используемые в процедуре, лучше описывать локальными. Ничего не перетрешь и мусора меньше остается.


  • Totoro это нравится

#3 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,82%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 06 Декабрь 2014 - 20:51

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 из них не зная как работает.

Сообщение отредактировал NEO: 06 Декабрь 2014 - 20:56


#4 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 06 Декабрь 2014 - 22:19

Почему-то мне проще так делать. Чем писать 3 строки 1 из них не зная как работает.

Неверный подход к проблеме.


  • Krutoy это нравится

#5 Оффлайн   cyber01

cyber01

    Техническая поддержка

  • Администраторы
  • Сообщений: 891
  • Уровень сигнала: 1,76%
  • В игре: 13 час. 18 мин.

Награды

            2      

Отправлено 06 Декабрь 2014 - 23:03

Просьба: для простыней кода лучше использовать тег спойлер.... Находится он в разделе специальных ББ кодов (в редакторе третья иконка слева)



#6 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 07 Декабрь 2014 - 01:22

А раньше код сворачивался в спойлер автоматически. Ну не в спойлер, но сворачивался

Сообщение отредактировал Zer0Galaxy: 07 Декабрь 2014 - 01:23


#7 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,82%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 07 Декабрь 2014 - 03:12

патч:

Изменения:

Добавлено:

функция update:

Добавлены новые программы,такие

NewEdit() by Dimus

GUI by 1Ridav

CraftNetAPI



#8 Онлайн   Fingercomp

Fingercomp
  • Гуру
  • Сообщений: 2 002
  • Уровень сигнала: 169,26%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 07 Декабрь 2014 - 07:40

NEO, а как быть, если программа состоит не из одного файла, а из нескольких (у меня 5 файлов, которые должны работать вместе)? Нужно писать Installer? Это, конечно, не проблема, но просто интересно узнать.


  • NEO это нравится

#9 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 743
  • Уровень сигнала: 52%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 07 Декабрь 2014 - 11:49

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 валяются бекапы всех старапов, так как пользователи очень любят в них хранить код программы какой-то. Не пробовал и не знаю пока как запустить несколько программ в мультизадачном многооконном режиме одновременно автомачически сартапом, но делать надо как-то так, в таком ключе по идее. 

 

Ну и фишка в том, что обычно ПК из мода КК мы используем для одной проги и одной задачи (замок на дверь, например), там не критично, можно и в стартап запихнуть прогу. А вот для планшета задумка даунлоадера, мультизапуск многооконный и хранение программ по папкам упорядоченным вполне может быть актуальной.


  • DUIIIES и NEO это нравится

#10 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,82%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 07 Декабрь 2014 - 13:49

AlexCC, да ты правильно говоришь, только инсталлер , потому что в много-файловой программе, нужно разпарсить весь файл найти все os. loadAPI() записать туда правильный путь, это будет куча проблем, а разработчику написать инсталлер намного легче.


NEO, а как быть, если программа состоит не из одного файла, а из нескольких (у меня 5 файлов, которые должны работать вместе)? Нужно писать Installer? Это, конечно, не проблема, но просто интересно узнать.

Пиши инсталлер. Подругому пока никак, у меня программы состоят только из одного файла.я потому думаю добавлю поддержку несколько файлов.
Да и если нет инсталлера, мне пока будет проще его написать.

Сообщение отредактировал NEO: 07 Декабрь 2014 - 13:48


#11 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,82%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 07 Декабрь 2014 - 14:48

если почитать вики,про инсталлятор,вот что написано:Большинство программ поставляются для продажи и распространения в сжатом (упакованном, см.: Архив) виде. Для нормальной работы они должны быть распакованы, а необходимые данные правильно размещены на компьютере, учитывая различия между компьютерами и настройками пользователя. В процессе установки выполняются различные тесты на соответствие заданным требованиям, а компьютер необходимым образом конфигурируется (настраивается) для хранения файлов и данных, необходимых для правильной работы программы.

Установка, как правило, включает в себя размещение всех необходимых программе файлов в соответствующих местах файловой системы, а также модификацию и создание конфигурационных файлов.


Сообщение отредактировал NEO: 07 Декабрь 2014 - 14:48

  • Alex это нравится

#12 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 743
  • Уровень сигнала: 52%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 07 Декабрь 2014 - 17:53

если почитать вики,про инсталлятор,вот что написано:Большинство программ поставляются для продажи и распространения в сжатом (упакованном, см.: Архив) виде. Для нормальной работы они должны быть распакованы, а необходимые данные правильно размещены на компьютере, учитывая различия между компьютерами и настройками пользователя. В процессе установки выполняются различные тесты на соответствие заданным требованиям, а компьютер необходимым образом конфигурируется (настраивается) для хранения файлов и данных, необходимых для правильной работы программы.

Установка, как правило, включает в себя размещение всех необходимых программе файлов в соответствующих местах файловой системы, а также модификацию и создание конфигурационных файлов.

Так и надо, видимо, уговорить всех программеров начинать писать свой код с инсталятора. А тело программ (папки и файлы) хранить в ROM/ProgramFiles/Name_prog/...  тем более, что есть чудо файловый менеджер, а в сети можно найти подобие графических операционных систем, для КК по крайней мере.



#13 Онлайн   Fingercomp

Fingercomp
  • Гуру
  • Сообщений: 2 002
  • Уровень сигнала: 169,26%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 07 Декабрь 2014 - 17:57

Так и надо, видимо, уговорить всех программеров начинать писать свой код с инсталлятора. А тело программ (папки и файлы) хранить в ROM/ProgramFiles/Name_prog/...

Я вообще привык всё делать, как в Linux: либы в /lib, а проги в /usr/bin.

Уже пишу инсталлер.



#14 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,82%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 21 Январь 2015 - 16:36

Добавление:

+BRController by Nick_alps.

+KrutoyTurtle by Krutoy.


  • Krutoy и Fingercomp это нравится

#15 Оффлайн   NEO

NEO
  • Автор темы
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,82%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 21 Январь 2015 - 18:12

Скоро добавлю много нововведений.



#16 Оффлайн   Krutoy

Krutoy
  • Гуру
  • Сообщений: 499
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

              

Отправлено 21 Январь 2015 - 18:29

Добавление:

+KrutoyTurtle by Krutoy.

Уиииии!


  • NEO и Fingercomp это нравится

#17 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 03 Август 2017 - 10:31

Скоро добавлю много нововведений.

 

Нравится мне, когда темы заканчиваются такими фразами  :D







Темы с аналогичным тегами Program Downloader, pastebin

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных