Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ValueListEditor (https://www.clubdelphi.com/foros/showthread.php?t=17622)

Luli 15-01-2005 03:10:10

ValueListEditor
 
Hola, otra pregunta, es que en el programa que estoy realizando se tienen que pedir los datos: variable y valor, y lo intenté usando TEdit para recibir el dato desde teclado y para mostrarlos en lista utilicé un listbox pero vi un elemente que se llama Value list editor y me dió curiosidad de como se vería la información mostrandola ahí y de aprender a usarlo, no encuentro ejemplos, me gustaria que me enviaran alguno de como mostrar los datos recibidos del Tedit en el Value list editor y si fuera posible, que me digan donde encuentro información de ese tipo,de como usar los componenetes que trae el delphi, ya sea en internet o algun libro, un manual o si de plano no existe, muchas gracias

Lepe 16-01-2005 11:35:42

Báiscamente el componente trabaja como si fueran archivos .ini, es decir un archivo de texto guardado como:

Código:

Nombre=Pepe
direccion=c/ del aburrimiento, 13
edad=13

Al cargarlo en ese componente, aparece:
- la parte izquierda del igual en la columna de la izquierda
- logicamente la parte derecha del igual aparece en la columna de la derecha.

Para más información mira TIniFiles, o busca por el foro.

El componente es muy simple, quizás un TstringGrid o un TDBGrid con 2 columnas te sea de más utilidad.

Saludos

Héctor Randolph 18-01-2005 03:56:50

Ejemplo de TValueListEditor
 
Hola Luli!

Como ya te han dicho el ValueListEditor sirve para controlar pares del tipo Clave-Valor (Key-Value) al estilo de un archivo INI.

Esto también lo puedes hacer con un TListBox por medio de las propiedad Values[Index], pero es mucho más fácil con TValueListEditor ya que fue diseñado exclusivamente para esto.

Te pongo un ejemplo para usar un TValueListEditor

En un Form colocas dos campos de edición TEdit1 y TEdit2 y un Botón, en el evento OnClick del botón escribes este código.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Row: Integer;//Se utiliza para saber en que renglón fue localizada la clave con FindRow
begin
  // Previene que se dupliquen claves
  if not ValueListEditor1.FindRow(Edit1.Text,Row) then
    // Si la clave no fue localizada entonces la inserta
    ValueListEditor1.InsertRow(Edit1.Text,Edit2.Text,True)
  else
    // Si la clave fue localizada modifica el valor
    ValueListEditor1.Values[Edit1.Text]:=Edit2.Text;
end;

A grandes rasgos estas insertando una clave que escribes en TEdit1 y un valor que escribes en TEdit2 Para Formar el par Clave-Valor.

Si la clave ya existe solamente reemplazas el valor de dicha clave.

Los valores deben de ser tratados como cadenas, por lo tanto si quieres manejar otro tipo de datos debes hacer las conversiones adecuadas.

El TValueListEditor tiene otros trucos; por ejemplo, puedes agregar un pequeño botón o una lista desplegable en cada renglón o puedes hacer que los valores sean sólo lectura:

Código Delphi [-]
  // La clave en la posición uno muestra una lista desplegable
  ValueListEditor1.ItemProps[1].EditStyle:=esPickList;
  // La clave en la posición dos muestra un pequeño botón
  ValueListEditor1.ItemProps[2].EditStyle:=esEllipsis;
  // La clave en la posición dos es sólo lectura
  ValueListEditor1.ItemProps[2].ReadOnly:=True;

Para controlar el evento que ocurre cuando un usuario pulsa el pequeño botón se utiliza el siguiente código

Código Delphi [-]
procedure TForm1.ValueListEditor1EditButtonClick(Sender: TObject);
begin
  case ValueListEditor1.Row of
     1:Action1.Execute;// Se ejecutala acción correspondiente al renglón 1
     2:Action2.Execute;// renglón 2, etc...
     3:Action3.Execute;
     4:Action4.Execute;
  end;
end;

Espero que te sea útil, un saludo.


La franja horaria es GMT +2. Ahora son las 04:44:01.

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