openfiledialog

Iniciado por PETTETE, 29 Mayo 2017, 19:20 PM

0 Miembros y 1 Visitante están viendo este tema.

PETTETE

Hola buenas,

he creado un codigo en vb.net pero no me funciona del todo bien.

La cosa es que tengo un archivo txt, el archivo tiene todo numeros menos una letra "A".
cuando el codigo lee la letra A separa el archivo en 2. (desde la letra a hacia arriba y desde la letra a hacia abajo)
bien mi duda es la siguiente, como puedo hacer que los 2 archivos txt nuevos que se crean, se creen en la misma ubicacion del archivo txt viejo, o el base..
mi programa lo hacer pero tengo que especificar la ubicacion mediante codigo y claro, cuando un compañero ejecuta el .exe del visual basic le da error porke la ubicacion le manda a mi pc...

no se si me he explicado bien..

¿ podriais ayudarme?
en caso de que no entendais mi problema decirmelo e intentare explicarme mejor

sabeis que os lo agradeceria muchoo muchooo.

Un saludo de vuestro amigo y vecino,
PETETE;)

PD, LA entrada se llama openfiledialog porke lo de el txt base lo eligo mediante openfiledialog, por eso quieor que los otros 2 txt se generen en la ubicacion del txt elegido.(esa ubicacion puede variar... e ahi mi problema)
UN SALUDO DE VUESTRO AMIGO Y VECINO,
PETETE;)

Eleкtro

#1
Cita de: PETTETE en 29 Mayo 2017, 19:20 PMel txt base lo eligo mediante openfiledialog, por eso quieor que los otros 2 txt se generen en la ubicacion del txt elegido.(esa ubicacion puede variar... e ahi mi problema)

Pues eso es algo extremadamente sencillo de averiguar y de hacer...

Antes de formular una pregunta, deberías leer los miembros expuestos en la clase que estés usando, en este caso OpenFileDialog...


Ahí tienes la solución, la propiedad que andas buscando empieza por "F". Solo debes leer.

Saludos!








PETTETE

#2
Este es parte de mi codigo. Y lo siento pero no creo que sea tan sencillo cuando como tu dices eso que empieza por F lo tengo puesto ... pero no se me guardan en la ubicacion del archivo que eligo.
Se me guardan porque les pongo la ruta en el codigo. pero cuando mi compañero lo ejecuta da error... eso es lo que quiero solucionar. ( mi compñaero utiliza un txt con otro nombre pero contenido parecido y distinta ubicacion claro esta. por eso da error. por que mi codigo tiene guardada mi ubicacion..)

Código (vbnet) [Seleccionar]

 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
       Dim OpenFileDialog1 As New OpenFileDialog

       OpenFileDialog1.AutoUpgradeEnabled = True

       'PEDIR FICHEROS
       OpenFileDialog1.InitialDirectory = "\\PEPE\Users\Public\PEPECompartida\Separar TXT\txt\TITULOS.txt"
       OpenFileDialog1.Filter = "txt files (*.txt)|*.txt |All files (*.*)|*.*"
       OpenFileDialog1.FilterIndex = 2
       OpenFileDialog1.RestoreDirectory = True

       If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
           OpenFileDialog1.OpenFile()


       End If
       txt = OpenFileDialog1.FileName
       crear_txt(txt)

   End Sub


por cierto, GRACIAS!
UN SALUDO DE VUESTRO AMIGO Y VECINO,
PETETE;)

Eleкtro

#3
Disculpa pero no entiendo lo que estás diciendo. En el código que has mostrado, en la variable "txt" haciendo uso de la propiedad OpenFileDialog.FileName estás obteniendo la ruta absoluta del archivo seleccionado, por ende, repito, ¿cual es el problema?.

Aparte, si dices que tú código genera una excepción, pues lo mínimo que deberías hacer es decirnos que tipo de excepción es y mostrarnos también el mensaje de error. No somos adivinos

De todas formas voy a mostrarte un código mejor estructurado y con pequeños fallos de diseño que has tenido, corregidos. A ver si te sirve de ayuda en algo:

Código (vbnet) [Seleccionar]
Private selFile As FileInfo
Private selDirPath As String

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

   Using ofd As New OpenFileDialog

       With ofd
           .AutoUpgradeEnabled = True
           .InitialDirectory = "\\PEPE\Users\Public\PEPECompartida\Separar TXT\txt\TITULOS.txt"
           .Filter = "Plain Text Files (*.txt)|*.txt |All files (*.*)|*.*"
           .FilterIndex = 2
           .RestoreDirectory = True
       End With

       If (ofd.ShowDialog = DialogResult.OK) Then
           ' Using sr As Stream = ofd.OpenFile() ' ¿Esto realmente para qué lo intentas hacer?.
           ' End Using
           Me.selFile = New FileInfo(ofd.FileName)  ' Selected file.
           Me.selDirPath = Me.selFile.DirectoryName ' Selected directory path.
           crear_txt(...)
       Else
           Me.selFile = Nothing
           Me.selDirPath = Nothing

       End If

   End Using

End Sub








PETTETE

Gracias.

lo de la excepcion.. no se me habia ocurrido enviarla... a la siguiente la envio.

un saludo,
petete;)
UN SALUDO DE VUESTRO AMIGO Y VECINO,
PETETE;)