Foros del Web » Programación » Programación General » Visual Basic clásico »

Escribir texto en un formulario

Estas en el tema de Escribir texto en un formulario en el foro de Visual Basic clásico en Foros del Web. Hola. Me gustaria que alguien me pudiese ayudar. ¿Se puede escribir texto en un formulario sin un textbox o un richtextbox?. Tambien quiero ir creando ...

  #1 (permalink)  
Antiguo 21/04/2008, 06:43
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Pregunta Escribir texto en un formulario

Hola.
Me gustaria que alguien me pudiese ayudar.
¿Se puede escribir texto en un formulario sin un textbox o un richtextbox?.
Tambien quiero ir creando nuevos formularios uno encima de otro pinchando encima de ellos y necesito crear una barra para moverme por ellos tal que asi:
<< 1 de 4 >> (suponiendo que estoy en el primero y si pincho >> que simula una flecha me vaya al siguiente).
Uso VB 6
Alguien me puede ayudar?.
  #2 (permalink)  
Antiguo 21/04/2008, 07:31
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 6 años, 7 meses
Puntos: 37
Re: Escribir texto en un formulario

Hola.

Sí se puede escribir directamente texto en el formulario:

Código:
Private Sub Form_KeyPress(KeyAscii As Integer)
    Dim texto As String
    texto = Chr(KeyAscii)
    ' si el texto llega al margen derecho del form, nueva línea
    If Me.CurrentX >= Me.ScaleWidth - 90 Then Me.Print Chr(13)
    Me.Print texto;
End Sub
Para lo otro puedes usar 4 CommandButton, o mejor un contrl TabStrip (o SSTab).

Un saludo
  #3 (permalink)  
Antiguo 22/04/2008, 03:34
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Re: Escribir texto en un formulario

Hola Avelllaneda, gracias por tu respuesta, me ha ayudado mucho.
¿Sabes como se puede que al hacer click en un formulario se cree otro nuevo justo encima y con la misma medida del que habia?.
Tambien me he dado cuenta que si pones cualquier control en el formulario se deja de poder escribir texto

Última edición por triump; 22/04/2008 a las 03:44
  #4 (permalink)  
Antiguo 22/04/2008, 03:58
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 6 años, 7 meses
Puntos: 37
Re: Escribir texto en un formulario

Hola,

Para lo primero, prueba con éste código:

Código:
Private Sub Form_Click()
Dim Form2 As New Form1
Form2.Caption = "Segundo formulario"
Form2.Top = Form1.Top
Form2.Left = Form1.Left
Form2.Show
End Sub
y para lo segundo, sólo le tienes que poner la propiedad KeyPreview (del Form) a True.


Un saludo
  #5 (permalink)  
Antiguo 22/04/2008, 06:25
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Pregunta Re: Escribir texto en un formulario

Gracias Avellaneda todo perfecto pero ahora queria hacer lo que yo creo que sera muy dificil pero que es muy importante.
Yo voy escribiendo texto en cada formulario y creando nuevos para escribir tambien hast ahi me ha salido gracias a tu ayuda pero ahora queria que ese texto no se perdiera cuando el pc se reinicia o se apaga.
  #6 (permalink)  
Antiguo 22/04/2008, 07:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.703
Antigüedad: 9 años, 4 meses
Puntos: 822
Re: Escribir texto en un formulario

Cita:
Iniciado por triump Ver Mensaje
Gracias Avellaneda todo perfecto pero ahora queria hacer lo que yo creo que sera muy dificil pero que es muy importante.
Yo voy escribiendo texto en cada formulario y creando nuevos para escribir tambien hast ahi me ha salido gracias a tu ayuda pero ahora queria que ese texto no se perdiera cuando el pc se reinicia o se apaga.
Para eso puedes guardar lo que se ha escrito en un archivo de texto...
Con el ejemplo que puso el compañero Avellaneda podrías hacer así:
Código:
Private TextFile As String
Código:
 
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim texto As String texto = Chr(KeyAscii)
' si el texto llega al margen derecho del form, nueva línea
If Me.CurrentX >= Me.ScaleWidth - 90 Then
      Me.Print Chr(13)
      TextFile = TextFile & Chr(13)
End If
Me.Print texto
TextFile = TextFile & Texto
End Sub
Código:
 
Private Sub Form_Unload(Cancel As Integer)
Close
Open "Texto.txt" For Output As #1
Print #1, TextFile;
Close
End Sub
Código:
 
Private Sub Form_Load()
Close
Open "Texto.txt" For Binary As #1
TextFile = Input(LOF(1), 1)
Close
Me.Print TextFile
End Sub
Espero que te ayude...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Última edición por David; 22/04/2008 a las 07:43
  #7 (permalink)  
Antiguo 22/04/2008, 07:36
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Pregunta Re: Escribir texto en un formulario

Te explico mejor lo que quiero hacer.
Es un programa para escribir notas tipo post-it. ¿Has visto un gadget que trae el Windows Vista?, pues parecido.
Creo que lo que tu me pones lo escribe en un archivo de texto .txt y eso perderia el formato post-it que queria mantener en lo que escribo en los formularios, corrigeme si me equivoco o dime si se te ocurre algo porque a mi.........nada.

Última edición por triump; 22/04/2008 a las 07:43
  #8 (permalink)  
Antiguo 22/04/2008, 07:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.703
Antigüedad: 9 años, 4 meses
Puntos: 822
De acuerdo Re: Escribir texto en un formulario

Cita:
Iniciado por triump Ver Mensaje
Como no entiendo casi nada de lo que pones te explico mejor lo que estoy haciendo.
Es un programa para escribir notas tipo post-it.
Creo que lo que tu me pones lo escribe en un archivo de texto .txt o crees que me valdria para conseguir hacer este programa?.
Sí, creo que te servirá. Pues para que 'mantenga' los datos aún habiendo apagado el ordenador tienes que guardar los datos en un archivo...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 22/04/2008, 07:45
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Pregunta Re: Escribir texto en un formulario

Ok, perfecto pero ¿puedo programar para esos archivos se guarden en determinada carpeta sin perder el interfaz tipo post-it que te comento en el post anterior al ultimo tuyo?.
  #10 (permalink)  
Antiguo 22/04/2008, 07:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.703
Antigüedad: 9 años, 4 meses
Puntos: 822
De acuerdo Re: Escribir texto en un formulario

Cita:
Iniciado por triump Ver Mensaje
Ok, perfecto pero ¿puedo programar para esos archivos se guarden en determinada carpeta sin perder el interfaz tipo post-it que te comento en el post anterior al ultimo tuyo?.
Sí, puedes hacer que se guarden en la misma carpeta de tu aplicación (App.Path) o en cualquier otra carpeta...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 22/04/2008, 07:53
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Pregunta Re: Escribir texto en un formulario

Gracias David pero me estoy liando un poco.
Te explico lo que tengo hecho hasta ahora: tengo un formulario donde escribo y cada vez que hago doble click me sale uno nuevo (para escribir un post-it nuevo).
¿Me puedes "colocar" un poco el codigo para guardar lo que escribo en cada formulario en un archivo de texto en la carpeta del programa?.
Tambien queria que al arrancar Windows todos los formularios (post-it's) me salgan al inicio y habia pensado en colocar el ejecutable de la aplicacion en la carpeta inicio de Windows, ¿crees que saldran todos los formularios con su correspondiente texto sin hacer nada por parte del usuario?
  #12 (permalink)  
Antiguo 22/04/2008, 07:56
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 6 años, 7 meses
Puntos: 37
Re: Escribir texto en un formulario

Para que el texto no se pierda, lo puedes guardar en un archivo plano (.txt, .ini... e incluso en una base de datos).

Como podrás comprobar Visual Basic tiene recursos para casi todo. En este ejemplo vamos a guardar lo escrito en el Form en un archivo .txt que después podrás recuperar:

Código:
Dim s As String  ' Variable a nivel de módulo

Private Sub Form_KeyPress(KeyAscii As Integer)
Dim texto As String
texto = Chr(KeyAscii)
' si el texto llega al margen derecho del form, nueva línea
If Me.CurrentX >= Me.ScaleWidth - 90 Then Me.Print Chr(13)
Me.Print texto;
' cargamos lo tecleado en la variable "s"
s = s & texto
End Sub

Private Sub Form_Unload(Cancel As Integer)
' si no existe Prueba.txt, lo crea y si existe lo sobreescribe
Open App.Path & "\Prueba.txt" For Output As #1
    Print #1, s
Close #1
End Sub
Espero que te sirva.
Un saludo.

Edicción: No lo entiendo, cuando entré en el post no había ninguna respuesta a la última de triump (14:25:29) y ahora han salido unas cuantas. Siento si lo repetí.

Última edición por Avellaneda; 22/04/2008 a las 08:01
  #13 (permalink)  
Antiguo 22/04/2008, 07:59
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Pregunta Re: Escribir texto en un formulario

Gracias Avellaneda pero lo que no se es colocarlo en lo que tengo ahora que es esto:

Private Sub Form_Click()
Dim x As New frmPostIt
x.Top = frmPostIt.Top
x.Left = frmPostIt.Left
x.Show
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
Dim texto As String
texto = Chr(KeyAscii)
' si el texto llega al margen derecho del form, nueva línea
If Me.CurrentX >= Me.ScaleWidth - 90 Then Me.Print Chr(13)
Me.Print texto;
End Sub
  #14 (permalink)  
Antiguo 22/04/2008, 08:00
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.703
Antigüedad: 9 años, 4 meses
Puntos: 822
De acuerdo Re: Escribir texto en un formulario

Cita:
Iniciado por triump Ver Mensaje
Gracias David pero me estoy liando un poco.
Te explico lo que tengo hecho hasta ahora: tengo un formulario donde escribo y cada vez que hago doble click me sale uno nuevo (para escribir un post-it nuevo).
¿Me puedes "colocar" un poco el codigo para guardar lo que escribo en cada formulario en un archivo de texto en la carpeta del programa?.
Tambien queria que al arrancar Windows todos los formularios (post-it's) me salgan al inicio y habia pensado en colocar el ejecutable de la aplicacion en la carpeta inicio de Windows, ¿crees que saldran todos los formularios con su correspondiente texto sin hacer nada por parte del usuario?
Bueno, primero, solo a modo de sugerencia, creo que será mejor usar una sola ventana para mostrar todos los recordatorios, usando PictureBox puedes ir cambiando y creando recordatorios nuevos.
Puedes usar el código que te escribí, solo debes modificarlo para ajustarlo a tus necesidades.
Para colocar un programa al arrancar Windows debes colocarlo en la siguiente clave del registro:
Código:
 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Puedes hacer que aparezcan los recordatorios sin que el usuario haga nada programando la acción al cargar la ventana...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 22/04/2008, 08:13
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Re: Escribir texto en un formulario

Cita:
Iniciado por David el Grande Ver Mensaje
Bueno, primero, solo a modo de sugerencia, creo que será mejor usar una sola ventana para mostrar todos los recordatorios, usando PictureBox puedes ir cambiando y creando recordatorios nuevos.
Puedes usar el código que te escribí, solo debes modificarlo para ajustarlo a tus necesidades.
Para colocar un programa al arrancar Windows debes colocarlo en la siguiente clave del registro:
Código:
 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Puedes hacer que aparezcan los recordatorios sin que el usuario haga nada programando la acción al cargar la ventana...
De momento queria seguir como lo estoy haciendo ya que creo que estoy cerca del final pero no deshecho la opcion para nada.

Gracias por lo de la clave del registro, voy a indagar como se programa eso.
¿crees que saldran todas las notas sin intervencion del ususario usando esta clave del registro?.
  #16 (permalink)  
Antiguo 22/04/2008, 08:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.703
Antigüedad: 9 años, 4 meses
Puntos: 822
Re: Escribir texto en un formulario

Cita:
Iniciado por triump Ver Mensaje
De momento queria seguir como lo estoy haciendo ya que creo que estoy cerca del final pero no deshecho la opcion para nada.

Gracias por lo de la clave del registro, voy a indagar como se programa eso.
¿crees que saldran todas las notas sin intervencion del ususario usando esta clave del registro?.
Usando esa clave del registro tu programa arrancará con Windows.
Para que todas las notas aparezcan debes programarlo. Debes hacer que las notas aparezcan cuando arranca tu programa usando Sub Main o el evento Load de tu primera ventana...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #17 (permalink)  
Antiguo 23/04/2008, 06:00
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Pregunta Re: Escribir texto en un formulario

Hola amigos David el grande y Avellaneda.

He programado lo siguiente:

Código:
Private Sub Form_KeyPress(KeyAscii As Integer)
    Dim texto As String
    texto = Chr(KeyAscii)
    ' si el texto llega al margen derecho del form, nueva línea
    If Me.CurrentX >= Me.ScaleWidth - 90 Then Me.Print Chr(13)
    Me.Print texto;
End Sub

Private Sub Form_Load()
Close
Open "Prueba.txt" For Binary As #1
TextFile = Input(LOF(1), 1)
Close
Me.Print TextFile
End Sub

Private Sub Form_Unload(Cancel As Integer)
' si no existe Prueba.txt, lo crea y si existe lo sobreescribe
Open App.Path & "\Prueba.txt" For Output As #1
    Print #1, s
Close #1
End Sub
y me guarda los archivos en el directorio de la aplicacion pero sin texto alguno del que escribo. ¿Podeis ayudarme?.
  #18 (permalink)  
Antiguo 23/04/2008, 07:14
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 6 años, 7 meses
Puntos: 37
Re: Escribir texto en un formulario

Creo que no copiaste todas las líneas del código que puse, sobre todo en lo referente a la variable "s".

¡Revísalo!

Un saludo
  #19 (permalink)  
Antiguo 25/04/2008, 02:54
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Re: Escribir texto en un formulario

Hola Avellaneda.

He creado un modulo nuevo con la variable 's' que me pones y lo demas que me pusiste lo puse en el codigo del formulario y no me guarda ningun archivo ahora.
Creo que no se usar modulos en un programa.

Última edición por triump; 25/04/2008 a las 03:04
  #20 (permalink)  
Antiguo 25/04/2008, 03:31
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 6 años, 7 meses
Puntos: 37
Re: Escribir texto en un formulario

Hola,

No! no tienes que crear ningún módulo nuevo. Declaras la variable al principio del mismo módulo donde tienes el código, antes de cualquier función o evento.

Un saludo.
  #21 (permalink)  
Antiguo 25/04/2008, 03:51
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Re: Escribir texto en un formulario

Hola Avellaneda. He escrito este codigo y me crea al archivo y cuando doy al boton de salir no me guarda el texto.

Código:
Dim s As String
Private Sub Cmdprueba_Click()
    End
    
End Sub

Private Sub Form_Click()
Dim i As Integer
For i = 1 To 90 Step 1
        Label1.Caption = i
        Dim x As New frmPostIt
        x.Top = frmPostIt.Top
        x.Left = frmPostIt.Left
        x.Show
         
    Next i
End Sub


Private Sub Form_KeyPress(KeyAscii As Integer)
Dim texto As String
texto = Chr(KeyAscii)
' si el texto llega al margen derecho del form, nueva línea
If Me.CurrentX >= Me.ScaleWidth - 90 Then Me.Print Chr(13)
Me.Print texto;
' cargamos lo tecleado en la variable "s"
s = s & texto
End Sub

Private Sub Form_Unload(Cancel As Integer)
' si no existe Prueba.txt, lo crea y si existe lo sobreescribe
Open App.Path & "\Prueba.txt" For Output As #1
    Print #1, s
Close #1
End Sub
  #22 (permalink)  
Antiguo 25/04/2008, 04:19
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 6 años, 7 meses
Puntos: 37
Re: Escribir texto en un formulario

Hola, supongo que el botón de Salir es "cmdprueba"

Antes de la instrucción End, escribe esta línea:

Unload Me


Un saludo
  #23 (permalink)  
Antiguo 25/04/2008, 06:18
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Pregunta Re: Escribir texto en un formulario

Gracias Avelllaneda en efecto funciona y ahora me escribe el texto en un fuchero pero el programa no hace lo que quiero.
Queria que segun fuera escribiendo se guardara automaticamente y cuando reiniciara el pc quedara guardado lo que escribi y todo esto para cada formulario nuevo que cree cada uno con su correspondiente texto. Sin botones para guardar.
Tambien queria que cuando con el boton derecho elija eliminar "nota" en este caso formulario se eliminara el archivo que se creo y botones de navegacion para navegar entre los distintos formularios que se vayan creando tipo << 1 de 4 >>
  #24 (permalink)  
Antiguo 25/04/2008, 12:37
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.703
Antigüedad: 9 años, 4 meses
Puntos: 822
De acuerdo Re: Escribir texto en un formulario

Cita:
Iniciado por triump Ver Mensaje
Gracias Avelllaneda en efecto funciona y ahora me escribe el texto en un fuchero pero el programa no hace lo que quiero.
Queria que segun fuera escribiendo se guardara automaticamente y cuando reiniciara el pc quedara guardado lo que escribi y todo esto para cada formulario nuevo que cree cada uno con su correspondiente texto. Sin botones para guardar.
Tambien queria que cuando con el boton derecho elija eliminar "nota" en este caso formulario se eliminara el archivo que se creo y botones de navegacion para navegar entre los distintos formularios que se vayan creando tipo << 1 de 4 >>
Bueno, cuando cargas el formulario puedes asignarle un nombre de fichero único, y lo colocas en la propiedad Tag, para que sepa en qué archivo debe guardar y en caso de que se elimine, qué archivo eliminar.

Para la navegación "<<1 de 4>>" tienes la colección Forms que te permite saber cuales son tus ventanas activas...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #25 (permalink)  
Antiguo 25/04/2008, 13:42
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Re: Escribir texto en un formulario

Gracias David el grande.
No se pasar el nombre de fichero unico en la propiedad tag de un formulario, es decir donde meto esta propiedad en este codigo para cada formulario que vaya creando.

Código:
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim texto As String
texto = Chr(KeyAscii)
' si el texto llega al margen derecho del form, nueva línea
If Me.CurrentX >= Me.ScaleWidth - 90 Then Me.Print Chr(13)
Me.Print texto;
' cargamos lo tecleado en la variable "s"
s = s & texto
End Sub

Última edición por triump; 25/04/2008 a las 13:48
  #26 (permalink)  
Antiguo 25/04/2008, 13:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.703
Antigüedad: 9 años, 4 meses
Puntos: 822
Re: Escribir texto en un formulario

Cita:
Iniciado por triump Ver Mensaje
Hola David el Grande.

Pero todo esto en que evento del formulario lo debo colocar para que cuando reinicie el pc el texto se conserve?. Gracias.
En tu caso te recomiendo que no inicies ningún Form, coloca para que inicie con Sub Main, allí revisas todos los archivos que tienes en la carpeta y ábrelos en ventanas separadas...

P.S.: Puedes listar los archivos con Dir
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #27 (permalink)  
Antiguo 25/04/2008, 13:49
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Re: Escribir texto en un formulario

Hola DAvid el Grande.
Me has pillado editando el texto y en realidad mi pregunta es el post anterior al ultimo que has puesto tu
No se hacer esto ultimo que me dices tampoco.
  #28 (permalink)  
Antiguo 25/04/2008, 13:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.703
Antigüedad: 9 años, 4 meses
Puntos: 822
Re: Escribir texto en un formulario

Me refería a que hagas algo como ésto cuando cargas una nueva ventana (para escribir un nuevo recordatorio):
Código:
 
'Algo así haces para mostrar una nueva ventana
Dim Form As Form
Set Form = New Form1
Form.Tag = "Tip" & Forms.Count & ".txt"
A la hora de guardar colocas:
Código:
 
Open Form.Tag For Output As #1
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #29 (permalink)  
Antiguo 25/04/2008, 14:00
 
Fecha de Ingreso: abril-2008
Mensajes: 33
Antigüedad: 6 años, 4 meses
Puntos: 0
Re: Escribir texto en un formulario

Gracias. Tengo que digerir este codigo que me pones y ya te comento.
Para que sirve iniciar con sub main??
  #30 (permalink)  
Antiguo 25/04/2008, 14:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.703
Antigüedad: 9 años, 4 meses
Puntos: 822
Re: Escribir texto en un formulario

Cita:
Iniciado por triump Ver Mensaje
Gracias. Tengo que digerir este codigo que me pones y ya te comento.
Para que sirve iniciar con sub main??
Con Sub Main no carga ninguna ventana al inicio. Tú programas las ventanas que quieres que aparezcan (colocando en un módulo el Sub Main)...

Estaré ausente por unos días, así que de paso dejo algo que puede ayudarte.
Coloca este código en un módulo:
Código:
 
Sub Main()
Dim FileName As String
'Aquí vemos si existen archivos en nuestro directorio
FileName = Dir("C:\Tips\Tip*.txt", vbArchive)
If FileName = "" Then
     ' Si no existe ninguno mostrar una ventana nueva
     LoadNewForm EmptyFile("C:\Tips\")
Else
     ' Si existe mostrar en una ventana el archivo y continuar buscando otros archivos
     Do
          LoadNewForm "C:\Tips\" & FileName
          FileName = Dir
     Loop While FileName <> ""
End If
End Sub
Sub LoadNewForm(ByVal FileName As String)
' Con esto mostramos una nueva ventana
Dim Form As Form
Set Form = New Form1
Form.Tag = FileName
Form.LoadFile 'Debes programar Sub LoadFile() en el formulario para que cargue el archivo especificado en Form.Tag
Form.Show
End Sub
Function EmptyFile(ByVal Path As String) As String
'Buscamos el primer archivo que no existe de la cadena Tip1.txt, Tip2.txt, ...
Dim FileName As String
Dim Count As Single
Do
     Count = Count + 1
     FileName = Dir(Path & "Tip" & CStr(Count) & ".txt", vbArchive)
Loop While FileName <> ""
EmptyFile = Path & "Tip" & CStr(Count) & ".txt"
End Function
Espero que te sea de utilidad.
El resto lo dejo por tu cuenta...

Saludos

P.S.: El código no lo he probado por falta de Visual Basic, si tiene algún error, me avisas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Última edición por David; 25/04/2008 a las 15:10
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:32.
SEO by vBSEO 3.3.2