|
|
|
|
- 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
Manipular texto RTF en un control Campo de entrada
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): - Vaya a la pestaña "Contenido" de la descripción del control.
- 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".
- Valide la ventana de descripción.
Para definir el contenido inicial de un control Campo de entrada RTF (solución 2): - Escriba el texto y aplique el formato en cualquier editor RTF (Microsoft Word, editor de documentos WINDEV, etc.).
- Copie el texto (Ctrl + C).
- Vaya a la pestaña "Contenido" de la descripción del control.
- 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: - Cree el archivo RTF (función fCreate) o abra un archivo RTF existente (función RTFLoad).
- 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: - Utilice la función RTFSearch para encontrar el texto deseado en el control Campo de entrada RTF.
- 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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|