Spanish (SOLUCIONADO) Cómo editar archivo .txt

J M Movilla Cuadrado

Member
Licensed User
Encantado con la respuesta a mi primer post (por cierto, no sé como etiquetarlo como [SOLUCIONADO]), me dispongo a seguir dando guerra...

La aplicación que pretendo hacer servirá para presentar un fichero con las claves de nuestras tarjetas bancarias, entre otros datos secretos que necesitamos llevar a mano y de forma segura, contando con que a nuestra edad ya no podemos fiarnos de nuestra RAM cerebral...(Yo tengo ya 87 añazos... y llevo dándole al bit desde 1972, bastante activo en Vb-Mundo, que fundé allá por 2002 con Pablo Tilotta...)

Voy bastante avanzado, pero me falta una parte fundamental: No sé cómo presentar los datos de forma EDITABLE. Veo en el foro cosas relacionadas con CustomListView, pero no consigo acceder a esos archivos. Quisiera que el usuario pudiera modificarlos y añadir datos nuevos o eliminar los obsoletos. Tengo a unos cuantos amigos haciendo cola para celebrar la instalación de la aplicación en su móvil.

Mil gracias.
 
Last edited:

bgsoft

Well-Known Member
Licensed User
Hola J M Movilla:

Como decia Jack el destripador... vayamos por partes :D

Encantado con la respuesta a mi primer post (por cierto, no sé como etiquetarlo como [SOLUCIONADO])
En la parte de arriba donde pone Thread Tools tienes la opcion Edit Title, añadele [SOLUCIONADO] al título que pusiste y ya está

Yo tengo ya 87 añazos...
A ver, a otros les pido que me inviten (virtualmente) a un café o vinillo cuando me dan mucho trabajo la respuesta incluido ejemplo, en Burgos te pediria un vinito o que me invites al asador de Aranda :D, pero te lo pondré facil, cual es el secreto para llegar a 87 años y tener esa ilusión ;)

No sé cómo presentar los datos de forma EDITABLE.
Como ya sabrás por tu corta edad :D, soluciones hay miles, una forma facil seria crear un ScrollView y en este incrustar EditText, cuando detectes un cambio de texto (TextChanged (Old As String, New As String) puedes una vez finalizado y aceptado los cambios salvarlo a un fichero de texto que en cada linea puedes escribir lo del EditText. Por ahí tengo una forma muy facil con un List de como hacerlo, en el foro hay varios sitios donde se dan estas soluciones
https://www.b4x.com/android/forum/threads/listas.33910/#post-199277

Otra, quizas mas "elegante", seria crear un ScrollView y en este incrustar Label y cuando te pulsen para cambiar, abres un panel que contenga el EdiText.

Yo te aconsejo el uso del ScrollView, es muy facil de implementar, te permite incrustar casi de todo, no hace falta que crees matrices de objeto, y conforme van añadiendo lineas podrás moverte arriba/abajo, etc

Saludos
 

J M Movilla Cuadrado

Member
Licensed User
Siguiendo tu ruta... ¡por partes!!!

En la parte de arriba donde pone Thread Tools tienes la opcion Edit Title, añadele [SOLUCIONADO] al título que pusiste y ya está
A mí no me sale la opción Edit Title; sólo tengo Add Poll.

Sobre cómo he llegado a esta edad... ya quisiera darte la solución... Pero ¡se me ha olvidado! (Cosas propias de la edad...)
Pero sí estás invitado a un buen asado en el restaurante César (de Quintanadueñas, muy cerca de Burgos) y a una ración de morcilla "auténtica", con un vino de la Rivera, que no se lo salta un gimnasta (iba a decir "un gitano", pero tengo miedo a que me tachen de lo que no soy). No te he dicho que soy psiquiatra, porque podrías deducir que el secreto va por ahí... y ya sabes que el secreto médico es sagrado. Lo que sí puedo decirte es que, a pesar de que ando mal de las "tuberías y las bajantes", tengo en buen uso el ático, e incluso la azotea (porque, aunque canoso, mantengo el pelo abundante y sano).

Y respecto al núcleo del tema, qué quieres que te diga: que eres un gran maestro, y lo mejor de todo, una gran persona. Me alegra haber dado contigo... Haré las prácticas correspondientes con tu código, y estaremos en contacto.
 

bgsoft

Well-Known Member
Licensed User
Hola:

A mí no me sale la opción Edit Title; sólo tengo Add Poll.
Se que hay algún tipo de licencia de B4A que no permite cambiar el título una vez creado el post.
Igual seria interesante que en ese post al final pusieras una entrada que dijeras que está solucionado. De esa forma si alguien entra podrá saber que se solucionó.

Pero sí estás invitado a un buen asado en el restaurante César (de Quintanadueñas, muy cerca de Burgos)
Esto va bien, pasamos de cafelitos a un buen asado, se nota tu profesión :D
Aunque no lo creas he comido en El Asador de Aranda (en Aranda de Duero), y el camarero que me tocó no me gustó nada, y fué por que pedí un entrecot en vez de cordero (era muy purista :D) . Estuve unos dias en las fiestas de Torregalindo comiendo asado echo el fuego con sarmientos en mitad de la calle, fué muy divertido.

Bueno, hablemos de cosas serias que el personal va a decir que hay que ir por el tema que nos lleva .

Ya que te parece bien lo del ScrollView, aqui puedes encontrar un ejemplo de ScrollView muy bueno y simple e incluso te puedes bajar el .zip del ejemplo:
https://www.b4x.com/android/forum/threads/scrollview-example.6612/#content

Si cambias las imagenes por label o EditText y le pones nombre al evento ya tienes resuelto una buena parte.

B4X:
' Esto es lo que hay en el ejemplo
Dim iv As ImageView 'create an ImageView for each bitmap
iv.Initialize("") 'not interested in any events so we pass empty string.

' si pones label
Dim iv As Label
iv.Initialize("EventoEtiqueta")
iv.Text = "Texto cogido del archivo" ' Si lo pones en un list seria List1.Get(i) por ejemplo
iv.tag = i ' para saber el indice cuando te pulsen
' Puedes darle color de fondo, de texto, tamaño, etc
       
Sub EventoEtiqueta_Click
    Dim b As Label
    b = Sender
    IndiceLabelPulsado = b.tag
    Log("Texto Etiqueta " & b.text)

    ' desde aqui puedes llamar a pedir modificar datos con un panel y un EditText
    ' o mas facilmente con un InputDialog
    ' Si pones un EditText utiliza el Evento NombreEvento_TextChanged (Old As String, New As String

En Sub

Te aconsejo que en los tamaños trabajes con dip


Saludos
 

J M Movilla Cuadrado

Member
Licensed User
Fenomenal... Esto va que chuta (aunque no tan bien como Messi...)

Ya presento todos los datos, incluyendo controles para subir y bajar los pantallazos. (No he encontrado la forma de definir una barra de scroll vertical).

Y estoy atascado en el "EventoEtiqueta" que no consigo activarlo con el clic sobre el label... Pero tovavía quedan más días que longanizas.

Saludos.
 

J M Movilla Cuadrado

Member
Licensed User
El problema persiste; no veo la salida:

No me reconoce la variable "IndiceLabelPulsado", y no me admite "Dim IndiceLabelPulsado As Long" (ni como otro tipo). Y si lo dimensiono en Globals me da error de NumberFormatException for input string:""

Ya sabrás disculpar mi ignorancia de supernovato.
 
Last edited:

bgsoft

Well-Known Member
Licensed User
Hola:

No he encontrado la forma de definir una barra de scroll vertical).
La barra vertical del scroll sale por defecto a la derecha siempre que los item superen la altura del ScrollView, lo que pasa es que es tan sutil que igual no la veas.

Y estoy atascado en el "EventoEtiqueta" que no consigo activarlo con el clic sobre el label
Si cuando creas las etiquetas, le pones ese nombre de evento (EventoEtiqueta) y luego creas un sub con el mismo nombre del evento tiene que entrar , a menos que hagas un iv.Enabled = False , por si las moscas haz un:
B4X:
iv.BringToFront

No me reconoce la variable "IndiceLabelPulsado", y no me admite "Dim IndiceLabelPulsado As Long" (ni como otro tipo)
Sin ver como estas poniendo el codigo es dicifil ayudar, por otro lado el i del bucle es un entero (int), pero si lo dimensionas como long no tendria que dar problema.

Creo que para esas cuestiones que estas preguntando mejor seria que abrieras un nuevo hilo, por varios motivos, si alguien busca una solucion similar o quiere ayudarte, con el titulo de este (Como editar archivo .txt) será dificil saber que ahora se está intentando resolver un problema de ScrollView, de esa forma si tu mismo problema lo tiene otro compañero saldrá beneficiado, y por otro lado seremos mas los que podamos ayudar.



Saludos:
 

J M Movilla Cuadrado

Member
Licensed User
Tienes toda la razón... Estoy mezclando churras con merinas. Ya he puesto el tema en un post nuevo.

Por otra parte, respecto al tema base de este post, ha quedado SOLUCIONADO. Mil gracias.
 

bgsoft

Well-Known Member
Licensed User
Tienes toda la razón... Estoy mezclando churras con merinas. Ya he puesto el tema en un post nuevo.

Por otra parte, respecto al tema base de este post, ha quedado SOLUCIONADO. Mil gracias.

No se deben, aqui estamos para ayudarnos, ya te he contestado en el otro post a los problemas que te han salido. Espero que te funcione.

Saludos
 

J M Movilla Cuadrado

Member
Licensed User
Gracias, Jesús. Iré dando pasos seguros con vuestro apoyo. Aunque tengo mucha experiencia en Visual Basic, el B4A, que en principio me pareció pan comido, se me está poniendo un poco de frente; pero no me va a amilanar: "Yo sigo", como el famoso Rígoli...
 
Top