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
 
Buscar Datos Dentro De Un Archivo?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Buscar Datos Dentro De Un Archivo? 
 
hola amigos miren lo que quiero es lo siguiente, supongamos que tengo un archivo llamado config.dat y dentro de este tengo el siguiente texto:

[texto1]texto uno[/texto1] [texto2]texto dos[/texto2]
 


bien lo que quiero saber es si hay alguna forma de abrir el archivo config.dat y luego que tanto lo que se encuentra entre [texto1] y [texto2] se  escriban en un textarea, pero solamente lo que esta entre esos dos sin el texto:

[texto1][/texto1] [texto2][/texto2]


en resumen quiero que en el textarea solamente aparezca:

texto uno
texto dos

 



 
arglinux - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Buscar Datos Dentro De Un Archivo? 
 
El siguiente codigo puede no estar bien, pero algo de este estilo deberia ser:


Dim iStart, iEnd as Integer

dim sTexto, sContenido as String

sTexto="[texto1]texto uno[/texto1] [texto2]texto dos[/texto2]"

iStart= InStr(sTexto, "[texto1]")

iEnd=InStr(sTexto, "[/texto1]", iStart)

sContenido=Mid(sTexto, iStart+1, iEnd-iStart)

 


Queda en ti implementar una función que lo haga de forma recursiva. Lee la documentación de todas las funciones que aparecen, e intenta entender el algoritmo que use. Si tienes alguna duda o necesitas ayuda solo vuelve a preguntar en este hilo.

Saludos!
 



 
última edición por sebikul el Lunes, 27 May 2013, 03:51; editado 2 veces 
Editado por sebikul, Lunes, 27 May 2013, 03:51: Arreglado pequeño error en código
sebikul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Buscar Datos Dentro De Un Archivo? 
 
sebikul escribió: [Ver mensaje]
El siguiente codigo puede no estar bien, pero algo de este estilo deberia ser:


Dim iStart, iEnd as Integer

dim sTexto, sContenido as String

sTexto="[texto1]texto uno[/texto1] [texto2]texto dos[/texto2]"

iStart= InStr(sTexto, "[texto1]")

iEnd=InStr(sTexto, "[/texto1]", iStart)

sContenido=Mid(sTexto, iStart+1, iEnd-iStart)

 


Queda en ti implementar una función que lo haga de forma recursiva. Lee la documentación de todas las funciones que aparecen, e intenta entender el algoritmo que use. Si tienes alguna duda o necesitas ayuda solo vuelve a preguntar en este hilo.

Saludos!


gracias man me re sirvió, una ultima dudita, hay alguna forma de agregarle un progressbar a un comando shell, es decir por ejemplo coloco un shell para convertir un vídeo con ffmpeg, hay alguna forma de colocar un progressbar mientras este comando se esta ejecutando?, de ultima hay alguna forma de que mientras el video se esta comvirtiendo aparesca un label que diga "trabajando" y cuando termine diga "terminado" ??
 



 
arglinux - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Buscar Datos Dentro De Un Archivo? 
 
Citar:
, hay alguna forma de colocar un progressbar mientras este comando se esta ejecutando?


Si mirate este ejemplo, que analiza la salida que este generando el comando, para ir aumentando el valor del progressbar:
http://sologambas.blogspot.com.es/2...-2-version.html

Citar:
hay alguna forma de que mientras el video se esta comvirtiendo aparesca un label que diga "trabajando" y cuando termine diga "terminado" ?

Si, mirate el libro de gambas (lo puedes descargar en la sección de documentacion del foro), donde explica como usar procesos.
 




===================
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: Buscar Datos Dentro De Un Archivo? 
 
jsbsan escribió: [Ver mensaje]
Citar:
, hay alguna forma de colocar un progressbar mientras este comando se esta ejecutando?


Si mirate este ejemplo, que analiza la salida que este generando el comando, para ir aumentando el valor del progressbar:
http://sologambas.blogspot.com.es/2...-2-version.html

Citar:
hay alguna forma de que mientras el video se esta comvirtiendo aparesca un label que diga "trabajando" y cuando termine diga "terminado" ?

Si, mirate el libro de gambas (lo puedes descargar en la sección de documentacion del foro), donde explica como usar procesos.


gracias por sus respuestas, voy a ser un poco pesado pero es que recien entro en esto de gambas y quiero aprender, decidí remplazar el archivo de configuración por un xml que me lo genera el siguiente código:

Dim writer As XmlWriter
   writer = New XmlWriter
  dSelect = Inicio.psavechoser.SelectedPath
  pnames = Inicio.pnombre.Text
 writer.Open(dSelect & "/" & pnames & ".wcpg", True)
 writer.StartElement("proyecto")
  writer.Attribute("Nombre", pnames)
 writer.StartElement("Nombre")
  writer.Text(pnames)
 writer.EndElement
 writer.StartElement("URL")
  writer.Text(Inicio.purl.Text)
 writer.EndElement
 writer.StartElement("Velocidad")
  writer.Text(Str$(Inicio.pkb.Value))
 writer.EndElement
 writer.StartElement("Enlaces")
  writer.Text(Inicio.siono.Text)
 writer.EndElement
 writer.StartElement("Continuar")
  writer.Text("No")
 writer.EndElement
 writer.EndElement
 


este código da como resultado un archivo .wcpg el cual contiene el siguiente texto:

<proyecto>
 <Nombre>test</Nombre>
 <URL>http://hola.com</URL>
 <Velocidad>20</Velocidad>
 <Enlaces>No</Enlaces>
 <Continuar>no</Continuar>
</proyecto>
 


bien a mi me gustaría hacer lo siguiente, en un botón colocar un comando que primero abra un dialogo en donde te de a elegir el archivo a abrir, que abra el archivo .wcpg y luego coloque en diferentes TextBox la información de el xml es decir:

texbox1 = el contenido que hay entre  <Nombre> </Nombre>
textbox2 = el contenido que hay entre <URL> </URL>

hasta el momento el código que tengo es este:

Código de el botón:

Dim Opendir As String
 
  Dialog.Filter = ["*", ("All files"), "*.wcpg", ("Proyecto de WebCPGet")]
  If Dialog.OpenFile() Then Return
  LoadFile(Dialog.Path)
 


y el public LoadFile es:

Dim OpenDatos As String
   Dim reader As XmlReader
   reader = New XmlReader
  
  OpenDatos = File.Load(Opendir)
  Try reader.Open(OpenDatos)
 IF ERROR THEN
   Message.Error("No se cargo el archivo")
   RETURN
 ENDIF
 


lamentablemente mi problema es que en primer lugar cargue el archivo que cargue siempre salta el error de No se cargo el archivo y en segundo lugar no logro entender como pegar los datos que dije anteriormente en los diferentes textbox.

desde ya muchas gracias por su ayuda.
 



 
arglinux - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Buscar Datos Dentro De Un Archivo? 
 

  Dialog.Filter = ["*", ("All files"), "*.wcpg", ("Proyecto de WebCPGet")]
  If Dialog.OpenFile() Then Return
  LoadFile(Dialog.Path)


En lugar de esto prueba:

  dim fichero as file
 
 Dialog.Filter = ["*", ("All files"), "*.wcpg", ("Proyecto de WebCPGet")]
  If Dialog.OpenFile() Then Return
  fichero=File.load(Dialog.Path)
  

En la variable fichero tienes el contenido del fichero seleccionado.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Buscar Datos Dentro De Un Archivo? 
 
shordi escribió: [Ver mensaje]

  Dialog.Filter = ["*", ("All files"), "*.wcpg", ("Proyecto de WebCPGet")]
  If Dialog.OpenFile() Then Return
  LoadFile(Dialog.Path)


En lugar de esto prueba:

  dim fichero as file
 
 Dialog.Filter = ["*", ("All files"), "*.wcpg", ("Proyecto de WebCPGet")]
  If Dialog.OpenFile() Then Return
  fichero=File.load(Dialog.Path)
  

En la variable fichero tienes el contenido del fichero seleccionado.


en la linea  fichero=File.load(Dialog.Path) me dice que no coinciden los tipos ya que requiere file y obtiene string a cambio
 



 
arglinux - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Buscar Datos Dentro De Un Archivo? 
 
Pon  string, pues, en lugar de file.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Buscar Datos Dentro De Un Archivo? 
 
De todas formas, siempre he creído que el formato XML es demasiado engorroso. ¿Por qué no pruebas con CSV?
Supón que tienes un fichero llamado archivo.txt que contiene:

etiqueta1;valor1
etiqueta2;valor2
etiqueta3;valor3
etiqueta4;valor4
etc.

Crea un proyecto nuevo con el nombre que quieras. En el formulario principal coloca un panel llamado Panel1 que ocupe casi todo el formulario y debajo de él un botón llamado Button1.
Luego inserta éste código:
' gambas class file

Private Seleccionado As String

Public Sub Form_Open()

 Dim fichero As String
 Dim afichero, alinea As String[]
 Dim linea As String
 Dim txtbx As Textbox
 Dim lbl As Label
 Dim anchocontrol, altocontrol, n As Integer
 
  anchocontrol = (Me.width / 2) - 2          
  altocontrol = 28
  Dialog.Filter = ["*", ("All files"), "*.txt", ("Proyecto de WebCPGet")]
  If Dialog.OpenFile() Then Return
  seleccionado = Dialog.Path                                    'guardamos el path en la variable private para poder grabar luego los resultados con el mismo nombre
  fichero = File.Load(Dialog.Path)
  afichero = Split(fichero, "\n", "\\", True)                   'dividimos el fichero leído en un array de cadenas
  For Each linea In afichero
      alinea = Split(linea, ";")                                'dividimos cada línea de leída en sus dos valores y los guardamos en variables
      n += 30                                                   'variable incremental que da el valor y para posicionar el control
      lbl = New Label(Panel1)                                    'creamos la etiqueta y alimentamos sus propiedades
      lbl.y = n
      lbl.width = anchocontrol / 2
      lbl.x = 0
      lbl.Alignment = Align.Right
      lbl.Height = altocontrol
      lbl.text = alinea[0]
      lbl.visible = True
      txtbx = New Textbox(Panel1)                                'creamos el textbox y alimentamos sus propiedades
      txtbx.name = cnombre
      txtbx.y = n
      txtbx.x = lbl.width + 2
      txtbx.Width = anchocontrol
      txtbx.Height = altocontrol
      txtbx.Text = alinea[1]
      txtbx.visible = True
  Next

End

Public Sub Button1_Click()
    Dim obj As Object
    Dim cContenido As String
    
    For Each obj In Panel1.Children               'recorremos todos los controles de Panel1 recuperando su propiedad text y almacenándolas en una variable
        cContenido &= obj.text
        If obj Is Textbox Then cContenido &= gb.NewLine
    Next
    
    File.Save(seleccionado, cContenido)               'guardamos esa variable en el fichero
End
 

Más sencillo que todo el XML ese.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Buscar Datos Dentro De Un Archivo? 
 
jeje, me he divertido haciendo este código.
Pongo aquí un ejemplo.

Saludos
 



 
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 ¿Como Buscar Un Archivo HTML En Una Carpe... saej001 General 3 Sabado, 15 Noviembre 2014, 20:13 Ver último mensaje
jsbsan
No hay nuevos mensajes Buscar Una Parte Que Nos Interese De Un Ar... Shell General 8 Jueves, 25 Diciembre 2014, 01:09 Ver último mensaje
vuott
No hay nuevos mensajes Buscar Dentro De Un Array De Objetos xmuno General 9 Jueves, 03 Septiembre 2015, 20:19 Ver último mensaje
xmuno
No hay nuevos mensajes Buscar Un Archivo Que Contenga Un Texto Shell Mundo Linux 0 Martes, 05 Febrero 2019, 15:24 Ver último mensaje
Shell
 

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