Resultados 1 al 3 de 3

Tema: Conversion de texto.

  1. #1
    Forero inexperto
    Fecha de ingreso
    09 sep, 11
    Mensajes
    2

    Predeterminado Conversion de texto.

    Hola..., bueno soy nuevo en el portal.., y a la vez un novato en lo que respecta a la programación, razón por la cual manifiesto mi inquietud.
    Estoy haciendo un programa en visual basic 6.0 y soy novato en ello.., tengo un formulario que tiene un textBox y un boton para guardar su contenido, y la verdad es que no puedo aplicarlo, lo que quiero es que el contenido del textbox se guarde como un archivo de texto osea de formato .txt, y que después limpie la pantalla del textbox para comenzar de nuevo, y un boton para que dentro del mismo formulario imprima el archivo .txt

    Muchas gracias...de antemano.

  2. #2
    Administradora Avatar de Acila
    Fecha de ingreso
    21 feb, 11
    Ubicación
    Buenos Aires
    Mensajes
    468

    Predeterminado Re: Conversion de texto.

    Hola, siento no poder ayudarte en el tema, pero espero que de alguien de por aquí si pueda hacerlo
    Saludos

  3. #3
    Registrado Avatar de Adonis74
    Fecha de ingreso
    05 ago, 09
    Ubicación
    Varadero Cuba
    Mensajes
    171

    Predeterminado Re: Conversion de texto.

    Hola un saludo, lo que le pides a tu aplicación es posible, solo que te faltan componentes todavía, no basta con un Formulario, un TextBox, y un Botón, te faltan componentes como el PrintDialog, (para poder es***** la impresora e imprimir) el PrintPreviewDialog (solo si deseas una vista previa de la impresión) el PageSetupDialog (solo si deseas configurar la pagina a imprimir) un PrintDocument (para establecer las propiedades de lo que vas a imprimir) y por ultimo un SaveFileDialog (este es para poder salvar el archivo de texto)
    Espero poder ayudarte, programo en visual Basic .net; pero si tienes dominios básicos sobre la programación, no se te va hacer muy difícil entenderme. Lo que pides es posible, trataré desde VB.NET ir explicándote los pasos, luego lo llevas a tu versión. Quiero salvar la parte de que solo soy un programador empírico y la etapa del VB.60 me la he saltado, fui directo al reto de estos tiempos. Solo espero poder ayudarte.
    1. Crea tu formulario y elige el nombre que desees darle.
    2. Te aconsejo que no utilices un TextBox para esto, sino un RichTexBox
    3. Vuelca todos estos componentes que te he mencionado y relaciono a continuación:
    a) PrintDialog
    b) PrintPreviewDialog
    c) PageSetupDialog
    d) PrintDocument
    e) SaveFileDialog
    f) Button1 (Guardar)
    g) Button2 (Limpiar)
    h) Button3 (btnPrintPreview)
    i) Button4 (btnPrintDialog)
    j) Button5 (btnPageSetup)
    k)RichTexBox (rtb)

    4. En el evento clic del Button3, que previamente debiste llamarlo como “btnPrintPreview” pones este código:
    ‘ Aquí te encierro el código en un Try catch para controlar una ‘posible excepción.

    Private Sub btnPrintPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrintPreview.Click
    Try
    PrintPreviewDialog1.Document = PrintDocument1
    PrintPreviewDialog1.ShowDialog()
    Catch exp As Exception
    MsgBox("Ha ocurrido un error mientras intentaba cargar el " & " documento para la Vista preliminar de la Impresión. Asegúrese de tener " & "el acceso a una impresora", MsgBoxStyle.OkOnly, Me.Text)
    End Try
    End Sub

    5. En el evento clic del Button4, que previamente debiste llamarlo como “btnPrintDialog” escribes este código:

    ‘PrintDialog te permite seleccionar la impresora en la que desea imprimir, además de otras opciones de impresión como ya te había ‘explicado antes.

    Private Sub btnPrintDialog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrintDialog.Click
    PrintDialog1.Document = PrintDocument1
    If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    PrintDocument1.Print()
    End If
    End Sub
    6. En el evento clic del Button5, que previamente lo he nombrado como “btnPageSetup” escribes este código:
    ‘Aquí me permito la configuración de página para especificar ‘aspectos tales como el tamaño del papel, la orientación vertical,
    ‘ horizontal, etc.

    Private Sub btnPageSetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPageSetup.Click
    With PageSetupDialog1
    .Document = PrintDocument1
    .PageSettings = PrintDocument1.DefaultPageSettings
    End With

    If PageSetupDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    PrintDocument1.DefaultPageSettings = PageSetupDialog1.PageSettings
    End If
    End Sub
    7. En el evento clic del Button2, que previamente lo he nombrado como “Limpiar” escribes este código:
    ‘Aquí le digo reemplace el texto por texto en blanco

    Private Sub Limpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Limpiar.Click
    rtb.Text = ""
    End Sub
    8. En el evento clic del Button1, que previamente lo he nombrado como “Guardar” escribes este código:
    ‘Aquí en este evento llamo a una función que he nombrado Guardar_como

    Private Sub Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Guardar.Click

    Call Guardar_como()
    End Sub
    9. Aquí hago una función para guardar el documento
    Function Guardar_como() As Boolean
    Dim m_Cancelar As Boolean
    Dim m_Changed As Boolean
    Dim SaveFiledialog As New SaveFileDialog

    With SaveFiledialog
    .Filter = "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*"
    Try
    If .ShowDialog = Windows.Forms.DialogResult.OK Then
    'Guardar
    rtb.SaveFile(.FileName, RichTextBoxStreamType.PlainText)
    m_Changed = False
    Else
    ' Cancelar
    m_Cancelar = True
    End If
    Catch oMen As Exception
    MsgBox(oMen.Message, MsgBoxStyle.Critical)
    End Try
    End With
    End Function
    10. Y por ultimo aquí es donde establezco todos los parámetros y propiedades para poder imprimir
    Private Sub pdoc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

    ' Aqui Declare una variable que contenga la posición del último carácter impreso. Debes declararla
    ' como estática para que los siguiente eventos PrintPage puedan hacer referencia a ella.

    Static intCurrentChar As Int32

    ' Aquí inicialicé la fuente que se va a utilizar en la impresión, como no tengo problemas de visión puse 12
    ' pero puedes cambiarla (es broma)no quiero que los que me lean digan, este Adonis no es serio con su trabajo .

    Dim font As New Font("Microsoft Sans Serif", 12)

    Dim intPrintAreaHeight, intPrintAreaWidth, marginLeft, marginTop As Int32
    With PrintDocument1.DefaultPageSettings

    ' Aqui inicio las variables locales que contengan los límites del rectángulo del
    ' área de impresión e inicio las variables locales que contengan los valores de margen, que servirán
    ' de coordenadas X e Y para la esquina superior izquierda del rectángulo del
    ' área de impresión.

    intPrintAreaHeight = .PaperSize.Height - .Margins.Top - .Margins.Bottom
    intPrintAreaWidth = .PaperSize.Width - .Margins.Left - .Margins.Right



    marginLeft = .Margins.Left ' Coordenada X
    marginTop = .Margins.Top ' Coordenada Y
    End With

    ' Aqui le ordeno que si el usuario ha seleccionado el modo Horizontal, cambie el alto y el ancho
    ' del área de impresión.

    If PrintDocument1.DefaultPageSettings.Landscape Then
    Dim intTemp As Int32
    intTemp = intPrintAreaHeight
    intPrintAreaHeight = intPrintAreaWidth
    intPrintAreaWidth = intTemp
    End If

    ' Aquí obligo a que calcule el número total de líneas en el documento a partir del alto del
    ' área de impresión y del alto de la fuente.

    Dim intLineCount As Int32 = CInt(intPrintAreaHeight / font.Height)

    ' Y en esta inicio la estructura del rectángulo que define el área de impresión.

    Dim rectPrintingArea As New RectangleF(marginLeft, marginTop, intPrintAreaWidth, intPrintAreaHeight)

    ' Cree una instancia de la clase StringFormat, que encapsula la información de diseño
    ' del texto, muestra las manipulaciones y las características de OpenType.

    Dim fmt As New StringFormat(StringFormatFlags.LineLimit)

    ' Llamé a MeasureString para determinar el número de caracteres que caben en
    ' el rectángulo del área de impresión.

    Dim intLinesFilled, intCharsFitted As Int32
    e.Graphics.MeasureString(Mid(rtb.Text, intCurrentChar + 1), font, New SizeF(intPrintAreaWidth, intPrintAreaHeight), fmt, intCharsFitted, intLinesFilled)

    ' Y esto es ya para que se imprima el texto en la página.

    e.Graphics.DrawString(Mid(rtb.Text, intCurrentChar + 1), font, Brushes.Black, rectPrintingArea, fmt)

    ' Hago avanzar el carácter actual hasta el último carácter impreso de esta página y lo coloco en la siguiente.

    intCurrentChar += intCharsFitted

    ' Aqui el HasMorePages indica al módulo de impresión si debe desencadenarse otro
    ' evento PrintPage.

    If intCurrentChar < rtb.Text.Length Then
    e.HasMorePages = True
    Else
    e.HasMorePages = False

    ' Debe restablecer explícitamente intCurrentChar ya que es estática.

    intCurrentChar = 0
    End If
    End Sub
    Nota aclaratoria: Las lineas de texto que estan despúes de cada apóstrofe son comentarios aclaratorios míos, no deben ir al código, si están ahí es una manera que utilizamos los programadores para estar en fase con lo que vamos desarrolando y por si queremos compartir el código fuente, como lo hago con usted en este caso.

    Con este codigo estimado colega, tienes todo lo que necesitas para hacer ese trabajo y un poco mas. Quiero que sepas que fue un reto nuevo, porque nunca lo había hecho, sabía que era posible, pero luego de leer su duda me aventuré a realizarlo y ahí se lo dejo, para que lo lleve a la versión de VB donde usted programa.

    Espero haberle sido útil. Cualquier otra ayuda que necesites no dejes de plantearla aquí, porque los genios están compuestos de un 2% de sabiduría y un 98 % de entrega y constancia, hoy se es novato, pero mañana podemos estar entre los grandes.

    Saludos
    Adonis
    Última edición por Adonis74; 10/09/2011 a las 22:44

Temas similares

  1. Sobre la Falsa conversión de Darwin
    Por Jack Nicholson en el foro Religión y Teología
    Respuestas: 4
    Último mensaje: 18/07/2007, 18:24
  2. El milagro de la conversión del agua en vino...o la devoción hacia Dionisio
    Por Jack Nicholson en el foro Religión y Teología
    Respuestas: 0
    Último mensaje: 06/06/2007, 18:53
  3. texto de caleidoscopio
    Por ananda en el foro Derecho
    Respuestas: 0
    Último mensaje: 31/10/2006, 22:59
  4. Ejercicios Con Su Respuesta De Conversion De Unidades
    Por Liliana Margarita en el foro Física
    Respuestas: 0
    Último mensaje: 16/05/2006, 13:52
  5. Tipos de texto
    Por jcgr24 en el foro Tesis y Tareas
    Respuestas: 0
    Último mensaje: 18/11/2003, 11:45

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •