¿Cómo descargar archivos en un lenguaje sencillo?
Easy Language solo viene con una biblioteca que admite la descarga bt. La descarga directa no requiere comandos y requiere varios parámetros. El código de la imagen es el siguiente
Componentes: 2 cuadros de edición, 3 botones de acceso, 3 etiquetas, una barra de progreso y un reloj.
Código: .Versión: 2
. Biblioteca de soporte: downlib
. Biblioteca de soporte iext2
. ¿Programa de biblioteca de shell de soporte? Ensamblaje de Windows 1
. ¿Variables de conjunto de programas? Descargar parámetros, parámetros de tarea
¿Variables de configuración del programa? Descargar objeto
.¿Variable de ensamblaje? ¿Estado de descarga? Entero
. ¿Variables de montaje? Descargar información, número de bytes
¿Variables de ensamblaje? Tamaño de archivo, tipo decimal de doble precisión
¿Subrutina? ___Ventana de inicio_creada
. ¿Subrutina? _Super_Botón_Recibido_Clic
. ¿Variables locales? Descargar dirección, tipo de texto
. si es cierto? (editbox1.content="")
¿Cuadro de información?("No se ingresó ninguna dirección de descarga",?0,?,?)
¿Volver?()
.Si es verdadero, finalice
. if true(editbox2.content? = ? "")
Infobox? ("No se ha seleccionado ninguna ruta para guardar", ?0, ?, ?)
Regresar?()
.Si es verdadero final
¿Descargar dirección?¿Eliminar el primero y el último vacío?(editar cuadro 1. contenido)
Descargar parámetros. Tipo = ?#Constante de transferencia. 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 = 3
Descargar parámetros. Ruta del archivo local =? Cuadro de edición 2. Contenido
Descargar parámetros. Tiempo de espera de conexión = 5000
Parámetros de descarga. Tiempo de espera de envío = 5001
Descargar parámetros. Tiempo de espera de recepción = 10000
Descargar parámetros. Tamaño de recepción = 10240
Parámetros de descarga. Función de devolución de llamada de interacción = Función de devolución de llamada de interacción
SuperButton_Receive.Disabled? Verdadero
Descargar tarea. ¿Agregar nueva tarea? (Descargar parámetros)
¿Subrutina? _Super_Button_Browse_Clicked
Cuadro de edición 2. Explorar carpetas ("Seleccionar ruta de guardado local")
¿Subrutina? Función de devolución de llamada interactiva, ?Integer
.parameters? Tipo de mensaje,? Entero
.¿Parámetros? Información del hilo, ?entero
. ¿parámetro? Parámetro 3, número entero
. ¿parámetro? Parámetro 4, ? Entero
¿Parámetro? Información del objeto,?entero
. ¿Empezando a juzgar? (Tipo de mensaje = ? #Constante de transmisión. Inicio de descarga y carga)
Tamaño del archivo = ?Parámetro 3
. (¿Tipo de información? = ? #Constante de transferencia.
Descarga y carga completadas)
¿Cuadro de información? ("Descarga completa",?0,??)
Fin?()
.¿Juez? (¿Tipo de mensaje? = ? #Constante de transferencia. Se ha iniciado un nuevo hilo de descarga)
. ¿juez? (¿Tipo de información? #Transferir constante. El hilo de descarga continúa descargándose)
¿Sentencia? (Tipo de información =? #Constante de transferencia. El hilo finaliza normalmente)
¿Sentencia? (Tipo de información = #Constante de transferencia. El hilo finalizó de manera anormal)
¿Sentencia? (Tipo de información = #Constante de transferencia. Existe un archivo con el mismo nombre)
. (Tipo de información = #Constante de transmisión. Datos recibidos)
¿Sentencia? (Tipo de información = #Constante de transmisión. Rango de datos de descarga)
.Valor predeterminado
.Fin del juicio
¿Devolución (0)
p >.Subrutina?_clock_cycle_event. si es cierto? (Super_Button_Receive. ¿Desactivar? = Verdadero)
. if (tamaño de archivo = 0)
Etiqueta.title = ?"Completado: 0"
.else
Etiqueta. Título =?"Completado:"? ¿Convertir valor a texto formateado? (Descargar tarea. Tome la duración de la tarea de descarga. ()?÷?Tamaño de archivo?×?100,?0,?Falso)??""
. Si finaliza
Barra de progreso. ¿Ubicación? =? ¿Redondeado a? (Descargar tarea. Tome la duración de la tarea de descarga. ()?÷?Tamaño de archivo?×?100,?0)
.Finalizar si es verdadero
. Subrutina ?_Super_Button_Cancel_Was_Clicked
Descargar parámetros. Tipo = ?#Constante de transferencia. Descarga y carga completadas
Super_Button_Receive. ¿Desactivado? Falso
ProgressBar.Position = 0
Label.Title = ?"Cancelar usuario"