![]() |
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
||
|
|
|
CAPÍTULOS
La ventana principal
- Características del form
- Manipulación de componentes
- Propiedades de TForm
- Eventos de TForm
- Métodos de TForm
- Etiquetas de texto
- El control Edit
- El control Memo
- El control Button
- El control CheckBox
- El control RadioButton
- El control ListBox
- Barras de desplazamiento
- El control Bevel
- El componente Timer
- El control MaskEdit
- El control RichEdit
- El control StatusBar
- El control TrackBar
- Los controles ProgressBar, SpinButton, SpinEdit y UpDown
- El control HotKey
- El control HeaderControl
- El control PageControl
- El control TImageList
- El control MainMenu
- El control PopUp Menu
- Algunas ventanas predefinidas
- Uso de varios forms en la aplicación
- Los cuadros OpenDialog y SaveDialog
- Los cuadros FontDialog, ColorDialog y PrintDialog
- Los cuadros FindDialog y ReplaceDialog
SECCIONES
SITIOS RECOMENDADOS
OTROS SITIOS DE LA AUTORA
Curriculum vitae
A través del espejo
Weblog: Educación en Internet
Weblog: Uno por uno, uno; uno por uno, dos; uno por uno...
En línea desde el 7 de noviembre de 2000 |
3.III. El control MemoLas posibilidades del control Edit a veces no son suficientes para cubrir todas las necesidades de entrada de datos, especialmente cuando lo que se solicita al ususario del programa es un texto que puede ser más o menos extenso, ya que dicho control sólo facilita la edición de una línea. Para dar cabida a estas necesidades, existe el control llamado
Memo, cuyo botón en la paleta de componentes es Contenido del ControlEl texto existente en un control Memo se estructura en múltiples cadenas, que son almacenadas en la propiedad Lines. Es posible dar un valor inicial a un control de este tipo, utilizando para ello el editor de cadenas de Delphi. También puede cargarse dentro del campo Memo el contenido de un archivo de texto, así como salvar el texto actual del control a un archivo. En tiempo de ejecución podemos usar la propiedad Lines como si se tratase de una matriz, en la que cada uno de los elementos corresponde a una línea de texto. En realidad, la propiedad Lines es un objeto de tipo TStrings, que por lo tanto cuenta con sus propios métodos y propiedades. Para conocer el número de líneas que existen actualmente en el control, no tenemos más que consultar el valor de la propiedad Count. A partir de este dato no tendremos problemas en acceder a cada una de las líneas, teniendo en cuenta que la primera tiene como índice de elemento el cero. Podemos añadir una línea al final del contenido actual mediante el método Add de la propiedad Lines, que tomará como parámetro la cadena de caracteres a añadir. Si no queremos añadirla al final sino insertarla en una cierta posición, entonces usaremos el método Insert, al que indicaremos como primer parámetro la posición en que se ha de insertar la cadena que se pasa como segundo parámetro. Para eliminar una de las líneas utilizaremos el método Delete, al que indicaremos el índice correspondiente a la línea a borrar. También puede moverse una determinada línea de una posición a otra, indicando en el método Move el índice actual de la línea y el nuevo índice que queremos asignar. El método Exchange es similar al anterior, tomando como parámetros dos índices, pero en este caso lo que se hace es intercambiar la posición de las dos cadenas de texto. El contenido de un control Memo puede ser tomado de un archivo de texto, utilizando el método LoadFromFile, de la propiedad Lines, que nos permitirá salvar el contenido actual del control en un archivo. También podemos guardar el contenido del Memo en un archivo de texto, usando para ello el método SaveToFile de la propiedad Lines. En ambos casos sólo hay que pasar un parámetro, el nombre del archivo del que se va a leer o en el que se va a escribir. Visualización del TextoEn principio, al introducir un texto en el control el cursor se desplazará a la línea siguiente en el mismo momento en el que lleguemos al margen derecho, dividiendo automáticamente la línea por la última palabra. Este comportamiento se debe al valor asignado a la propiedad WordWrap, que es True. Dando a esta propiedad el valor False, al llegar al margen derecho del control el contenido actual se irá desplazando hacia la izquierda, de tal forma que la línea no se dividirá, pudiendo ser tan extensa como necesitemos. Algo similar ocurre al llegar al límite inferior del control, cuando hayamos introducido tantas líneas de texto que el control aparezca lleno. Al introducir la siguiente línea, el contenido actual se desplazará hacia arriba, dando cabida a tantas cadenas como sea necesario. Con el fin de facilitar el desplazamiento por el texto contenido en el control, podemos hacer aparecer una barra de desplazamiento vertical, una horizontal o ambas. Para ello, asignaremos uno de los siguientes valores a la propiedad ScrollBars:
Tabulaciones y avances de líneaPara poder introducir un tabulador en el texto de un control Memo, podemos utilizar la combinación <Control>+<Tabulador>, mientras que para avanzar a otra línea la combinación a usar será <Control> e <Intro> de forma normal, lo único que hemos de hacer es dar el valor True a las propiedades WantTabs y WantReturns. Por defecto la primera tiene el valor False y la segunda el valor True.
|