![]() |
Eliminar, actualizar e insertar linea en un memo
hola foro como andan yo por aqui con un pequeño proble con un memo lo que pasa es que tengo en memo un texto grande y necesito buscar en ese texto una palabra y despues donde este esa palabra tengo que eliminar esa linea o insertar o actualizar cada vez que se repita dicha palabra que me recomiendan por que no he podido hacer nada grasias de antemano gulder.:confused:
|
Las líneas de un memo (memo.lines) son de tipo TStrings, así que puedes usar los métodos Delete, Insert, etc. de esa clase.
// Saludos |
grasias roman
grasias roman por contestar tan pronto yo entiendo lo que usted dice, lo que pasa es como hago para encontrar la palabra y eliminar toda esa linea sin importar de que esa linea tenga algo de mas escrito.
te explico lo que estoy haciendo tengo una aplicacion que me permite crear componentes en tiempo de ejecucion en tonces cuando creo u nuevo componente en un memo registro el nombre del componente y otras propiedades, el problema esta cuando el usuario elimina un componente debe eliminar del memo todo lo que tenga que ver con dicho componente entonces por eso tengo que buscar con el nombre del componente en el memo y eliminar la linea puesto que cuando creo un componente en el memo se inserta lo siguiente, ejemplo creo un boton entonces en el memo asigno boton.nombre //aqui hay un comentario boton.text //aqui hay un comentario boton.letf //aqui hay un comentario boton.caption //aqui hay un comentario entonces cuando el usuario elimina el componente boton debe eliminar todas esas lineas del memo. epero haberme explicado grasias de antemano gulder:confused: |
Para buscar la palabra puedes usar la función Pos aplicada a memo.text, o bien PosEx de la unidad StrUtils si quieres hacer búsquedas secuenciales. En ambos casos, la función te devolverá el índice (basado en 1) de donde empieza la palabra dentro del texto, o 0 si no se encuentra. Este índice lo puedes usar como parámetro al mensaje EM_LINEFROMINDEX para obtener el índice de la línea en el memo.
Ejemplo:
// Saludos |
Por otra parte, quizá quieras considerar otras opciones para lo que haces. Por ejemplo, en lugar de un archivo de texto plano, podrías usar un archivo INI. En lugar de guardar
Código:
boton.nombre //aqui hay un comentario Código:
[boton] // Saludos |
Perdona roman por la intromisión:
EM_LINEFROMINDEX, no lo tengo documentado por ningún sitio. Donde está definido ? Lo mas parecido que he visto es EM_LINEINDEX |
¡Ah! Tienes razón :), es EM_LINEFROMCHAR no EM_LINEFROMINDEX.
// Saludos |
Luego en el wparam, habría que pasarle el valor de la variable I, NO??
es decir
|
Je, je, muy cierto, ya lo he corregido en el original (ambos errores). Gracias :)
// Saludos |
grasias roman, ArdiIIa
grasias roman, ArdiIIa y disculpen la demora estoy mirando lo que dicen grasias
|
grasias roman, ArdiIIa
grasias roman, ArdiIIa y disculpen la demora estube mirando lo que dicen y funciona de maravillas bueno estoy buscando de como remplazar una palabra del memo dependiendo de un string le agradeceria cualquier comentario grasias de antemano gulder
|
para reemplazar palabras, en la unidad StrUtils existen algunas funciones para esta tarea, la que yo he utilizado es StringReplace de la unidad SysUtils. La utilizas de la siguiente forma
He nacido para ayudar a la humanidad. Ojala te sirva. bye. |
gracias D&W
gracias D&W me has dejado sorprendido puesto que habia hecho una funcion que hacia lo que me mencionastes he perdido tiempo valioso haciendo algo que delphi ya tenia jejeje :D
|
La franja horaria es GMT +2. Ahora son las 12:39:03. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi