File in database

Ejemplos y plantillas para Autoplay Media Studio.
Funcion:
- Busca todo tipo de achivos Office y los incrusta a la .db NO A UNA RUTA
- Almacena en un ListBox el nombre de los archivos de la db
- Ejecuta cada archivo haciendo Doble Click sobre ellos en el ListBox
- La funcion de desencriptacion lo hace en una carpeta temporal
- Podes llevar tu db con toda la informacion Office (respaldo unico)

function:
- Find all types of Office files and embeds the .db NOT A SINGLE ROUTE
- Store in a ListBox the name of the db files
- Run each file by double clicking on them in the ListBox
- The decryption function makes a temporary folder
- Podes bring your db with all the information Office (backing only)


Detalle: Falta que almacene varios nombres en el ListBox ,pero hace un recorrido con los botones
Y cualquier error es de solucionarlo o mejorar el apz

Detail: Failure to store multiple names in the ListBox, but makes a journey with buttons and any error is to fix or improve apz

Saludos
Regards


Captura 1
Capture 1
Imagen


Captura 2
Capture 2
Imagen

Captura 3
Capture 3
Imagen


Apz (lo oculte para ver a quien mas le gusta mi aporte)
Apz (hide it to see who else liked my contribution)

HIDE: ON
Hidebb Message Hidden Description

Gracias por el aporte.

muchas gracias Luma sos muy amable esta muy buena tú ejemplo y pero como lo veo en lista en el listbox y no con los botones ah y que significa too much data for one table row y nueva ment t lo agradezco mucho tú ayuda

too much data for one table row= demasiados datos para la fila de una tabla

seguro estas cargando mas de un archivo a la ves, por ahora es asi 1 solo archivo de carga ,mas adelante o con ayuda de los del foro, quizás dowsher te ayude para que sea multicarga y multivista en listboxt, yo ando de vacaciones por esta semana.

Podes cargar muchos archivos pero hay que hacer un gran cambio al código y NO tengo tiempo


Saludes

Ok amiga Luma Muchas gracias por tú ayuda vere como lo resuelvo muchas gracias y que tengas un buen descanzo...

Re:

dj.salazar escribió:Ok amiga Luma Muchas gracias por tú ayuda vere como lo resuelvo muchas gracias y que tengas un buen descanzo...
Tan lindo.... :friends:

Gracias !!!!

muy buen aporte muchas gracias.

Agotaras123 ...

Que emocionante....te gusto !!!....YUPI!!!!!!!!!!!!!!

Que felicidad un staff ..WOwwwww

Saludos !!!


Estoy en la versión mejorada, esperemos que me alcance el tiempo antes viajar a centro américa a mi descanso. Honduras me encanta, alli vive mi mama!

Hola, el ejemplo esta bastante bien creo que habia uno por el foro pero que eran sol trozos de codigo.

Solo hacer referencia a un par de detalles.

1- En sqlite 2 (no es el caso) hay un limite de 256bytes por registro, por lo que para adjuntar archivos hay que crear una tabla en la que se haga referencia al archivos y se vallan insertando registros de 256bytes para luego reconstruirlo. Sqlite 3 no tiene este limite y se pueden almacenar hasta 4tb de informacion en una base de datos.

2- He visto la forma de almacenar los archivos, que estas convirtiendo a base64 y usando tipo de campo text, esto se puede hacer como demuestra el ejemplo, pero no es lo optimo, porque un archivo base64 puede ocupar hasta un 75% mas que el archivo original, y el tipo de campo que deberias usar es BLOB el cual acepta informacion binaria.

El problema con autoplay es que todos sus apis son ASCII, es decir, soportan 256 caracteres en lugar de los 512 del unicode que utilizan los archivos binarios, por tanto no se puede usar ningun api de autoplay para leer un archivo y poder guardarlo asi en un campo blob, pero lua si que es capaz de leer archivos a un string binario.
local inp = assert(io.open("file.bin", "rb"))
local data = inp:read("*all")
Lo cual seria la forma mas correcta de hacerlo, otra cosa es que quieras añadir algun tipo de encriptacion, algo que con autoplay, es una tonteria hacer, puesto que todo el codigo es visible, incluyendo contraseñas.

3- Debes evitar hacer SELECT * from... si dispones de campos exageradamente grandes como son archivos adjuntos, ya que relentizaran exponencialmente el uso de la aplicacion, conforme mas archivos se agreguen, hasta llegar a un punto en que el app de cuelgues constantemenete.

Debes seleccionar solo los campos necesarios para mostrar la informacion "SELECT id, nombre FROM..." y luego hacer consultas separadas para obtener el archivo. Igual te digo con los botones de navegacion, veo que haces la GRAN consulta una y otra vez y eso se va a notar cuando haya cierto numero de archivos. deberias definir una variable global por ejemplo "fileindex=0" y en la consulta incluir limites, por ejemplo, "SELECT id,name FROM archivos LIMIT "..fileindex..",1" y en tus botones poner algo asi como fileindex=fileindex+1 o fileindex=fileindex-1 y realizar la consulta, asi solo obtendras el registro que quieres ver en ese momento.

Por lo demas buen ejemplo y aporte, solo que deberias revisar estas 2 cosas que te comento

Entonces Pabloko... ¿Cual es la forma correcta de guardar archivos en una base de datos?
jejejeje la verdad apenas ando entendiendo este lenguaje y aun no me quedan las cosas muy claras.

Podrias colgar un ejemplo maestro PABLOKO para así analizarlo y entenderlo mejor ...quiero ver cual es la manera mas eficaz de elaborarlo de antemano muchas gracias por tú ayuda ...
Update

Pabloko excelente tu aporte como critica constructiva y si son códigos base de este foro, en un comienzo lo dije: Puedo mejorar ejemplos ?

Pabloko your excellent contribution as constructive criticism and if codes are based on this forum, at first I said: I am better examples?

He aquí lo estoy haciendo y dando ayuda a quien lo necesita y asi como dj.salasar esta necesitando ahora, desde un comienzo no dijo cantidad o especificación de tamaño para el ejemplo y estoy agradecida por los comentarios de el Admin Pabloko.

Here's what I'm doing and giving help to those in need and also dj.salasar this need now, from the beginning did not say much or size specification for the example and I am grateful for the comments of the Admin Pabloko.

Este ejemplo solo es la base de algo que se puede mejorar mucho y con un profundo respeto te lo digo tu podrás saber hacerlo Pabloko muy bien, nosotros NO y nos cuesta mucho trabajo lograr hasta poner 1 coma.

This example is only based on something that you can improve a lot and with a deep respect I tell you will know Pabloko doing very well, we did Not and it cost us a lot of work to put 1 point achieved.

Paso a la nueva versión Media Lista
Step into the new version Media List

Captura 1
Capture 1
Imagen

Captura 2
Capture 2
Imagen

Link

HIDE: ON
Hidebb Message Hidden Description


Besitos
kisses

Nota Luma: Faltan detalles pero creo que ya los del foro podran hacerlos
Eliminar archivos
Que no grabe en la base de datos al cancelar la carga
Luma escribió:Update

Pabloko excelente tu aporte como critica constructiva y si son códigos base de este foro, en un comienzo lo dije: Puedo mejorar ejemplos ?

Pabloko your excellent contribution as constructive criticism and if codes are based on this forum, at first I said: I am better examples?

He aquí lo estoy haciendo y dando ayuda a quien lo necesita y asi como dj.salasar esta necesitando ahora, desde un comienzo no dijo cantidad o especificación de tamaño para el ejemplo y estoy agradecida por los comentarios de el Admin Pabloko.

Here's what I'm doing and giving help to those in need and also dj.salasar this need now, from the beginning did not say much or size specification for the example and I am grateful for the comments of the Admin Pabloko.

Este ejemplo solo es la base de algo que se puede mejorar mucho y con un profundo respeto te lo digo tu podrás saber hacerlo Pabloko muy bien, nosotros NO y nos cuesta mucho trabajo lograr hasta poner 1 coma.

This example is only based on something that you can improve a lot and with a deep respect I tell you will know Pabloko doing very well, we did Not and it cost us a lot of work to put 1 point achieved.

Paso a la nueva versión Media Lista
Step into the new version Media List

Captura 1
Capture 1
Imagen

Captura 2
Capture 2
Imagen

Link

HIDE: ON
Hidebb Message Hidden Description


Besitos
kisses

Nota Luma: Faltan detalles pero creo que ya los del foro podran hacerlos
Eliminar archivos
Que no grabe en la base de datos al cancelar la carga


Cuando abran los archivos deben saber seleccionar ya que este apz esta en etapa de correcciones y al dar doble click en el ListBox observen el input que corresponda al correcto.

Genial muchas gracias x sus aportes y ayudas q malo q no se puede cargar archivos mayores a 1mb q problema???

dj.salazar todo es sino pasarlo a Sqlite3 y listo basta con una horita de codigo !!!

En mi ultima versión estará todo lo de Pabloko y con multifunciones (imprimir-editar-renombrar y mas detalles que pensare !!

Que bueno que te gusto mi apz y Ojala los que saben bastante del foro pasaran mas por acá seguido y dudas como esta se dieran por terminar.

Aclaro que no debemos hacerle el trabajo a nadie NO ES LÓGICO, enseñamos y aprendemos pero no seamos perezosos jejeje pensemos un MOMENTO!


Saludes

Waooo muy bien esperare con ansias tú ejemplo ya q espero q no lo interpreten como flojera en teoria es muy facil explicarlo pero en la práctica y ejemplos es mas intendible y pues no me queda mas que agradecert mucho Luma por tú ayuda ya que sin tú ayuda y de los demas estaría sigue estancado...

dj salazar, en ams files hay 2 ejemplos muy buenos para que compares Sqlite2 y Sqlite3

Agenda SQLite
Agenda SQLite3

Ahi si eres aplicado veras la forma de la estructura de cada Sqlite y comparar, en mi caso yo abro los 2 ejemplos en paralelo y miro, miro,miro y miro y sigo mirando, por que mi intención es aprender mas y mas y mas hasta el infinito.

Ha se me olvidaba Gogleando ando y solo escribis Sqlite y Sqlite3 y te dara millones de datos por que Sqlite es un hijito mayor de Sql y Sql es el motor de muchas plataformas web.
Firefox (elnavegador) usa Sqlite3 asi que estamos ante una maravilla por aprender en este foro y ya es hora de ponerle mas empeño en apreder y no esperar que hagan el trabajo por nosotros.

Cada ejemplo subido se puede descargar miles de veces e intentar modificar y SIN MIEDO :) si el código falla NO corramos a que nos hagan o reparen el error hay que experimentar en ello y seguir unas ideas lógicas de programación (variables y sentencias).

Espero que sigas adelante con tus proyecto y es un gusto ayudarte, no se mucho pues solo llevo escasos 25 dias sabiendo de ams, antes mi trabajo era diseñar equipos electrónicos (Ingeniera Electrónica)

Saludes.

Si tienes mucha razón si queremos algo tenemos que buscar mas y mas datos e información ya q yo no soy un programador ni estudie Ing.electronica pero desde q ví y conocí ste foro ufff conocí y aprendí muchas cosas y voy mas allá en realidad me encanta y me da mucho gustó contar personas como tú y todos los maestros q dirigen y encabezan est lugar de verdad stoy muy agradecido con todos por haberme orientado sin mas q decir les mando muchos saludos y sigan adelant ...
thank you
um dia vou ser um profissional assim como vocês haha ^^