Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Devolver el valor de una clave (https://www.clubdelphi.com/foros/showthread.php?t=59630)

principiante22 03-09-2008 01:56:19

Devolver el valor de una clave
 
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:

Código Delphi [-]
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:

Código Delphi [-]
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.

Código Delphi [-]
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 ;)


La franja horaria es GMT +2. Ahora son las 21:02:28.

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