|
Página 1 de 1
|
Leer Una Linea Completa De Un TextArea
Autor |
Mensaje |
Radietor
Alejandro Moya Moya
Usuario
Registrado: Octobre 2010
Mensajes: 37
Edad: 28 Ubicación: España
|
Leer Una Linea Completa De Un TextArea
Hola, buenas noches!!
Llevo un buen rato buscando la solución pero no hay manera . Haber mi situación es la siguiente, tengo un archivo .txt subido a un servidor, he conseguido que dicho archivo sea leido por gambas y pasado a un TextArea, pero ahora viene el problema, y es que lo quiero es que en el texto de un label sea el texto de una cierta linea de dicho textarea. En Visual Basic esto se hacia facilmente con un comando, pero en gambas me es imposible hallar la formula. Haber si me podeis ayudar
Aquí el codigo:
con este código consigo que se descargue el archivo en el texarea pero el problema está en leer una sola lina de dicho textarea.
Un saludo y Feliz Navidad ,
Alejandro Moya
última edición por Radietor el Martes, 24 Diciembre 2013, 14:19; editado 2 veces
|
#1 Lunes, 23 Diciembre 2013, 20:10 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Leer Una Linea Completa De Un TextArea
Radietor:
Citar: el problema está en leer una sola lina de dicho textarea.
Prueba con esto:
Con la instrucción split, "partes" el texto cuando encuentra el caracter gb.crlf ( ver split y gb.crlf )
Saludos
|
#2 Lunes, 23 Diciembre 2013, 22:15 |
|
|
Radietor
Alejandro Moya Moya
Usuario
Registrado: Octobre 2010
Mensajes: 37
Edad: 28 Ubicación: España
|
Re: Leer Una Linea Completa De Un TextArea
Radietor:
Citar: el problema está en leer una sola lina de dicho textarea.
Prueba con esto:
Con la instrucción split, "partes" el texto cuando encuentra el caracter gb.crlf ( ver split y gb.crlf )
Saludos
Muchas gracias!! Me ha funcionado perfecto, pero para evitar gb.crlf, lo he sustituido por Chr$(10) y así funciona perfecto y evito usar un nuevo componente .
Un saludo,
Alejandro Moya
|
#3 Martes, 24 Diciembre 2013, 10:44 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Leer Una Linea Completa De Un TextArea
para evitar gb.crlf, lo he sustituido por Chr$(10) y así funciona perfecto y evito usar un nuevo componente
Hola
gb.crlf no es un componente, sino una constante de gambas que se sustituye en tiempo de ejecución por los caracteres que citas. No hace falta habilitar nada más y es más corto y elegante.
Por otra parte, quizás sea más eficiente analizar las cadenas que buscas dentro del evento read del proceso, usando funciones típicas de cadenas o expresiones regulares, en lugar de buscar una determinada línea dentro de un control textarea, aunque sin conocer tu proyecto no puedo aconsejarte mejor.
Por cierto, gambas tiene clases nativas para descarga de ficheros y páginas web, echa un vistazo a httpclient. Es mucho suponer que tus clientes o usuarios van a tener instalado en su sistema el programa curl, por tanto fallará estrepitosamente si no lo tienen. Siempre que puedas, es mejor evitar el uso de herramientas externas, sobre todo cuando gambas tiene soporte para hacer lo mismo.
Saludos y feliz Navidad
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#4 Martes, 24 Diciembre 2013, 11:12 |
|
|
Radietor
Alejandro Moya Moya
Usuario
Registrado: Octobre 2010
Mensajes: 37
Edad: 28 Ubicación: España
|
Re: Leer Una Linea Completa De Un TextArea
Muchas gracias por ayudarme con mi problema, a continuación os pongo el código y os explico que quiero hacer:
Codigo:
Public Sub Form_Open()
WebSettings.IconDatabase.Path = File.Dir(File.Dir(24"> Temp$()))
WebSettings [WebSettings. PluginsEnabled] = True
WebSettings [WebSettings. JavascriptEnabled] = True
WebSettings [WebSettings. JavaEnabled] = True
ArchivoRadietorconfiguracion
End
Public Sub Process_Read ()
Dim sCad As String
Read #Last, sCad, -99999999999
TextArea1. Text = sCad
End
Public Sub ArchivoRadietorconfiguracion ()
Dim hProc As Process
Dim sCad As String
TextArea1. Text = ""
hProc = Exec ["curl", "http://radietor.16mb.com/Radietor-configuracion.txt"] For Read As "Process"
Do While hProc. State = Process. Running
Label1. text = "Descargando archivo de configuracion, espere"
Wait 0.1
Loop
If TextArea1. text = "" Then
Label1. Text = "Error al conectar con el Servidor de Actualizaciones. Por favor compruebe su conexión a Internet"
Else
Label1. Text = ""
ObtenerLineas
Endif
End
Public Sub ObtenerLineas ()
Dim lineas As New String[]
lineas = Split(TextArea1. Text, Chr$(10 ))
Label6. Text = lineas [1 ]
Label5. Text = lineas [50 ]
Label1. Text = lineas [3 ]
Actualizadorautomatico
End
Public Sub Actualizadorautomatico ()
If Label2. Text = Label6. Text Then
Else If Label2. Text > Label6. Text Then
Message("Posee una versión Beta del programa")
Else If Label2. Text < Label6. Text Then
Label1. Text = "Posee una versión antigua del programa, por favor actualicela"
Endif
End
Haber yo tengo alojado un archivo .txt en mi servidor (este archivo es el archivo de configuración de Radietor, que comparte tanto la versión de Windows como la de Linux, entre una de las funciones que tiene este archivo, y es la función que hago uso en Linux, es la actualizador), dicho archivo quiero que al arrancar el programa se descargue el contenido de dicho archivo en un TexArea, y luego desde este textarea ir cogiendo las lineas que me interesan para hacer uso de las diferentes funciones, entre ellas, y es la que me interesa, es de actualizador. Al descargarse el archivo en el textArea, coge la linea 2 del text area y la compara con un label para ver si es el mismo número, si es mayor o si es menor, y asi sacar los mensajes correspondientes.
Esto es mas o menos la idea de lo que quiero hacer, esto mismo ya lo tengo hecho en Visual Basic con Windows, pero los problemas vienen ahora con Linux , más o menos con el codigo que os he puesto antes funciona como yo quiero, pero me gustaria hacer uso del consejo de jguardon (no usar curl y hacer uso del httpclient), pero no tengo ni idea de como hacerlo.
Con lo que me costo hacer que el ordenador descargase el contenido y lo metiese en el textarea y ahora vuelta a empezar xD , de todos modos, muchas gracias por su consejo y así hacer las cosas tal y como se deberían hacer.
Un saludo,
Alejandro Moya
|
#5 Martes, 24 Diciembre 2013, 16:02 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Leer Una Linea Completa De Un TextArea
Radietor:
Citar: entre una de las funciones que tiene este archivo, y es la función que hago uso en Linux, es la actualizador)"
Mira, en mi blog publique algo que uso para lo mismo, usando el httpclient:
Enlace update
Saludos
Nota:
El archivo con la información la guardo en una direccion pagina de blog realizada en blogger para que asi permanezca mas tiempo y no se borre (lo cual es muy habitual en alojamientos gratuitos).
Ejemplo: http://constructordiploma.blogspot.com.es/2013/02/version.html
última edición por jsbsan el Martes, 24 Diciembre 2013, 16:19; editado 2 veces
|
#6 Martes, 24 Diciembre 2013, 16:16 |
|
|
Radietor
Alejandro Moya Moya
Usuario
Registrado: Octobre 2010
Mensajes: 37
Edad: 28 Ubicación: España
|
Re: Leer Una Linea Completa De Un TextArea
Radietor:
Citar: entre una de las funciones que tiene este archivo, y es la función que hago uso en Linux, es la actualizador)"
Mira, en mi blog publique algo que uso para lo mismo, usando el httpclient:
Enlace update
Saludos
Nota:
El archivo con la información la guardo en una direccion pagina de blog realizada en blogger para que asi permanezca mas tiempo y no se borre (lo cual es muy habitual en alojamientos gratuitos).
Ejemplo: http://constructordiploma.blogspot.com.es/2013/02/version.html
Muchas gracias!!! Creo que ya he conseguido lo que quería, he tenido que retocar un poco el código para hacer que descargase el contenido en el textarea. A continuación os pongo el código, y haber si veis algún fallo más:
Una vez más, muchas gracias
Un saludo,
Alejandro Moya
|
#7 Miercoles, 25 Diciembre 2013, 14:17 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
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
|
|
|
|
|