Página 1 de 2

TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 01 Mar 2009, 05:49
por BasicOs
Recojo una aplicación de mob, que probé e iba bien. El la creó para su trabajo.
Sirve para conocer sqlite para que podais usarla en otros programas.
Tiene una base de datos Sqlite en que maneja varias tablas, productos, movimientos_diarios, y demás para llevar lo que es un programa de facturación rápida para cualquier empresa, (este es como de un kiosko)

Lo de sqlite es como mysql una base pero q no usa un servicio asignado a una IP, sino que es como las bases de access MDB, salvando las distancias. El gestor de base de datos, y todo lo de Sqlite es gratuito y free. Realmente crearon SQLITE para sustituir a mysql, porque parecia que se estaba convirtiendo en un producto comercial, o con algunas restricciones en la licencia. El hecho que puede ser util en algunos casos en q no se dese instalar el gestor mysql, o más recomendable para bases pequeñas o locales.

Aquí un ejemplo de una tabla de la base de datos que usa programa, ya te viene con los productos más típicos dados de alta como fotocopias, escaneo, hacer Cv, etcc.:, con sus precios y familias. Photocopy vale 0.50 y es de la familia Print (impresion)
Rec# 1: 1|Photocopy|0.50|Print
Rec# 2: 2|Fax Loc|5.00|Tel
Rec# 3: 3|Fax Nat|6.50|Tel
Rec# 4: 4|Fax 086|6.50|Tel
Rec# 5: 5|Scan|4.00|PC Use
Rec# 6: 6|CV Make|7.00|Type
Rec# 7: 7|CV Edit|3.00|Type
Rec# 8: 8|CV Cover|4.00|Type
Rec# 9: 9|Customer Self-Type|3.00|PC Use
Rec# 10: 10|General PC Use 30min|6.00|PC Use
Rec# 11: 11|Letter|6.00|Type
Rec# 12: 12|Assigment|8.00|Type
Aquí están los enlaces, si quieren saber más está en inglés el tópico del autor MOOB, es posible que la versión actualizada de Autoit haya cambiado algunas funciones, ya que se creó para una versión anterior.AutoIt Ver: 3.2.12.0. Aún así el programa es actual y muy rápido.

1.-Enlace de la base de configuración: es un .txt que hay q bajarse con las tablas iniciales:
2.-Es un au3 que convierte el txt anterior en el formato sqlite para tenerlo para usar con el programa:
3.- La Aplicación en si, actualizada AutoIt Ver: 3.2.12.0
TODOS LOS ENLACES ESTÁN AQUI: http://www.autoitscript.com/forum/index ... 0&p=536632

4.-además usa las librerías que hay q buscar en el foro inglés si no la teneis:

ptrex for the SQLite UDF para usar la base de datos Sqlite

http://www.autoitscript.com/forum/index ... &hl=sqlite

martin for the PrintMGv2 UDF Una función para imprimir con temas especiales, en colorines o formatos especiales

http://www.autoitscript.com/forum/index ... ntry386214

El enlace de dmob (dalisuit) original: http://www.autoitscript.com/forum/index ... 54&hl=sale

A divertirse y a vender muchos productos :smt030 con el programa :smt026
Salu2:) :smt020

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 05 Mar 2009, 03:43
por gna08
Gracias, por el aport :smt002

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 05 Abr 2010, 18:53
por taoru
hooola, ando buscando algun script para ver ejemplos de base de datos, quise bajar y no estan disponible los links...alguien sabe de donde lo puedo bajar o ver algun ejemplo de base de datos?.

necesito desarrollar una aplicación que guarde datos en bd, y que dicha bd esté protejida con contraseña para que solo el soft la pueda usar y no cualquiera pueda entrar y cambiar datos en esa bd.

pueden recomendarme algo?

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 05 Abr 2010, 22:07
por BasicOs
Está actualizado el primer post.
El programa lo probé y va bastante bien, y está interesante, es un programita que accede a ficheros txt, y hace ventas y las cajas.
Si avanzas un poco puedes usar mysql/sqlite modificando el código, en caso de que vayas a usar muchisimos datos o porque lo desees.
Salu22:)

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 15 Nov 2010, 20:15
por jamaro
Hola:

Llevo un tiempo planteándome hacer en Autoit, con SQlite, algunas de las bases de datos que tengo actualmente en MS Access. Primero la idea era migrar a Base, de OpenOffice, pero luego pensé en Autoit y "mi propio programa".

No se si será una idea demasiado pretenciosa, pero bueno, la tengo en mente.

El caso es que en la búsqueda de información sobre Autoit + SQLite, llegué a este hilo y el código me gusto mucho, no sólo por el manejo de SQLite, sino por la interfaz, la configuración de botones desde un archivo de texto externo, el manejo e impresión de informes o tiquets,...

Y ahora mi pregunta:
He empezado a utilizar parte del código (en concreto la parte de la pestaña "Transacciones" y al importar mi base de datos, con unos 300 registros, y darle al botón "Refrescar", tarda un tiempo y parpadea la lista mientras se hace el proceso. La misma base de datos, viéndola en un programa como "SQLite Database Browser" aparece instantáneamente.

(Esto mismo se puede reproducir en el propio programa CashUp de este hilo, añadiendo muchas "compras" (fotocopia, impresión,...) y viendo en la pestaña "Transacciones" los resultados)

Al pulsar "Refresh" se ejecuta la función PopTxList()

Código: Seleccionar todo

Func PopTxList()
	; populates the transaction list
	
	Local $TxQuery, $TxRow, $i = 0
	
	_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($TxList))
	_SQlite_Query ($DataBase, "SELECT * FROM Daily WHERE Date = '" & GUICtrlRead($TxDate) & "' ORDER BY TxNo ;", $TxQuery)
	_GUICtrlListView_BeginUpdate(GUICtrlGetHandle($TxList))
	While _SQLite_FetchData ($TxQuery, $TxRow) = $SQLITE_OK
		Sleep(20)
		GUICtrlCreateListViewItem($TxRow[0] & "|" & $TxRow[2] & "|" & $TxRow[3] & "|" & $TxRow[4] & "|" & _ 
															$TxRow[5] & "|" & StringFormat("%.2f", $TxRow[6]) & "|" & $TxRow[7], $TxList)
		GUICtrlSetFont(-1, 30, 800, 2, "verdana")
		$i = $i + 1
	WEnd	
	_GUICtrlListView_EndUpdate(GUICtrlGetHandle($TxList))	
	_SQLite_QueryFinalize($TxQuery)
EndFunc

¿Créeis que la razón de esa "lentitud" se debe a cómo trabaja Autoit con los datos de la base SQLite?
¿Quizás la razón está en cómo el programa maneja la lista y añade los distintos elementos desde la base de datos?

Agradecería vuestra opinión. No me parecería muy práctico hacer una aplicación Autoit que no sea rápida en la presentación de los datos de una base SQLite.

Un saludo y, de antemano, muchas gracias.

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 16 Nov 2010, 14:23
por BasicOs
jamaro escribió:Hola:

Llevo un tiempo planteándome hacer en Autoit, con SQlite, algunas de las bases de datos que tengo actualmente en MS Access. Primero la idea era migrar a Base, de OpenOffice, pero luego pensé en Autoit y "mi propio programa".

No se si será una idea demasiado pretenciosa, pero bueno, la tengo en mente.

El caso es que en la búsqueda de información sobre Autoit + SQLite, llegué a este hilo y el código me gusto mucho, no sólo por el manejo de SQLite, sino por la interfaz, la configuración de botones desde un archivo de texto externo, el manejo e impresión de informes o tiquets,...

Y ahora mi pregunta:
He empezado a utilizar parte del código (en concreto la parte de la pestaña "Transacciones" y al importar mi base de datos, con unos 300 registros, y darle al botón "Refrescar", tarda un tiempo y parpadea la lista mientras se hace el proceso. La misma base de datos, viéndola en un programa como "SQLite Database Browser" aparece instantáneamente.

(Esto mismo se puede reproducir en el propio programa CashUp de este hilo, añadiendo muchas "compras" (fotocopia, impresión,...) y viendo en la pestaña "Transacciones" los resultados)

Al pulsar "Refresh" se ejecuta la función PopTxList()

Código: Seleccionar todo

Func PopTxList()
	; populates the transaction list
	
	Local $TxQuery, $TxRow, $i = 0
	
	_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($TxList))
	_SQlite_Query ($DataBase, "SELECT * FROM Daily WHERE Date = '" & GUICtrlRead($TxDate) & "' ORDER BY TxNo ;", $TxQuery)
	_GUICtrlListView_BeginUpdate(GUICtrlGetHandle($TxList))
	While _SQLite_FetchData ($TxQuery, $TxRow) = $SQLITE_OK
		Sleep(20)
		GUICtrlCreateListViewItem($TxRow[0] & "|" & $TxRow[2] & "|" & $TxRow[3] & "|" & $TxRow[4] & "|" & _ 
															$TxRow[5] & "|" & StringFormat("%.2f", $TxRow[6]) & "|" & $TxRow[7], $TxList)
		GUICtrlSetFont(-1, 30, 800, 2, "verdana")
		$i = $i + 1
	WEnd	
	_GUICtrlListView_EndUpdate(GUICtrlGetHandle($TxList))	
	_SQLite_QueryFinalize($TxQuery)
EndFunc

¿Créeis que la razón de esa "lentitud" se debe a cómo trabaja Autoit con los datos de la base SQLite?
¿Quizás la razón está en cómo el programa maneja la lista y añade los distintos elementos desde la base de datos?

Agradecería vuestra opinión. No me parecería muy práctico hacer una aplicación Autoit que no sea rápida en la presentación de los datos de una base SQLite.

Un saludo y, de antemano, muchas gracias.
Otro saludo, y felicidades por el código Autoit, y muy bueno tu ejemplo con el código de sqlite. :smt026 :smt026 :smt031
Para analizar la lentitud hay que tener más info y parcelar como tu lo has hecho cada parte del proceso.
SQLite tiene que ser casi inmediato, no hay retrasos.
De la salida a pantalla: ¿si puedes enviar alguna pantalla de como te queda y para verlo funcionando? .
ES como el programa maneja la lista con el GUI posiblemente o el tipo de función específica que puedas usar.
Si lo deseas prueba pasarlo toda la lista de datos en el resultado a Array y hacer un _ArrayDisplay para ir eliminando opciones, y eliminar y crear el GUI de una vez.
Creo que hay en este foro personas muy expertas con el uso de GUI que te podrán indicar sus experiencias aplicandolas con el caso.
Salu22:)

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 16 Nov 2010, 17:48
por jamaro
BasicOs escribió: Otro saludo, y felicidades por el código Autoit, y muy bueno tu ejemplo con el código de sqlite. :smt026 :smt026 :smt031
BasicOS: Ante todo, decir que el código de mi mensaje anterior es el propio del archivo CashUp.au3 que se puede encontrar en los enlaces que tú mismo pusiste en su día :smt003
Para analizar la lentitud hay que tener más info y parcelar como tu lo has hecho cada parte del proceso.
SQLite tiene que ser casi inmediato, no hay retrasos.
De la salida a pantalla: ¿si puedes enviar alguna pantalla de como te queda y para verlo funcionando? .
Más que un pantallazo, quizás os resulte más práctico, para reproducir lo que digo, utilizar el propio programa CashUp.au3 del enlace del primer mensaje.
Como digo en mi mensaje anterior, si introducimos muchos elementos (con unos 30-50 creo que es suficiente para ver el resultado), al hacer "Refresh" en la pantalla de "Transactions", el resultado tarda en mostrarse, además de verse un parpadeo constante hasta que muestra los resultados, eso sí, todos de golpe.
ES como el programa maneja la lista con el GUI posiblemente o el tipo de función específica que puedas usar.
Si lo deseas prueba pasarlo toda la lista de datos en el resultado a Array y hacer un _ArrayDisplay para ir eliminando opciones, y eliminar y crear el GUI de una vez.
Creo que hay en este foro personas muy expertas con el uso de GUI que te podrán indicar sus experiencias aplicandolas con el caso.
Salu22:)
A ver si puedo probar lo que comentas de la matriz y el GUI. Os cuento cuando pruebe.

¡Gracias!

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 17 Nov 2010, 14:58
por BasicOs
jamaro escribió:
BasicOs escribió: Otro saludo, y felicidades por el código Autoit, y muy bueno tu ejemplo con el código de sqlite. :smt026 :smt026 :smt031
BasicOS: Ante todo, decir que el código de mi mensaje anterior es el propio del archivo CashUp.au3 que se puede encontrar en los enlaces que tú mismo pusiste en su día :smt003

Más que un pantallazo, quizás os resulte más práctico, para reproducir lo que digo, utilizar el propio programa CashUp.au3 del enlace del primer mensaje.
Como digo en mi mensaje anterior, si introducimos muchos elementos (con unos 30-50 creo que es suficiente para ver el resultado), al hacer "Refresh" en la pantalla de "Transactions", el resultado tarda en mostrarse, además de verse un parpadeo constante hasta que muestra los resultados, eso sí, todos de golpe.

A ver si puedo probar lo que comentas de la matriz y el GUI. Os cuento cuando pruebe.

¡Gracias!
Si no tanto por la creación, si por el interes y por leer el código. Creo que este es uno de los programas estrellas en cuanto en que hay un tpv en cada esquina o tiendas de cualquier cosa, y que tiene mucha utilidad de trabajo.

Si lo deseas puedes subir tu ejecutable compilado con los datos, o solo los datos para probarlo con los 300 que tienes.
Son cosas del Gui y de la actualización de memoria, seguro que facilmente encontramos otra manera de hacer esa función, sobre todo los "ARTISTAS" del GUI.
Salu22:)

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 17 Nov 2010, 18:49
por Chefito
Si subes el código funcional te ayudaremos a evitar ese parpadeo.

Es como dice BasicOs, no es cosa de la obtención de los datos de la base de datos, ya que la sentencia sql lo hace inmediatamente. El problema está en la inserción uno a uno de los items (elementos) en el control. Seguramente eso se puede mejorar. Y si no, pues siempre se puede intentar utilizar otro control u otra técnica mejor para mostrar los datos :smt003 .

No he mirado lo que utiliza, pero seguramente habría que evitar utilizar funciónes de AutoIt e intentar hacerlos todo con udfs que utilicen apis. Incluso con apis directamente. Puede que en cosas de este tipo ganes en velocidad.

Por cierto, la parte del código para insertar elementos me falla en la nueva versión de AutoIt. A ver si luego miro que ocurre.

Saludos.

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 18 Nov 2010, 09:46
por jamaro
Hola de nuevo. Yo sigo en este hilo, pero si pensais que es mejor crear uno nuevo lo cambiáis de sitio o me decís que lo empiece en otro sub-foro.
BasicOs escribió:Si lo deseas puedes subir tu ejecutable compilado con los datos, o solo los datos para probarlo con los 300 que tienes.
Chefito escribió:Si subes el código funcional te ayudaremos a evitar ese parpadeo.
Subo un archivo 7zip con el archivo .au3 que estoy utilizando (es un "recorte" del CashUp.au3 del primer mensaje) y un archivo sqlite.db con el que estoy haciendo las pruebas.

Como comenté, primero quiero asegurarme de que es funcional, y si es así, ponerme a hacer mi programa sustituto de la base de datos que tengo en MS-Access.

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 19 Nov 2010, 19:37
por BasicOs
Te faltaron incluir las librerias no estandard en el zip. Si puedes incluirlas para que se pueda compilar sin buscar las librerias, facilitas algunos pasos intermedios,
Salu22.)

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 19 Nov 2010, 20:09
por jamaro
BasicOs escribió:Te faltaron incluir las librerias no estandard en el zip. Si puedes incluirlas para que se pueda compilar sin buscar las librerias, facilitas algunos pasos intermedios,
Salu22.)
Acabo de adjuntar un archivo con las UDFs (he puesto todas las que figuran en "include" porque no sé cuáles son realmente las estandard. Tampoco sé si con el código que hay ahora sobra alguna, pero bueno, más vale que sobre....

¡Gracias!

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 21 Nov 2010, 03:07
por Chefito
Mira, he modificado la función para que no parpadee el control listview. Lo que pasa que sigue tardando un poquito en rellenarse a causa de que utilizo funciones que rellenan este control recorriendo un array de datos (_GUICtrlListView_AddArray).

Código: Seleccionar todo

Func PopTxList()
	;msgbox(0,"Aviso","Empieza el relleno")
	Local $hlist, $iRval, $aResult, $iRows, $iColumns
	$hlist=GUICtrlGetHandle($TxList)
	_GUICtrlListView_DeleteAllItems($hlist)
	$iRval = _SQLite_GetTable2d (-1, "select idcarburante,fechacarburante,kmtotales,litros,importe,localidadcarburante,empresacarburante.nombreempresacarburante from carburante inner join empresacarburante on carburante.empresacarburante=empresacarburante.idempresacarburante order by fechacarburante,kmtotales;", $aResult, $iRows, $iColumns)
	If $iRval = $SQLITE_OK Then
		_GUICtrlListView_AddArray($hlist,$aResult)
	Else
		MsgBox(16, "SQLite Error: " & $iRval, _SQLite_ErrMsg ())
	EndIf
EndFunc
Se puede poner un indicador modificando la función _GUICtrlListView_AddArray para indicar que se está rellenando la tabla, como por ejemplo con un porcentaje del 0 al 100%.

Como ya te dije existen otros controles grid (los grid son las tablas parecidas al listview) que cargan los datos de una base de datos de inmediato (yo en vb6 utilizé varios). Se podrían utilizar en AutoIt, lo que pasa que sus propiedades, métodos y eventos los tendrías que definir tú. Con suerte están definidas (con una udf) en el foro de habla inglesa. Luego miro alguno de estos controles y te digo cuales son.

Saludos.

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 21 Nov 2010, 07:56
por blityon
Chefito escribió: Como ya te dije existen otros controles grid (los grid son las tablas parecidas al listview) que cargan los datos de una base de datos de inmediato (yo en vb6 utilizé varios). Se podrían utilizar en AutoIt, lo que pasa que sus propiedades, métodos y eventos los tendrías que definir tú. Con suerte están definidas (con una udf) en el foro de habla inglesa. Luego miro alguno de estos controles y te digo cuales son.

Saludos.
Buenas, sigo con mucho interes desde hace mucho tiempo este foro, demasiado, leyendo y aprendiendo, pero desde luego aqui ya me hizo registrarme y pedirte que nos ayudes para conseguir ese grid que muestra todos los datos a esa velocidad que mencionas.

Ya de paso aprovecho para darte las gracias por los numerosos post en los que ayudas a otros usuarios de los que aprendemos muchos.

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 21 Nov 2010, 10:59
por jamaro
Chefito escribió:Mira, he modificado la función para que no parpadee el control listview. Lo que pasa que sigue tardando un poquito en rellenarse a causa de que utilizo funciones que rellenan este control recorriendo un array de datos (_GUICtrlListView_AddArray).

Se puede poner un indicador modificando la función _GUICtrlListView_AddArray para indicar que se está rellenando la tabla, como por ejemplo con un porcentaje del 0 al 100%.

Como ya te dije existen otros controles grid (los grid son las tablas parecidas al listview) que cargan los datos de una base de datos de inmediato (yo en vb6 utilizé varios). Se podrían utilizar en AutoIt, lo que pasa que sus propiedades, métodos y eventos los tendrías que definir tú. Con suerte están definidas (con una udf) en el foro de habla inglesa. Luego miro alguno de estos controles y te digo cuales son.
Saludos.
¡Muchas gracias Chefito!

Acabo de poner el código y funciona fenomenal. Echaré un vistazo a las modificaciones que has hecho a ver cuál es el funcionamiento de tu código.

Respecto a los "grid" no sé ni lo que son. De todos modos, con el resultado de tu código estoy bastante satisfecho y me anima a seguir con mi proyecto de migración de la base de datos de Access a Autoit+SQLite.

¡Gracias!

EDITADO: (Un rato después....)

Chefito: Ya he visto el funcionamiento del código. He leído en la ayuda que _SQLite_GetTable2d consume más memoria pero es más rápida. ¡Ya lo creo que es más rápida!
He probado a eliminar la primera línea con _ArrayDelete($aResult,0) ya que muestra los títulos de las columnas en la línea 0. Creo que así podré operar sin problemas con las filas, eso sí, teniendo en cuenta que ahora (tras la eliminación) el primer elemento de la lista está en la posición 0. La intención es poder operar con las líneas devueltas en el ListView ("doble click" para editarlo, o un menú contextual para eliminar el registro,...)

He buscado los controles grid y en el foro inglés, pero de momento no he encontrado nada. De todos modos, con lo que me has puesto, creo que los resultados son bastante satisfactorios.

Un saludo

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 22 Nov 2010, 20:07
por BasicOs
Respecto a los "grid" no sé ni lo que son. De todos modos, con el resultado de tu código estoy bastante satisfecho y me anima a seguir con mi proyecto de migración de la base de datos de Access a Autoit+SQLite.
Te recomiendo, si lo deseas, no para solventar el problema, que ya estás satisfecho, si no para usar una base de datos más profesional y de mejores prestaciones uses mysql que es gratuito, y se instalaría en el propio o en otro pc remoto o en lan (en la nube), con lo accederías a una dirección ip con usuario y contraseña, con lo que, si lo deseas, los datos estarían en internet, por ejemplo.
Aquí hay un hilo:
http://www.emesn.com/autoitforum/viewto ... ysql#p9424

Si instalas xampp que es un servidor apache con mysql, solo es descomprimirlo y ejecutar el arranque del motor del xammp para tener ese gestor de base de datos. Luego de muchas maneras (HEIDISQL, PHPMYADMIN, COMANDO SQL, ETC..) puedes crear la base de datos, o bien con código Autoit según se muestra en el hilo anterior.

http://www.apachefriends.org/en/xampp-windows.html
(También puedes tener la base de datos mysql corriendo en un linux o en una maquina virtual tipo vmware o virtualBox)
Salu22:)

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 22 Nov 2010, 21:39
por jamaro
BasicOs escribió: Te recomiendo, si lo deseas, no para solventar el problema, que ya estás satisfecho, si no para usar una base de datos más profesional y de mejores prestaciones uses mysql que es gratuito, y se instalaría en el propio o en otro pc remoto o en lan (en la nube), con lo accederías a una dirección ip con usuario y contraseña, con lo que, si lo deseas, los datos estarían en internet, por ejemplo.
Gracias BasicOS. Creo que para lo que busco/necesito, con SQLite tengo de sobra. En su momento estuve mirando y todos hablaban muy bien de mysql, incluso ojeé una guia (creo que de Anaya) y me dió la sensación de que está más enfocado a internet (y ahí yo no tengo ni idea). Mis intenciones son mas "lite". De hecho, hasta el momento estoy funcionando con MS-Access (que los que trabajan con Bases de Datos hablan muy mal de él).
BasicOS escribió: Si instalas xampp que es un servidor apache con mysql, solo es descomprimirlo y ejecutar el arranque del motor del xammp para tener ese gestor de base de datos. Luego de muchas maneras (HEIDISQL, PHPMYADMIN, COMANDO SQL, ETC..) puedes crear la base de datos, o bien con código Autoit según se muestra en el hilo anterior.

http://www.apachefriends.org/en/xampp-windows.html
(También puedes tener la base de datos mysql corriendo en un linux o en una maquina virtual tipo vmware o virtualBox)
Todo lo que he puesto en negrita en la cita de lo que has comentado, para mí es casi chino ;-) Me parece entender que podría usar mysql en mi propio ordenador, sin necesidad de internet ni servidor en la red, pero esos temas se me escapan.

Gracias a todos por la ayuda.

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 23 Nov 2010, 11:15
por BasicOs
jamaro escribió:
BasicOS escribió: Si instalas xampp que es un servidor apache con mysql, solo es descomprimirlo y ejecutar el arranque del motor del xammp para tener ese gestor de base de datos. Luego de muchas maneras (HEIDISQL, PHPMYADMIN, COMANDO SQL, ETC..) puedes crear la base de datos, o bien con código Autoit según se muestra en el hilo anterior.

http://www.apachefriends.org/en/xampp-windows.html
(También puedes tener la base de datos mysql corriendo en un linux o en una maquina virtual tipo vmware o virtualBox)
Todo lo que he puesto en negrita en la cita de lo que has comentado, para mí es casi chino ;-) Me parece entender que podría usar mysql en mi propio ordenador, sin necesidad de internet ni servidor en la red, pero esos temas se me escapan.
Gracias a todos por la ayuda.
Si, lo puedes usar en tu propio ordenador, al abrir la base de datos llamas a la dirección web 127.0.0.1 o localhost que es la del propio pc, luego usuario y pass. Las sintaxis es la misma que sqlite (+-).
Xampp es un paquete mega facil de usar que se descomprime en una carpeta, y una vez que lo arrancas te pone como un servicio el mysql (también el apache y php a la vez que es para que puedas hacer páginas web siendo un servidor http ftp etc...), con lo que tienes un superservidor para mezclar administración remota (via php y mysql) de los datos de tu programa en autoit (por ejemplo para consultar la caja diaria en http://www.tutrabajo.com/tpvautoit/index.php)
heidisql phpmyadminson simplemente interfaces con ratón o forms, para no usar los comando sql a secamente, pero no son necesarios en si si usas autoit-mysql, sino que son una comodidad.
Vmware o VirtualBox son unos programas gratis que te hacen tener un windows dentro de otro windows del mismo pc, como si fuera una simulación de un ordenador por software, la ventaja es que si instala mysql como servicio, no lo haces en el pc en que usas con 127.0.0.1, sino que sigues teniendo mysql en el mismo pc, pero virtualmente accedes con por ejemplo 192.168.0.3 ya que es otro pc. La ventaja es que no depende el PC virtual del HARDWARE (fallos de placa) modularizas y externalizas todo lo de mysql, ya que puedes borrar el pc donde estas o cambiar de pc y con un simple COPIA y PEGA, copias el PC-Virtual a otro pc en la red o bien a otro pc, es casi comodidad ya que te ahorras la instalación, bajarte programas. Digamos que es como una capsula donde con un copia y pega haces una copia del pcvirtual y a su vez de todo lo que tiene instalado dentro (por ejemplo un entorno en Autoit ordenado y algunas webs, y/o mysql, y/o ftp). También evitas el acceso de virus y tocar el registro cuando instalas algo, si lo usas solo como servidor, ya que es un pc como remoto, y si instalas algo en tu pc no se instala en el virtual.
Salu22:)

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 23 Nov 2010, 13:27
por jamaro
Mmmm... ya me ha picado la curiosidad y acabo de bajar xampp (a ver si tengo un ratillo para trastear).

De todos modos, me surge una duda. El programa que cree y utilice MySql me funcionaría en mi ordenador, con xampp instalado pero, si algún día quisiera que un amigo utilizara mi aplicación porque le pueda resultar útil ¿qué necesitaría él? ¿necesitaría xampp? Actualmente, con SQLite, tan sólo necesitará mi aplicación de Autoit (en exe) y los archivos Sqlite.au3 y Sqlite.dll.au3 que creo que se incluirán en el exe.

Saludos.

Re: TPV - Terminal punto de venta en Autoit+Base datos

Publicado: 23 Nov 2010, 20:31
por BasicOs
jamaro escribió:Mmmm... ya me ha picado la curiosidad y acabo de bajar xampp (a ver si tengo un ratillo para trastear).

De todos modos, me surge una duda. El programa que cree y utilice MySql me funcionaría en mi ordenador, con xampp instalado pero, si algún día quisiera que un amigo utilizara mi aplicación porque le pueda resultar útil ¿qué necesitaría él? ¿necesitaría xampp? Actualmente, con SQLite, tan sólo necesitará mi aplicación de Autoit (en exe) y los archivos Sqlite.au3 y Sqlite.dll.au3 que creo que se incluirán en el exe.

Saludos.
puede conectarse a un ordenador en internet que puede ser el tuyo u otro que use mysql, que los datos seguirían estando donde estaban antes. O bien le puedes copiar la maquina virtual completa, o bien puedes instalarle mysql e importar datos en su pc, igual que el tuyo.
Necesitaría una dirección ip con el mysql funcionando y con la base de datos que use. Las ventajas son muchas, el incoveniente es que no es un dll y un archivo de datos como el access, sino un servicio IP corriendo en la propia u otra máquina.
Salu22.)
PD: lo más sencillo sería que le copiaras una maquina virtual con mysql corriendo y la tuviera arrancada minimizada, ya que es copiar y pegar(también puedes copiarle y pegarle xxampp portable: http://portableapps.com/apps/development/xampp la versión LITE sobra)
XAMPP Lite leaves off the additional packages and sticks to Apache, mySQL, phpMyAdmin, SQLite and related packages resulting in an installation that's significantly smaller. There are no upgrade packages for XAMPP Lite like there are for XAMPP, though.