ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

El objeto TString.


Enviado por   •  20 de Mayo de 2013  •  Ensayos  •  1.144 Palabras (5 Páginas)  •  291 Visitas

Página 1 de 5

El objeto TString.

21-03-1998

Cuando consultas la documentación del Delphi, muchas veces te encuentras con la palabra "TString" , por ejemplo el componente Tmemo (el que he usado para hacer el editor de texto) dice que su propiedad lines es del tipo TString, o también el componente TlistBox. Pues estos componentes hacen uso de un objeto llamado TString, que no es más que una lista formada por cadenas de caracteres (string). Se podria decir que es una "especie" de Array (matriz o vector) que contiene cadena, pero que nos permite realizar operaciones con sus elementos. Así que en este capítulo voy a explicaros las operaciones que se pueden hacer con este objeto, y decir que son aplicables a todos los componentes que tengan una propiedad de este tipo. Además como estamos trabajando en un entorno orientado al objeto de verdad, si necesitas almacenar una lista cadenas puedes crear este objeto en memoria sin tener que recurrir a un componente, con lo que ahorras memoria y ganas velocidad entre otras ventajas.

Esta es la lista de las operaciones que se pueden realizar:

Contar el número de elementos Acceder a un elemento en particular

Encontrar la posición que ocupa un elemento Añadir un elemento al final.

Mover un elemento Eliminar un elemento

Copiar una lista entera

Bueno lo primero es saber como añadir un elemento a una lista. Coloca un TEdit, un botón, y un TlistBox en un formulario, los encontraras todos en la página Standard. Al botón pon en su propiedad caption el texto Añadir. Algo así como la imagen adjunta. Y en el evento OnClick del botón colocaremos un código como el que sigue:

procedure TForm1.Button1Click(Sender:TObject);

begin

If Edit1.Text <> '' Then

ListBox1.Items.Add (Edit1.Text);

end;

end.

Si quieres saber cuantos elementos hay en tu lista, solo hay que preguntarlo. Sería una cosa así:

NumeroDeElementos : = ListBox1.Items.Count;

Fijate que devuelve un entero por lo tanto la variable debe de ser del tipo Integer.

Si observas detenidamente los dos ejemplos anteriores, te darás cuenta que los métodos que he usado son Add, y Count, y que el resto es común. Esto es porque el componente se llama ListBox1, y tiene entre sus propiedades una llamada Items, la cual es del tipo TString, y es la que puede manejar la lista, así por lo tanto las operaciones se deben aplicar a esa propiedad. En el caso de componente Memo la propiedad que es del tipo TString se llama Lines, entonces la operación para obtener el número de elementos que tiene un componente de este tipo seria como sigue:

NúmeroDeElementos : = Memo1.Lines.Count;

Para añadir un elemento en una posición determinada se usa el método Insert, un ejemplo:

ListBox1.Items.Insert (2,'Tercer Elemento');

Con este ejemplo añado un elemento a la tercera posición. Si he dicho tercera posición, no es un error, ya que el primer elemento es el número cero. Por eso en el capítulo anterior para imprimir en contenido del Memo, usaba un bucle desde cero hasta el número de líneas menos una, ya esta última propiedad devuelve el número de elementos contados desde uno.

Si quieres mover un elemento usa el método move, así:

ListBox1.Items.Move (2,4);

Siendo su formato Origen, Destino, el ejemplo nueve el elemento tercero a la posición quinta.

Antes comente que TString era algo así como una Matriz, pues si es "como" una matriz accedamos a sus elementos por la posoción que ocupa, teniendo en cuenta que el primer elemento tiene como indice en número cero. Por ejemplo:

Label1.Caption := ListBox1.Items [2];

Este ejemplo copia el tercer elemento a una etiqueta.

Por ahora ha sido facil, pero para borrar un elemento debemos saber cual es su posiciónl, así estas líneas de código lo hacen. Primero comprobamos si existe el elemento (cuidado que distingue mayúsculas de minúsculas), en el caso que no exista devuelve -1, sino devuelve su posición. Si existe procedemos a borrarlo.

If ListBox1.Items.IndexOf ('jorge') > -1 Then

Delete (ListBox1.Items.IndexOf ('jorge');

Con este sistema podemos borrar un elemento, pero si deseamos borrar

...

Descargar como (para miembros actualizados)  txt (7.2 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com