Как сделать программу с обновлением через Devel Studio 3.0

Как сделать программу с обновлением через Devel Studio 3.0

1) Для начало нам надо хост куда мы будем заливать файл с версией, и саму программу. 
    Я буду использовать бесплатный хост от hut.ru.
    • Создаем на компе файл "version.txt" и туда вписываешь последнюю версию программы. 
       Я написал v.1.0.
    • Дальше загружаем этот файл ( "version.txt" ) на хост, в папку "WWW". 
       Загружать нужно через любой FTP клиент( я использовал "FileZilla" ). 
    
2) Заходим в девел и создаем "Form1 "и "Form2".
    "Form1" — это у нас сама программа.
    "Form2" — это будет скачивание новой версии. 
    • На "Form1" создаете кнопку( при нажатии на нее будет проверяться версия программы ). 
        На кнопку создаем событие - клик: 

           $v = file_get_contents('http://chatik.hut4.ru/version.txt');// получаем текст из файла.
           if ($v == 'v.1.0'){// если этот текст "v.1.0" тогда
               MessageBox("У вас самая последняя версия!", "");// выводим сообщение
           }else{//иначе 
               LoadForm(c('Form2'), LD_NONE);// загружаем "Form2"
           }

3) На "Form2" создаем прогресс бар, 3 кнопки("Пауза","Стоп,"Скачать"), диалог открытия, и     загрузчик.
    Кнопка "Старт":
    • Переименовываем название кнопки из "button1" => "btn_start".
       Создаем событие -> клик:

          c("download")->url = "http://chatik.hut4.ru/demo.exe";// указываем прямую ссылку на вашу           новую программу
          $x = c("dirDlg")->execute();
          if ($x)//если диалог открыт 
           c("download")->path = c("dirDlg")->fileName;//загрузить в указанную папку 
          else//иначе
          return;// отменить загрузку
          c("download")->start();//начать загрузку 
          c("Form2")->caption = 'Старт загрузки...';//в названии формы пишем старт загрузки
          c("btn_pause")->enabled = true;//кнопку пауза делаем доступной
          $self->enabled = false;//делаем кнопку скачать не доступной

4) Кнопка "Стоп":
    • Переименовываем название кнопки из "button2" => "btn_stop".
    • Создаем событие - клик: 

       c("download")->stop();//останавливаем загрузку 
       c("Form2")->caption = 'Загрузка остановлена!';//пишем в заголовке программы 
       c("btn_pause")->enabled = false;//делаем кнопку пауза недоступной
       c("btn_start")->enabled = true;//делаем кнопку старт доступной

5) Кнопка "Пазуа":
    • Переименовываем название кнопки из "button3" => "btn_pause".
   • Создаем событие - клик:
         c("download")->pause();//делаем паузу
         c("Form1")->caption = 'Загрузка приостановлена!';//пишем в заголовке что Пауза
         $self->enabled = false;//кнопку пауза делаем недоступной 
         c("btn_start")->enabled = true;//кнопку старт делаем доступной 

6) Теперь на компоненте загрузчик создаем событие - загрузка: 

   c("Form2")->caption = 'Скачено '.round($pos/1024).' Кб из '.round($max/1024).' Кб';
   c("progress")->position = $pos; // $pos передает позицию в байтах
   c("progress")->max = $max; // $max передает размер в байтах
   if (c("progress")->position == c("progress")->max){
      c("Form2")->caption = "Новая версия скачена!";
   }




Поделиться: