Editor de textos con visual basic
Por favor, solicito información para lograr una aplicación. Os explico lo que quiero hacer: Partiendo de un archivo *.txt(un archivo de texto) en el cual se tendría que poder "tirar" dentro de una aplicación en VB y que la pudiera editar, por ejemplo:
01 x120 y670 z456 f200 L20
02 x456 y789 z5467 f390
...
Lo que yo pretendo es modificar los valores F, y poder introducir prefijos delante de cada línea...
Espero que alguien me ayude.HELP!
01 x120 y670 z456 f200 L20
02 x456 y789 z5467 f390
...
Lo que yo pretendo es modificar los valores F, y poder introducir prefijos delante de cada línea...
Espero que alguien me ayude.HELP!
1 respuesta
Respuesta de pcampora
1
1
pcampora, DATOS PERSONALES: Nacionalidad: Argentina
Primero crea un formulario y agrega los siguientes controles:
DriveListBox -> Name = Drive1
DirListBox -> Name = Dir1
FileListBox -> Name = File1
CommandButton -> Name = Command1
RichTextBox -> Name = RichTextBox1
Ahora modifica la propiedad ScrollBars=rtfBoth del control RichTextBox1.
El siguiente código carga el archivo .txt seleccionado del FileListBox en el RichTextBox y cuando presionas el botón te guarda el archivo:
Private Sub Command1_Click()
If (Trim(RichTextBox1.filename) <> "") Then
RichTextBox1.SaveFile RichTextBox1.filename, rtfText
End If
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub File1_Click()
RichTextBox1.LoadFile File1.Path & "\" & File1.filename, rtfText
End Sub
Private Sub Form_Load()
File1.Pattern = "*.txt"
'RichTextBox1.ScrollBars = rtfBoth
'Form1.StartUpPosition = 2
Dir1.Path = App.Path
Drive1.Drive = Left(App.Path, 3)
End Sub
Supongo que el archivo lo quieres modificar manualmente, ya que no entiendo bien que y como lo quieres modificar. Si quieres hacerlo de forma automática, avisame y explicame mejor (con un ejemplo) así me fijo.
Si la respuesta te parecido útil, no te olvides de ponerle puntaje a la respuesta.
DriveListBox -> Name = Drive1
DirListBox -> Name = Dir1
FileListBox -> Name = File1
CommandButton -> Name = Command1
RichTextBox -> Name = RichTextBox1
Ahora modifica la propiedad ScrollBars=rtfBoth del control RichTextBox1.
El siguiente código carga el archivo .txt seleccionado del FileListBox en el RichTextBox y cuando presionas el botón te guarda el archivo:
Private Sub Command1_Click()
If (Trim(RichTextBox1.filename) <> "") Then
RichTextBox1.SaveFile RichTextBox1.filename, rtfText
End If
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub File1_Click()
RichTextBox1.LoadFile File1.Path & "\" & File1.filename, rtfText
End Sub
Private Sub Form_Load()
File1.Pattern = "*.txt"
'RichTextBox1.ScrollBars = rtfBoth
'Form1.StartUpPosition = 2
Dir1.Path = App.Path
Drive1.Drive = Left(App.Path, 3)
End Sub
Supongo que el archivo lo quieres modificar manualmente, ya que no entiendo bien que y como lo quieres modificar. Si quieres hacerlo de forma automática, avisame y explicame mejor (con un ejemplo) así me fijo.
Si la respuesta te parecido útil, no te olvides de ponerle puntaje a la respuesta.
01 x120 y670 z456 f200 L20
02 x456 y789 z5467 f390
03 x560 y 845 z34 s344
01,02,03,... seria el numero de línea del texto.
Imaginate un texto de 6000 líneas en las cuales queramos agregar un Sufijo que ponga M90. Te muestro por ejemplo como debería quedar la línea 01:
01 x120 y670 z456 f200 L20 M90
O que después de que se encuentre una letra F, podamos modificar el número que esta junto a esta letra por ejemplo:
01 x120 y670 z456 f200 L20
de deveria poder modificar la f200 a f467, por ejemplo. Quedaria:
01 x120 y670 z456 f467 L20
... y así con las variables F, ES, M,...
uN SALUDO y espero que puedas ayudarme, pero quizás por este medio nos falte entorno para poder explicarme mejor. Es algo complicado, al menos para mi, explicarte lo que quiero conseguir.
Un saludo y gracias por tu esmero.
Feliz navidad.
02 x456 y789 z5467 f390
03 x560 y 845 z34 s344
01,02,03,... seria el numero de línea del texto.
Imaginate un texto de 6000 líneas en las cuales queramos agregar un Sufijo que ponga M90. Te muestro por ejemplo como debería quedar la línea 01:
01 x120 y670 z456 f200 L20 M90
O que después de que se encuentre una letra F, podamos modificar el número que esta junto a esta letra por ejemplo:
01 x120 y670 z456 f200 L20
de deveria poder modificar la f200 a f467, por ejemplo. Quedaria:
01 x120 y670 z456 f467 L20
... y así con las variables F, ES, M,...
uN SALUDO y espero que puedas ayudarme, pero quizás por este medio nos falte entorno para poder explicarme mejor. Es algo complicado, al menos para mi, explicarte lo que quiero conseguir.
Un saludo y gracias por tu esmero.
Feliz navidad.
Si el código que te paso es demasiado o si no quieres escribir todo de vuelta, decime tu email y te mando el proyecto hecho en VB 5.
Antes de darte una solución definitiva dejame que te pregunte un par de cosas:
1) ¿Cuántos sufijos son? solo x,y,z,f,l y m? ¿Infinitos? ¿Todas las letras del alfabeto?
2) ¿Se den agregar en un orden fijo? ¿O puede haber cualquier sufijo en cualquier orden?
Antes de darte una solución definitiva dejame que te pregunte un par de cosas:
1) ¿Cuántos sufijos son? solo x,y,z,f,l y m? ¿Infinitos? ¿Todas las letras del alfabeto?
2) ¿Se den agregar en un orden fijo? ¿O puede haber cualquier sufijo en cualquier orden?
Primero de todo aclararte de cuando hablo de sufijo de línea y sufijo después de letra.
Sufijo de línea:
si tenemos la linia 01=
01 x120 y670 z456 f200 L20
Y queremos agregar algo al final. Quedaría igual que la inicial pero con M90, por ejemplo. Se debería poder escoger los números de líneas que no queramos que nos afecte, por ejemplo:
01,30(de la línea 1 a la 30) que no se agregue el sufijo de línea...
01 x120 y670 z456 f200 L20 M90
Por otra parte,
Sufijo después de letra:
Esto afectara a TODAS las variables que se encuentren dentro del texto que contengan un PREFIJO tal como F, ES, R, T excluisvamente. Pretendemos modificar el número(o sufijo) que va después de esta letra. Por ejemplo, en la línea 01:
01 x120 y670 z456 f200 L20
se deveria poder modificar la f200 a f467, por ejemplo. Quedaria:
01 x120 y670 z456 f467 L20
E igual que con esta línea, debería pasar lo mismo con el resto de las variables F(lo que sea) dentro del texto.
La segunda pregunta no la entiendo. Lo siento.
Felices fiestas i prospero año 2003.
MarK
Sufijo de línea:
si tenemos la linia 01=
01 x120 y670 z456 f200 L20
Y queremos agregar algo al final. Quedaría igual que la inicial pero con M90, por ejemplo. Se debería poder escoger los números de líneas que no queramos que nos afecte, por ejemplo:
01,30(de la línea 1 a la 30) que no se agregue el sufijo de línea...
01 x120 y670 z456 f200 L20 M90
Por otra parte,
Sufijo después de letra:
Esto afectara a TODAS las variables que se encuentren dentro del texto que contengan un PREFIJO tal como F, ES, R, T excluisvamente. Pretendemos modificar el número(o sufijo) que va después de esta letra. Por ejemplo, en la línea 01:
01 x120 y670 z456 f200 L20
se deveria poder modificar la f200 a f467, por ejemplo. Quedaria:
01 x120 y670 z456 f467 L20
E igual que con esta línea, debería pasar lo mismo con el resto de las variables F(lo que sea) dentro del texto.
La segunda pregunta no la entiendo. Lo siento.
Felices fiestas i prospero año 2003.
MarK
Ya estoy terminando un ejemplo en vb 5, así que decime tu email (sino crea uno) así te envío el código fuente (no el .exe), ya que si te digo la respuesta acá no vas a entender nada.
Pcampora, muchas gracias! Si lo tienes es que eres el REY!
Mi e-amil:
[email protected]
Te deseo lo mejor para este próximo año!
Muchísimas gracias!
Mi e-amil:
[email protected]
Te deseo lo mejor para este próximo año!
Muchísimas gracias!
Ya te envíe por email el proyecto hecho en VB5, así que si te fue útil no te olvides de ponerle puntaje a la respuesta, así ya se que te respondí.
Te decía que tengo instalado VB6 i me salen un montón de errores, ademas creo que por la estructura del programa necesita el símbolo (=) para ejecutar el cambio de variables. Si no lo podemos solucionar finalizo la pregunta. Ten por seguro que le daré una buena puntuación. No lo dudes. Un saludo de tu amigo MarC.
Para abrir el proyecto desde el vb6 crea un proyecto en blanco y agregale el form desde project->>add form
Lo del símbolo igual (en las variables) es para poder diferenciar el nombre de la variable (f, por, y, zs, xz, etc.) del valor a reemplazar.
Yo lo probé con el archivo ejemplo.txt que te envíe y funciona perfectamente.
Lo del símbolo igual (en las variables) es para poder diferenciar el nombre de la variable (f, por, y, zs, xz, etc.) del valor a reemplazar.
Yo lo probé con el archivo ejemplo.txt que te envíe y funciona perfectamente.
Eliminé el programa que me mandaste por error: te pido por favor que me lo mandes nuevamente. Lo siento.
[email protected]
[email protected]
El archivo ejemplo.txt no contiene el simbolo (=). Supondo que no es necesaria esa variable en archivo "txt" para que el programa funcione?
Un saludo,
Marc
[email protected]
[email protected]
El archivo ejemplo.txt no contiene el simbolo (=). Supondo que no es necesaria esa variable en archivo "txt" para que el programa funcione?
Un saludo,
Marc
Tanto en el TextBox donde especifico el nuevo valor de las variables, como en el archivo .txt que te envío aparece el signo =
A mi me funciona perfectamente, es decir, modifica los valores de las variables especificadas en las lineas especificadas.
Si quieres que modifique algo, como por ejemplo (no necesitar el signo = en el archivo .txt, si es que ya tienes uno creado) o nonecesitar los números de linea escritos en el .txt, simplemente avisame.
Te envío todo de vuelta a los dos email.
No te olvides de ponerle puntaje a mi respuesta.
A mi me funciona perfectamente, es decir, modifica los valores de las variables especificadas en las lineas especificadas.
Si quieres que modifique algo, como por ejemplo (no necesitar el signo = en el archivo .txt, si es que ya tienes uno creado) o nonecesitar los números de linea escritos en el .txt, simplemente avisame.
Te envío todo de vuelta a los dos email.
No te olvides de ponerle puntaje a mi respuesta.
- Compartir respuesta
- Anónimo
ahora mismo