![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#2
|
||||
|
||||
|
Hola.
Veamos, si utilizas un RichEdit, el texto con que trabajarás será texto enriquecido, es decir, que le puedes poner negritas, cursivas, distintos tamaños, colores y resaltados... por eso cuando "lo ponías en blanco" te salían esos carácteres extraños, ¿por casualidad abriste el archivo con Bloc de notas? ![]() Te recomiendo que empieces por lo muy sencillo, texto plano, sin formato, con un TMemo. El componente lleva automatizado prácticamente todo: escribir en él (con sus enters, Ctrl + C, Ctrl + V... Ctrl + Right... Av. Pág.... todo). Creo que le falta lo de cambiar Insert por Overwrite (insertar-sobreescribir), pero no es muy difícil de implementar. De todas formas, eso para después ![]() El texto que se escribe en el TMemo se guarda en su propiedad Lines, de tipo TStrings. Con este tipo puedes abrir y guardas los archivos te texto. OpenDialog y SaveDialog sólo sirven para mostrar el diálogo de abrir/guardar, y darte el nombre del archivo seleccionado (propiedad FileName), nada más. Seguro que quieres poner un menú. Utiliza TMainMenu. Nada más colocarlo te aparece (al igual que con TOpenDialog y TSaveDialog) un "cuadradito" en el form. Es porque es un componente no visual. Si le haces doble clic, aparecerá otra ventana, donde podrás diseñar el menú del programa. En cada item nuevo de menú, puedes asociar a su propiedad ShortCut, un atajo de teclado (Ctrl + A para abrir, por ejemplo). Sólo tienen un evento, OnClick, así que no tienen pérdida (ten cuidado, en los menús de la barra, el sólo darles el foco con ratón o teclado una vez el menú está activo, hace que el evento OnClick se ejecute). Para cambiar la fuente, tienes TFontDialog. Muestra el típico diálogo de cambiar fuente, y la fuente elejida se guarda en su propiedad Font. Esto es lo principal que necesitas saber. Después te podremos ayudar a añadir cosas para hacer tu programa más funcional, como que recuerde la fuente con que se usó, colocarle una barra de estado, una barra de herramientas... todo lo que se te pueda ocurrir. Investiga todos estos componenetes que te he nombrado en la ayuda de Delphi. Pero a fondo, con diccionario de inglés en mano. Y si hay una propiedad o método que no entiendas, pues pásate por aquí para preguntar (pero recuerda hacer antes una búsqueda, tanto en los foros como en Google u otro buscador). Salu2 ![]() |
|
#3
|
|||
|
|||
|
Okey. Lo único que no sabía era lo del richedit que ahora que lo pienso en castellano es texto enriquecido (uuu soy casi superdotado xD). Lo he cambiado por Tmemo, y menú yo ya tenía. Ahora voy a por un toolbar. Así que mi siguiente pregunta es donde puedo encontrar fotitos chorras de esas que salen como copiar, pegar, imprimir etc... Le he puesto un popup también al memo con algo muy simple. Y si editas el texto y te sales sin guardar te pregunta si quieres guardar o no. Otra pregunta que tengo es como parar el proceso de cerrado de una aplicación. Gracias de antemano.
|
|
#4
|
|||
|
|||
|
Bueno, como me voy a madrugar ya os pongo el código que tengo hasta ahora.
·Program:
·Unidad prinicipal:
·Unidad de guardado de seguridad:
·Unidad gráfica principal.
·Unidad gráfica de guardado de seguridad:
|
|
#5
|
||||
|
||||
|
El Memo ya tiene su propio menú de sistema. Sólo es conveniente cambiarlo si puedes añadir más cosas.
¿Fotitos chorras? En el CD Delphi Pack 1 venían un montón... pero ya no sé qué fue de eso ![]() ¿Parar el proceso de cerrado? ¿Te refieres a que al darle a la "x" de cerrar, o pulsar Alt + F4, o llamar al método Close; no se cierre el programa? En en evento OnCloseQuery del Form principal, pon CanClose:=False; pero ten en cuenta que debes poner alguna condición, sino sólo podrás salir con Application.Terminate; o con Halt; Salu2 ![]() |
|
#7
|
||||
|
||||
|
Eso va en el evento OnCloseQuery y podrías abreviarlo en:
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#8
|
||||
|
||||
|
Cita:
![]() |
|
#9
|
|||
|
|||
|
Okey, ahora quiero saber como coger el valor de Tform1.memo1.lines desde tform2. Gracias por la ayuda.
Por si no ha quedado claro. Quiero coger lo escrito en un memo (memo1) de un form (Tform1) y usarlo en otro form (Tform2). Última edición por rauros fecha: 28-02-2008 a las 16:09:23. Razón: Añadir más datos. |
|
#10
|
||||
|
||||
|
El form está en una unit. Tan sólo tienes que añadir esa unit a la uses del otro form.
Aunque ni si quiera eso es necesario, sencillamente, desde cualquier parte de form2 escribe:
Al darle a compilar, te saldrá un mensaje de Delphi preguntando si quieres añadir la unit. Tú sólo di que sí. Salu2. |
|
#11
|
|||
|
|||
|
Oye ahora es una duda sobre sintaxis sobre lo que dijo jachguate.
En matemáticas cuando niegas algo se convierte al contrario. Quiero saber que si not true = false. Por lo de canclose. CanClose := not Cambiado; Y otra cosa. Si canclose:=true; se para automáticamente el programa? O termina procedure y entonces si canclose:=true lo cierra? |
|
#12
|
|||
|
|||
|
Muchas gracias por toda toda y toda la ayuda, me ha servido siempre. Cambiando de tema, empecemos ya con el código coloreado, creo que todo lo demás ya lo tengo muy visto (he añadido un sistema con claves de registro para que el programa se abra en el mismo sitio que en el que se cierra). He cogido los ejemplos pero veo que son muy complejos y que faltan algunos .dcu . Y lo que quiero es saber como se colorea, lo más simple posible. Puesto que voy a coger uno de los dos ejemplos y me voy a liar antes de encontrar la solución.
Preguntas: ·¿Qué objeto debo usar? ·¿Con este objeto puedo guardar en texto simple (.txt)? |
|
#13
|
|||
|
|||
|
Vale. Se que necesito UniSynEdit o algo parecido (gracias IxMike). ¿Cómo puedo instalar el package del SynEdit? He estado buscando sobre el tema pero he encontrado poco y lo poco que he encontrado era inservible. Gracias de antemano a tod@s.
|
|
#14
|
||||
|
||||
|
Puntualiza, rauros.
Se descargó en paquete, pero no hay forma de instalarlo. Bueno, yo es que hace tiempo que no instalo ninguno, y debido a las diferencias entre mi versión y la suya, pues no he podido ayudarle ![]() Tiene que ver con lo que en Delphi 3 se llama "Library Path" (está el Options del Package). Salu2. |
|
#15
|
|||
|
|||
|
Okey, el problema anterior ya lo posteé en varios (aún no me ayudó nadie :S). Ahora tengo otro problema. Quiero hacer un "autocompletar". El algoritmo lo tengo ya hecho, solo me falta un procedimiento. Mi código:
Pues con eso si hay algo escrito en medio lo salta. Un ejemplo: Código:
I //escribiendo "if" destroy //algo escrito Código:
If destroy EndIf Código:
If EndIf destroy Última edición por rauros fecha: 07-03-2008 a las 17:03:08. |
|
#16
|
|||
|
|||
|
Vale. Lo anterior ya está solucionado. Ahora tengo 2 problemas:
·No puedo instalar UniSynEdit (posteé en varios pero nadie me ayudó :S) ·Auto completar no funciona como querría que funcionara. Lo que quiero hacer es: Que si escribo una palabra, se sustituya por otra, o la otra se escriba unos huecos más abajo. Mi procedimiento de auto completar:
Para llamar a auto completar:
El problema es que cuando escribo If se me baja a endif en vez de volver a su sitio anterior. Y cuando vuelvo manualmente se vuelve loco el auto completar. El procedimiento de SetMemoPosition:
También tengo problemas con un procedimiento que se supone que tiene que escribir al final de todo lo escrito [EOF]. El procedimiento:
Para llamar al procedimiento:
Muchísimas gracias de antemano. Última edición por rauros fecha: 09-03-2008 a las 12:58:32. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| componente editor de texto | clanmilano | Varios | 1 | 23-01-2006 15:41:37 |
| necesito editor de texto.... | User_baja1 | Varios | 4 | 21-03-2005 11:53:30 |
| Editor de Texto | kael | Varios | 1 | 02-11-2004 18:18:42 |
| Editor Texto Richedit | cesar_picazo | Varios | 1 | 27-04-2004 18:34:59 |
| Editor que resalte texto | igest2000 | Varios | 0 | 10-12-2003 16:23:21 |
|