Red de conocimiento informático - Aprendizaje de código fuente - Utilice un lenguaje sencillo para realizar el proceso de actualización

Utilice un lenguaje sencillo para realizar el proceso de actualización

El fácil (descarga FTP)

Solo muestra el número de archivos descargados y el número total de archivos a descargar

El difícil (descarga FTP)

Barra de progreso Muestra el tamaño del archivo descargado

Lo más difícil es (descarga HTTP)

Muestra realmente el progreso de la descarga, el código es así.

.Versión 2

.Biblioteca compatible con downlib

.Ensamblaje de ventana de ensamblaje 2

.Parámetros de descarga de variables de ensamblaje, parámetros de tarea

p>

. Tarea de descarga de variable de ensamblaje, objeto de descarga

Estado de descarga de variable de programa, número entero

Información de descarga de variable de ensamblaje, conjunto de bytes

. Tamaño de archivo de variable de programa, decimal de doble precisión

.Subroutine_Window_Upgrade_Created

.Dirección de descarga de variable local, tipo de texto

Dirección de descarga = Eliminar El primer y último espacio (" /foundersc/upload/soft/SSL_Setup%28Build50708%29.exe") 'Dirección del archivo de descarga

Parámetros de descarga. tipo = #Constante de transporte. Descargar

Descargar parámetros. Dirección del archivo = dirección de descarga

Parámetros de descarga. Tiempo de espera de hilo = 1000

Parámetros de descarga. Número predeterminado de subprocesos = 5

Parámetros de descarga. Ruta del archivo local = Obtener el directorio actual () + "\FZZQMD5.exe.tmp"

Descargar parámetros. Tiempo de espera de conexión = 5000

Parámetros de descarga. Tiempo de espera de envío = 5000

Parámetros de descarga. Tiempo de espera de recepción = 10000

Parámetros de descarga. Tamaño de recepción = 10240

Parámetros de descarga. Función de devolución de llamada interactiva = &Función de devolución de llamada interactiva

Descargar tarea. Agregar nueva tarea (descargar parámetros)

.Subrutina Reemplazar nueva versión

Escribir en archivo ("5update.bat", en byteset ("@echo off" + # saltos de línea + " Taskkill /f /im " + recuperar el nombre del archivo de ejecución () + #carácter de nueva línea + "Del " + recuperar el nombre del archivo de ejecución () + #carácter de nueva línea + "ren " + "FZZQMD5.exe.tmp " + recuperar el nombre del archivo de ejecución ( ) + # Carácter de nueva línea + "inicio " + Obtener el nombre del archivo de ejecución () + # Carácter de nueva línea + "Del %0" + # Carácter de nueva línea + "Salir "))

Ejecutar ("5update.bat " , verdadero, 1)

Fin ()

. Subrutina _clock_cycle_event

Posición de la barra de progreso 1.= Ronda (descargar tarea. Obtener la duración de la descarga ( )÷Tamaño de archivo × 100, 0)

Función de devolución de llamada interactiva de subrutina, número entero

. Tipo de mensaje de parámetro, entero

. Parámetro ThreadInfo, número entero

. Parámetros Parámetro 3, entero

. Parámetro 4, número entero

. Información del objeto de parámetro, número entero

. Comienza el juicio (tipo de información = #constante de transmisión. Inicio de descarga y carga)

Tamaño de archivo = parámetro 3

. Juicio (tipo de información = #constante de transmisión.

Descarga y carga completadas)

Cuadro de información ("Descarga completa", 64, "Preguntar")

Reemplazar con nueva versión ()

Sentencia (información). tipo = #Transferir constante. Se inicia un nuevo hilo de descarga)

Juicio (Tipo de información = #Transferir constante. Continuar descargar hilo)

. Finalizado normalmente)

Sentencia (Tipo de información = #Constante de transmisión. El hilo finalizó de manera anormal)

Sentencia (Tipo de información = #Constante de transmisión. Existe un archivo con el mismo nombre)

.Juicio (Tipo de información = #Constante de transmisión. Datos recibidos)

.Juicio (Tipo de información = #Constante de transmisión. Rango de datos de descarga)

.Default

. Finaliza el juicio

Devolución (0).