elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [VB.Net] Problema con textchanged y archivo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [VB.Net] Problema con textchanged y archivo  (Leído 3,598 veces)
Scratz


Desconectado Desconectado

Mensajes: 318



Ver Perfil
[VB.Net] Problema con textchanged y archivo
« en: 29 Agosto 2008, 16:10 pm »

Hola.

Estoy haciendo un pequeño programa que reproduce sonidos asignados a comandos. Algo muy sencillo. Quiero hacer un sistema de autocompletado de los comandos. Para ello, en cada cambio de texto (textchanged) abro el archivo que contiene los comandos y busco coincidencias (eso es lo de menos, sabré hacerlo). El problema que tengo es que cuando borro el texto del TextBox, me tira error diciendo que el archivo ya está abierto, cuando todo el rato lo estoy cerrando.

Aquí va el código (chapuza, lo sé, soy principiante):

Código:
    Private Sub txt_command_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_command.TextChanged

        Dim sTmp As String

        If txt_command.Text = "add" Then

            ofd_add.Title = "Selecciona un sonido:"
            ofd_add.ShowDialog()
            txt_command.Text = txt_command.Text & " " & ofd_add.FileName & " " & InputBox("Introduce el comando con el que se reproducirá el sonido:", "Introduce el comando")
            txt_command.Select(Len(txt_command.Text), 1)
            SetActive()

        End If

        FileOpen(1, My.Application.Info.DirectoryPath & "\sounds.txt", OpenMode.Input)

        While EOF(1) = False

            sTmp = LineInput(1)

            If Mid(sTmp, 1, 1) = "/" Then

                If Mid(txt_command.Text, 1, Len(txt_command.Text)) = Mid(sTmp, 2, Len(txt_command.Text)) Then

                    txt_command.Text = sTmp

                End If

            End If

        End While

        FileClose(1)

    End Sub


La parte del If txt_command.Text = "add"... no es importante. Como veis, cada vez que acaba la Sub el fichero debería haberse cerrado. No abro el archivo en ninguna otra parte del programa. El error de "El archivo ya está abierto." sólo me lo da cuando el TextBox queda vacío (cuando elimino el ultimo carácter).

No encuentro el fallo =S

A ver si alguien me puede echar una mano.
Gracias, saludos.


« Última modificación: 30 Agosto 2008, 15:52 pm por Scratz » En línea

\\... The Revolution Is Comming ...//
Scratz


Desconectado Desconectado

Mensajes: 318



Ver Perfil
Re: [VB.Net] Problema con textchanged y archivo
« Respuesta #1 en: 29 Agosto 2008, 22:14 pm »

Acabo de probar de que cada vez el archivo tenga un número diferente (FileOpen(x,...) y el error que da ahora es:

Citar
El proceso no puede obtener acceso al archivo 'C:\Documents and Settings\Scratz\Escritorio\Pig Grunts\Pig Grunts\Pig Grunts\bin\Debug\sounds.txt' porque está siendo utilizado en otro proceso.

Tampoco es verdad. Pero está claro que, por alguna razón que desconozco, el archivo no se cierra cuando borro el texto del TextBox.

Es raro... a ver si alguien sabe q pasa ;/


En línea

\\... The Revolution Is Comming ...//
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines