Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 2 INIs abgleichen und ausgeben (https://www.delphipraxis.net/57506-2-inis-abgleichen-und-ausgeben.html)

Pump3r 22. Nov 2005 13:06


2 INIs abgleichen und ausgeben
 
Hallo, ich habe folgendes vor:

Ich habe 9 Abteilungs INIs

verkauf.ini
einkauf.ini
produktion.ini
zentrale.ini
lager.ini
cebop.ini
edv.ini
hausmeister.ini
buchhaltung.ini

und eine MUTTER.ini

die Abteilungsinis sind folgendermasen aufgebaut:

[Adobe_Acrobat_Reader]
READ=MUTTER\MUTTER.ini
[EPO]
READ=MUTTER\MUTTER.ini
[vScan]
READ=MUTTER\MUTTER.ini
[Office]
READ=MUTTER\MUTTER.ini
....


Die MUTTER.ini ist so aufgebaut:

[Adobe_Acrobat_Reader]
Pfad=X:\Adobe\Reader7.0_ger\AdbeRdr70_deu_full.exe
Name=Acrobat Reader 7.0
Info=PDF Reader
[Office_2000]
Pfad=X:\Microsoft\MS Office 2000\CD_ROM\SETUP.EXE
Name=MS Office 2000
Info=Serial: KKHJJ 7WDKT TJQKB 2QGYR VY9FG
DOKUMENTATION=L:\KLE_GER\EDV\Dokumentationen\Insta llationsbeschreibungen_Software\Exchange & Outlook\Installation Outlook 2000 SP3.pdf
[Office_2000sp1a]
Pfad=X:\Microsoft\MS Office 2000\Service Pack 1a\setup.exe
Name= - Service Pack 1a
Info=Service Pack für Office 2000
[Office_2000sp3]
Pfad=X:\Microsoft\MS Office 2000\Service Pack3 dt\o2ksp3.exe
Name= - Service Pack 3
Info=Service Pack für Office 2000
[Outlook_Security_Form]
Pfad=X:\_KLE_EIGEN\_hm\Outlook_Security_Form.reg
Name= - Outlook Security Form
Info=Sicherheitseinstellung für Outlook 2000
[vScan]
Pfad=X:\NAI-NetworkAssociates\Software\Products\VScan\V 8.0i\Setup.exe
Name=Virenscanner
Info=(für die Updates), danach den Virenscanner manuell aktualisieren.
[EPO]
Pfad=X:\NAI-NetworkAssociates\ePOAgent\EPO_KLE_NET_VERSION.exe
Name= - ePO Agent
Info=(für die Updates), danach den Virenscanner manuell aktualisieren
[Timelan]
Pfad=X:\Microsoft\Systems Management Server\SMS_EXE_Installationsdateien\TimeLan\TimeLa n.EXE
Name=TimeLan
Info=Für die Zeitsynconisierung mit dem Server zuständig.
[MDAC]
Pfad=X:\Microsoft\MDAC\Mdac2_7sp1\mdac_typ.exe
Name=MDAC 2.7
Info=Wird für Alphaplan benötigt.
[FreePDF]
Pfad=X:\FreePDF\FreePDF v2.11 Win 95,98,ME,NT.exe
Name=FreePDF 2.11
Info=PDF Drucker.
[Ghostscript]
Pfad=X:\FreePDF\Ghostscript\gs814w32.exe
Name= - Ghostscript 8.14
Info=Wird von FreePDF benötigt.

....

So das sind mal ein paar kleine auszüge.
Jetzt bin ich dran ein Installtool zu schreiben.
Jede Abteilung braucht spezielle Programme, und nicht jede Abteilung braucht alle.
Also hat jede Abteilung eine eigene INI.

Ich lese die Abteilungsinis in ein StringGrid ein, wo alles schön sauber aufgelistet wird und ich die Programme ausführen kann.

Das Problem an dem ganzen ist dass:
Ich jede Abteilungsini manuell bei einem Programm Update auch updaten müsste.
Das ist Sinnlos und Zeitaufwändig.

Also habe ich mir überlegt, das über eine Mutter.ini zu machen.

Das ganze soll so ablaufen.
Bevor zb die Produktions.inieingelesen wird, sollen die Topics in dieser INI gecheckt werden, und dann die PFAD, NAME, INFO etc. aus der MUTTEr.ini in das StringGrid geladen wird, statt direkt aus einer der Abteilungs.inis.

Da ich aber nochnicht so fit in Delphi bin häng ich grad.
Ich weiß nicht, wie ich die Topics der einzelnen Abteilungen nehm, und aus der MUTTER.ini
dann PFAd, NAme . . in das StringRid ausles. . .

Kann mir dabei wer helfen?

Gruß Pump3r


PS: Freu mich über jede Hilfe

marabu 22. Nov 2005 13:40

Re: 2 INIs abgleichen und ausgeben
 
Hallo Pump3r.

Ich würde das Wissen um den Namen der MUTTER.INI aus der Abteilungs-INI heraushalten. Genügt es nicht, das dein Installations-Tool weiß, wo es die Default-Werte hernehmen muss?

Delphi-Quellcode:
const
  Key_Pfad = 'Pfad';
  Key_Name = 'Name';
  Key_Info = 'Info';

  Section_AdobeReader = 'Adobe_Acrobat_Reader';
  // ...
 
var
  AbteilungIni, MutterIni: TMemIniFile;
  sPfad, sName, sInfo: string;

begin
  // ...
  sPfad := AbteilungsIni.ReadString(Section_AdobeReader, Key_Pfad,
             MutterIni.ReadString(Section_AdobeReader, Key_Pfad, '')
           );
  // ...
end;
Jetzt kann deine Abteilungs-INI so aussehen:

Code:
[Adobe_Acrobat_Reader]
[EPO]
[vScan]
[Office]
Grüße vom marabu

Pump3r 22. Nov 2005 14:03

Re: 2 INIs abgleichen und ausgeben
 
Hmm, aber die Pfade die in die StringRid sollen stehen ja pro programm in der MUTTER.ini.

Meinst du READ=MUTTER\MUTTER.ini <-- das heraushalten oder wie?

Gruß Pump3r

bigg 22. Nov 2005 14:04

Re: 2 INIs abgleichen und ausgeben
 
Hi,

das eigentliche Problem ist dein Lösungsansatz.
Das was du suchst, nennt sich Datenbankmanagementsystem oder kurz DBMS.
Hier einige Hersteller im Überblick:

- MySQL
- PostgreSQL
- MS SQL
- Oracle

Speichere die Daten zentral auf einem Rechner (Server) und nicht direkt auf jedem Client.

Pump3r 22. Nov 2005 14:07

Re: 2 INIs abgleichen und ausgeben
 
nein ich kann leider keine datenbanken benutzen.
Da auf jedem rechner hier sonst BDE installiert sein müsste. und das sind eben über 200 :<


und die dateien sind auf einem server

bigg 22. Nov 2005 14:08

Re: 2 INIs abgleichen und ausgeben
 
Wieso BDE? :shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:08 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