Моя Программа лезет на мой сайт за новым обновлением. Как?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
AlexandrK
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 09.02.2003 (Вс) 19:23
Откуда: Russia

Моя Программа лезет на мой сайт за новым обновлением. Как?

Сообщение AlexandrK » 14.05.2004 (Пт) 19:14

Как сделать,чтоб моя программа лезла на мой сайт за новым обновлением?
Точнее так: На сайте постояно идет обновление материала (фото галлерея), вот хочу написать прогу, которая постоянно (когда она загружена) проверяет, есть ли на сайте изменения? Если есть то водит например сообщение что на сайте были сделаны изменения! И юзер идёт на сайт.

Спасибо!

С Уважением Александр

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 14.05.2004 (Пт) 19:39

1) Сделай на сайте файл, в котором дата [и время] последнего обновления;
2) Project->Components->Microsoft Internet Transfer Control (галочка) :arrow: добавь его на форму ("Inet1")
Код: Выделить всё
'Допустим, в файле дата + время формата "dd.mm.yyyy hh:mm"

Private Sub CheckUpdates()
Dim b() As Byte, S$, D As Date, msg As VbMsgBoxResult
'Идем в инет и получаем файл
Inet1.Protocol = icHTTP
Inet1.URL = InputBox("Введи путь к файлу", , "http://")
b() = Inet1.OpenURL(Inet1.URL, icByteArray)
'записываем его на диск
Open App.Path & "\Test.txt" For Binary Access Write As #1
Put #1, , b()
Close #1
'проверяем и выдаем нужное сообщение
Open App.Path & "\Test.txt" For Input As #1
Input #1, S
Close #1
D = CDate(S)
If D > Now Then msg = MsgBox("Там есть обновления!" & vbCrLf & "Зайти?", vbQuestion + vbYesNo, "Update")
If msg = vbYes Then Shell "iexplore.exe " & InputBox("Введи имя сайта, куда надо зайти", , "http://")
End Sub
Нет меня больше

AlexandrK
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 09.02.2003 (Вс) 19:23
Откуда: Russia

Сообщение AlexandrK » 14.05.2004 (Пт) 19:50

A.A.Z. писал(а):1) Сделай на сайте файл, в котором дата [и время] последнего обновления;


А формат его какой сделать? Если не сложно пример приведи пожалуста!

Спасибо!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 14.05.2004 (Пт) 20:17

Так я же написал - например, на сайте http://AlexandrK.narod.ru/ лежит файл "date.txt". В нем записана дата последнего обновления, например, "01.01.2004 00:00" (без кавычек).
Нет меня больше

AlexandrK
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 09.02.2003 (Вс) 19:23
Откуда: Russia

Сообщение AlexandrK » 14.05.2004 (Пт) 20:18

A.A.Z. писал(а):Так я же написал - например, на сайте http://AlexandrK.narod.ru/ лежит файл "date.txt". В нем записана дата последнего обновления, например, "01.01.2004 00:00" (без кавычек).


Да-да, извени... я уже дадумался... ;)

AlexandrK
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 09.02.2003 (Вс) 19:23
Откуда: Russia

Сообщение AlexandrK » 14.05.2004 (Пт) 22:05

Что то не работает твой код... :? Может от того что под ХР ??

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 14.05.2004 (Пт) 22:11

Ой, прости, надо сравнивать дату в инете с датой обновления проги, а не с текущим временем! :) :oops: Тогда при запуске проверяй, есть ли файл с датой на компе, и если нет, то создай его и напиши какую-нибудь старую-старую дату, типа "01.01.1900 00:00".
Сорри :oops:

Например:
Код: Выделить всё
Dim LastDate As Date

Sub Form_Initialize()
Dim S$
If Dir("C:\Test.txt") = "" Then
   Open "C:\Test.txt For Output As #1
   Print #1, "01.01.1900 00:00"
   Close #1
   LastDate = CDate("01.01.1900 00:00")
Else
   Open "C:\Test.txt For Input As #1
   Line Input #1, S
   Close #1
   LastDate = CDate(S)
End If
End Sub

Private Sub CheckUpdates()
Dim b() As Byte, S$, D As Date, msg As VbMsgBoxResult
'Идем в инет и получаем файл
Inet1.Protocol = icHTTP
Inet1.URL = InputBox("Введи путь к файлу", , "http://")
b() = Inet1.OpenURL(Inet1.URL, icByteArray)
'записываем его на диск
Open App.Path & "\Test.txt" For Binary Access Write As #1
Put #1, , b()
Close #1
'проверяем и выдаем нужное сообщение
Open App.Path & "\Test.txt" For Input As #1
Input #1, S
Close #1
D = CDate(S)
If D > LastDate Then msg = MsgBox("Там есть обновления!" & vbCrLf & "Зайти?", vbQuestion + vbYesNo, "Update")
If msg = vbYes Then Shell "iexplore.exe " & InputBox("Введи имя сайта, куда надо зайти", , "http://"): LastDate = D 'присваеваем переменной LastDate новую дату, только если пользователь пошел на сайт
End Sub
   
Последний раз редактировалось A.A.Z. 14.05.2004 (Пт) 22:18, всего редактировалось 2 раз(а).
Нет меня больше

AlexandrK
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 09.02.2003 (Вс) 19:23
Откуда: Russia

Сообщение AlexandrK » 14.05.2004 (Пт) 22:14

A.A.Z. писал(а):Ой, прости, надо сравнивать дату в инете с датой обновления проги, а не с текущим временем! :) :oops: Тогда при запуске проверяй, есть ли файл с датой на компе, и если нет, то создай его и напиши какую-нибудь старую-старую дату, типа "01.01.1900 00:00".
Сорри :oops:


Если не сложно, можешь показать подправленный код?

Спасибо!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 14.05.2004 (Пт) 22:19

Хех! Пока правил сообщение, уже успели ответить! :)
Нет меня больше

AlexandrK
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 09.02.2003 (Вс) 19:23
Откуда: Russia

Сообщение AlexandrK » 14.05.2004 (Пт) 22:31

Нет, ошибка какая то... виснет после того как вводишь путь к файлу.. :cry: :?


Да! Это я делаю на VB 6.0 !!!! Может по этому?

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 14.05.2004 (Пт) 22:48

Я тоже! :)
Почему виснет?.. Не знаю... А ты файл точно там сделал, поменял там все под себя - имена, там, сайты?
Нет меня больше

AlexandrK
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 09.02.2003 (Вс) 19:23
Откуда: Russia

Сообщение AlexandrK » 14.05.2004 (Пт) 22:54

A.A.Z. писал(а):Я тоже! :)
Почему виснет?.. Не знаю... А ты файл точно там сделал, поменял там все под себя - имена, там, сайты?



Я подогнал всё под этот код, а не код менял под себя... Ну ты попробуй сам!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 14.05.2004 (Пт) 23:18

Ладно, попробую... Только не сегодня, завтра! :wink:
Нет меня больше

AlexandrK
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 09.02.2003 (Вс) 19:23
Откуда: Russia

Сообщение AlexandrK » 14.05.2004 (Пт) 23:19

AlexandrK писал(а):
A.A.Z. писал(а):Я тоже! :)
Почему виснет?.. Не знаю... А ты файл точно там сделал, поменял там все под себя - имена, там, сайты?



Я подогнал всё под этот код, а не код менял под себя... Ну ты попробуй сам!


СТОП!!!

НАРОД! Тык помоему ты меня не понял! До меня только сейчас дошло...

Мне нужно просто, в программе сообщать что на сайте было обновление!!! А не обновлять прогу!!!!!!!!!!!!

Т.е. если на сайте были сделаны изменения, то в окошке пишется "На сайте есть обновления", а если нету то "нет новостей"..

Всё, больше ничего ненадо!!!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 15.05.2004 (Сб) 13:23

Ну? Я же то и делал! :lol:
Прога загружает с сайта файл с датой последнего обновления. Так же на диске существует созданный программой файл с последним обновлением проги. Если файл на сайте позже файла на компьютере, то предложить юзверю зайти на сайт, и если он согласен, поменять дату на компе на дату из инета. То?
Нет меня больше


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

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

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

    TopList