Red de conocimiento informático - Aprendizaje de código fuente - Un lenguaje sencillo para escribir navegadores sencillos

Un lenguaje sencillo para escribir navegadores sencillos

Escribir un navegador simple requiere las siguientes funciones:

1.

2. Retroceder, avanzar y actualizar.

Por supuesto, algunos navegadores también tienen funciones de búsqueda, lo cual no es difícil de implementar.

La siguiente es una rutina de navegador que escribí yo mismo.

La demostración es la siguiente:

Se requieren los siguientes controles:

Botones: "Baidu Search", "Atrás", "Adelante", "Actualizar ", "Saltar" "

Cuadro de edición: "Cuadro de dirección"

Cuadro combinado: "Cuadro de búsqueda"

Barra de estado: "Barra de estado 1"

Barra de progreso: "Barra de progreso 1". ¿Versión? 2

. Biblioteca HtmlView de soporte

Biblioteca de clases de soporte: iext

. Ensamblaje de Windows 1

.¿Subrutina? __Launch Window_Size_Changed

Cuadro del navegador de hipertexto 1.height =? ¿Obtener la altura del área de usuario? ()?-?52

Cuadro del navegador de hipertexto 1. ¿Ancho? ¿Obtienes el ancho del área de usuario? ()

Búsqueda en Baidu. ¿izquierda? ¿Obtener el ancho del área de usuario? ()?-()?Búsqueda de Baidu. Ancho?-?4

Cuadro de búsqueda. Izquierda=?¿Obtener ancho del área de usuario?()?-?Cuadro de búsqueda. ¿Ancho? -Búsqueda Baidu. Búsqueda de Baidu. ¿ancho? -4

Saltar. Izquierda=?¿Obtener ancho del área de usuario?()?-?Saltar. ¿ancho? Cuadro de búsqueda. ¿ancho? -Búsqueda Baidu. Búsqueda de Baidu. ¿ancho? -8

Barra de direcciones. Ancho=?Obtener el ancho del área de usuario?()?Cuadro de dirección. cuadro de dirección. ¿Izquierda? ¿Qué hay en el lado izquierdo del cuadro de dirección? ¿Obtener el ancho del área de usuario? ()?+?Saltar. ¿Lado izquierdo? -?4

Barra de estado 1. ¿Establecer ancho? (0,? StatusBar1.width? -?100)

Barra de progreso 1. ¿izquierda =?StatusBar1.width?-? 98

Barra de progreso 1.borde superior?Barra de estado1.borde superior?+?3

.¿Subrutina?_Cuadro del navegador de hipertexto 1_Cargar cambio de progreso

.Porcentaje de progreso de parámetros , ? Entero

La posición de la barra de progreso 1. = ?Porcentaje de progreso

Cuadro de dirección. ¿contenido? Cuadro del navegador de hipertexto 1. Dirección

. si es cierto? (Barra de progreso 1.posición = 100)

Barra de progreso 1.Visual = ?False

.Fin si es verdadero

.Subrutina haga clic en _saltar_

Cuadro de navegación de hipertexto 1.saltar? (Cuadro de dirección. ¿Contenido,?,?)

Subrutina?_Search_Box_Get_Focus

. si es cierto? (Cuadro de búsqueda. ¿Contenido? =? "Baidu, ya sabes")

Cuadro de búsqueda. Contenido =?""

. Finalizar si es verdadero

¿Subrutina? _Search_box_loses_focus

. si es cierto

. (Contenido del cuadro de búsqueda = ? "")

Contenido del cuadro de búsqueda = ?"Baidu, ya sabes"

. Terminar si es verdadero

. ¿Subrutina? Haga clic en_Búsqueda Baidu_

. si es cierto

. (Cuadro de búsqueda. Contenido =? "Búsqueda Baidu")

Cuadro de búsqueda. Contenido =?""

. Si es verdadero, final

Cuadro de dirección. Contenido =?"/s?wd="?+ ?Cuadro de búsqueda.

Cuadro del navegador de hipertexto 1. (Cuadro de dirección. ¿Contenido,?,?)

.¿Subrutina?_Cuadro del navegador de hipertexto 1_Cargar inicio

Barra de progreso 1. ¿Visual? = ?Verdadero

.Subrutina?_Cuadro de dirección_Presione una tecla,?Tipo lógico

.¿Parámetros? Código clave, ? entero

. ¿parámetro? Estado de la tecla de función, número entero

. si es cierto? (Código clave = #Intro)

Cuadro de exploración de hipertexto 1. ¿Saltar? (Cuadro de dirección. Contenido,?,?)

.Finalizar si es verdadero

.¿Subrutina?_Cuadro de navegación de hipertexto 1_Una nueva ventana está a punto de abrirse,?Tipo lógico

p >

Cuadro de exploración de hipertexto 1. ¿Saltar? (Cuadro de exploración de hipertexto 1. ¿Texto de estado,?,?)

¿Volver? (falso)

¿Subrutina? Haga clic en _Actualizar_

Cuadro de exploración de hipertexto 1. Ejecutar el comando ? (#refresh)

. Se hace clic en la subrutina ?_Forward_

Cuadro de exploración de hipertexto 1. Ejecutar el comando ?(#Forward)

. Se hizo clic en _Hacia atrás_

Cuadro de exploración de hipertexto 1. ¿Ejecutar el comando? (#hacia atrás)

.¿Subrutina? _Cuadro de navegación de hipertexto 1_Cargado

. Crear _ventana de inicio__

. ¿Variables locales? Línea de comando, tipo de texto,? ,?" 0"

¿Obtener línea de comando? (línea de comando)

.¿Si es cierto? (Obtener el número de miembros de la matriz)

?(Línea de comando)? >0)

¿Escribir en el archivo? (¿Obtener el directorio en ejecución? ()? + ?"\Adress.txt",? al conjunto de bytes? (¿línea de comando? [1]))

Cuadro de exploración de hipertexto 1. ¿Saltar? (¿línea de comando? [1],?,?)

.Si es verdadero, finaliza

.Subrutina?__startup_window_will_be_destroyed

.Retorno de variable local, entero

.

si es cierto? (Cuadro 1 del navegador de hipertexto. ¿Estás descargando ()? Cuadro 1 del navegador de hipertexto. ¿Estás listo? ())

¿Volver? ("Tienes una tarea de descarga, ¿estás seguro de que quieres salir? " ,? #icono de consulta, ?)

.¿Si es cierto? (Retorno = #es botón)

¿Fin? ()

.Finalizar si es verdadero

.Finalizar si es verdadero

.¿Subrutina? _Cuadro del navegador de hipertexto 1_Título cambiado

_Ventana de inicio.Título?"WindLovingExplorer??+ ?Cuadro del navegador de hipertexto 1.Título

.¿Subrutina?_Cuadro de navegación de hipertexto 1_Texto de estado cambiado

Barra de estado 1. ¿Establecer texto? (Cuadro de navegador de hipertexto 1. Texto de estado)

.¿Subrutina? ¿Establecer navegador predeterminado?

¿Escribir registro de máquina? \",?¿Obtener el nombre del archivo ejecutable? ())

¿Escribir una entrada de registro?(#LocalMachine,?SOFTWARE\Clients\StartMenuInternet\MyBrowes.exe\ LocalizedString",? Tomar el nombre de el archivo ejecutable? ())

¿Escribir una entrada de registro? (#Máquina local,?SOFTWARE\Clients\StartMenuInternet\MyBrowes.exe\shell\open\command\",? ¿Tomar el directorio de ejecución? ¿Tomar el directorio de ejecución? ())

. ¿Subrutina? Doble clic_ Estado barra 1_, ? tipo lógico

. Parámetro ? posición horizontal, ? número entero

.

¿parámetro? Estado de la tecla de función, tipo entero

System_set_to_default_browser?(,?0)

¿Cuadro de mensaje? ("¡Navegador predeterminado!",? #Icono de información,?)

.¿Subrutina? System_Set_as_default_browser,? ,?

.

.¿Parámetros? Ruta absoluta al nombre del archivo, ? tipo de texto, ? puede estar vacío, ? puede estar vacío: si se deja vacío, establecerá el programa como la ruta predeterminada del navegador; Parámetros: tipo, entero, vacío, puede estar vacío: el valor predeterminado es 0, 0 = establece el programa especificado o este como el navegador predeterminado, 1 = establece IE como el navegador predeterminado

.

.if (la ruta absoluta del nombre de archivo está vacía) = ?True)

¿Escribir entrada de registro? (1,? "htmlfile\shell\",? "e")

¿Escribir entrada de registro?(1,? "htmlfile\shell\e\command\",? "e")

¿Escribir entrada de registro? ¿Obtener el directorio de ejecución? ()?+?"\"?+?¿Obtener el nombre del archivo ejecutable? ()?+?"?" ?+?"%1")

¿Escribir entrada de registro?(1,? "HTTP\shell\",? "e")

Escribir entrada de registro ?(1,?"HTTP\shelle\command\",?¿Obtener el directorio de ejecución?()?+?"\"?+?¿Obtener el nombre del archivo ejecutable?()?+?"?" ? +?"%1")

¿Escribir entrada de registro?(1,? "mand\",?¿Obtener el directorio de ejecución?()?+?"\"?+?Obtener el nombre del archivo ejecutable ? ()?+?"?" ?+?"%1")

¿Escribir entrada de registro?(1,? "InternetShortcut\shell\",? "e")

¿Escribir entrada de registro?(1,? "InternetShortcut\shell\e\command\",? "e")

¿Escribir entrada de registro? ()?+?"\"?+?¿Obtener el nombre del archivo ejecutable? ()?+?"?" ?+?"%1")

¿Escribir entrada de registro?(1,? "mhtmlfile\shell\",? "e")

¿Escribir entrada de registro?(1,? "mhtmlfile\shell\e\command\",? "e")

¿Escribir entrada de registro? ()?+?"\"?+?¿Obtener el nombre del archivo ejecutable? ()?+?"?" ?+?"%1")

De lo contrario

Escribir entrada de registro?(1,? "htmlfile\shell\",? "e ")

¿Escribir entrada de registro?(1,? "htmlfile\shell\e\command\",?nombre de archivo ruta absoluta? +? "?" ? +? "%1")

Escribir entrada de registro ?(1,? "HTTP\shell\",? "e")

Escribir entrada de registro ?(1,? "HTTP\shelle\command\",?absolute ¿ruta al nombre de archivo? +?

p>Escribir entrada de registro ?(1,? "mand\", ¿la ruta absoluta del nombre del archivo? +? "?" ? +? "%1")

Escribir entrada de registro ?(1, ? " InternetShortcut\shell\",? "e")

¿Escribir entrada de registro?(1,? "InternetShortcut\shell\e\command\",? "e")

¿Escribir entrada de registro? ¿Ruta absoluta del nombre del archivo? +?"?" ?+?"%1")

Escribir entrada de registro ?(1,? "mhtmlfile\shell\",? "e")

Escribir entrada de registro ?(1,? "mhtmlfile\shell\e\command\",? Nombre de archivo ruta absoluta?+?"?" ?+?"%1")

.If end

. De lo contrario

¿Escribir entrada de registro?(1,? "htmlfile\shell\",? "open")

¿Escribir entrada de registro?(1,? "HTTP\ shell \",? "open")

¿Escribir entrada de registro?(1,? "Shortcut\shell\",? "open")

¿Escribir entrada de registro?(1, ? "mhtmlfile\shell\",? "abrir")

.if fin

. ¿Subrutina? _search_box_press_a_key,?Tipo lógico

.¿Parámetros? Código clave, número entero

. ¿parámetro? Estado de la tecla de función, número entero

. si es cierto? (¿código clave? = ? #Enter)

_Baidu_Search_was_clicked? ()

El código proporcionado anteriormente implementa: navegar por páginas web, retroceder, avanzar, actualizar, saltar, mostrar el estado y cargar el progreso. , Búsqueda de Baidu y otras funciones, los comandos principales son los siguientes:

Cuadro de exploración de hipertexto. Jump () (puede saltar directamente a la página web especificada)

Cuadro de exploración de hipertexto. Ejecutar comando() (puede ejecutar el comando correspondiente)

Si tiene alguna pregunta, pregunte.