Автообновление

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Морфий
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 119
Зарегистрирован: 11.01.2005 (Вт) 18:06

Автообновление

Сообщение Морфий » 19.01.2005 (Ср) 22:19

Надо написать автообновление программы по сетке. Как лучше сделать? Исходники приветствуются :wink:
Вот оно — счастье...

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Сообщение sergey-911 » 20.01.2005 (Чт) 2:25

Пришли маил, скину проект вместе с osx компонентом, который при обновлении прокручивает прогресбар, как в винде.
С уважением, Сергей.

Морфий
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 119
Зарегистрирован: 11.01.2005 (Вт) 18:06

Сообщение Морфий » 20.01.2005 (Чт) 8:04

Вот оно — счастье...

timsoft
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 181
Зарегистрирован: 18.10.2003 (Сб) 10:50
Откуда: Odessa, Ukraine

Сообщение timsoft » 20.01.2005 (Чт) 15:53

если можно, то и мне скинь на chegotebe (собака) gmail.com
tim@ Изображение

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 20.01.2005 (Чт) 16:07

osx?
А по какой технологии он работает?
ActiveComCobraX ;)

Вывешивайте в Public!
Я тоже хачу!
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

sergey-911
Постоялец
Постоялец
 
Сообщения: 545
Зарегистрирован: 17.01.2005 (Пн) 19:10

Сообщение sergey-911 » 23.01.2005 (Вс) 0:40

В программе, которая проверяется на обновление пишешь код, приведенный ниже. В инишнике указывается путь, куда выкладываются новые версии программы и название. Не забудь подключить библиотеку "scrrun.dll".
Хотелось бы узнать мнение, о предложенном мною варианте обновления.



Private Sub Form_Load()
'V Обновление версии программы ****************************************************************************************************************
Dim PutProg As String 'Путь к обновленной версии программы (указывается в файле "Obnovlenie.ini")
Dim Programma As String 'Путь к программе
Dim fso As New FileSystemObject 'Подключение библиотеки
PutProg = Empty
Programma = Empty
nFile = FreeFile 'Возвращаем следующий свободный номер файла
sAppPath = App.Path 'Определение местонахождения файлов с программой
If Right$(sAppPath, 1) <> "\" Then sAppPath = sAppPath & "\" 'Проверка на местонахождение на локальном диске
Err.Clear
On Error Resume Next
Open sAppPath & "Obnovlenie.ini" For Input As #nFile 'Открытие файла для последовательного считывания
If Err.Number > 0 Then GoTo Er1
Line Input #nFile, PutProg 'Последовательно считываем данные из файла
Line Input #nFile, Programma 'Последовательно считываем данные из файла
Close #nFile 'Закрываем файл
If Err.Number > 0 Then GoTo Er2 'Если файл "Obnovlenie.ini" отсутствует на сервере программой
File1 = Empty
Set File1 = fso.GetFile(sAppPath & Programma) 'Путь к файлу в каталоге с программой
GoTo Er2
Er1: 'Если файл "Obnovlenie.ini" отсутствует в папке с программой
Err.Clear
PutProg = Empty
Programma = Empty
PutProg = "C:\LastVer$\"
Programma = "Avtomagazin.exe"
nFile = FreeFile 'Возвращаем следующий свободный номер файла
sAppPath = App.Path 'Определение местонахождения файлов с программой
If Right$(sAppPath, 1) <> "\" Then sAppPath = sAppPath & "\" 'Проверка на местонахождение на локальном диске
Open sAppPath & "Obnovlenie.ini" For Output As #nFile 'Создаем файл с параметрами соединения
Print #nFile, CStr(PutProg)
Print #nFile, CStr(Programma)
Close #nFile
PutProg = Empty
Programma = Empty
nFile = FreeFile 'Возвращаем следующий свободный номер файла
sAppPath = App.Path 'Определение местонахождения файлов с программой
If Right$(sAppPath, 1) <> "\" Then sAppPath = sAppPath & "\" 'Проверка на местонахождение на локальном диске
Open sAppPath & "Obnovlenie.ini" For Input As #nFile 'Открытие файла для последовательного считывания
Line Input #nFile, PutProg 'Последовательно считываем данные из файла
Line Input #nFile, Programma 'Последовательно считываем данные из файла
Close #nFile 'Закрываем файл
File1 = Empty
Set File1 = fso.GetFile(sAppPath & Programma) 'Путь к файлу в каталоге с программой
If Err.Number > 0 Then GoTo Er2
Er2:
Err.Clear
File2 = Empty
Set File2 = fso.GetFile(PutProg & Programma) 'Путь к обновленному файлу
If Err.Number > 0 Then GoTo Er3
Er3:
Err.Clear
On Error Resume Next
If File1 <> "" And File2 <> "" Then
Set File1 = fso.GetFile(sAppPath & Programma) 'Путь к файлу в каталоге с программой
If Err.Number > 0 Then GoTo Er4
Set File2 = fso.GetFile(PutProg & Programma) 'Путь к обновленному файлу
If Err.Number > 0 Then GoTo Er4
Dim Ver1, Ver2 As String
Ver1 = fso.GetFileVersion(File1)
If Err.Number > 0 Then GoTo Er4
Ver2 = fso.GetFileVersion(File2)
If Err.Number > 0 Then GoTo Er4
If Ver1 = "" Then
Ver1 = Empty
Else
Ver1 = Replace(Ver1, ".", "") 'Убираем точки в значении версии
If Err.Number > 0 Then GoTo Er4
End If
If Ver2 = "" Then
Ver2 = Empty
Else
Ver2 = Replace(Ver2, ".", "") 'Убираем точки в значении версии
If Err.Number > 0 Then GoTo Er4
End If
If CInt(Ver1) < CInt(Ver2) Then 'Проверка на более новую версию
If Err.Number > 0 Then GoTo Er4
Call Shell(sAppPath & "Obnovlenie.exe", vbNormalFocus) 'Запуск программы
If Err.Number > 0 Then GoTo Er4
End
End If
End If
Er4:
Err.Clear
On Error Resume Next
'A Обновление версии программы ****************************************************************************************************************
End Sub
Вложения
Obnovlenie.rar
Проект обновления программы
(34.68 Кб) Скачиваний: 53
С уважением, Сергей.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, PetalBot, SemrushBot, Yandex-бот и гости: 10

    TopList