Autor Tema: Ayuda generar txt con informacion de un Form  (Leído 7315 veces)

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

nemesis wolf

  • Bit
  • Mensajes: 5
  • Reputación: +0/-0
    • Ver Perfil
Ayuda generar txt con informacion de un Form
« en: Agosto 13, 2015, 12:32:48 am »
Hola a todos tengo una duda que no eh podido resolver, ya llevo tiempo intentanto pero no logro hacerlo funcionar, es un proyecto de la escuela para el departamento de nominas, tengo una ventana donde introdusco los datos y ya me da otros datos por default mi duda es como hacer para mandar esos datos que estan almacenados en labels y textbox como mandarlos a imprmir en txt

Aqui les dejo un ejemplo del form





JBB

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +3/-0
    • Ver Perfil
Re:Ayuda generar txt con informacion de un Form
« Respuesta #1 en: Agosto 13, 2015, 04:05:12 am »
Hola.
Para crear un txt con la lista de todos los detalles solo tienes que hacer el recorrido de los labels y textos mediante un For Next y añadiendo saltos de linea vbCrLf en cada Next.
Hacerlo en txt es algo que para mi resulta incomodo de leer. A menos que sean pocos datos.

Una forma mas cómoda de leer es creando un xml con su hoja de stylos (Stylo.css) y lo puedes visualizar en cualquier explorer y darle a imprimir.
El utilizar xml y Stylo.css te permite utilizar colores, alinear, negrita, ponerle fotos, tamaño de fuente, tipo de fuente etc.
Y si te resulta mas fácil, puedes hacerlo con Html y Stylos.
Otra forma de hacerlo seria poner los textos dentro de un ListView.

Para imprimirlo:
1. Guardamos el txt o xml o html
2. Cargamos un form con un WebBrowser con la ruta del txt o xml o html y le ponemos un botón de imprimir.
     También puedes cargar el WebBrowser dentro de un Picture y que sea visible o false.

En esta web tienes muchos ejemplos y ejercicios para hacerlo con xml:
http://www.mclibre.org/consultar/xml/index.html
En este otro enlace puedes ver con varios ejemplos, una idea de como puede quedar:
http://www.mclibre.org/consultar/xml/ejercicios/css.html

Realmente es muy simple y fácil pero tenemos una facilidad tremenda de hacer que lo simple se vea complicado.

Aqui tienes un ejemplo que te he preparado:
http://novaplus.es/XML-HTML/Ejemplo.xml
Y esta es una captura de como queda.

Esta claro que es cuestión de que lo adaptes a tu gusto.

Aqui te dejo el ejemplo para que lo descargues:
http://novaplus.es/XML-HTML.rar

Salu2


Nota:
Hace como 15 años que utilizo xml para infinidad de cosas y es realmente magnifico lo que se puede hacer.
Las webs se pueden hacer con xml, pero html es un negocio muy poderoso y recordemos que Google es el primer interesado en el Html5.
Windows lo utiliza muchísimo desde Win95, son los padres del xml.
« última modificación: Agosto 13, 2015, 07:02:29 am por JBB »

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Ayuda generar txt con informacion de un Form
« Respuesta #2 en: Agosto 13, 2015, 01:10:06 pm »
Me gusto tu aporte JBB, se agradece.

Saludos
Me encuentras en YAcosta.com

nemesis wolf

  • Bit
  • Mensajes: 5
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda generar txt con informacion de un Form
« Respuesta #3 en: Agosto 14, 2015, 12:47:38 am »
Gracias ! por la explicacion y por los ejemplos y conincido contigo de que se ve mejor ya que los archivos en txt son tediosos de leer pero el problema va que el sistema no puedo ponerlo a mi manera sino segun los requerimientos que me dieron en la institucion y por fuerza tiene que ser txt , ya que estos los envian al ISSTE y de esa forma se los piden.

de antemano gracias por la info y si podrias explicarme un poco sobre como hacer esto usando el For next

gracias

JBB

  • Bytes
  • *
  • Mensajes: 28
  • Reputación: +3/-0
    • Ver Perfil
Re:Ayuda generar txt con informacion de un Form
« Respuesta #4 en: Agosto 14, 2015, 07:38:46 am »
Hola.
Para que te sea realmente útil mi ayuda, necesito que me pongas dos lineas exactas de lo que tienes que presentar en ese txt.
Ejemplo:
aaaaaaaa + bbbbbbb + ccccccc etc.
aaaaaaaa= 1111  +  bbbbbbb= 222222 etc.
Seguro salud = 042

Y dime si todas las lineas son iguales o tienen diferente cantidad de datos
Por la foto que acompañas deduzco que todas las lineas serán similares.



De todas formas te digo como hacerlo de la forma mas simple.

'1. Tenemos que utilizar una variable o un listbox o un TexBox para recoger toda la info.
'Inserta un TextBox con nombre: TextPrinter con la propiedad de multilinea.
'Lo puedes dejar en visible false para que no se vea.

'2. Todos los labels y textbox tienen que estar indexados para que sea cómodo.
'LabelA(0)
'TextA(0)
'etc.
'Si copias un label y luego le das a pegar, te sale una ventana que te pregunta si quieres hacerlo con una matriz.
'A eso me refiero con lo de que tienen que estar indexados.

'3. Creamos el txt
Dim i As Integer ' Esto es para el bucle del For Nex
On Error Resume Next    ' Error Esto no es necesario, pero te lo pongo para evitarte molestias en principio si no lo haces bien
TextPrinter= "" 'Dejamos el contenedor de texto vació.
For i = 0 To 20       'Aquí ponemos la cantidad de labels y que sera la misma de textbox, también lo podemos poner que sea de forma automática.
    TextPrinter = TextPrinter & LabelA(i) & ":= " & TextA(i) & vbCrLf       ' vbCrLf es el salto de linea
Next i

'4. Guardamos el txt. Puedes darle el nombre que quieras y terminado en .txt
Open App.Path & "\Datos.txt"For Output As #1
Print #1, TextPrinter
Close #1

' Ya tienes guardado el txt con todo lo que quieres imprimir

Suerte
« última modificación: Agosto 14, 2015, 08:10:02 am por JBB »

nemesis wolf

  • Bit
  • Mensajes: 5
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda generar txt con informacion de un Form
« Respuesta #5 en: Agosto 19, 2015, 10:20:29 pm »
Mira un ejemplo de como debe de quedar el archivo txt ! tambien para darle el formato y que quede acomodado de esa forma como seria , estoy liado
 

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Ayuda generar txt con informacion de un Form
« Respuesta #6 en: Agosto 20, 2015, 02:48:13 pm »
Aca te prepare un pequeño ejemplo yo usaba este metodo para imprimir con la impresora ticketeadora.

El Proyecto para que veas como funciona: https://mega.nz/#!JQV3lIhS!h84xXKF6120FqjvNvocPcS3JuY3ZFrKfcc76eVzYX4E



Código: (VB) [Seleccionar]
Private Sub cmdImprimir_Click()
   
    Open ("c:\factura.txt") For Output As #1
   
    Print #1, Tab((100 - Len("REPORTE DE CIFRAS")) \ 2); "REPORTE DE CIFRAS"
    Print #1, Tab(1); String(100, "_")
    Print #1, Tab(1); "CONCEPTO"; Tab(30); "ART. LEY"; Tab(50); "%"; Tab(70); "MONTO"
    Print #1, Tab(1); String(100, "-")
   
    For i = 0 To 2
        Print #1, Tab(1); lblConcepto(i).Caption; Tab(30); lblLey(i).Caption; Tab(50); lblPorciento(i).Caption; Tab(70); txtMonto(i).Text
    Next i
   
    Print #1, Tab(1); String(100, "-")

    Close #1

End Sub

Saludos...
« última modificación: Agosto 20, 2015, 03:38:31 pm por E N T E R »
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

nemesis wolf

  • Bit
  • Mensajes: 5
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda generar txt con informacion de un Form
« Respuesta #7 en: Septiembre 28, 2015, 01:30:43 pm »
Ayuda ya probe el codigo y me marca errores , que es lo que hago mal ya hasta puse algunos imports para ver si se corregian los errores pero no :/  aqui una imagen





De antemano gracias

nemesis wolf

  • Bit
  • Mensajes: 5
  • Reputación: +0/-0
    • Ver Perfil
Re:Ayuda generar txt con informacion de un Form
« Respuesta #8 en: Septiembre 29, 2015, 01:17:20 pm »
AYUDAAAA

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Ayuda generar txt con informacion de un Form
« Respuesta #9 en: Septiembre 29, 2015, 05:52:40 pm »
Haa pero estas programando en Vb.net, el ejemplo que te pase es para el Visual basic 6 no especificaste en que estabas programando.

Pero es casi lo mismo solo que cambia el Print, yo lo hice asi, no tengo ahora instalado el .NET pero aca te dejo mi codigo que use en unos de mis programas.

Código: (VB) [Seleccionar]
Sub ImprimirTicket()

        Dim xNom, xCan, xSub As String
        FileOpen(1, "C:\Factura.txt", OpenMode.Output)

        PrintLine(1, "========================================")
        PrintLine(1, TAB((40 - Len("COMPROBANTE DE VENTAS")) \ 2), "COMPROBANTE DE VENTAS")
        PrintLine(1, "========================================")
        PrintLine(1)

        PrintLine(1, "----------------------------------------")
        PrintLine(1, TAB(0), "CANT", TAB(6), "P R O D U C T O", TAB(34), "SUBTOT")
        PrintLine(1, "----------------------------------------")

        For I = 0 To Form1.LVentas.Items.Count - 1

            xNom = Form1.LVentas.Items(I).Text
            xCan = Form1.LVentas.Items(I).SubItems(2).Text
            xSub = Form1.LVentas.Items(I).SubItems(3).Text

            PrintLine(1, TAB(0), xCan, TAB(6), xNom, TAB(34), xSub)

        Next I

        PrintLine(1, "----------------------------------------")
        PrintLine(1, "                  TOTAL :", txtTotal.Text)

        FileClose(1)

    End Sub
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo