Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi INIs syncronisieren (https://www.delphipraxis.net/56590-inis-syncronisieren.html)

Pump3r 8. Nov 2005 13:53


INIs syncronisieren
 
Hallo,

ich habe eine MASTER.ini und sieben SLAVE.ini`s

In der Master.ini steht jetzt z.B.:

[Adobe]
Pfad=X:\Installation\Adobe\Acrobat_reader_7.0.exe
Name=Adobe Acrobat Reader 7.0
Info=PDF Reader
Date=30.10.05

natürlich sind in der INI nacher mehr Programme als das eine vorhanden :>

OK weiter.

jetzt würde ich gerne eintool bauen, das die 7 slaves inis durchsucht und wenn ein topic passt,
Pfad, Name, Info und Date austauscht/aktualisiert.
Das soll es mit allen Programmen in der master.ini machen und alle 7 slave.ini`s syncronisieren.

Ich freu mich über jede Hilfe oder Antwort!!

MfG
Chris

chaosben 8. Nov 2005 14:00

Re: INIs syncronisieren
 
Tschaaa ... ich schlag mal folgendes vor:
- Master.ini öffnen
- alle Sections der Master.ini auslesen
- die Slaves öffnen
- die Liste der Sections durchgehen, und gucken, ob es die jeweilige Section gibt in den Slaves gibt
- wenn ja, updaten

Im Prinzip sind es 2 for-Schleifen in einander.

Pump3r 8. Nov 2005 14:04

Re: INIs syncronisieren
 
2 for schleifen?
ok dann werd ich mal :>

danke

chaosben 8. Nov 2005 14:12

Re: INIs syncronisieren
 
Im Idealfall hast du die Namen der Slaves in einer StringList. Dann kannst du diese erstmal durchgehen, und überall die Inifiles öffnen und als TObjects an die Items anhängen. Dann kannst du später durch die Liste gehen und mit wenig Code die Vergleiche machen.
Delphi-Quellcode:
if (TIniFile(Slaves.Objects[idx]).SectionExists(SectionName))
z.B.

Und das Schliessen nicht vergessen. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz