Ver Mensaje Individual
  #4  
Antiguo 01-09-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
La sugerencia de hector es más que suficiente ya que, si echas in vistazo a la documentación, notarás que es muy sencillo crear tu mismo el editor que deseas; a lo sumo te llevaría una tarde de programación.

Para que te des una idea de lo sencillo que es te pongo unos ejemplos:

El archivo ini lo almacenas en una variable de tipo TIniFile (de la unidad IniFiles) y lo abres así:

IniFile := TIniFile.Create('tuarchivo.ini');

El método ReadSections lee los nombres de todas las secciones y los coloca en una variable de tipo TStrings. Entonces, si tienes un ListBox en tu formulario bastará que pongas:

IniFile.ReadSections(ListBox.Items);

para cargar en el ListBox los nombres de las secciones.

Comforme el usuario de click en alguno de estos nombres usas el método ReadSectionValues para leer la lista de claves y valores en una variable de tipo TStrings. Por ejemplo, usaría el evento OnClick del listbox:

Código:
procedure TForm1.ListBoxClick(Sender: TObject);
var
  Seccion: String;
  Claves: TStringList;

begin
  Seccion := ListBox.Items[ListBox.ItemIndex];

  Claves:= TStringList.Create;
  IniFile.ReadSectionValues(Seccion, Claves);

  { Trabajas con Claves }

  Claves.Free;
end;
ReadSectionValues coloca en Claves cadenas de la forma

'clave=valor'

correspondientes a cada clave de la sección especificada. Entonces pudes usar las propiedades Names y Values de la variable Claves para acceder a las claves y los valores de forma separada. Dependiendo de la versión de Delphi que tengas hay una componente que se llama TValueListEditor que directamente te permite editar listas de este tipo de manera que puedes sustituire Claves por ValueListEditor.Strings y automáticamente tendrás llena una lista de claves y valores que el usuario puede editar. Si tu versión de Delphi no cuenta con esa componente es igualmente sencillo usar un ciclo for para llenar un stringgrid con las cadenas de la variable Claves (una columna para Names y otra para Values)

Con esto, en media hora tienes un visor de ficheros ini.

Faltaría la pate para guardar los cambios pero esto es igualmente sencillo usando los métodos WriteXXX del objeto IniFile.

Espero que estos comentarios te sirvan.

// Saludos
Responder Con Cita