Título: Ayuda con ANOTADOR Publicado por: ka0s en 11 Octubre 2006, 19:58 pm Bueno, estoy aprendiendo VB y se me dió por hacer un anotador sencillo.. donde vos tipeas lo que querés guardar y cuando le das al boton guardar el form se hace invisible.. y cuando tocas f12 con la api GetAsyncKeyState aparezca en otro FORM lo que hayas escrito antes...
Hasta ahí me funciona todo perfecto, mi problema es que como en un anotador, vas anotando cosas lo hice el archivo que sea APPEND y entonces cuando toco F12 para que me muestra lo que guarde a la 2da vez que toco F12 me lo muestra 2 veces repetidas lo que guardé antes y solamente quiero que me muestre lo último que guarde.. :S.. a ver si alguien me da una idea o algo.. si no entendieron avisen $: Salu2! PD: Y obviamente OUTPUT no puede ser porque yo quiero que siempre que se abra el programa recuerde todo lo que se guardo :S... sino funcionaría perfecto :( Título: Re: Ayuda con ANOTADOR Publicado por: <--v1c1ous--> en 11 Octubre 2006, 21:58 pm No decis como es exactamente.
Pero estas usando APPEND e imagino que cargas todo el contenido del archivo a un Textbox y despues lo volves a guardar con APPEND, ontonces siempre estan guardando lo que alla en el archivo mas lo que hay en el Textbox. Simplemente o no uses APPEND o no cargues todo en el Textbox. Título: Re: Ayuda con ANOTADOR Publicado por: ka0s en 12 Octubre 2006, 01:02 am :S exactamente, hago eso.. pero si no uso APPEND que uso?? ... OUTPUT no puede ser porque yo quiero que recuerde siempre, no solamente cuadno está ejecutado el programa...
:S :S :S Salu2! Título: Re: Ayuda con ANOTADOR Publicado por: <--v1c1ous--> en 12 Octubre 2006, 03:53 am En vez de anexar al archivo de texto podes sobreescrivirlo asi:
Citar Dim Buff as String Buff = Text1.text Open FILE For Binary Access Write As #1 Put #1, , Buff Close #1 Lo hice en binario pero podes hacerlo como quieras, busca en google Tratamiento de ficheros en VB Título: Re: Ayuda con ANOTADOR Publicado por: ka0s en 12 Octubre 2006, 04:04 am buuuuuu, me funcionaba perfectamente NO COMPILADO... lo COMPILE y se cagó anda como antes :S :S :S :(
me quiero matar!!!!!! a ver si alguien sabe pq ocurre eso :S ------------------------------------------------------------------ Acá les dejo todo... FORM1 Citar Option Explicit Private Sub cmdguardar_Click() Dim renglon As String Dim archivo As String Dim info As String info = txtdatos.Text archivo = "C:\datos.txt" 'Abre el archivo y almacena lo que tiene txtdatos Open archivo For Append As #1 Print #1, " " + ">>>" + " " + ""; Format(Time, "hh:mm") + "||" + " " + Format(Now, "dd-mm-yy") + "||" + " " + info Close #1 txtdatos.Text = "" Form1.Visible = False End Sub Private Sub Form_Load() Dim archivo As String On Error GoTo Fallo archivo = GetAttr("C:\datos.txt") Fallo: Open "C:\datos.txt" For Append As #1 Close #1 End Sub Private Sub Form_Resize() txtdatos.Width = Me.ScaleWidth End Sub Private Sub Timer1_Timer() If GetKeyState(vbKeyF12) < 0 Then Form2.Visible = True End If End Sub FORM2 Citar Private Sub cmdvolver_Click() Form2.Visible = False Form1.Visible = True End Sub Private Sub Form_Activate() Dim renglon As String Dim archivo As String archivo = "C:\datos.txt" 'Carga lo que haya almacenado cuando se cargue el form. Open archivo For Input As #1 Do While Not EOF(1) Line Input #1, renglon txtdatos.Text = txtdatos.Text + renglon + vbCrLf Loop Close #1 End Sub Y acá imágenes de lo que me pasa por si no entendieron Este es el form 1, ingreso texto, toco escape y se oculta! (http://img145.imageshack.us/img145/3375/form1bo3.jpg) Cuando toco F12 se carga el FORM2 con lo que ingresé en el FORM1, hasta ahi todo perfecto! (http://img143.imageshack.us/img143/2103/form2so3.jpg) Pero al tocar el BOTON VOLVER que vuelve al FORM1 para ingresar otro dato y luego de tocar escape y luego F12 para que cargue nuevamente ME PONE 2 VECES LO MISMO EN EL ANOTADOR PORQUE VUELVE A ABRIR EL ARCHIVO.. y ese es mi problema que no vuelva a repetir lo que ya esta :S... (http://img167.imageshack.us/img167/9986/form3hi8.jpg) Espero que ahora si me hayan entendido mejor.. desde ya muchas gracias... PD: También tengo un módulo que solo contiene la API GetKeyState... Salu2! Título: Re: Ayuda con ANOTADOR Publicado por: ka0s en 12 Octubre 2006, 22:50 pm Por favor.. nadie sabe? :S :S
Sorry por postear de nuevo :S :S es para revivir el post ... Gracias nuevamente! Título: Re: Ayuda con ANOTADOR Publicado por: <--v1c1ous--> en 13 Octubre 2006, 15:46 pm Arreglo tu problema:
Citar Private Sub cmdvolver_Click() Form2.Visible = False Form1.Visible = True End Sub Private Sub Form_Activate() Dim renglon As String Dim archivo As String txtdatos.Text = "" archivo = "C:\datos.txt" Open archivo For Input As #1 Do While Not EOF(1) Line Input #1, renglon txtdatos.Text = txtdatos.Text + renglon + vbCrLf Loop Close #1 End Sub Codigo mas limpio: Citar Private Sub cmdvolver_Click() Form2.Hide Form1.Show End Sub Private Sub Form_load() Dim Buff As String txtdatos.Text = "" Open "C:\datos.txt" For Binary Access Read As #1 Buff = Space(LOF(1)) Get #1, , Buff Close #1 txtdatos.Text = Buff End Sub :) Título: Re: Ayuda con ANOTADOR Publicado por: ka0s en 13 Octubre 2006, 18:43 pm Gracias man por responder ahora sí anda perfectamente.. tenía que poner el txtdatos.text = "" en el Activate...
Ahora funciona perfecto, y voy a tratar de mejorar esta porquería xD gracias y disculpa si te jodi por MP $: Salu2! |