Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Recurso Curioso, No Se Me Ocurrio Otra Forma
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Recurso Curioso, No Se Me Ocurrio Otra Forma 
 
buenas,

en el programa VisorRV1960 estoy luchando para encontrar un buen método de búsqueda.

parece que lo mejor es el texto plano

así podemos buscar y encontrar pongamos las palabras con faltas o no.
también evitando los saltos de linea odiosos para las búsquedas en sqlite3.
hasta ahora el texto semiPlano    lo tenia en un txt y ahi buscaba pero no podia hacer otras cosas muy importantes que si ese texto estuviera en la misma base de datos.

entonces estoy probando (y me tiemblan las manos, aunque lo hago con proyecto de copia y base de copia también) de la siguiente manera, cree manualmente en las 66 tablas un campo llamado 'textoPlano'.

el dilema es como copiar, procesar y guardar el nuevo texto en las columnas correspondientes textoPlano.

al principio intente hacer todo sobre la misma base de datos no me dio resultado no se si sera posible.

después use otra método, de una base leía los datos y en otra copia injertaba el texto plano en los campos vacíos de la columna 'textoplano' y funciono demoro 40 minutos en copiar toda la base de datos, mejor que pasar dos años mas pasando a mano es jajajaj.

aquí les dejo el código por si a alguien le pueda servir o dar ideas.

Public Sub Button3_Click()
  
  Dim tabla As String
  Dim tablaX As Table
  Dim campoX As Field
  Dim r1 As Result
  Dim sql1, sql2 As String
  Dim textoPlano As String
  Dim idTabla As String
  Dim cn_Desktop As Connection
  
  Application.Busy = 1
  
  cn_Desktop = New Connection
  cn_Desktop.Type = "sqlite3"
  cn_Desktop.Name = "BibliaRV1960"
  cn_Desktop.Host = "/home/juan/Escritorio"
  
  Try cn_Desktop.Open()
  
  If Error Then
    Message.Error(Error.Text)
    Return
  Endif
  
  For Each tabla In subBiblia.TodasLasTablas()
    
    For Each tablaX In vp.Cn.Tables
      If tablaX.Name = tabla Then
        For Each campoX In tablaX.Fields
          If Left(campoX.Name, 2) = "id" Then
            idTabla = campoX.Name
            Break
          Endif
        Next
      Endif
    Next
    
    sql1 = Subst$("Select * from '&1'", tabla)
    r1 = vp.Cn.Exec(sql1)
    
    Do While r1.Available
      
      textoPlano = subFto.ConvertirTextoToTextoPlano(r1!texto, True)
      
      sql2 = Subst("Update '&1' set textoPlano='&2' where &3=&4", tabla, textoPlano, idTabla, r1[idTabla])
      
      labTabla.Text = "tabla=" & tabla & "  :  idtabla=" & idTabla & "  : r1[idTabla]=" & r1[idTabla]
      Wait 0.0001
    
      Try cn_Desktop.Exec(sql2)
      
      If Error Then
        Message.Error(Error.Text)
        Break
      Endif
      
      r1.MoveNext
    Loop
    
  Next
  
  Application.Busy = 0
  
End

 




===================
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: Recurso Curioso, No Se Me Ocurrio Otra Forma 
 
v3ctor:

Citar:
hasta ahora el texto semiPlano    lo tenia en un txt y ahi buscaba pero no podia hacer otras cosas muy importantes que si ese texto estuviera en la misma base de datos.


¿probaste con el comando grep? Es muy potente... y rápido (supongo que mucho más que la base de datos)

https://fortinux.gitbooks.io/humble...n_gnulinux.html
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recurso Curioso, No Se Me Ocurrio Otra Forma 
 
vector y porque no implementas el proyecto sword en gambas o haces una interfaz gambas para sword, creo esto el programa rv reinventa la rueda en cienrto nivel, lo bueno es que se enfoca en español pero no deja de ser lo mismo que xiphos

creo que concentrarte en saber como usar libsword o la linea de comandos es mejor asi puedes echar mas codigo n nuevas features para el programa en si
 



 
mckaygerhard - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recurso Curioso, No Se Me Ocurrio Otra Forma 
 
mira vector par no lidiar con importar shared libs complicadas s puede en cambio usar la linea de comandos de sword https://packages.debian.org/sid/diatheke y terminarias haciendo un frontend de esta, si le hace falta algo simplemente haces el request a el proyecto

esto da potencia porque esa linea de comandos seria el "engine" y podrias entonces con el mismo codigo gamba hacer uan version web y otra desktp.. inclusive importarlo a androit usando webviews y cgi (claro esto ultimo solo online pero es algo)

el tema es que seria menos complicado que pensar codigo de busqueda propio
 



 
mckaygerhard - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Recurso Curioso, No Se Me Ocurrio Otra Forma 
 
mckaygerhard escribió: [Ver mensaje]
mira vector par no lidiar con importar shared libs complicadas s puede en cambio usar la linea de comandos de sword https://packages.debian.org/sid/diatheke y terminarias haciendo un frontend de esta, si le hace falta algo simplemente haces el request a el proyecto

esto da potencia porque esa linea de comandos seria el "engine" y podrias entonces con el mismo codigo gamba hacer uan version web y otra desktp.. inclusive importarlo a androit usando webviews y cgi (claro esto ultimo solo online pero es algo)

el tema es que seria menos complicado que pensar codigo de busqueda propio


parece que esta interesante lo que dices cuando pueda lo ojeo a ver como funciona, gracias por el pique gambero jjaajja.
 




===================
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
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Un Mismo Tooltip Para Varios Botones Hay O... v3ctor General 10 Miercoles, 05 Noviembre 2014, 15:16 Ver último mensaje
v3ctor
No hay nuevos mensajes Hay Forma De Cambiar La Geometria De Un Form? ramon_661 Aplicaciones/Fragmentos de Código 7 Viernes, 05 Agosto 2016, 02:29 Ver último mensaje
v3ctor
No hay nuevos mensajes Forma/Método De Añadir Elementos Shell General 5 Martes, 06 Diciembre 2016, 11:49 Ver último mensaje
shordi
No hay nuevos mensajes Rellenar árbol De Forma Recursiva lumbanico General 1 Lunes, 08 Octobre 2012, 18:27 Ver último mensaje
lumbanico
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

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
No puede descargar archivos
No puede publicar eventos en el calendario