Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Lineas en campo memo (https://www.clubdelphi.com/foros/showthread.php?t=58855)

erasmorc 04-08-2008 13:52:17

Lineas en campo memo
 
Buenos dias,

Tengo un campo memo, no un componente memo sino una tabla con un campo tipo memo que lo leo a traves de un query, este campo tiene varias lienas tengo interes en referirme a una linea especifica, es decir yo quiero sacar el campo memo la linea 3 como puedo hacerlo. En el caso del componente memo si puedo referirme a sus linea porque tiene memo.lines pero en el caso de los memos de los campos no encuentro la forma de referirme a una linea especifica.

Agradecere mucho cualquier ayuda que puedan darme.

Neftali [Germán.Estévez] 04-08-2008 15:03:31

El texto contenido en el campo tendrás en su interior los saltos de carro que delimitan las líneas.
Una opción es recorrer ese texto e ir "saltando" tanto saltos de carro como el número de la línea que quieres consultar y la otra opción (más sencilla, pero un poco más costosa), es asignar ese texto a una estructura de tipo TStrings, por ejemplo (que vendría a ser equivalente a la propiedad Lines de un TMemo) y de esa forma podrás accedr a las líneas utilizando TS.Strings[i] (como lo harías con un TMemo).

erasmorc 04-08-2008 15:30:20

Buenos dias,

Pero como identifico el saldo de pagina, cual es el caracter dentro del texto que lo identifica.

Con respecto al Tstring recuerdo que es en un componente query que lo tengo.

Si pudieras aclararme un poco mas porque con ambas me quede a medias

Slds,
FRC

Neftali [Germán.Estévez] 04-08-2008 15:59:39

Cita:

Empezado por erasmorc (Mensaje 305552)
Pero como identifico el saldo de pagina, cual es el caracter dentro del texto que lo identifica.

Puedes encontrar estos caracteres: #13#10

Por ejemplo en ComCtrls puedes encontrar definiciones como esta:
Código Delphi [-]
  EndOfLine = #13#10;

erasmorc 04-08-2008 16:52:05

Buenas tardes,

Tu verificaste que se encuentran estos caracteres porque no los veo en los saltos.

Neftali [Germán.Estévez] 04-08-2008 17:14:07

Si.
Si colocas un memo con varias líneas en un formulario y asignas el contenido a un Edit (por ejemplo) utilizando:

Código Delphi [-]
Edit1.Text := Memo1.Lines.Text;

Comprobarás lo siguiente; Si miras el Edit verás esto:



Esos caracteres raros que se ven en el Edit y que corresponden a los saltos de línea son el #13 y #10.

Si utilizas AnsiPos para buscarlos, te dará sus posiciones.

Si para el programa en ese punto y examinas el valor de los campos verás esto:




Esas parejas de caracteres son los mismos, pero en formato Hexadecimal.

erasmorc 07-08-2008 17:06:00

Debe existir algo mas funcional, porque tendria que analizar todas las lineas del campo memo, imaginate que fueran miles de registros de una base de datos. Pienso que debe haber algo como la funcion lines del componente memo. Si alguien mas sabe algo de como resolver esto.

Saludos.

fjcg02 28-08-2008 06:58:31

A grande smales grandes remedios.
Pon un TDBMemo. lo pones invisible ( propiedad Visible:= False) y utilizas la función que dices.
Ten en cuenta que puede que no tengan todos los campos la tercera línea...

Saludos


La franja horaria es GMT +2. Ahora son las 19:18:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi