PDA

Ver la Versión Completa : Devolver el valor de una clave


principiante22
03-09-2008, 01:56:19
Saludos a todos, quisiera saber como puedo devolver solo el valor de una clave de un archivo .ini, se que para devolver las claves de una seccion con los valores necesito usar por ejemplo:

Archivoini.ReadSectionValues('Seccion1', Combobox1.items)

Pero solo quiero que me devuelva los valores, no las claves. Como puedo hacer esto? O si pudiera eliminar por codigo el principio de lo que se esta agregando al combobox, por ejemplo, si tengo en un .ini

[Seccion1]
clave1=valor1
clave2=valor2
clave3=valor3

Si me pueden decir la forma de decirle al combobox que elimine todo lo que este antes del "=" incluyendo al "=" ya asi podria solucionarlo.

Como siempre, gracias de antemano, espero sus respuestas :D

Caro
03-09-2008, 02:20:12
Hola principiante22, para devolver el valor debes utilizar las funciones ReadString, ReadInteger, ReadBool, ejemplo:


var
Valor : String;
begin
Valor := Archivoini.ReadString('Seccion1', 'clave1', '');


Saluditos

principiante22
03-09-2008, 02:28:54
ok gracias, pense que se podria hacer con una funcion especifica, pero gracias, lo hare con esa forma y un for. :D

Caro
03-09-2008, 03:08:47
Hola de nuevo principiante22, de la forma que te puse tienes que hacer un ReadString de todas tus claves que tengas, no había utilizado la función ReadSectionValues que te devuelve inclusive con el nombre de la clave pero de toda la sección, si aun quieres hacerlo de esa forma, tendrías que pasar priimero a un StringList auxiliar, recorres y quitas lo que no te sirve que sería lo que esta antes del igual, te pongo un ejemplo.


var
i, posi : Integer;
sl : TStringList;
valor : STring;
begin
.........
sl := TStringList.Create;
Archivoini.ReadSectionValues('Seccion1',sl);

for i := 0 to sl.Count-1 do
begin
posi := Pos('=',sl[i]);
valor := copy(sl[i],posi+1,Length(sl[i])-1);
ComboBox1.Items.Add(valor);
end;


Saluditos

principiante22
03-09-2008, 03:13:42
hmmm gracias caro, ya lo pude hacer como dije anteriormente, pero de cualquier forma gracias por siempre estar ayudandome :D, no te imaginas lo agradecido que estoy contigo y con los demas ;)