Recomendado: Programación avanzada ASP 3.0 (41) 9.2.3 El uso de procedimientos almacenados El uso de procedimientos almacenados es un área en la que se aplican los objetos de comando. Los procedimientos almacenados (a veces llamadas consultas de almacenamiento) son declaraciones de consulta SQL que están predefinidas en una base de datos. ¿Por qué deberían crear y utilizar los procedimientos almacenados en lugar de usarlos directamente en el código?
Este es un juego sobre codificación de palabras, escrito en ASP, VBScript y JavaScript.
No se encontraron problemas importantes bajo prueba bajo Win98 OEM2, PWS e IE5.
Cómo usar:
Método 1: Por ejemplo, el directorio de su servicio 3W es c:/inetpub/wwwwroot, cree un directorio a continuación, como WASDASB; Copie el archivo del juego (WASDASB.ASP) en el directorio; Escriba http: // El nombre de su máquina/Waskasb/Waskasb.asp o http://127.0.0.1/wastasb/wortwastasb.asp en la barra de direcciones de IE, y presione Entrar para iniciar el juego.
Método 2: Copie el archivo del juego (WASDASB.ASP) en un directorio recién creado. Haga clic con el botón derecho en el directorio, seleccione Propiedades en el menú, haga clic en la página de la propiedad de intercambio web, haga clic en el elemento compartir este elemento de la carpeta y haga clic en Aceptar. Escriba http: // El nombre de su máquina/nuevo nombre de directorio/Waskasb.asp o http://127.0.0.1/ en la barra de direcciones de IE. Ingrese y comience el juego.
Nota: El sistema operativo de su máquina debe ser un servidor NT o Win2000 u otro sistema operativo, pero PWS está instalado
Método del juego:
Haga clic en las instrucciones del juego en el juego para saber; Si la página a veces está en blanco, presione F5 para actualizarla (este es también el error más grande en la actualidad).
El código es el siguiente:
| El siguiente es el contenido citado: <%@ idioma = vBscript%> <% Opción explícita 'Última actualización por Recon el 16/03/2001 Dim m_ipartcnt Dim m_strprompt Dim m_astrsenpart (), m_astrfileName () Dim m_astrwords (), m_aiopstatus () '------------------------------------------ 'Descripción de variable constante 'm_ipartcnt: número de categorías de vocabulario. Entero 'm_strprompt: un mensaje después de que se completa la operación del archivo. Tipo de cadena 'M_ASTRSENPART: el nombre de la clasificación de vocabulario. Matriz de personajes 'm_astrfilename: graba los nombres de archivos de varios archivos de vocabulario. Matriz de personajes 'M_astrwords: grabe todo tipo de vocabulario. Matriz de personajes bidimensionales 'M_AIOPSTATUS: registra el estado después de operar en cada archivo. Matriz entera '------------------------------------------ 'Showmethod m_ipartcnt = 4 m_strprompt = Redim m_astrsenpart (m_ipartcnt) Redim m_astrfilename (m_ipartcnt) Redim m_astrwords (m_ipartcnt) Redim M_aioPstatus (M_IPARTCNT) 'Defina los nombres de varias categorías de vocabulario m_astrsenpart (0) = sujeto m_astrsenpart (1) = grado adverbial m_astrsenpart (2) = adverbial place M_ASTRSENPART (3) = predicado 'Defina los nombres de varios documentos de vocabulario m_astrfilename (0) = quién.txt m_astrfileName (1) = How.txt m_astrfilename (2) = where.txt m_astrfilename (3) = what.txt If request.serverVariables (request_method) = post entonces 'Si el método de solicitud de la página es publicación '**************************** 'Obtener información del cliente '**************************** Dim M_isenPart Dim m_stropway Dim m_brpteddata '------------------------------------------ 'Descripción de variable constante 'm_isenpart: números que representan la clasificación de vocabulario. Entero 'La clasificación de vocabulario proviene de la matriz m_astrsenpart 'Los valores posibles son: '0: sujeto '1: Grado adverbial '2: lugar adverbial '3: predicado 'm_stropway: método de operación de archivo. Tipo de cadena 'Los valores posibles son: '1. Guardar: guarde un cierto tipo de vocabulario en un archivo '2. Saveall: guarde todas las categorías de vocabulario en un archivo '3. Cargar: cargue un cierto tipo de vocabulario desde el archivo '4. LoadAll: Cargue todas las categorías de vocabulario desde el archivo 'm_brptedData: indica si los datos del formulario enviados esta vez son los mismos que la última vez. Tipo booleano 'Los valores posibles son: '1. Falso: los datos del formulario no están duplicados '2. Verdadero: los datos del formulario se repiten (es decir, el formulario se envía repetidamente) '------------------------------------------ 'Showform 'Cómo obtener solicitudes de usuario m_stropway = request.form (txtopway) 'Show (m_stropway) 'Obtener palabras en varias categorías Para m_icount = 0 a (m_ipartcnt - 1) If request.form (txtwords & m_icount) <> entonces m_astrwords (m_icount) = split (request.form (txtwords & m_iCount) ,,) Final si 'Response.write Ubound (m_astrwords (m_icount)) y <br> Próximo 'Detección de la presentación repetida de formularios 'If session (forminf) = request.form entonces '' El formulario es una sumisión repetida 'm_brpteddata = verdadero 'Demás '' El formulario es una sumisión no repetida 'Session (FormInf) = request.form 'm_brpteddata = falso 'Finalizar si 'Show (M_BrptedData) '**************************** 'Operar el archivo Word '**************************** 'Si m_brpTedData = false entonces Dim m_icount, m_ierrcnt Dim m_strfilepath '------------------------------------------ 'Descripción de variable constante 'M_icount: contador. Entero 'm_ierrcnt: el número de veces que falló la operación. Entero 'm_strfilepath: grabe la ruta de varios archivos de vocabulario. Tipo de cadena '------------------------------------------ 'Obtenga el camino para colocar el archivo de vocabulario m_strfilepath = request.ServerVariables (Path_translated) m_strfilepath = izquierda (m_strfilepath, instrrev (m_strfilepath, /)) 'm_strfilepath = m_strfilepath & words/ 'Show (m_strfilepath) 'Inicie la operación del archivo 'Response.Write Comience a operar archivos de Word <br> Seleccione el caso M_STROPWAY Caso Guardar 'Guardar palabras para archivar m_isenpart = cint (request.form (txtsenpart)) M_AIOPSTATUS (M_ISENPART) = SaveFile (M_ISENPART) 'Según el estado de la operación, obtenga la información rápida Seleccione el caso M_AIOPSTATUS (M_ISENPART) Caso 0 m_strprompt = [& m_astrsenpart (m_isenpart) y] Algunas palabras se han guardado correctamente en el archivo Caso 1 m_strprompt = [& m_astrsenpart (m_isenpart) &] Guardar algunos archivos falló Final seleccionar Caso Savealll 'Guarde todas las categorías de palabras en el archivo m_ierrcnt = 0 Para m_icount = 0 a (m_ipartcnt - 1) M_AIOPSTATUS (M_ICOUNT) = SaveFile (M_iCount) Si m_aiopstatus (m_icount) = 1 entonces m_ierrcnt = m_ierrcnt 1 Final si Próximo 'Según el estado de la operación, obtenga la información rápida Seleccionar el caso m_ierrcnt Caso 0 m_strprompt = Todas las categorías de palabras se han guardado con éxito en el archivo Caso m_ipartcnt m_strprompt = los archivos de Word en todas las categorías no lograron guardar Caso m_strprompt = dónde, Para m_icount = 0 a (m_ipartcnt - 1) Si m_aiopstatus (m_icount) = 1 entonces m_strprompt = m_strprompt & [& m_astrsenpart (m_iCount) &], Final si Próximo m_strprompt = left (m_strprompt, len (m_strprompt) - 1) m_strprompt = m_strprompt y algunos archivos no pudieron guardar Final seleccionar Carga de estuches 'Cargar palabras desde el archivo m_isenpart = cint (request.form (txtsenpart)) M_AIOPSTATUS (M_ISENPART) = LoadFile (M_ISENPART) 'Según el estado de la operación, obtenga la información rápida Seleccione el caso M_AIOPSTATUS (M_ISENPART) Caso 0 m_strprompt = [& m_astrsenpart (m_isenpart) y] Algunas palabras se han cargado correctamente Caso 1 m_strprompt = [& m_astrsenpart (m_isenpart) y] Algunos archivos no existen y la carga falla Final seleccionar Casos loadall 'Cargar palabras de cada archivo m_ierrcnt = 0 Para m_icount = 0 a (m_ipartcnt - 1) M_AIOPSTATUS (M_ICOUNT) = LoadFile (M_iCount) Si m_aiopstatus (m_icount) = 1 entonces m_ierrcnt = m_ierrcnt 1 Final si Próximo 'Según el estado de la operación, obtenga la información rápida Seleccionar el caso m_ierrcnt Caso 0 m_strprompt = Todas las categorías de palabras se han cargado correctamente Caso m_ipartcnt m_strprompt = Los archivos de Word en todas las categorías no existen, la carga falla por completo Caso m_strprompt = dónde, Para m_icount = 0 a (m_ipartcnt - 1) Si m_aiopstatus (m_icount) = 1 entonces m_strprompt = m_strprompt & [& m_astrsenpart (m_iCount) &], Final si Próximo m_strprompt = left (m_strprompt, len (m_strprompt) - 1) m_strprompt = m_strprompt y algunos archivos no existen, algunos fallan en la carga Final seleccionar Final seleccionar 'Finalizar si Final si 'Response.Write End para operar archivos de Word <br> 'Response.Write Comience a escribir la página del cliente <br> %> < html > < Cabeza > < Título > Juego de combinación de palabras </Título > < meta name = generador content = editplus > < meta name = autor content => < meta name = Keywords content => < meta nombre = descripción contenido => <!-Table de estilo-> < Estilo> <!- /*Fuente inglesa 1*/ .Fonteng1 { Font-Family: Times New Roman; estilo fuente :; } /*Fuente inglesa 2*/ .Fonteng2 { Font-Family: Times New Roman; estilo de fuente: cursiva; } /*Adherirse a la fuente*/ .fontemper { Color: rojo; } /*Enlace*/ .enlace { Font-Family: Times New Roman; estilo de fuente: cursiva; Decoración de texto: ninguna; } /* Lista de palabras mostradas*/ .listshown { Posición: Absoluto; Ancho: 140px; Altura: 200px; Pantalla: en línea; Border: LightCoral 1px Solid; Color de fondo: Gainsboro; } /*Lista de palabras ocultas*/ .listhidden { Posición: Absoluto; Ancho: 140px; Altura: 200px; Pantalla: ninguno; Border: LightCoral 1px Solid; Color de fondo: Gainsboro; } /*Lista de palabras fijas*/ .listfixed { Posición: Absoluto; Ancho: 140px; Altura: 200px; Pantalla: en línea; borde: rojo 1px sólido; Color de fondo: Gainsboro; } /*Mostró la lista de ayuda*/ .Helpshown { Posición: Absoluto; ancho: ; altura: ; Pantalla: bloque; Border: LightCoral 1px Solid; Color de fondo: Gainsboro; } /*Lista de ayuda oculta*/ . { Posición: Absoluto; ancho: ; altura: ; Pantalla: ninguno; Border: LightCoral 1px Solid; Color de fondo: Gainsboro; } /*Lista de ayuda fijada*/ .Helpfixed { Posición: Absoluto; ancho: ; altura: ; Pantalla: bloque; borde: rojo 1px sólido; Color de fondo: Gainsboro; } /*Etiquetas resaltadas*/ .lblmover { Decoración de texto: ninguna; Color: LightCoral; Color de fondo :; } /*Etiqueta de visualización normal*/ .lblmout { Decoración de texto: ninguna; color: ; Color de fondo :; } /*Etiqueta haciendo clic*/ .lblclicked { Decoración de texto: subrayado; Color: rojo; Color de fondo :; } /* Botón resaltado*/ .btnlighted { Ancho: 105px; Color: azul; Color de fondo :; } /*Botón de visualización ordinario*/ .btndelectado { Ancho: 105px; color: ; Color de fondo :; } /* Elemento de lista de palabras resaltado*/ .optleded { Decoración de texto: subrayado; Color: azul; Color de fondo :; cursor: mano; } /*Elemento de lista de palabras que se muestra en normal*/ .optdelectado { Decoración de texto: ninguna; color: ; Color de fondo :; cursor :; } -> </estilo> <!-Script del cliente-> < Language de script = JavaScript> <!- // Funciones públicas y de prueba del cliente // ****************************************** // Nombre de la función: Ltrim // Función: retire el espacio en el lado izquierdo de la cadena // entrada: 1. Strtemp: la cadena para ser regular. Tipo de cadena // Salida: cadena regular. Tipo de cadena // ****************************************** función ltrim (strtemp) { var icount, ilength; // ------------------------------------------ // Descripción de variable constante // icount: contador. Entero // ilength: la longitud de la cadena. Entero // ------------------------------------------ ilength = strtemp.length; para (icount = 0; icount < ilength; icount) if (strtemp.charat (icount)! =) return strtemp.substring (icount, ilength); devolver ; } // ****************************************** // Nombre de la función: Rtrim // Función: retire el espacio en el lado derecho de la cadena // entrada: 1. Strtemp: la cadena para ser regular. Tipo de cadena // Salida: cadena regular. Tipo de cadena // ****************************************** función rtrim (strtemp) { var icount, ilength; // ------------------------------------------ // Descripción de variable constante // icount: contador. Entero // ilength: la longitud de la cadena. Entero // ------------------------------------------ ilength = strtemp.length; para (icount = ilength -1; icount> = 0; icount -) if (strtemp.charat (icount)! =) return strtemp.substring (0, icount 1); devolver ; } // ****************************************** // Nombre de la función: TRIM // Función: retire los espacios en ambos lados de la cadena // entrada: 1. Strtemp: la cadena para ser regular. Tipo de cadena // Salida: cadena regular. Tipo de cadena // ****************************************** TRIM de funciones (strtemp) { return rtrim (ltrim (strtemp)); } // convertir números de 2 dígitos en una cadena de 2 dígitos // ****************************************** // Nombre de la función: get2bnumstr // Función: convierta los números de 2 bits en una cadena de números de 2 bits // Entrada: 1. Ingreso: el número a convertir. Entero // Salida: la cadena numérica convertida. Entero // ****************************************** función get2bnumstr (inunder) { var str2bnum; // ------------------------------------------ // Descripción de variable constante // str2bnum: cadena numérica. Tipo de cadena // ------------------------------------------ if (parseInt (inunder) < 10) str2bnum = 0 inundador; demás str2bnum = inunder; regresar str2bnum; } // ****************************************** // Nombre de la función func: asignarfunc // Función: especifique la función de manejo de eventos del elemento // Entrada: 1. Ele: El elemento de la función de manejo de eventos a especificar. Tipo de objeto // 2. FUNC: función de manejo de eventos. Funcional // 3. Evento: Tipo de evento. Tipo de cadena // Salida: ninguno // ****************************************** Función Asignación de asignación (ELE, FUNC, Evento) { var icount, ielecount; var strevent; // ------------------------------------------ // Descripción de variable constante // icount: contador. Entero // ielecount: el número de elementos en la colección de elementos con el mismo nombre. Entero // STREVENT: Tipo de evento. Tipo de cadena // ------------------------------------------ if (event == null) strevent = onClick; demás strevent = evento; ielecount = ele.length; if (ieleCount == Undefined) eval (ele. strevent = func); demás para (icount = 0; icount < ielecount; icount) eval (ele [icount]. strevent = func); } // ****************************************** // Nombre de la función: getEleindex // Función: obtenga el índice del elemento donde ocurrió el evento en la colección del mismo nombre // Entrada: 1. ELESRC: El elemento donde ocurrió el evento. Tipo de objeto // Salida: índice del elemento donde ocurrió el evento en la recopilación del mismo nombre // ****************************************** función getEleindex (ELESRC) { var colsrc; var icount, ielecount; // ------------------------------------------ // Descripción de variable constante // Colsrc: colección de elementos del mismo nombre. Matriz de objeto // icount: contador. Entero // ielecount: el número de elementos en la colección de elementos con el mismo nombre. Entero // ------------------------------------------ colsrc = eval (elesrc.id); ielecount = colsrc.length; para (icount = 0; icount < ielecount; icount) { if (colsrc [icount] == Elesrc) devolver icount; } regreso -1; } // Mostrar el valor de la variable constante (para la depuración) //! Prepárese para eliminar FUNCIÓN SHOW (STRDEF1, STRDEF2, STRDEF3, STRDEF4) { var icount, IDEFCNT; var strshow, strtemp; IDEFCNT = 4; strshow = [valor variable constante]; para (icount = 1; icount < = IDEFCNT; icount) { strtemp = eval (strdef icount); if (strtemp! = undefined && strtemp! = null) strshow = /n strtemp: eval (strtemp); } alerta (strshow); } // ****************************************** // Nombre de la función: showArray // Función: Mostrar elementos de matriz unidimensional (para la depuración) // Entrada: 1. Array: la matriz unidimensional que se mostrará. Formación // Salida: ninguno // ****************************************** función showArray (matriz) { var icount, ielecount; var strshow; // ------------------------------------------ // Descripción de variable constante // icount: contador. Entero // ielecount: el número de elementos de matriz. Entero // strshow: una cadena compuesta de valores de elementos de matriz. Tipo de cadena // ------------------------------------------ ielecount = array.length; strshow = longitud de matriz: ielecount; strshow = /n ----------------------------------- /N; para (icount = 0; icount < ielecount; icount) { if (typeof (array [icount]) == objeto) strshow = array [icount] .id; demás strshow = array [icount]; } alerta (strshow); } // ****************************************** // Nombre de la función: show2Darray // Función: Mostrar elementos de una matriz bidimensional (para depuración) // Entrada: 1. Array: la matriz bidimensional que se mostrará. Formación // Salida: ninguno // ****************************************** función show2Darray (matriz) { var ix, iy, ilen1, ilen2; var strshow; // ------------------------------------------ // Descripción de variable constante // ix: contador. Entero // iy: contador. Entero // ilen1: el número de matriz unidimensional. Entero // ilen2: el número de matrices bidimensionales. Entero // strshow: una cadena compuesta de valores de elementos de matriz. Tipo de cadena // ------------------------------------------ ilen1 = array.length; strshow = matriz 1d longitud: ilen1; strshow = /n ----------------------------------; para (ix = 0; ix < ilen1; ix) { strshow = /n; ilen2 = array [ix] .length; para (iy = 0; iy < ilen2; iy) strshow = array [ix] [iy]; } alerta (strshow); } //-> </script> < Language de script = JavaScript> <!- // ----------------------------------------------------------------------------------------------- // window_onload // // getWord //reiniciar //ahorrar //carga // // Showlist // Hidelista // Lista de fijación // valuelista // // showhelp // HideHelp // FixHelp // // Resetall // savealll // Loadall //armar // // lightbtn // Delightbtn // Lightopt // Deltopt // // Makeopt // RemovePt // ----------------------------------------------------------- var m_ipartcnt; var m_astrsenpart, m_astrwords; var m_strprompt; var m_ilistfixed, m_ihelpfixed; // ------------------------------------------ // Descripción de variable constante // m_ipartcnt: número de categorías de vocabulario. Entero // m_astrsenpart: el nombre de la clasificación de vocabulario. Matriz de personajes // m_astrwords: grabe varios vocabulario. Matriz de personajes bidimensionales // m_strprompt: mensaje de inmediato después de que se complete la operación del archivo. Tipo de cadena // m_ilistfixed: el número que representa la lista de palabras fijo. Entero // -1 significa que no se soluciona la lista de palabras // m_ihelpfixed: el número que representa el estado fijo de la lista de ayuda. Entero // -1 significa que la lista de ayuda no está fija // ------------------------------------------ Window.Onload = window_onload; // ----------------------------------------------------------- // Inicializar la página Función Window_onload () { var icount, ielecnt; var Colbutton; var strhelp; // ------------------------------------------ // Descripción de variable constante // icount: contador. Entero // ielecnt: el número de elementos en la colección. Entero // Colbutton: colección de elementos de botones. Matriz de objeto // STHELP: Ayuda de contenido del archivo. Tipo de cadena // ------------------------------------------ m_ipartcnt = <%= m_ipartcnt%>; m_strprompt = <%= m_strprompt%>; m_ilistfixed = -1; m_ihelpfixed = -1; m_astrsenpart = new Array (); m_astrwords = new Array (); // alerta (m_ipartcnt: m_ipartcnt /nm_strprompt: m_strprompt); // Obtener el nombre de la clasificación de vocabulario y el vocabulario de diversos que se han cargado <%para m_icount = 0 a (m_ipartcnt - 1)%> // Obtener todo tipo de vocabulario cargado <%if isEtimty (m_astrwords (m_iCount)) = true entonces%> m_astrwords [<%= m_iCount%>] = new Array (); <%else%> m_astrwords [<%= m_iCount%>] = <%= unión (m_astrwords (m_iCount) ,,)%>. Split (,); <%final si%> // Obtener el nombre de la clasificación de vocabulario m_astrsenpart [<%= m_icount%>] = <%= m_astrsenpart (m_iCount)%>; <%Next%> // show2Darray (m_astrwords); // showArray (m_astrsenpart); // Escribe todo tipo de vocabulario cargado en la página para (icount = 0; icount < m_ipartcnt; icount) Valuelista (m_astrwords [icount], icount); // Cargue el archivo de ayuda // strhelp = tblhelp.outerhtml; // strhelp = divhelp1.innerhtml; //tblhelp.outerhtml =; //divhelp.innerhtml = strhelp; //tblhelp.style.display =; //divhelp.style.display = none; //divhelp.style.left = divhelp1.style.left; // alerta (izquierda: divhelp.style.left /nleft: divhelp1.style.left); // alerta (Pixelleft: divhelp.style.pixelleft /npixelleft: divhelp1.style.pixelleft); // alerta (posleft: divhelp.style.posleft /nposleft: divhelp1.style.posleft); // alerta (offsetleft: divhelp.offsetleft /noffsetleft: divhelp1.offsetleft); // alerta (clientLeft: divhelp.clientleft /nclientleft: divhelp1.clientleft); // especificar la función de manejo de eventos del elemento de página asignarfunc (txtword, getWord, onKeyPress); asignarfunc (btngetword, getWord); asignarfunc (btnreset, restablecer); asignarfunc (btnsave, save); asignarfunc (btnload, load); cesionFunc (lblwordList, showList, onMouseOver); cesionFunc (lblwordList, Hidelist, OnMouseOut); asigneFunc (lblwordList, fixList); cesionFunc (lblhelp, showhelp, on mouseover); asignefunc (lblhelp, hideHelp, on mouseOut); asigneFunc (lblhelp, fixHelp); cesionFunc (btnresetall, resetall); cesionFunc (btnsavealll, saveall); cesionFunc (btnloadall, loadAll); asignarfunc (btnasb, ensamblar); colbutton = document.all.tags (botón); ielecnt = colbutton.length; // showArray (Colbutton); // alerta (ielecnt: ielecnt); para (icount = 0; icount < ielecnt; icount) { cesionFunc (colbutton [icount], lightbtn, on mouseover); cesionFunc (colbutton [icount], deleittbtn, onmouseOut); } // Establecer el estado inicial de la página if (m_strprompt! =) alerta (m_strprompt); txtword [0] .focus (); } // ----------------------------------------------------------- // Obtener la palabra ingresada por el usuario function getWord () { // Solo cuando presione ENTER o en el cuadro de entrada de Word // Continúa haciéndolo al presionar el botón Guardar if (window.event.type! = keyPress && window.event.type! = hacer clic) devolver; demás if (window.event.type == keyPress && window.event.keycode! = 13) return; var elesrc; var iindex, inxtwrdidx; var strword; // ------------------------------------------ // Descripción de variable constante // Elesrc: el elemento donde ocurrió el evento // iindex: número que representa la clasificación de vocabulario. Entero // inxtwrdidx: el índice de nuevas palabras en la matriz de palabras. Entero // strword: la palabra ingresada por el usuario. Tipo de cadena // ------------------------------------------ elesrc = window.event.srcelement; iindex = getEleindex (elesrc); // Obtener índice strword = trim (txtword [iindex] .value); // Obtener la palabra ingresada por el usuario // detectar si la palabra ingresada es legal // Si es una palabra ilegal, salga if (strword ==) { // Si la palabra ingresada está vacía o una cadena de espacio alerta (las palabras no pueden estar vacías o cadena de espacio); txtword [iindex] .select (); devolver; } if (strword.indexof (,)! = -1 || strword.indexof ()! = -1) { // Si la palabra ingresada contiene comas o espacios alerta (las palabras no pueden contener comas o espacios); txtword [iindex] .select (); devolver; } // Guardar palabras en la matriz de vocabulario inxtwrdidx = m_astrwords [iindex] .length; m_astrwords [iindex] [inxtwrdidx] = strword; // showArray (m_astrwords [iindex]); // Escribir palabras a la página valuelista (m_astrwords [iindex], iindex); txtword [iindex] .value =; txtword [iindex] .focus (); } // ----------------------------------------------------------- // Eliminar todas las palabras en la categoría actual de la memoria RESET DE FUNCIÓN () { var elesrc; var iindex, icount; var strprompt; // ------------------------------------------ // Descripción de variable constante // Elesrc: el elemento donde ocurrió el evento // iindex: número que representa la clasificación de vocabulario. Entero // icount: contador. Entero // strprompt: aviso de operación. Tipo de cadena // ------------------------------------------ elesrc = window.event.srcelement; iindex = getEleindex (elesrc); strprompt = ¿Estás seguro de que quieres borrar todas las palabras en la parte [m_astrsenpart [iindex]] de la memoria? ; if (window.confirm (strprompt) == false) return; m_astrwords [iindex] = new Array (); valuelista (m_astrwords [iindex], iindex); // showArray (m_astrwords [iindex]); strprompt = Word Cleared; alerta (strprompt); txtword [iindex] .select (); } // ----------------------------------------------------------- // Guardar el vocabulario actual de la categoría seleccionada en el archivo function save () { var elesrc; var iindex, icount; // ------------------------------------------ // Descripción de variable constante // Elesrc: el elemento donde ocurrió el evento // iindex: número que representa la clasificación de vocabulario. Entero // icount: contador. Entero // ------------------------------------------ elesrc = window.event.srcelement; iindex = getEleindex (elesrc); if (m_astrwords [iindex] .length == 0) { // Si el número actual de palabras en la categoría seleccionada es cero var strprompt; strprompt = [m_astrsenpart [iindex]] La sección ahora no tiene una palabra opcional, ¿está seguro de que desea guardarla? ; strprompt = /n (esto generará un nuevo archivo vacío); if (window.confirm (strprompt) == false) return; } // Guardar todas las palabras en la memoria actual para (icount = 0; icount < m_ipartcnt; icount) eval (frmwords.txtwords icount) .value = m_astrwords [icount] .join (,); frmwords.txtsenpart.value = iindex; frmwords.txtopway.value = save; frmwords.submit (); } // ----------------------------------------------------------- // Leer registros de palabras de la categoría seleccionada del archivo función de la función () { var elesrc; var iindex, icount; // ------------------------------------------ // Descripción de variable constante // Elesrc: el elemento donde ocurrió el evento // iindex: número que representa la clasificación de vocabulario. Entero // icount: contador. Entero // ------------------------------------------ elesrc = window.event.srcelement; iindex = getEleindex (elesrc); // Guardar todas las palabras en la memoria actual para (icount = 0; icount < m_ipartcnt; icount) eval (frmwords.txtwords icount) .value = m_astrwords [icount] .Join (,) frmwords.txtsenpart.value = iindex; frmwords.txtopway.value = load; frmwords.submit (); } // ----------------------------------------------------------- // Mostrar lista de vocabulario Función ShowList (iindex) { // Si el parámetro iindex no se da // consigue iindex if (iindex == Undefined) { // Si la lista de palabras ya está solucionada, salga de la función if (m_ilistfixed! = -1) return; var elesrc; var iindex; // ------------------------------------------ // Descripción de variable constante // Elesrc: el elemento donde ocurrió el evento // iindex: número que representa la clasificación de vocabulario. Entero // ------------------------------------------ elesrc = window.event.srcelement; iindex = getEleindex (elesrc); } // alerta (iindex: iindex); // Mostrar lista de vocabulario //lblwordList[iindexfont>.inntext = [lblwordList [iindex] .inntext]; //lblwordList[iindexfont>.inntext = lblwordList [iindex] .inntext >; lblwordList [iindex] .className = lblMover; DivwordList [iindex] .classname = listshown; } // ----------------------------------------------------------- // Ocultar la lista de vocabulario función Hidelist (iindex) { // Si el parámetro iindex no se da // consigue iindex if (iindex == Undefined) { // Si la lista de palabras ya está solucionada, salga de la función if (m_ilistfixed! = -1) return; var elesrc; var iindex; // ------------------------------------------ // Descripción de variable constante // Elesrc: el elemento donde ocurrió el evento // iindex: número que representa la clasificación de vocabulario. Entero // ------------------------------------------ elesrc = window.event.srcelement; iindex = getEleindex (elesrc); } // alerta (iindex: iindex); // Ocultar la lista de vocabulario //lblwordList[iindexfont>.inntext = lblwordList [iindex] .inntext.slice (0, -1); lblwordList [iindex] .classname = lblmout; DivwordList [iindex] .className = listhidden; } // ----------------------------------------------------------- // lista de vocabulario fijo función fixlist () { var elesrc; var iindex; // ------------------------------------------ // Descripción de variable constante // Elesrc: el elemento donde ocurrió el evento // iindex: número que representa la clasificación de vocabulario. Entero // ------------------------------------------ elesrc = window.event.srcelement; iindex = getEleindex (elesrc); Switch (m_ilistfixed) { Caso -1: // Si aún no hay una lista de palabras // arregla la lista actual m_ilistfixed = iindex; lblwordList [iindex] .ClassName = lblClicked; DivwordList [iindex] .className = listFixed; romper; Caso iindex: // Si la lista de palabras fijas es la lista actual // Resolver la lista actual m_ilistfixed = -1; lblwordList [iindex] .className = lblMover; DivwordList [iindex] .classname = listshown; romper; por defecto: // Si la lista de palabras fijas no es la lista actual // La lista de soluciones fijas Hidelist (m_ilistfixed); m_ilistfixed = -1; lblwordList [iindex] .className = lblMover; showlist (iindex); romper; } // alerta (m_ilistfixed: m_ilistfixed /niindex: iindex); } // ----------------------------------------------------------- // Escribe palabras cargadas en un cierto tipo de vocabulario Función Valuelista (Awords, IsenPart) { var icount, iwrdcnt; var strlistpPt; // ------------------------------------------ // Descripción de variable constante // icount: contador. Entero // iwrdcnt: el número de palabras de cierto tipo de vocabulario. Entero // strlistpPT: solicitado en la lista de palabras. Tipo de cadena // ------------------------------------------ // Preparación de datos iwrdcnt = awords.length; lblwordCount [isenPart] .inntext = iwrdcnt; strlistpPT = < div >< span style = 'color: rojo; estilo de fuente: cursiva; Font-size: 10.5pt; '>; strlistPPT = Haga doble clic en la palabra para eliminarla </span> </div>; // Escribir palabras en la lista if (iwrdcnt! = 0) { DivwordList [isenPart] .innerhtml = strlistppt; para (icount = 0; icount < iwrdcnt; icount) DivwordList [isenPart] .innerhtml = makeopt (awords [icount], icount); } demás DivwordList [isenPart] .innerhtml = strlistppt; } // ----------------------------------------------------------- // Mostrar la lista de ayuda función showHelp () { // Si se ha solucionado la lista de ayuda, salga de la función if (m_ihelpfixed == 0) return; // mostrar ayuda lblhelp.classname = lblMover; divhelp.classname = ayuda; } // ----------------------------------------------------------- // Ocultar la lista de ayuda función hideHelp () { // Si se ha solucionado la lista de ayuda, salga de la función if (m_ihelpfixed == 0) return; // Ocultar ayuda lblhelp.classname = lblmout; divhelp.classname = Helphidden; } // ----------------------------------------------------------- // Lista de ayuda fija función fixHelp () { if (m_ihelpfixed == -1) { // Si la lista de ayuda no se ha solucionado // Arreglarlo m_ihelpfixed = 0; lblhelp.ClassName = lblClicked; divhelp.classname = ayudafixed; } demás { // Si se ha solucionado la lista de ayuda // resuélvalo m_ihelpfixed = -1; lblhelp.classname = lblMover; divhelp.classname = ayuda; } } // ----------------------------------------------------------- // restablecer la página al estado inicial función resetall () { var icount; // ------------------------------------------ // Descripción de variable constante // icount: contador. Entero // ------------------------------------------ para (icount = 0; icount < m_ipartcnt; icount) { txtword [icount] .value =; m_astrwords [icount] = new Array (); // vaciar la matriz de palabras Valuelista (m_astrwords [icount], icount); } txtsentence.value =; txtword [0] .focus (); } // ----------------------------------------------------------- // Guardar todas las categorías de palabras en el archivo función saveall () { var icount, iemptycnt; var strprompt; // ------------------------------------------ // Descripción de variable constante // icount: contador. Entero // Iemptycnt: el número de categorías con 0 palabras. Entero // strprompt: aviso de operación. Tipo de cadena // ------------------------------------------ iemptycnt = 0; para (icount = 0; icount < m_ipartcnt; icount) { // Guardar todas las palabras en la memoria actual eval (frmwords.txtwords icount) .value = m_astrwords [icount] .join (,); if (m_astrwords [icount] .length == 0) iemptycnt; } // alerta (Iemptycnt: Iemptycnt); if (iemptycnt > 0) { Switch (Iemptycnt) { Caso M_IPARTCNT: strprompt = El número de palabras de vocabulario en todas las categorías es 0, y la operación producirá archivos vacíos m_ipartcnt; strprompt = /n ¿Estás seguro de que quieres hacer esto? ; romper; por defecto: strprompt = Where,; para (icount = 0; icount < m_ipartcnt; icount) if (m_astrwords [icount] .length == 0) strprompt = [m_astrsenpart [icount]],; strprompt = strprompt.slice (0, -1); strprompt = el número de algunas palabras es 0; strprompt = /n La operación generará archivos vacíos de Iemptycnt; strprompt =, ¿estás seguro de que quieres hacer esto? ; } if (window.confirm (strprompt) == false) return; } frmwords.txtopway.value = saveall; frmwords.submit (); } // ----------------------------------------------------------- // Cargue todas las categorías de palabras del archivo función loadAll () { var icount; // ------------------------------------------ // Descripción de variable constante // icount: contador. Entero // ------------------------------------------ // Guardar todas las palabras en la memoria actual para (icount = 0; icount < m_ipartcnt; icount) eval (frmwords.txtwords icount) .value = m_astrwords [icount] .Join (,) frmwords.txtopway.value = loadall; frmwords.submit (); } // ----------------------------------------------------------- // Por favor, coincidencia de vocabulario y obtenga una oración función ensamble () { var icount, iwrdcnt, irndindex; var strsentence; // ------------------------------------------ // Descripción de variable constante // icount: contador. Entero // iwrdcnt: el número de palabras de cierto tipo de vocabulario. Entero // irndindex: índice de palabras generado aleatoriamente. Entero // Strsentence: una oración compuesta por palabras aleatorias en cada categoría de vocabulario. Tipo de cadena // ------------------------------------------ strsentence =; para (icount = 0; icount < m_ipartcnt; icount) { // Si el número actual de vocabulario en la categoría es 0 // dar un aviso y abortar la colocación iwrdcnt = m_astrwords [icount] .length; if (iwrdcnt == 0) { var strprompt; // ------------------------------------------ // Descripción de variable constante // strprompt: aviso de operación. Tipo de cadena // ------------------------------------------ strprompt = [m_astrsenpart [icount]] La parte no tiene una palabra opcional; strprompt = /nlease ingrese al menos una palabra; alerta (strprompt); txtWord[iCount].select(); devolver; } //随机抽取当前类别词汇中的一个单词 //加入到句子中 iRndIndex = Math.floor(Math.random()*iWrdCnt); strSentence = m_astrWords[iCount][iRndIndex]; //alert(iWrdCnt: iWrdCnt /niRndIndex: iRndIndex); } strSentence = . ; txtSentence.value = strSentence; } //使鼠标移到之处的按钮 //产生点亮的效果 function lightBtn() { var eleSrc; //------------------------------------------ //常变量说明 //eleSrc :发生事件的元素 //------------------------------------------ eleSrc = window.event.srcElement; while (eleSrc.tagName.toUpperCase() != BUTTON) eleSrc = eleSrc.parentElement; eleSrc.className = btnLighted; } //使鼠标离开的按钮 //还原为初始状态 function delightBtn() { var eleSrc; //------------------------------------------ //常变量说明 //eleSrc :发生事件的元素 //------------------------------------------ eleSrc = window.event.srcElement; while (eleSrc.tagName.toUpperCase() != BUTTON) eleSrc = eleSrc.parentElement; eleSrc.className = btnDelighted; } //在列表中,使鼠标移到之处的单词 //产生点亮的效果 function lightOpt(ele) { var eleSrc; //------------------------------------------ //常变量说明 //eleSrc :发生事件的元素 //------------------------------------------ eleSrc = ele; eleSrc.className = optLighted; } //在列表中,使鼠标离开的单词 //还原为初始状态 function delightOpt(ele) { var eleSrc; //------------------------------------------ //常变量说明 //eleSrc :发生事件的元素 //------------------------------------------ eleSrc = ele; eleSrc.className = optDelighted; } //得到定义过的将加入列表的单词 function makeOpt(strWord, iWrdIdx) { var strOptHead, strOptFoot; var strOptWord; //------------------------------------------ //常变量说明 //strOptHead :重定义单词头。字符串型 //strOptFoot :重定义单词尾。字符串型 //strOptWord :重定义单词。字符串型 //------------------------------------------ strOptHead = <div class='optDelighted' onmouseover='lightOpt(this);' onmouseout='delightOpt(this);' ondblclick='removeOpt(this);' wrdIdx=' iWrdIdx '>; strOptFoot = </div>; strOptWord = strOptHead strWord strOptFoot; //alert(strOptWord); return strOptWord; } //删除列表中的单词 function removeOpt(ele) { var eleSrc; var iIndex, iWrdIdx; var astrWords, astrHead, astrFoot; //------------------------------------------ //常变量说明 //eleSrc :发生事件的元素 //iIndex: Number representing vocabulary classification. Entero //iWrdIdx: The index of words in word array. Entero //astrWords :某类词汇单词数组。字符串型数组 //astrHead :某类词汇单词数组头部分。字符串型数组 //astrFoot :某类词汇单词数组尾部分。字符串型数组 //------------------------------------------ eleSrc = ele; iIndex = getEleIndex(eleSrc.parentElement); iWrdIdx = parseInt(eleSrc.wrdIdx); //将单词从词汇数组中删去 //showArray(m_astrWords[iIndex]); astrWords = m_astrWords[iIndex].concat(); astrHead = astrWords.slice(0, iWrdIdx); astrFoot = astrWords.slice(iWrdIdx 1); m_astrWords[iIndex] = astrHead.concat(astrFoot); //showArray(astrHead); //showArray(astrFoot); //showArray(m_astrWords[iIndex]); //将剩余的单词重新写入到页面中 valueList(m_astrWords[iIndex], iIndex); txtWord[iIndex].select(); } //--> </script> </cabeza > <body> <!--标题--> <div align=CENTER> <span style=font-size: 20pt; font-weight: BOLD>词语搭配游戏</span> <span class=fontEng2>v1.0</span> </div > <hr style=visibility: HIDDEN> <!--主表格1--> <table border=0 align=CENTER width=80%> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <colgroup align=CENTER></colgroup> <colgroup></colgroup> <%For m_iCount = 0 To (m_iPartCnt - 1)%> < TR > <td><%= m_astrSenPart(m_iCount)%></td> <td width=20%><input type=text id=txtWord style=width: 100%></td> <td><button id=btnGetWord style=width: 75px title=将单词保存到内存中>保存</button></td> <td><button id=btnReset style=width: 75px title=从内存中删去当前类别所有的单词>重置</button></td> <td><button id=btnSave style=width: 75px title=将单词保存到文件中>存入</button></td> <td><button id=btnLoad style=width: 75px title=从文件中载入单词>载入</button></td> <td width=15%><label id=lblWordList title=单击固定我>单词列表</label></td> <td> <div id=divWordList class=listHidden></div> 个数:<label id=lblWordCount class=fontEng1><%= 0%></label> </td> </tr > <%Next%> </table> <hr style=visibility: HIDDEN> <hr style=color: BLUE> <!--主表格2--> <table border=0 align=CENTER width=80%> <colgroup width=16%></colgroup> <colgroup width=16%></colgroup> <colgroup width=16%></colgroup> <colgroup></colgroup> < TR > <td><button id=btnResetAll accesskey=r title=从内存中删去所有类别的单词class=btnDelighted>全部重置<u>R</u></button></td> <td><button id=btnSaveAll accesskey=s title=将所有类别的单词保存到文件中class=btnDelighted>全部存入<u>S</u></button></td> <td><button id=btnLoadAll accesskey=l title=从文件中载入所有类别的单词class=btnDelighted>全部载入<u>L</u></button></td> <td> <span style=font-size: 9pt; color: RED;>请单击</span> <label id=lblHelp title=单击固定我>游戏说明</label> <!--帮助说明表格--> <div id=divHelp class=helpHidden> <table id=tblHelp border=0 align=CENTER width=300px style=font-size: 9pt;> <colgroup width=75px></colgroup> <colgroup></colgroup> <tr><td colspan=2> <a href=#1 style=color: BLUE;>游戏步骤</a> <a href=#2 style=color: BLUE;>操作说明</a> <a href=#3 style=color: BLUE;>游戏起源</a> <a href=#4 style=color: BLUE;>制作原因</a> <a href=#5 style=color: BLUE;>游戏功效</a> <a name=0 style=display: NONE;>TOP</a> </td></tr> <!--游戏步骤--> <tr><td colspan=2></td></tr> <tr><td colspan=2> [<a name=1 style=color: BLUE;>游戏步骤</a>] <a href=#0 class=link>TOP</a> </td></tr> <tr><td colspan=2> <span class=fontEng1><1></span>在每个部分的<span class=fontEmp>输入框</span>中输入单词, 按<span class=fontEmp>回车</span>或<span class=fontEmp>保存</span>按钮存入内存中; 或按<span class=fontEmp>载入</span>按钮调出以前保存的某类别单词纪录; 或按<span class=fontEmp>全部载入</span>按钮调出以前保存的所有类别单词纪录<br> <span class=fontEng1><2></span>按<span class=fontEmp>开始搭配</span>按钮,系统将从各类单词中随机抽取一个,组成一个句子 </td></tr> <!--操作说明--> <tr><td colspan=2></td></tr> <tr><td colspan=2> [<a name=2 style=color: BLUE;>操作说明</a>] <a href=#0 class=link>TOP</a> </td></tr> < TR > <td>保存</td> <td>得到用户输入的单词</td> </tr > < TR > <td>重置</td> <td>将当前类别所有的单词从内存中删去</td> </tr > < TR > <td>存入</td> <td>将所选类别的当前词汇保存进文件中</td> </tr > < TR > <td>载入</td> <td>从文件中读取所选类别的单词纪录</td> </tr > < TR > <td>全部重置</td> <td>重置页面至初始状态</td> </tr > < TR > <td>全部保存</td> <td>把所有类别的单词都存入文件</td> </tr > < TR > <td>全部载入</td> <td>从文件中载入所有类别的单词</td> </tr > < TR > <td>开始搭配</td> <td>进行词汇搭配,得到一个句子</td> </tr > <tr><td></td></tr> <tr><td colspan=2> <span class=fontEng1><1></span> <span class=fontEmp>将鼠标移至单词列表处</span>,会弹出该类词汇的单词列表; <span class=fontEmp>将鼠标移开</span>,列表会自动隐藏; <span class=fontEmp>点击单词列表</span>,会固定单词列表; <span class=fontEmp>再次点击</span>,会取消固定<br> <span class=fontEng1><2></span> 在<span class=fontEmp>固定住一个单词列表</span>后, <span class=fontEmp>双击</span>该列表中的某个单词,可以将该单词从内存中删去<br> <span class=fontEng1><3></span> 输完一个单词后,<span class=fontEmp>直接按回车</span>就可以保存了,这样比按保存保存单词更方便 </td></tr> <!--游戏起源--> <tr><td colspan=2></td></tr> <tr><td colspan=2> [<a name=3 style=color: BLUE;>游戏起源</a>] <a href=#0 class=link>TOP</a> </td></tr> <tr><td colspan=2> 这个游戏想法来自于小时候玩的纸团游戏。那时和姐姐在家里闲得无聊,就玩这个,哈哈。 玩法很简单,做一些纸片,分成四堆,分别写上<span class=fontEmp>亲朋好友的名字</span>、<span class=fontEmp>形容程度的词语</span>、<span class=fontEmp>关于地点的词语</span>和<span class=fontEmp>所做的事情</span>。 然后,将纸片捏成纸团,<span class=fontEng1>OK, Let's Start!</span> 现在从每堆中抽出一个纸团,就有四个词语,将它们组成一句话,因为是随便抽的,有时能组成很搞笑的句子。 如:陈楠兴奋地在大街上跳夏威夷草裙舞;万民悠闲地在公园里洗澡。^_ </td></tr> <!--制作原因--> <tr><td colspan=2></td></tr> <tr><td colspan=2> [<a name=4 style=color: BLUE;>制作原因</a>] <a href=#0 class=link>TOP</a> </td></tr> <tr><td colspan=2> 主要是无聊,想做个游戏娱乐一下自己,当然也希望大家能从中得到笑声。 Secondly, I also want to exercise my skills. I used to do one with <span class=fontEng1>VB</span>, but it was not very good. This time I used <span class=fontEng1>ASP</span>. I don’t know if there has been any progress. Ja ja 这个版本我大概地测试了一下,没发现大的<span class=fontEng1>bug</span>。如果您在游戏中发现了问题或有什么建议,请一定告诉我,在此先谢谢了! 我的信箱是<a href=mailto: [email protected] class=link>[email protected]</a>。不好你就说吗!不可能你说好我又说不好,你不说好我又说好的,^_ </td></tr> <!--游戏功效--> <tr><td colspan=2></td></tr> <tr><td colspan=2> [<a name=5 style=color: BLUE;>游戏功效</a>] <a href=#0 class=link>TOP</a> </td></tr> <tr><td colspan=2> 因为是搞笑游戏,所以能使你心情愉快、青春焕发,间接增加找对象的成功率; 因为不用做纸团了,减少了浪费和污染,从而美化了世界环境; I believe there are many benefits, please help me find it. Ja ja. </td></tr> </table> </div > </td> </tr > < TR > <td><button id=btnAsb accesskey=a title=从每个类别词汇中随机抽取一个单词,组成一个句子class=btnDelighted>开始搭配<u>A</u></button></td> <td colspan=3><input type=text id=txtSentence style=width: 100%></td> </tr > </table> <hr style=color: BLUE> <!--提交表单--> <form id=frmWords method=POST action= style=display: NONE;> <%For m_iCount = 0 To (m_iPartCnt - 1)%> <input type=text name=txtWords<%= m_iCount%>> <%Next%> <input type=text name=txtSenPart> <input type=text name=txtOpWay> </forma > <!--版权--> <div align=CENTER> <div> © <span class=fontEng2>2001 China Sentin Sci. & Tech. Co., Ltd.</span> <span class=fontEng2>All Rights Reserved.</span> </div > <div> <span class=fontEng2>Authored by</span> <a href=mailto: [email protected] class=link>Recon</a></span> <a href=http://recon.top263.net/ class=link>http://recon.top263.net/</a> </div > </div > </body> </html> <% '以下是服务器端脚本 '用到的函数和过程 '************************ '函数名:SaveFile '功能:将某类词汇保存到文件中 'Input: 1. iSenPart: a number representing the vocabulary classification. Entero ' 可能的值有: ' 0:主语 ' 1:程度状语 ' 2:地点状语 ' 3:谓语 'Output: The status value after the file operation. Entero ' 可能的值有: ' 0:操作成功 ' 1:操作失败 '************************ Function SaveFile(iSenPart) Dim fsoMain, tsfWords Dim iCount, iWrdCnt Dim iOpStatus '------------------------------------------ '常变量说明 'fsoMain :FSO对象 'tsfWords :TEXTSTREAM对象 'iCount : Counter. Entero 'iWrdCnt: The number of words of a certain type of vocabulary. Entero 'iOpStatus: The status after the file operation is completed. Entero '------------------------------------------ Set fsoMain = Server.CreateObject(SCRIPTING.FILESYSTEMOBJECT) Set tsfWords= fsoMain.CreateTextFile(m_strFilePath & m_astrFileName(iSenPart), True) tsfWords.WriteLine([ & m_astrSenPart(iSenPart) & 部分]) '如果该类别至少有一个单词 If IsEmpty(m_astrWords(iSenPart)) = False Then iWrdCnt = UBound(m_astrWords(iSenPart)) 1 For iCount = 0 To (iWrdCnt - 1) tsfWords.WriteLine(m_astrWords(iSenPart)(iCount)) Próximo Final si tsfWords.Close iOpStatus = 0 SaveFile = iOpStatus Función final '************************ '函数名:LoadFile '功能:从文件中载入某类词汇 'Input: 1. iSenPart: a number representing the vocabulary classification. Entero ' 可能的值有: ' 0:主语 ' 1:程度状语 ' 2:地点状语 ' 3:谓语 'Output: The status value after the file operation. Entero ' 可能的值有: ' 0:操作成功 ' 1:操作失败 '************************ Function LoadFile(iSenPart) Dim fsoMain, tsfWords Dim strLoaded Dim iOpStatus '------------------------------------------ '常变量说明 'fsoMain :FSO对象 'tsfWords :TEXTSTREAM对象 'strLoaded :某类词汇所有单词构成的字符串。字符串型 'iOpStatus: The status after the file operation is completed. Entero '------------------------------------------ Set fsoMain = Server.CreateObject(SCRIPTING.FILESYSTEMOBJECT) If fsoMain.FileExists(m_strFilePath & m_astrFileName(iSenPart)) = True Then '如果存在纪录文件 strLoaded = Set tsfWords= fsoMain.OpenTextFile(m_strFilePath & m_astrFileName(iSenPart), 1) tsfWords.SkipLine Do While tsfWords.AtEndOfStream = False strLoaded = strLoaded & tsfWords.ReadLine & , Bucle If strLoaded <> Then strLoaded = Left(strLoaded, Len(strLoaded) - 1) m_astrWords(iSenPart) = Split(strLoaded, ,) Demás m_astrWords(iSenPart) = Empty Final si tsfWords.Close iOpStatus = 0 Demás '如果不存在纪录文件 iOpStatus = 1 Final si LoadFile = iOpStatus Función final %> <% '以下是服务器端脚本 '用于测试的函数和过程 Sub Show(strDef) Response.Write strDef & : & Eval(strDef) & <br> Final Sub ShowMethod() Response.Write Request Method: & Request.ServerVariables(REQUEST_METHOD) & <br> Final Sub ShowForm() Dim icount Dim strProp iCount = 0 Response.Write *********Form Information******<br> For Each strProp In Request.Form iCount = iCount 1 Response.Write iCount & . & strProp & : & Request.Form(strProp) & <br> Próximo Response.Write *********Form End**************<br> Final %> |
分享:ASP 3.0高级编程(十二) 4.2.3 服务器端包含指令的例子本节提供了一些示例页面,可以用来对各种服务器端包含语句进行实验。打开示例网页的子目录Chapter04,显示SSI Directives and the ASP Server Object&rdqu