USAR xBASE dentro de autoit. Al estilo Sql devuelve variabls
Publicado: 22 Nov 2006, 19:02
- Hay un nuevo método más directo y usando funciones ver siguiente post, y bajar demo.Bajar ejemplo de calendario de Autoit (tipo Dbase)
Código: Seleccionar todo
Ejemplo:$db= dbOpen($fname, ByRef $CurNb, $type, $password) dbAddRecord($db, ByRef $FV, $nbfields) dbSetFieldsValues($db, $FV, $nbfields) dbNext($db),dbPrevious($db),dbFirst($db)
- Con una técnica diferente, he creado 3 métodos (que usan directamente el dbase.exe), de usar código Xbase y dbfs, junto con Autoit, uno de ellos es:
incluir una secuencia de comandos XBASE, dentro de una función.
Al estilo del SQL, algo del tipo como
$Variable=Query($sql,"Use mybaseÇlist for dato>100")
$myQuery=Query($sql,"Select * from empleados where ....")
Igualmente sería Dbase("Sequencia de comandos xBase separados por Ç"...) - Al revés de lo de este tópico, que esDBASE dentro de Autoit, he podido conseguir lo contrario, esto es:
Tener un programa Xbase pero grabar en una base MYSQL. Es un programa residente que "captura" y crea un enlace, exportando las transacciones de los dbfs del .PRG que se deseen en linea. Desde un programa .PRG de dbase III+, y las lanza hasta una base de datos remota de internet, con lo que se puede usar este mysql, por ejemplo, en una página Web dinámica.
Si alguien está interesado que me lo comente.(Lo uso en un programa 100% DbaseIII+, de Control de Almacén. Se hace el seguimiento de los movimientos desde una Web) - Volviendo a usar Xbase dentro de Autoit, con lo que si queremos escribimos casi todo el código con Xbase:
Usar lenguaje dbase en autoit y maneja codigo XBASE y ficheros dbf directamente. El uso se supone para monopuesto, aunque tambien se puede preparar un semaforo para multipuesto. - Hay 3 maneras de acceder al codigo XBASE, y a los DBF, desde Autoit, la manera clave es insertar el código dbase directamente dentro del código Autoit (quizás tipo Mysql/Sql en PHP con HTML), usando la función de Autoit que he creado para esto que es asignar a una variable el resultado de ejecutar código
Código: Seleccionar todo
$VariabledeRetorno=DBASE ("AQUI VA EL CODIGO DBASE SEPARADO POR Ç","FICHEROTEMPORAL")
- Incluye una lección para principiantes de DBASE III PLUS
El dbaseIII plus es un PROGRAMA de los 80, para manejo de bases de datos que ha marcado un híto en cuanto a que ha estandarizado el formato DBF, AHORA en el siglo XXI se puede usar con Autoit adaptando el interfaz al Windows, con una mejor experiencia.
Uno de los mejores lenguajes - interpretadores para bases de datos es el DBIII+(incluido clipper, foxpro..)
He preparado unas librerias para portar XBASE a Autoit, pudiendo usar los 2 lenguajes conjuntamente, tomando la ventajas de cada uno. - -Ventajas del DBASE:
1. Manejo facil de base de datos, interpretados, (se puede encryptar si lo desea)
2.Facil depuración, codigo ligero y conciso, menos de 1Mb incluyendo el interprete.
3.Datos compatibles y exportables/importables.
4. Parque muy amplio por número de programadores en XBASE. Conocimientos usables. - -Autoit - Dbase Ventajas:
Añade lo que le falta al DOS, una interfaz gráfica y un acceso a creación web con dbase como lenguaje CGI, y además un acceso a OCXs, COM, Plugin, automatización, dispositivos externos,etc...
Pequeños retoques por hacer:
1. Unas funciones generales de browse directo en RESULTS(SELECT) recogiendo la salida de las variables
2. Una función sencilla para imprimir, ya está implementado en Autoit.
How to Como usar:
3 UDF que tratan al dbase en 3 formas diferentes:
1st: Ejecutar codigo duro dbase "tal cual", desde un fichero Autoit .AU3
2d: Ejemplo comandos para usar el ejemplo de traducción para Actualizar/Update y para Insertar datos en un DBF.
3d: Ejecuta DO, programas externos prgs
A divertirse con el XBASE!!!!- Necesitan: Una copia de dbase.exe y librerias. (Testeado con DbaseIIIplus)
para clipper, dbase IV, Xbase en general debería funcionar, con ajustes para el nuevo compilador/interpreter. - Función Principal: coge algún código en una variable $welsen, y entonces ejecuta el codigo, opcional devuelve datos a un fichero desde el dbase.
Parámetros:
welsend=Codigo dbase III+ code que puede ser creado sobre la marcha por el fichero.au3
wfileopcional= Salida del programa a fichero opcional
1-Func dbase($WELSEND, $WFILEOPCIONAL)
2-FUNCTION DBASEREPLA similar a REPLACE With (puede incluir un append (añadiendo a la vez)
Actualiza o Inserta uno o más registros en un dbf
"UPDATEs OR INSERT ONE OR MANY RECORDS inside of a dbf"
Parámetros:
DATABASE: el dbf
FIELDS : clausula replace a ejecutar
FILTER: Filtro
filoutput: salida a fichero
isappend: añadiendo un blank antes de rellenar
Func dbaserepla($WDATABASE, $WREPLACEFIELDS, $WFORCOND, $FILE2, $iSAPPEND)
3-Ejecuta un PRG
Parámetros:
PRG (fichero prg de código)
Wparam: parámetros opcionales que dan valores a algunas variables dentro del prg (desde otra función de Autoit), modificando el resultado del PRG. Opcional, reemplazan texto dentro del PRGs
3-Func DBDO($PRG, $WPARAMETERS)
Pequeña introducción en dbase para principiantes:
Un database funciona a gran velocidad por su pequeño tamaño y la velocidad de sus indices, puede mantener millones de registros con esta herramienta.
(Ejemplo de un SELECT) listar los nombres de personas en la base de datos en auto, esta info va a una variable $selectedPeople que se puede usar en AUTOIT. - Ejemplo en Autoi de lanzar un Query en lenguaje Xbase estilo SQL, en una linea... una función con varias lineas de dbase, el query es ejecutado por la función DBASE():
Mismo Ejemplo en Dbase III+Código: Seleccionar todo
$SelectedPeople = DBASE ("USE PEOPLEÇset alter onÇLIST OFF NAME,AGE FOR " & $WFOR & "Çset alter off", "people")
Librerias y ejemplos en:Código: Seleccionar todo
;( --- abrir DATABASE PEOPLE.DBF) USE PEOPLE ; Ejecuta el SELECT: el campo AGE wFOR sería $WFOR=" AGE>20" LIST OFF NAME,AGE FOR AGE>20
http://www.emesn.com/mas/dbase2autoit.au3
Vaya un link para bajarte el dbase III+ completo, ocupa solo 306 KB con jemplos:
http://personales.com/venezuela/caracas ... ogramador/