Editor De Textos

Páginas: 5 (1166 palabras) Publicado: 28 de junio de 2012
le pondremos como Name Memo, al campo de edición del nombre de archivo EDNombreAr, a los botones, BCargar, BSalvar, BCopiar, BNuevo, BCortar, BSalir, BPegar y a la etiqueta ETNombreAr, aunque esta es menos importante. Eso sí, el FocusControl de la etiqueta debe ser el campo de edición. Notar que la N de la etiqueta aparece subrayada. Todos los botones tienen código definido en su evento OnClick,mientras que el resto de elementos no tiene ningún código para los eventos. Así que vamos a poner el código y a la vez comentándolo, observando las distintas acciones botón por botón.
procedure TForm1.BSalvarClick(Sender: TObject); begin try

Memo.Lines.SavetoFile(EDNombreAr.Text); Except On Exception Do Showmessage('No se puede grabar archivo'); End; Memo.Setfocus; end;

Esta es la accióncorrespondiente al botón SALVAR. Toma como nombre de archivo el valor de EDNombreAr.Text, es decir, el texto del campo de edición, e intenta grabarlo. Si no es así, mostrará una ventana con un error. Para ello se ha usado la estructura try: intenta grabar el texto del memo con el método SavetoFile de la propiedad Lines del memo, y si se produce una excepción por no poder hacerlo, muestra el mensaje.Finalmente, le da el foco al memo con el procedimiento SetFocus.
procedure TForm1.BSalirClick(Sender: TObject); begin Close; end;

Sale de la aplicación. El procedimiento close es el del form.
procedure TForm1.BNuevoClick(Sender: TObject); begin Memo.Clear; Memo.setfocus; end;

Con el método Clear limpiamos el memo, y después obtenemos el foco sobre él.
procedureTForm1.BCargarClick(Sender: TObject); begin try Memo.Lines.LoadFromFile(EDNombreAr.Text); Except On Exception Do Showmessage('No se puede cargar archivo'); End; Memo.Setfocus; end;

Al igual que al grabar, obtenemos como nombre de archivo el que figure en el texto del campo de edición, e intentamos cargar el fichero con el método LoadFromFile de la propiedad Lines del memo. Si no se puede cargar (por ejemplo, porque noexista) se nos mostrará una ventana de error. En cualquier caso, el foco vuelve a ponerse sobre el memo.
procedure TForm1.BCopiarClick(Sender: TObject); begin Memo.CopyToClipboard; Memo.SetFocus; end;

Copiamos el contenido seleccionado del memo al portapapeles mediante el método CopyToClipBoard, y después volvemos a obtener el foco del ratón. 2


procedure TForm1.BCortarClick(Sender:TObject); begin Memo.CutToClipboard; Memo.Setfocus; end;

Cortamos el contenido seleccionado del memo al portapapeles mediante el método CutToClipboard, y después volvemos a obtener el foco del ratón.
procedure TForm1.BPegarClick(Sender: TObject); begin Memo.PasteFromClipboard; Memo.Setfocus; end;

Pegamos el contenido del portapapeles en el punto de inserción mediante el método PasteFromClipBoard,y volvemos a obtener el foco del ratón. Con todos estos elementos ya disponemos de un editor de texto muy sencillo, aunque quizá no demasiado cómodo por no disponer de todo lo que tienen los editores más corrientes (cuadro de diálogo de abrir, guardar, imprimir, etc.). Este ejemplo será uno de los que más iremos ampliando hasta hacernos un editor bastante Interesante.

Ejercicio ejemplo: Elcomponente Memo y cuadros de Diálogo Estándar
En este ejemplo vamos a continuar con el editor de texto que se empezó en el anterior, ampliándolo con la incorporación de algunos Common Dialogs que nos permitirán seleccionar fuente/color o archivo a cargar/grabar. En primer lugar, diseñaremos un interfaz como el siguiente:

No nos preocuparemos por dónde dejaremos exactamente los componentes, encuanto a diseño, pues vamos a aprovechar el ejemplo para posicionarlos en ejecución. Adicionalmente, programaremos el evento Resize del form para no permitir que el alto del área cliente sea menor que el doble del alto del botón 'Salvar' (todos los botones van a tener las mismas dimensiones), ajustando también la posición y el tamaño de los botones. El componente memo recibe como Name el nombre...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Editores de texto
  • Editores de texto
  • Editor de texto
  • Editor de texto
  • Editores de texto
  • Editores de texto
  • Editores de texto
  • Editor De Textos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS