Escribir un navegador en un lenguaje sencillo
.Título de Constant Software, ""Simple Browser""
.Constant WM_SYSCOMMAND, "274"
.Constant SC_MAXIMIZE, "61488"
.Versión 2
.Soporta biblioteca WebBrowser
. Soporta biblioteca iext3
. Admite biblioteca iext
Ventana de programa programa 1
Variable de ensamblaje matriz WebBox, WebBrowser, "0"
Variable de ensamblaje marco web actual, WebBrowser<. /p>
. Subcarpeta actual de la variable de ensamblaje, número entero
. Subrutina __LaunchWindow_Created
_LaunchWindow.Title = #Título del software
_Startup Window.Enviar mensaje ( #WM_SYSCOMMAND, #SC_MAXIMIZE, 0) ' Maximizar ventana
Selección avanzada Clip 1. Eliminar subclip (0)
_Botón 1_Clicked ()
.Subrutina __El tamaño de la ventana de inicio cambió
.altura, tome el ancho del área de usuario (), barra de estado1.borde superior - Clip de selección avanzada1.Borde superior - Clip de selección avanzada1.Altura)
Botón1.Izquierda = FetchUserAreaWidth ( ) - Button1.Width - 8
EditBox1.Width = Button1.Left - EditBox1.Left - 5
Recuento del primer bucle (Obtener miembro de la matriz (matriz WebBox), i)<. /p>
Matriz WebBox[i]. Mover(WebBrowser1.left, WebBrowser1.top, WebBrowser1.width, WebBrowser1.height)
. El ciclo de conteo termina ()
.Subroutine_Button1_Clicked
.Si es verdadero (elimine el primer y último espacio en blanco (cuadro de edición 1.content) ≠ "")
Nueva página (borrar el primer y último espacio en blanco (cuadro de edición 1.contenido))
.Finalizar si es verdadero
.Nueva página de subrutina
.Parámetros URL, tipo de texto
. Índice de subcarpeta de variable local, número entero
. Variable local i, número entero
. ), i)
Matriz de marcos de página web [i]. Visual = false
.Count loop tail()
Copiar componente de ventana (WebBrowser1, WebBox actual)
Miembro de conexión (matriz de WebBox, WebBox actual) p> p>
El WebBox actual.
Mover(WebBrowser1.left, WebBrowser1.top, WebBrowser1.width, WebBrowser1.height)
WebBox actual. Visual = Verdadero
. if (Carpeta de selección avanzada1.tomar el nombre de la subcarpeta (0) = "" )
Subcarpeta actual = 0
Carpeta de selección avanzada1.colocar el nombre de la subcarpeta (0, "cargar.. ." )
De lo contrario
Subcarpeta actual = Carpeta de selección avanzada 1.Agregar subcarpeta ("cargar...", , )
Carpeta de selección avanzada 1.Actual. Subcarpeta = subcarpeta actual
.Si final
.Si es verdadero (Dirección web ≠ "")
Cuadro web actual Navegar (Dirección web, , , )
.End if true
.Subrutina_Carpeta de selección avanzada 1_Subcarpeta cambiada
.Variable local i, entero
Subcarpeta actual = Carpeta de selección avanzada 1.subcarpeta actual
Marco web actual = matriz de marcos web [subcarpeta actual 1]
Primero el bucle de conteo (obtener miembros de la matriz (matriz de marco web), i)
<. p> Matriz de marco web [i]. Visual = false.Count loop end ()
Cuadro actual.Visual = True
_Launch Window.Title = Cuadro de página actual.GetDocument ().Read Obtenga el atributo de texto ("título",)
Subroutine_Advanced_Select_Clip1_SubClip_Header_Right_Clicked
. Índice de subcarpeta de parámetros, número entero
. Si es verdadero (índice de subcarpeta = subcarpeta actual)
El marco de la página web actual. Destroy ()
Eliminar miembro (matriz WebBox, subcarpeta actual 1, 1)
. if (Avanzado Seleccionar clip 1.Número de subclips () > 1)
Avanzado Seleccionar clip 1. Eliminar subclip (subclip actual)
Clip de selección avanzada 1.Número de subclips () - 1
_Clip de selección avanzada 1_Subclips cambiados ()
. De lo contrario
Fragmento de selección avanzada 1. Establezca el nombre del subfragmento (0, "")
Nueva página ("about:blank")
Si finaliza.
.
Si es verdadero, final
.Subrutina _WebBrowser1_StatusTextChange, texto de estado cambiado
.Texto de parámetro, tipo de texto
. Variables locales EventComponent, WebBrowser
EventComponent = FetchEventComponent ()
.Si es verdadero (Event Component = WebBox actual)
StatusBar1.SetText (0, Texto)
.Finalizar si es verdadero
. Subrutina _WebBrowser1_TitleChange, El título ha cambiado
. Texto de parámetro, tipo de texto
. Componente de eventos de variables locales, WebBrowser
. Variable local i, entero
EventComponent = fetchEventComponent ()
.Si es verdadero (EventComponent = CurrentWebBox)
_StartWindow.Title = Texto " - " # Título del software
.Finalizar si es verdadero
.Cuenta el primer bucle (obtener miembros de la matriz (Web Box Array), i)
.Si es verdadero (Web Box Array [ i] = Componente de evento)
Carpeta de selección avanzada 1.Colocar nombre de carpeta (i - 1, Recuperar texto a la izquierda (Texto, 16))
Carpeta de selección avanzada 1.Indicador de colocación de carpeta Texto (i - 1, Texto)
.Finalizar si es verdadero
.Fin del ciclo de conteo ()
.Subroutine_WebBrowser1_NewWindow2, , , aparece una nueva ventana p>
.Parámetro ppDisp, objeto, ver
.Parámetro Cancelar, lógica, referencia
Nueva página ("")
ppDisp = Web actual marco de página. Subrutina _WebBrowser1_DownloadComplete, , , descarga completada
. Variables locales EventComponent, WebBrowser
EventComponent = FetchEventComponent ()
.Si es verdadero (Event Component = cuadro web actual)
EditBox1.Content = Event Component.LocationURL 'Dirección actual
. Si es verdadero final
. Subrutina _Toolbar1_Clicked
Índice del botón de parámetro, número entero
Comienza el juicio (índice del botón = 1)
Cuadro de página actual.GoBack () ' Regresar
.
Comienza el juicio (índice del botón = 2)
Cuadro de página actual.GoForward () ' Adelante
.GoForward () ' Adelante
.Judge (Índice del botón = 2) 3)
WebBox.Stop actual () ' Detener
.Refresh () ' Actualizar
. Juez (índice del botón = 4)
Cuadro actual. Predeterminado
Fin del juicio
. Subrutina _EditBox1_Press una tecla, lógica
Código de clave de parámetro, entero
. Estado de la tecla de función del parámetro, número entero
. Si es verdadero (código clave = #enter)
_Button1_clicked ()
. End if true
Para obtener soporte específico de la biblioteca, visite el foro oficial.