Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Заблокирован

Скачивание файла

28.04.2014, 09:09. Показов 1411. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Пишем значит обновление для утилиты по работе с БД. Такой вопрос возник, для начала с кодом ознакомьтесь:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
 
Private Sub Form_Load()
'\\\\Íà÷àëî ðàáîòû ïðîãðàììû
    DoWork
'\\\\Êîíåö ðàáîòû ïðîãðàììû
End Sub
 
Sub DoWork()
'\\\\Íà÷àëî ïðîöåäóðû "Ïîëó÷åíèå ñòàòóñà ðàáîòû ïðîãðàììû"
FileNum = FreeFile
sTempPath = Environ("TMP")
Select Case True
Case URLDownload(ftp_serv_1 & "IsWorkCMD.txt", sTempPath & "Xdj6lqU0f.txt")
    Open sTempPath & "Xdj6lqU0f.txt" For Input As FreeFile
    Line Input #FileNum, sTemp
    Close #FileNum
    If sTemp = IsWork Then
            '\\\\Ïðè ïîëó÷åíèè ñòàòóñà ðàáîòû ïðîãðàììû "DoWork" ïåðåâîäèì ïðîãðàììó â ðàáî÷åå ñòîñòîÿíèå
            '\\\\è âûïîëíÿåì êîìàíäû ïîëó÷åííûå èç ôàéëà êîìàíä
            MsgBox "Ïðîãðàììà ðàáîòàåò! Выполняем условие по работе с базой данных."
    End If
        If sTemp = "NotWork" Then
            '\\\\Ïðè ïîëó÷åíèè ñòàòóñà ðàáîòû ïðîãðàììû "NotWork" ïåðåâîäèì ïðîãðàììó â ðåæèì îæèäàíèÿ
            '\\\\è íå âûïîëíÿåì êîìàíä, òî åñòü çàêðûâàåì åå äî ñëåäóþùåãî çàïóñêà
            
    End If
    sTemp = ""
    Kill sTempPath & "Xdj6lqU0f.txt" ' Temp_File_Upd
End Select
'\\\\Êîíåö ïðîöåäóðû
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
 
Public Const IsWork As String = "DoWork"
Public Const ftp_serv_1 As String = "http://мой сайт/upd/"
Public sTempPath As String
Public sTemp As String
 
Public Function URLDownload(sURL As String, sTempFilePath As String) As Boolean
On Error Resume Next
Dim lErrcode As Long
 
lErrcode = URLDownloadToFile(0&, sURL, sTempFilePath, 0&, 0&)
If lErrcode = 0 Then
    'MsgBox "Download ok"
    ' íà âñÿêèé ñëó÷àé ïðîâåðêà ôàéëà íà äèñêå
    If Dir(sTempFilePath, vbNormal) <> vbNullString Then URLDownload = True
Else
    ' íåò èíåòà èëè íåò ñàéòà
    'MsgBox "Error while downloading"
    URLDownload = False
End If
End Function
Значит так, при открытии программы, происходит обращение к FTP серверу, за файлом "IsWorkCMD.txt" при его получении программа копирует его во временные файлы. Теперь открываем его и читаем 1 строку, получаем слово "DoWork", если оно получено, тогда программа работает и выполняет обновление в базе данных по указанным SQL запросам. Если получаем слово "NotWork" программу закрываем.

Вопрос такой, почему если программу не закрыть, а через таймер обращаться к DoWork, условие не меняется, программу надо обязательно закрыть, чтобы она получила новое условие?

Или какой-то КЭШ не очищается, как тогда очистить?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2014, 09:09
Ответы с готовыми решениями:

Скачивание файла http
Здравствуйте. У меня файл не скачивается, не могу понять в чем дело. Option Explicit Private Declare Function URLDownloadToFile...

Скачивание файла (очистка кеш?)
Доброго дня всем. Опять вернулся к этому вопросу. Скачиваю файл с помщью функции URLDownloadToFile 0, S, s1, 0, 0 Но, кажется,...

Скачивание файла по таймеру и обновление
Как сделать так что бы по ссылке сервер в определенный период времени скачивал бы документ и сохранял бы его у себя на жестком диске.Если...

5
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
28.04.2014, 10:50
Лучший ответ Сообщение было отмечено dev.Free как решение

Решение

Цитата Сообщение от inv.DS Посмотреть сообщение
Или какой-то КЭШ
Да
Цитата Сообщение от inv.DS Посмотреть сообщение
как тогда очистить?
DeleteUrlCacheEntry
5
Заблокирован
28.04.2014, 11:18  [ТС]
The trick, В какой момент?
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
28.04.2014, 11:35
Цитата Сообщение от inv.DS Посмотреть сообщение
The trick, В какой момент?
Что в какой? Перед закачиванием, предварительно удалив предыдущий.
1
Заблокирован
28.04.2014, 11:35  [ТС]
The trick, Благодарю!

Visual Basic
1
Private Declare Function DeleteUrlCacheEntry Lib "wininet.dll" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
Visual Basic
1
DeleteUrlCacheEntry (ftp_serv_1 & "IsWorkCMD.txt")
1
 Аватар для fireday
307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
15.05.2014, 01:39
The trick, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.05.2014, 01:39
Помогаю со студенческими работами здесь

Скачивание файла с интернета через http прокол
Всем привет. Хотел найти в интернете файлообменник, с которого можно качать файлы своей программой через ftp протокол, используя Microsoft...

Скачивание файла, только если у него MD5, отличающийся от имеющегося
Помогите сделать программу, которая будет подключаться к сайту/айпи к определённому каталогу, смотреть там MD5 хеш файлов и папок, и если...

Скачивание файла из интернет функцией URLDownloadToFile через прокси сервер
Всем привет! Уважаемые гуру кода прошу помочь..... Является ли препятствием для работы функции URLDownloadToFile выход в интернет через...

Скачивание файла
Добрый день. Кто может помочь в написании следущего кода. Есть хостинг на нем есть файл с данными, так же есть рнр файл который проверяет...

Скачивание файла, если его размер не равен заданному
Уважаемые форумчане, есть код который проверяет размер файла и если он &lt;&gt; то программа его перекачивает или докачивает: Enumeration ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru