Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Sobre La Mejora Del Navegador De Los Ejemplos De Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Sobre La Mejora Del Navegador De Los Ejemplos De Gambas 
 
Hola muy buenas compañeros como estan, espero que muy bien y deseandoles como siempre exitos en sus programas.

Quiero comentarles que estoy tratando de mejorar el navegador de los ejemplos que trae gambas estoy tomando muchos programas de los mismos y tratando de agregarles mas cosas conjuntamente corrigiendoles sus errores entre ellos la consola de comandos ahora voy el navegador.

Bien el navegador me encanta y todo pero estoy atrapado en un problemilla que lo veo simple pero no logro solucionarlo estoy usando gambas 3.1.1 y me va muy bien, el problema es en la descarga de un archivo especificamente cuando quiero descargar una imagen al navegar, por ejemplo si descargo musica lo hace bien y videos tambien, pero cuando intento descargar una imagen se queda descargando he modificado el codigo y me doy cuenta que sucede es por el dialogo savefile ejemplo

Public Sub WebView_Download(Download As WebDownload)
Dialog.Path = System.User.Home &/ File.Name(Download.Url)
If Dialog.SaveFile() Then Return
 Download.Path = Dialog.Path
lblStatus2.Text = variable
FDownloadList.AddDownload(Download)
 FDownloadList.Show


Yo noto que al quitarle If Dialog.SaveFile() Then Return alli si me guarda la imagen pero no es viable porque si deseo guardar otra con el mismo nombre me sobreescribe la anterior y me guarda el archivo directamente sin cambiarle el nombre si opcion a ruta y sin permiso!, pero cuando guardo una cancion o video si me deja con el Savefile, que podra ser?

Las mejoras que le he hecho es un combobox para que vaya guradando las paginas visitas tambien que busque gambas, google, facebook, twitter, youtube simplemente escribiendolos y tambien por un click en un menu, tambien opcion a buscar personas en facebook directamente, cambio de colores, abrir directorios y ejecutar mi consola, me falta agregarles las historiales y los marcadores, e aqui la imagen.

 navegando_en_gambas

Los problemas que de verdad si veo dificiles son el flashplayer, ya que algunas paginas que ejecutan objetos en este programa me dicen que estoy usando SAFARI LINUX y que debo actualizar imaginense jajajaja...
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sobre La Mejora Del Navegador De Los Ejemplos De Gambas 
 
Una mejora mas para el navegador ahora con historiales. para hacer esa simple funcion tuve que crear una sentencia donde me buscara la carpeta .historiales y el archivo historial.txt si no existe entonces crear la carpeta y el archivo de lo contrario si existe simplemente lo que haya en el combobox agregarlo luego ir guardandolo en el txt y despues cuando se abra el navegador cargarlo al combobox.

Codigo:

ComboBoxurl.Text = "google"
encontrar = User.Home &/ ".Historiales_jou/Historiales_jou.txt"
encontrar2 = User.Home &/ ".Historiales_jou/.Nombres_face_jou/Nombres_face_jou.txt"
 If Not Exist(encontrar) And (encontrar2) Then
    $hMultiproceso = Shell "mkdir .Historiales_jou/"
     $hMultiproceso = Shell "mkdir .Historiales_jou/.Nombres_face_jou/"
  Message.Warning("PARECE QUE ES LA PRIMERA VES QUE USAS ESTE NAVEGADOR, ES NECESARIO CREAR EL ARCHIVO HISTORIALES PARA MOSTRAR TUS RECORDATORIOS DE NAVEGACIÓN!")
Dialog.Path = System.User.Home &/ File.Name(encontrar)
contenido = (ComboBoxurl.List).join("|")
Dialog.Path = encontrar
File.Save(Dialog.Path, contenido)
contenido = (ComboBoxurl_nombre_face.List).join("|")
Dialog.Path = encontrar2
File.Save(Dialog.Path, contenido)
Else
 ComboBoxurl.List = Split(file.load(encontrar), "|")
 ComboBoxurl_nombre_face.List = Split(file.load(encontrar2), "|")
end



Y despues para buscar o navegar:

ComboBoxurl.Add(ComboBoxurl.Text)
Dialog.Path = System.User.Home &/ File.Name(encontrar)
contenido = (ComboBoxurl.List).join("|")
Dialog.Path = encontrar
File.Save(Dialog.Path, contenido)
   If ComboBoxurl.Text = "google" Then
    ComboBoxurl.Text = "http://google.co.ve"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "hotmail" Then
    ComboBoxurl.Text = "http://hotmail.com"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "facebook" Then
    ComboBoxurl.Text = "http://facebook.com"
     'ComboBoxurl.Add(ComboBoxurl.Text)
    Else
     If ComboBoxurl.Text = "fb" Then
    ComboBoxurl.Text = "http://facebook.com"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "twitter" Then
    ComboBoxurl.Text = "http://twitter.com"
    'ComboBoxurl.Add(ComboBoxurl.Text)
       Else
      If ComboBoxurl.Text = "gambas" Then
    ComboBoxurl.Text = "http://gambas-es.org"
endif
endif
endif
endif
endif
endif
end


Claro no es que este una belleza pero al menos modifique algo

Ahora lo que si me pone a pensar es la repeticiones de las historiales tendria que hacer un comparador por ejemplo si combobox.text=combobox.list no guardar en txt else de lo contrario guardar estoy pensando en hacer un array alli es donde estoy, bueno saludos.

 navegador_con_historiales
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sobre La Mejora Del Navegador De Los Ejemplos De Gambas 
 
Hola,

Lo otro sería usar una base de datos en sqlite3 para esas cosas... y hacer la consulta si la página ya existe, guardar un contador de visitas para las páginas y obtener posteriormente las más visitadas...

Ideas, tan sólo.

Saludos...
 



 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sobre La Mejora Del Navegador De Los Ejemplos De Gambas 
 
vicr escribió: [Ver mensaje]
Hola,

Lo otro sería usar una base de datos en sqlite3 para esas cosas... y hacer la consulta si la página ya existe, guardar un contador de visitas para las páginas y obtener posteriormente las más visitadas...

Ideas, tan sólo.

Saludos...


por lo que recuerdo firefox en sus carpetas temporales de trabajo esta lleno de archivos sqlite guardando esa y otras informaciones, demasiadas diría yo
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sobre La Mejora Del Navegador De Los Ejemplos De Gambas 
 
Treeemenda idea me dieron compañeros programadores entonces quiza me tocaria hacer un procedimiento parecido pero con sqlite creandolo en una carpeta y trayendolos o cargandolos con un timer en el combobox.list.
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sobre La Mejora Del Navegador De Los Ejemplos De Gambas 
 
Citar:
trayendolos o cargandolos con un timer en el combobox.list.

Eso carga el tema innecesariamente. Mejor cargas el combo con los 10 últimos por fecha, el más reciente arriba, y luego lo recargas  en el evento keyrelease del combobox, según el usuario teclee letras, con un

miconexionsqlite.exec("select * from historico where direccion like '&1%'",micombobox.text)

o algo así. De esa forma sólo accedes a la BD cuando es necesario.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sobre La Mejora Del Navegador De Los Ejemplos De Gambas 
 
Aja esta bien señor Shordi voy a probar asi.
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sobre La Mejora Del Navegador De Los Ejemplos De Gambas 
 
Hola muy buenas como estan, saludos vuelvo a mostrarles como esta quedando el navegador y vaya que he parido mucho con estas funciones por poco y me vuelvo loco  

Quiero comentarles que logre hacer que el navegador creara dos bases de datos en sqlite con todo y su carpeta con sus respectivos campos una para historiales y la otra para nombres de facebook con sus respectivas validaciones y que a su ves me trajera los ultimos registros de primero de cada base de datos a los combobox por supuesto tuve que crear dos modulos de host y que estos a su ves me ejecutaran una consulta sql ordenandolos de mayor a menor para que me muestren los registros recientes, observen:

Modulo de host para validar y crear el directorio junto con la creacion y conexion de la base de datos en sqlite en el directorio home:

Public hConn As New Connection 'variable que contiene los parametros para administrar la conexion
Public hresul As Result  'variable de tipo table que guarda el resultado de una busqueda
Public htable As Table
Public $hMultiproceso As Process
Public encontrar As String

Public Function verificarcrearbase() As Connection
  encontrar = User.Home &/ "Historiales_nav_jou/Historiales_nav_jou_bd"
  If Not Exist(encontrar) Then
$hMultiproceso = Shell "mkdir Historiales_nav_jou/"
Message.Warning("PARECE QUE ES LA PRIMERA VES QUE USAS ESTE NAVEGADOR, ES NECESARIO CREAR EL ARCHIVO HISTORIALES PARA MOSTRAR TUS RECORDATORIOS DE NAVEGACIÓN CADA VES QUE ENTRES!")

hConn.Type = "sqlite3"
hConn.host = User.Home &/ "Historiales_nav_jou/"
hConn.Open
hConn.Databases.Add("Historiales_nav_jou_bd")
hconn.Close
hconn.name = "Historiales_nav_jou_bd"
hConn.Open
hTable = hConn.Tables.Add("Historiales_nav_jou_bd")
hTable.Fields.Add("id", db.serial)
hTable.PrimaryKey = ["id"]
hTable.Fields.Add("historiales_jou", db.String)
hTable.Fields.Add("fecha_historiales_jou", db.Date)
hTable.Update
 Else
   'Message.Info("YA EXISTE LA BASE DE DATOS")
 hConn.Type = "sqlite3"
 hConn.host = User.Home &/ "Historiales_nav_jou/"
hconn.name = "Historiales_nav_jou_bd"
hConn.Open
Endif
End


Imagenes: carpeta
 creando_la_carpeta_en_home

archivo sqlite
 mostrando_el_archivo_sqlite_creado

Logre hacerle validaciones como por ejemplo si estos son modificados o eliminados vuelve y crea y conecta de lo contrario simplemente ubicar y conectar.

Bien ahora viene traer esos datos en el combobox donde van las paginas web visitadas o almacenadas usando la sentencia sql order by ide desc

Public Sub Form_Open()
Me.Center
If conexionhistoriales.verificarcrearbase() Then Return
hresul = conexionhistoriales.hconn.Exec("select *from Historiales_nav_jou_bd order by id desc")
If hresul.Available Then
TextBoxcod.Text = hresul["id"]
 Do While hresul.Available
agregar = hresul["historiales_jou"]
ComboBoxurl.Add(agregar)
hresul.MoveNext()
Loop
endif
endif
end


Observando la base de datos creadas y ejecutando sentnecias sql
 sqlite_llena_de_1_a_mayor

Y con el order by id desc
  sqlite_de_mayor_a_1

Ahora cargandolos al combobox de navegacion
 mostrando_las_historiales_en_pag_gambas

Tambien pense por supuesto en eliminar las historiales pero intente con la sentencia sql de TRUNCATE TABLE y no se porque no me funciono!!! por lo que tuve que eliminar la base de datos por shell, no me queda de otra, asi lo hice

Public Sub Menu26_Click()
If Message.Question(" ¿ESTA SEGUR(@) EN BORRAR TODO EL HISTORIAL DE PAGINAS VISITADAS?", " SI ", " NO ") = 1 Then
$hMultiproceso = Shell "rm -r  Historiales_nav_jou/Historiales_nav_jou_bd"
Me.Close
proc_historial_borrado.Show
Else
  If Error Then
  Message.Error("PARECE QUE ALGO LE SUCEDIO AL DIRECTORIO O ARCHIVO DE HISTORIALES EN TIEMPO DE BORRADO, SE REINICIARA EL NAVEGADOR NAV-JOU, DISCULPE LAS MOLESTIAS")
  Me.Close
  proc_historial_borrado.Show
Endif
Endif
End

Y asi por supuesto cuando abro el navegador el modulo de host vuelve y me crea todo de nuevo

Bien pasando a al otro punto yo me pregunte aja si no quiero que se me repitan las paginas visitadas? pues me tocaria hacer una consulta a la base de datos que si combobox.text es igual a lo que hay en base de datos decir historial ya existe de lo contrario agrega esta historial, aclaro que esto son pruebas para saber si esta trabajando como debe ser y asi quedo el codigo

Public Sub Button_ir_pagina_Click()
btnGo.Value = True
 If ComboBoxurl.Text = "" Then
  Message.Info("INTRODUZCA LA PAGINA A BUSCAR")
Else
  hresul = conexionhistoriales.hconn.Exec("SELECT * FROM Historiales_nav_jou_bd WHERE Historiales_jou = &1", ComboBoxurl.Text)
If hresul.Available Then

Message.Error("ESTE HISTORIAL YA EXISTE EN BD")
 btnGo.Value = True
 Else
   If Not (hresul.Available) Then
  Message.Info("ESTE HISTORIAL ES NUEVO SE AGREGARA A LA BD")
 TextBoxcod.Text = TextBoxcod.Text + 1
Try conexionhistoriales.hConn.EXEC("insert into Historiales_nav_jou_bd values(&1,&2,&3)",
TextBoxcod.Text, ComboBoxurl.Text, DateBox1.Value)
ComboBoxurl.Clear
Timercontador.Start
If Error Then
 Message.Error("PARECE QUE EL DIRECTORIO O EL ARCHIVO DE HISTORIALES DEL NAVEGADOR LE HA SUCEDIDO ALGO!!, SE REINICIARA EL NAVEGADOR NAV-JOU PARA CREARLO DE NUEVO, DISCULPE LAS MOLESTIAS")
 Me.Close
proc_historial_borrado.Show
 Else
 Message.Info("SUS HISTORIALES SE AGREGARON EXITOSAMENTE")
   If ComboBoxurl.Text = "google" Then
    ComboBoxurl.Text = "http://google.co.ve"
    'ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "hotmail" Then
    ComboBoxurl.Text = "http://hotmail.com"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "facebook" Then
    ComboBoxurl.Text = "http://facebook.com"
     'ComboBoxurl.Add(ComboBoxurl.Text)
    Else
     If ComboBoxurl.Text = "fb" Then
    ComboBoxurl.Text = "http://facebook.com"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "twitter" Then
    ComboBoxurl.Text = "http://twitter.com"
    'ComboBoxurl.Add(ComboBoxurl.Text)
       Else
      If ComboBoxurl.Text = "gambas" Then
    ComboBoxurl.Text = "http://gambas-es.org"
    'ComboBoxurl.Add(ComboBoxurl.Text)
    Else
       If ComboBoxurl.Text = "youtube" Then
    ComboBoxurl.Text = "http://youtube.com"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "savefrom" Then
    ComboBoxurl.Text = "http://es.savefrom.net"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "localhost" Then
    ComboBoxurl.Text = "http://127.0.0.1"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "phpmyadmin" Then
    ComboBoxurl.Text = "http://127.0.0.1/phpmyadmin"
   ' ComboBoxurl.Add(ComboBoxurl.Text)Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
end


Aqui validando si existe o no existe pagina web si no agregar
 este_historial_es_nuevo_se_agregara_en_bd

Tengo que admitir que lo de la base de datos sqlite de hacer el campo serial o autoincrementable me tenia como se dice en venezuela atariado por lo que se me ocurrio un contador y le hice pruebas por ello volvi y realice la sentencia sql order by id desc para que me traiga el ultimo numero del id de primero, luego decirle textboxcod.text=textboxcod.text+1 y asi cada ves que abra el formulario traerme siempre el ultimo numero e ir sumandole uno para el siguiente registro al almacenar mas paginas visitadas

 4_registros

Señor shordi para poder hacer lo que usted me pidio me fije primero en su codigo de creacion de base de datos sqlite esta:

Dim $hConn As New Connection
Dim htable As Table

'delete an existing test.sqlite, o sea, profilaxis
If Exist(User.home & "/test.sqlite") Then
    Kill User.home & "/test.sqlite"
Endif
$hConn.Type = "sqlite"
$hConn.host = User.Home
'create test.sqlite
$hConn.Open
    $hConn.Databases.Add("test.sqlite")
$hconn.Close

'define the table sampleTable
$hconn.name = "test.sqlite"
$hConn.Open
hTable = $hConn.Tables.Add("sampleTable")
hTable.Fields.Add("s_seq", db.Integer)
hTable.Fields.Add("s_rndm", db.Integer)
hTable.PrimaryKey = ["s_seq"]
hTable.Update
end


Esta bueno aclaro que los .sqlite me daban error asi que a cada archivo le quite ese ".sqlite"

Ahora lo que si me tiene pensativo señor shordi es lo que ud me escribio no se que pensara usted del order by desc ya que usted me sugirio por fechas y que lo de los 10 primeros registro no se como hacer para moverme a solo 10 registros sera con un timer y luego hresul.movenext?

Muchas gracias por sus ayudas.
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sobre La Mejora Del Navegador De Los Ejemplos De Gambas 
 
Citar:
Ahora lo que si me tiene pensativo señor shordi es lo que ud me escribio no se que pensara usted del order by desc ya que usted me sugirio por fechas y que lo de los 10 primeros registro no se como hacer para moverme a solo 10 registros sera con un timer y luego hresul.movenext?

Por fechas viene a ser lo mismo que por el rowid de la tabla, si éste es autoincrement. Es tan simple como crear un campo donde grabas el resultado de format(now(),"yyyymmddhhnnss") al añadir el registro.
Luego sólo tienes que ejecutar  "select * from visitados order by fecha desc limit 10"

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sobre La Mejora Del Navegador De Los Ejemplos De Gambas 
 
Citar:
   If ComboBoxurl.Text = "google" Then
    ComboBoxurl.Text = "http://google.co.ve"
    'ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "hotmail" Then
    ComboBoxurl.Text = "http://hotmail.com"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "facebook" Then
    ComboBoxurl.Text = "http://facebook.com"
     'ComboBoxurl.Add(ComboBoxurl.Text)
    Else
     If ComboBoxurl.Text = "fb" Then
    ComboBoxurl.Text = "http://facebook.com"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "twitter" Then
    ComboBoxurl.Text = "http://twitter.com"
    'ComboBoxurl.Add(ComboBoxurl.Text)
       Else
      If ComboBoxurl.Text = "gambas" Then
    ComboBoxurl.Text = "http://gambas-es.org"
    'ComboBoxurl.Add(ComboBoxurl.Text)
    Else
       If ComboBoxurl.Text = "youtube" Then
    ComboBoxurl.Text = "http://youtube.com"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "savefrom" Then
    ComboBoxurl.Text = "http://es.savefrom.net"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "localhost" Then
    ComboBoxurl.Text = "http://127.0.0.1"
   ' ComboBoxurl.Add(ComboBoxurl.Text)
    Else
      If ComboBoxurl.Text = "phpmyadmin" Then
    ComboBoxurl.Text = "http://127.0.0.1/phpmyadmin"
   ' ComboBoxurl.Add(ComboBoxurl.Text)Endif
Endif

Esto sin embargo, infringe una norma elemental: No mezcles datos con el código. ¿Y si cambiamos de foro y nos convertimos en gambas_es.com, por ejemplo? ¿Tienes que recompilar entonces? ¿Distribuir un nuevo .deb a cada máquina cuando cualquiera de esas direcciones -que no están bajo tu control- cambien?

Por otra parte no entiendo lo que haces ahí ¿por qué eliminar la mitad de la url?

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Ayuda Con Navegador Web De Gambas luisrel General 0 Lunes, 22 Noviembre 2010, 20:26 Ver último mensaje
luisrel
No hay nuevos mensajes Ejemplos Que Vienen Con Gambas Shell General 1 Domingo, 17 Marzo 2013, 21:52 Ver último mensaje
sebikul
No hay nuevos mensajes Ejemplos De Gambas. Solo Lectura Shell General 4 Sabado, 19 Marzo 2016, 19:27 Ver último mensaje
Shell
No hay nuevos mensajes Mejora O Alternativas A Función De Guarda... vicr Bases de Datos 3 Lunes, 25 Abril 2016, 19:06 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron