AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / Desarrollar una aplicación o un sitio web / Controles, ventanas y páginas / Controles: tipos disponibles / Control Campo de entrada
  • Formato de texto enriquecido
  • Control Campo de entrada RTF
  • Observaciones
  • RTF soportado
  • Definir el contenido inicial de un control Campo de entrada RTF
  • Escribir en un control Campo de entrada RTF mediante programación (utilizando atributos RTF)
  • Utilizar atributos de texto en un control Campo de entrada RTF
  • Guardar texto en un archivo RTF
  • Guardar texto RTF en un campo de un archivo de datos HFSQL
  • Buscar/Reemplazar texto en un control Campo de entrada RTF
  • Manipular caracteres en un control Campo de entrada RTF
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Formato de texto enriquecido
El formato de texto enriquecido (RTF, por sus siglas en inglés) permite codificar el texto para facilitar el intercambio entre aplicaciones.
RTF es un formato basado en etiquetas. En RTF, se utilizan etiquetas específicas para definir el estilo de cada palabra, grupo de palabras o frases.
En WINDEV, es posible manipular contenido RTF en controles Campo de entrada y Estático mediante la opción "RTF".
También puede utilizar la propiedad RichEdit para activar o desactivar el soporte RTF en un control determinado.
  • Si el texto RTF se muestra en un control que no soporta este formato, se mostrarán las etiquetas.
  • Si el contenido en formato RTF se muestra en un control que soporta este formato, las etiquetas se interpretarán automáticamente y se aplicará el formato correspondiente.
Observación: Para utilizar un control Campo de entrada RTF, el archivo "RICHED20.DLL" debe estar presente en el equipo actual. En la mayoría de los casos, el archivo "RICHED20.DLL" se encuentra en el directorio del sistema de Windows. Si existe una versión más reciente del control RTF en el equipo, se utilizará esta versión.
Control Campo de entrada RTF
El control Campo de entrada RTF permite mostrar y editar contenido en formato RTF.
El control almacena automáticamente el texto introducido como RTF. Este texto contendrá todas las etiquetas de formato necesarias.

Observaciones

  • Se puede mostrar una barra de herramientas RTF en la parte superior del control. Esta barra de herramientas permite al usuario definir fácilmente el formato del texto introducido. Para obtener más información, consulte Barra de formato RTF.
  • En aplicaciones en Windows Vista (o posterior), se puede incluir la opción "Entrada manuscrita". Esta opción permite al usuario escribir directamente en el control utilizando el ratón o un lápiz óptico.
  • Una misma cadena será más larga en un control Campo de entrada RTF que en un control estándar, porque se añaden etiquetas RTF.
  • El control Campo de entrada RTF soporta RTF básico, por lo que puede utilizarse en cualquier plataforma. Los caracteres específicos como saltos de página, notas, ... no están soportados.

RTF soportado

El formato de archivo RTF soportado es el mismo soportado por "Wordpad" (hasta Windows XP).
Si el archivo RTF es generado utilizando otra herramienta (Word, etc.), se recomienda abrir el archivo con Wordpad para comprobar la compatibilidad. Wordpad proporcionará una vista previa de impresión más realista.
En cualquier caso, se recomienda volver a guardar el archivo en Wordpad para forzar el formato RTF.
Observación: También es posible forzar el formato RTF con WINDEV o WEBDEV. Para ello, utilice la función RTFLoad para asignar el control RTF.
Definir el contenido inicial de un control Campo de entrada RTF
Para definir el contenido inicial de un control Campo de entrada RTF (solución 1):
  1. Vaya a la pestaña "Contenido" de la descripción del control.
  2. Escriba el contenido del control en "Contenido inicial". Para aplicar el formato al texto, abra el menú contextual de "Contenido inicial" y seleccione la opción "Barra de formato RTF".
  3. Valide la ventana de descripción.
Para definir el contenido inicial de un control Campo de entrada RTF (solución 2):
  1. Escriba el texto y aplique el formato en cualquier editor RTF (Microsoft Word, editor de documentos WINDEV, etc.).
  2. Copie el texto (Ctrl + C).
  3. Vaya a la pestaña "Contenido" de la descripción del control.
  4. Pegue el contenido RTF. El texto pegado conserva el formato.
Escribir en un control Campo de entrada RTF mediante programación (utilizando atributos RTF)

Utilizar atributos de texto en un control Campo de entrada RTF

Para utilizar atributos de texto en un control Campo de entrada RTF:
  • seleccione el texto en el control Campo de entrada. El texto seleccionado por el usuario es resaltado de forma predeterminada. Para seleccionar texto, puede utilizar las propiedades Cursor y CursorEnd, por ejemplo.
  • utilice la función RTFSelection. Esta función permite obtener y establecer los atributos RTF (negrita, etc.) de una selección.
Ejemplo: Poner el texto seleccionado en negrita
El siguiente código, que se utiliza en el evento de salida de un control Campo de entrada de tipo RTF, aplica formato de negrita al texto seleccionado.
IF EDT_Edit1.CursorEnd > EDT_Edit1.Cursor THEN
RTFSelection(EDT_Edit1, rtfBold, True)
END
Guardar texto en un archivo RTF
El formato RTF se aplica automáticamente al texto introducido en un control Campo de entrada RTF.
Para guardar el contenido de un control Campo de entrada RTF en un archivo RTF:
  1. Cree el archivo RTF (función fCreate) o abra un archivo RTF existente (función RTFLoad).
  2. Copie el contenido del archivo RTF en el archivo actual (función fWrite).
Ejemplo: Crear un archivo llamado "MyDoc.RTF". Este archivo contiene el texto introducido en el control RTF_TEXT.
sFileName is string
sMyString is string
nFileID is int
sFileName = fSelect("", "", "Select a file...", ...
"RTF files" + TAB + "*.RTF" + CR + "All files (*.*)" + TAB + "*.*", ...
"RTF", fselCreate + fselExist)
nFileID = fOpen(sFileName, foCreateIfNotExist + foAdd + foReadWrite)
IF nFileID = -1 THEN
Error("Cannot open the file")
ELSE
// Fill the string to write into the file
sMyString = EDT_Edit1
// Write the block
fWrite(nFileID, sMyString)
// Close the file
fClose(nFileID)
END

Guardar texto RTF en un campo de un archivo de datos HFSQL

Para guardar texto RTF en un campo de un archivo de datos, se recomienda enlazar el control Campo de entrada a un campo de tipo Memo de texto.
Como el RTF incluye muchas etiquetas, los campos de tipo "Cadena de caracteres" suelen ser demasiado pequeños.
Buscar/Reemplazar texto en un control Campo de entrada RTF
Para buscar y reemplazar contenido RTF:
  1. Utilice la función RTFSearch para encontrar el texto deseado en el control Campo de entrada RTF.
  2. Reemplace el texto con la función RTFReplace.
Ejemplo: Buscar "WINDEV 19" y reemplazar con "WINDEV 28".
n is int
sSoughtWord is string = "WINDEV 19"
sReplaceWord is string = "WINDEV 28"
// Case-insensitive search, starting from the end of selection
n = RTFSearch(EDT_Edit1, sSoughtWord)
// If the word is found
IF n-1 THEN
// Replaces the word found
RTFReplace(EDT_Edit1, sReplaceWord, n, n + Length(sSoughtWord))
END
Manipular caracteres en un control Campo de entrada RTF
WINDEV también permite manipular los caracteres de una cadena o de un control RTF. Por ejemplo:
Ejemplo: Limitar/Truncar el número de caracteres de una cadena RTF (excluyendo las etiquetas RTF).
// Limits the RTF content to the number of characters specified in MaxNbChar
nMaxNbCharacters is int
nMaxNbCharacters = 3
RTFReplace(EDT_RTF_Text, "", nMaxNbCharacters + 1, Length(EDT_RTF_Text))
Ejemplo: Calcular el número de caracteres de una cadena RTF (excluyendo las etiquetas RTF).
// Retrieves the RTF content without formatting
sUnicode is UNICODE string
nNbCharacters is int
 
sUnicode = RTFToText(EDT_RTF_Text)
nNbCharacters = Length(sUnicode)
Info(nNbCharacters)
Versión mínima requerida
  • Versión 9
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/06/2023

Señalar un error o enviar una sugerencia | Ayuda local