| |||
Estilo de texto en base de datos Hola a tod@s. He creado una aplicación con visual basic.net la cual consiste en modificar un texto que sacamos de una base de datos de sql server. Cree un botón que lo que hace es convertir un texto seleccionado en negrita. Lo que me sucede es que al cerrar la aplicación y abrirla de nuevo todo el texto que puse en negrita se vuelve a poner normal. No se como puedo hacer para que el estilo de texto (el texto en negrita) me lo guarde en la base de datos y me mantenga el texto en negrita. Muchas gracias. |
| |||
Respuesta: Estilo de texto en base de datos Muchas gracias jhonwilliams he probado lo de varchar, texto, nvarchar en la base de datos y sigue sin funciona sigue sin guardar el estilo del texto. Me comentó un amigo de probar desde visual basic.net el crear etiquetas dinámicas para el estilo de texto, pero no se como puedo hacerlo. Muchas gracias. |
| ||||
Respuesta: Estilo de texto en base de datos igonfil, Estas hablando de una aplicación web ?? si es así se debe guardar el contenido HTML en la base de datos para que cuando lo muestres (en un label por ejemplo) respete el formato Me explico ?? Salu2
__________________ Nadie roba nada ya que en la vida todo se paga . . . Exentrit - Soluciones SharePoint & Net |
| ||||
Respuesta: Estilo de texto en base de datos Cita: ¿Para cargar el texto en negrita usaste el RichTextBox?.
Iniciado por igonfil Muchas gracias jhonwilliams he probado lo de varchar, texto, nvarchar en la base de datos y sigue sin funciona sigue sin guardar el estilo del texto. Me comentó un amigo de probar desde visual basic.net el crear etiquetas dinámicas para el estilo de texto, pero no se como puedo hacerlo. Muchas gracias. Este fin de semana probare en mi casa y te comento que paso. Saludos
__________________ Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD. "Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce) |
| |||
Respuesta: Estilo de texto en base de datos Hola jhonwilliams. Si para cargar el texto en negrita uso el RichTextBox y funciona correctamente, pero lo que sucede que al cerrar el programa y abrirlo de nuevo no mantiene los textos en negrita sino que deja el texto con el estilo que tenia al principio (sin texto en negrita). Muchas gracias |
| ||||
Respuesta: Estilo de texto en base de datos Hola, como te dije antes si funciona, solo que debes tener en cuenta que es lo que se guarda en la base de datos, mira. Texto Original Cita: Texto con FormatoHola jhonwilliams. Si para cargar el texto en negrita uso el RichTextBox y funciona correctamente, pero lo que sucede que al cerrar el programa y abrirlo de nuevo no mantiene los textos en negrita sino que deja el texto con el estilo que tenia al principio (sin texto en negrita). Muchas gracias Cita: Si guardamos el texto formateado llevando a la base de datos lo que hay en la propiedad text del RichTextBox guarda esto:Hola jhonwilliams. Si para cargar el texto en negrita uso el RichTextBox y funciona correctamente, pero lo que sucede que al cerrar el programa y abrirlo de nuevo no mantiene los textos en negrita sino que deja el texto con el estilo que tenia al principio (sin texto en negrita). Muchas gracias Cita: Pero si llevamos a la base de datos lo que hay en la propiedad rtf se guarda asi:Hola jhonwilliams. Si para cargar el texto en negrita uso el RichTextBox y funciona correctamente, pero lo que sucede que al cerrar el programa y abrirlo de nuevo no mantiene los textos en negrita sino que deja el texto con el estilo que tenia al principio (sin texto en negrita). Muchas gracias Cita: Al recuperarlo de la base de datos debes asignar lo que traer a la propiedad RTF del RichTextBox y no a la Text.{\rtf1\ansi\ansicpg1252\deff0\deflang1034{\fonttbl {\f0\fnil\fcharset0 Verdana;}{\f1\fnil\fcharset0 Microsoft Sans Serif;}} {\colortbl ;\red255\green0\blue0;} \viewkind4\uc1\pard\cf1\b\f0\fs20 Hola jhonwilliams\cf0\b0\f1\fs17 . Si para cargar el texto en negrita uso el RichTextBox y funciona correctamente, pero lo que sucede que al cerrar el programa y abrirlo de nuevo no mantiene los textos en negrita sino que deja el texto con el estilo que tenia al principio (sin texto en negrita). Muchas gracias\par } El campo que use para probar esto fue un Varchar(8000), si el texto que guardas es muy grande creo que debes usar el Text porque si observaste bien el texto con formato tiene codigos que interpreta el RichTextBox para cargar el formato. Saludos
__________________ Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD. "Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce) |
| |||
Respuesta: Estilo de texto en base de datos Gracias jhonwilliams, pero sigue sin funcionarme. Probe de otra forma pero sigue sin funcionar. El código que utilicé es el siguiente (El resultado que quisiera es como el botón de texto en negrita que hay en esta web en el apartado de "mensaje" y "responder mensaje"): Private Sub btnMod_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMod.Click Dim con As New SqlConnection Dim cmd As New SqlCommand con.ConnectionString = CadenaConexion con.Open() cmd.Connection = con Dim negrita As String = "Update Noticias set " & "Noticias = '" & RTBNotic.Rtf & "'" RTBNotic.Clear() RTBNotic.SelectionFont = Form.DefaultFont Dim t As String = RTBNotic.Rtf 'A la primera línea le sigue obligatoriamente la tabla de fuentes Dim z As Integer = t.IndexOf("{\fonttbl{") Dim primeralinea As String primeralinea = t.Substring(0, z) 'Y aquí el que extrae la definición de una fuente: RTBNotic.Clear() RTBNotic.SelectionFont = Form.DefaultFont Dim c As String = RTBNotic.Rtf Dim rr() As String 'Localizo el nombre de la fuente y parto el texto en dos rr = Split(t, Font.FontFamily.Name) 'Rastreo la llave izquierda Dim k1 As Integer = rr(0).LastIndexOf("{") 'y extraigo el fragmanto a partir de ella Dim s1 As String = rr(0).Substring(k1) 'Rastreo la llave derecha Dim k2 As Integer = rr(1).IndexOf("}") 'y extraigo el fragmanto hasta ella Dim s2 As String = rr(1).Substring(0, k2 + 1) 'Uno las tres piezas y ya tengo {La cadena completa entre llaves} Dim s As String = s1 & Font.FontFamily.Name & s2 'sustituyo el índice cero por el que será correcto en mi documento RTBNotic.SelectedText = s.Replace("{\f0\", "{\f" & primeralinea & "\") cmd.CommandText = negrita cmd.ExecuteNonQuery() con.Close() End Sub Muchas gracias y saludos |
| ||||
Respuesta: Estilo de texto en base de datos Cita: Para que haces todo esto?
Iniciado por igonfil RTBNotic.Clear() RTBNotic.SelectionFont = Form.DefaultFont Dim t As String = RTBNotic.Rtf 'A la primera línea le sigue obligatoriamente la tabla de fuentes Dim z As Integer = t.IndexOf("{\fonttbl{") Dim primeralinea As String primeralinea = t.Substring(0, z) 'Y aquí el que extrae la definición de una fuente: RTBNotic.Clear() RTBNotic.SelectionFont = Form.DefaultFont Dim c As String = RTBNotic.Rtf Dim rr() As String 'Localizo el nombre de la fuente y parto el texto en dos rr = Split(t, Font.FontFamily.Name) 'Rastreo la llave izquierda Dim k1 As Integer = rr(0).LastIndexOf("{") 'y extraigo el fragmanto a partir de ella Dim s1 As String = rr(0).Substring(k1) 'Rastreo la llave derecha Dim k2 As Integer = rr(1).IndexOf("}") 'y extraigo el fragmanto hasta ella Dim s2 As String = rr(1).Substring(0, k2 + 1) 'Uno las tres piezas y ya tengo {La cadena completa entre llaves} Dim s As String = s1 & Font.FontFamily.Name & s2 'sustituyo el índice cero por el que será correcto en mi documento RTBNotic.SelectedText = s.Replace("{\f0\", "{\f" & primeralinea & "\") End Sub Muchas gracias y saludos Saludos
__________________ Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD. "Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce) |
| ||||
Respuesta: Estilo de texto en base de datos Cita: Revisaste que el contenido de RTBNotic.Rtf si se vea con los codigos del formato antes de llevarlo a la base de datos?Saludos
__________________ Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD. "Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce) |
| |||
Respuesta: Estilo de texto en base de datos Hola. En la base de datos efectivamente me guarda el estilo de la fuente. El resultado que da es el siguiente: Cita: Lo que sucede que no quiero que muestre el código sino que muestre el texto negrita y que lo mantenga cuando cierre el programa y cuando lo abra este como lo había dejado con sus textos en negrita.{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil\fcharset0 Microsoft Sans Serif;}} \viewkind4\uc1\pard\lang3082\b\fs20 Revisaste\b0\f1\fs17 que el contenido de RTBNotic.Rtf si se vea con los codigos del formato antes de llevarlo a la base de datos\par } Perdonar por las molestias. Muchas gracias. Saludos El código completo que utilizo es el siguiente: Cita: Imports System.Data.SqlClient Public Class Form1 Dim CadenaConexion As String = "server=192.168.1.33;Uid=sa;pwd=pass;dataBase=Mani otas" Private _Negrita As Boolean Public Property Negrita() As Boolean Get Return _Negrita End Get Set(ByVal value As Boolean) _Negrita = value End Set End Property Private Sub CkBNeg_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CkBNeg.CheckedChanged If RTBNotic.SelectedText.Length > 0 Then RTBNotic.SelectionFont = New Font("Arial", 10, FontStyle.Bold) End If End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim con As New SqlConnection Dim cmd As New SqlCommand Dim dr As SqlDataReader 'Lo utilizamos para mostrar en el formulario las noticias de la base de datos con.ConnectionString = CadenaConexion con.Open() cmd.Connection = con cmd.CommandText = "select noticias from Noticias" dr = cmd.ExecuteReader Do While dr.Read 'recorre el data reader mientras tenga datos dentro RTBNotic.Text = dr("noticias") Loop dr.Close() con.Close() End Sub Private Sub btnMod_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMod.Click Dim con As New SqlConnection Dim cmd As New SqlCommand con.ConnectionString = CadenaConexion con.Open() cmd.Connection = con Dim negrita As String = "Update Noticias set " & "Noticias = _ '" & RTBNotic.Rtf & "'" cmd.CommandText = negrita cmd.ExecuteNonQuery() con.Close() End Sub End Class |
| ||||
Respuesta: Estilo de texto en base de datos Cita: Bueno, entonces ya tienes la mitad listo, en la base de datos NO lo veras en negrita, NUNCA, porque los tipos de campos no soportan estos texto, pero al abrir el programa vas a la base de datos, recuperas la noticia y asignas este texto:
Iniciado por igonfil Hola. En la base de datos efectivamente me guarda el estilo de la fuente. El resultado que da es el siguiente: Cita: {\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil\fcharset0 Microsoft Sans Serif;}} \viewkind4\uc1\pard\lang3082\b\fs20 Revisaste\b0\f1\fs17 que el contenido de RTBNotic.Rtf si se vea con los codigos del formato antes de llevarlo a la base de datos\par } Cita: A la propiedad RTF del RichTextBox, asi:{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil\fcharset0 Microsoft Sans Serif;}} \viewkind4\uc1\pard\lang3082\b\fs20 Revisaste\b0\f1\fs17 que el contenido de RTBNotic.Rtf si se vea con los codigos del formato antes de llevarlo a la base de datos\par } RichTextBox1.RTF = minoticia; Saludos
__________________ Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD. "Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce) |
| ||||
Respuesta: Estilo de texto en base de datos Con gusto. Aveces damos vueltas en cosas tan sencillas que cuando terminamos nos damos cuenta de todo el tiempo que se "perdio", pero la verdad después de todo este tiempo hemos aprendido a hacer algo y la próxima vez no haremos en mucho menos tiempo. Saludos
__________________ Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD. "Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce) |
| |||
Respuesta: Estilo de texto en base de datos si podes enviame la informacion que te proporcionarion, necesito hacer lo mismo, solo que no se exactamente como aplicar lo que se muestra en los mensajes gracias |
| ||||
Respuesta: Estilo de texto en base de datos Cita: Y concretamente que dudas tienes?Saludos
__________________ Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD. "Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce) |
| |||
Respuesta: Estilo de texto en base de datos como hicieron cuando el usuario da enter al final de cada linea, ya que hize lo mismo que realizaron ustedes, y mi problema es cuando dan enter al final de la linea y luego vuelve a escribir otra linea. |