Indice
¿Qué
es?
Comandos
soportados
Operadores
soportadas
Funciones
soportadas
Funciones
definidas por el usuario
Nuevas
funciones
Tipos de
variables
Variables
reservadas
RDD soportados
Uso
de campos de archivos
QS-WebServer es un servidor web que soporta:
HTML
Páginas dinámicas en lenguaje XBase Script (XBS)
Múltiples dominios y subdominios
Múltiples puertos
Cada uno de estos servicios es configurable para cada dominio, esto quiere decir que cada subdominio puede ser configurado para aceptar páginas XBS independientemente de si otro subdominio acepta uno o más de estos servicios, además, es posible indicar distintos puertos para un mismo subdominio o para cada uno de los subdominios, pudiendo configurar cada uno de los otros servicios a cada subdominio en distinto puerto, por ejemplo:
http://www.servidor.com
para que los navegantes de internet accesen sin problemas sin ningún
servicio adicional, esto quiere decir, solamente páginas
HTML
http://clientes.servidor.compara
que los clientes puedan accesar y levantar sus pedidos con
XBS
http://www.servidor.com:2385para que
accesen las sucursales con XBS
Algunos de los comandos soportados:
;
?
?? o = (por compatibilidad con ASP se incluyó el signo =
para hacer lo mismo que ??)
Comentarios ( //, *,
/*...*/ )
APPEND BLANK
CLOSE
CLOSE ALL
DO
CASE...CASE...OTHERWISE...ENDCASE
DO
WHILE...LOOP...EXIT...ENDDO
FOR...NEXT
IF...ELSEIF...ENDIF
GO
GO
BOTTOM
GO TO
GO TOP
REPLACE
SEEK
SELECT
SET
FILTER
SKIP
USE
Casí todos los operadores soportados por Clipper, a excepción de "=" para asignación de valor, por ejemplo:
Aritméticos: +, -, *, %, etc.
Asignación
en línea: :=, +=, /=, etc.
Lógicos: .AND., .OR., !,
<, >, $, etc.
NOTA: Para asignar un valor a una variable no es aceptado el operador "=", siempre tiene que utilizarse ":=", "=" se utiliza únicamente para comparaciones
Casí todas las de clipper y fivewin, a excepción de las que permiten manejo de archivos, las que muestran o crean ventanas o diálogos (algunas funciones de mensajes son soportadas, se indican abajo), ni las que comienzan con guión bajo, y tampoco soporta la función found(), que aunque es clipper, no funciona correctamente en los scripts, también soporta funciones definidas por el usuario dentro del script.
Funciones de mensaje soportadas
alert()
msgAlert()
msgInfo()
msgStop()
Funciones definidas por el usuario
Son funciones definidas por el usuario dentro del script, trabajan como las funciones estáticas de clipper, ya que solamente son visibles dentro del script en el que se escriben, se pueden declarar como FUNCTION o como PROCEDURE, ambas formas trabajan exactamente de la misma manera, por ejemplo:
<%
? str( 1 )
? min( 3, 8 )
?
x := 0
do
while ++x<10
? _uno(x)
endDo
function
_uno(y)
msgInfo( y )
return 10 - y
%>
Los nombres de función permitidos no pueden empezar con número, pero pueden tener nombres largos, no tiene el limite de 10 caracteres como clipper.
dToT( dFecha, cPlantilla )
Convierte una fecha a texto, cPlantilla es un texto en el que donde
se encuentren los siguientes caracteres los convierte en:
0d -- número del día del mes anteponiendo 0 en los días
de un dígito
dd -- numero del día
del mes
ddd -- las primeras tres letras
del día de la semana en minusculas
Ddd -- las primeras tres letras del día de la semana en
comenzando con mayuscula
DDD -- las
primeras tres letras del día de la semana en mayusculas
dddd -- el nombre del día de la semana en minusculas
Dddd -- el nombre del día de la semana comenzando con
mayuscula
DDDD -- el nombre del día
de la semana en mayusculas
0m -- número
del mes anteponiendo 0 en los meses de un dígito
mm -- número del mes
mmm -- las
primeras tres letras del mes en minusculas
Mmm -- las primeras tres letras del mes en comenzando con
mayuscula
MMM -- las primeras tres letras
del mes en mayusculas
mmmm -- el nombre
del mes en minusculas
Mmmm -- el nombre
del mes comenzando con mayuscula
MMMM --
el nombre del mes en mayusculas
aa -- año
con dos dígitos
aaaa -- año
con cuatro dígitos
entre( uVal, uMin,
uMax ) Devuelve si uVal se encuentre en el rango entre uMin y
uMax
El script maneja variables de cualquier tipo soportado por Clipper, y todas son de ámbito local, no es necesario declararlas, estas se declaran automáticamente al momento de asignarles valor.
NOTA: El máximo tamaño aceptado para un nombre de variable es de nueve caracteres y no pueden empezar con guión bajo.
Son variables que ya son utilizadas en los scripts para
ser utilizado por ellos:
request - Contiene
las variables recibidas por GET o POST, si se recibe la variable
nombre, se lee request.nombre
Se soportan los archivos de Fox (RDDCDX) y el de Clipper (RDDNTX), por default se abren los archivos con RDDCDX
El manejo de los campos de los archivos es muy simple, puede usarse el nombre como si fuera una variable, siempre y cuando el campo pertenezca al área activa, o puede indicarse el alias antes de él, por ejemplo:
? nombre
el campo nombre se encuentra en el área activa
?
usuarios->nombre se indica que
el campo nombre se encuentra en el archivo con alias usuarios
Al momento de asignar un valor, si no se indica el área, solamente se pueden asignar valores a campos de máximo nueve caracteres como nombre de campo
nombre := "Quique"
usuarios->nombre :=
"Quique"
REPLACE nombre
WITH "Quique"
REPLACE usuarios->nombre WITH "Quique"
Con las páginas XBS se pueden controlar sesiones de usuario de manera muy esto permite evitar el acceso a las páginas confidenciales a cualquier usuario que no esté autorizado, a si mismo, tambien se puede controlar el tiempo de inactividad de los usuarios para desconectarlos y tengan que volver a registrarse en caso de superar el tiempo de inactividad permitido, este tiempo es configurable por dominio.