Ver Mensaje Individual
  #8  
Antiguo 23-03-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Siguiendo lo que te he comentado, con un procedimiento como este:

Código Delphi [-]
procedure UpdateValues(const APathIniOrigen, APathIniDestino:string);
var
  IniServidor, iniPC:TIniFile;
  secciones, valores:TStrings;
  i, j:integer;
begin
  IniServidor := TIniFile.Create(APathIniOrigen);
  iniPC := TIniFile.Create(APathIniDestino);
  secciones := TStringList.Create;
  valores := TStringList.Create;
  try
    // Cargar todas las secciones (nombres)
    IniServidor.ReadSections(Secciones);
    // recorrer las secciones...
    for i := 0 to (secciones.Count - 1) do begin
      // Leer los valores de cada sección
      IniServidor.ReadSectionValues(Secciones[i], valores);
      // recorer los valores de cada seccion
      for j := 0  to (Valores.Count - 1) do begin
        // Para cada valor actualizar con el del Servidor (si no existe lo creará, si existe lo actualiza)
        iniPC.WriteString(Secciones[i], valores.Names[j], valores.ValueFromIndex[j]);
      end;
    end;
    // Actualizar el fichero del PC
    iniPc.UpdateFile;
  finally
    IniServidor.Free;
    IniPC.Free;
  end;
end;

Si lo llamas de la siguiente manera:

Código Delphi [-]
UpdateValues('\MainUpd\ParmsUpdate.ini', 'c:\WorkDir\Params.ini');

El resultado será algo así (que creo que es lo que necesitas):

Código:
[seccion1]
var1=1
var2=2
var3=3

[seccion2]
var21=500
var22=2
var23=600

[seccion3]
var31=1000
var32=2
var33=3
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita