![]() |
TIniFile: "ReadSections" funktioniert nicht
Moin,
Ich habe eine Ini-Datei die folgendermassen aussieht: Zitat:
Delphi-Quellcode:
Wieso zeigt mir das ShowMessage 0 an? Ich müsste mit dem Code doch eine Sektion in meiner Stringlist haben oder?
procedure TForm2.FormShow(Sender: TObject);
var Ini: TIniFile; ServerGroups: TStringList; begin // Server laden if FileExists('servers.ini') then begin ServerGroups := TStringList.Create; Ini := TIniFile.Create('servers.ini'); try ini.ReadSections(ServerGroups); Showmessage(IntToStr(ServerGroups.Count)); finally Ini.Free; ServerGroups.Free; end; end; end; |
Re: TIniFile: "ReadSections" funktioniert nicht
Hallo,
Du musst die Section mit angeben;
Delphi-Quellcode:
ini.ReadSection('asdf:12..45',ServerGroups);//alle Namen der Werte
ini.ReadSectionValues('asdf:12..45',ServerGroups);//alle Werte |
Re: TIniFile: "ReadSections" funktioniert nicht
Äh, wie oft eiegntlich noch:
Delphi-Quellcode:
Wenn du sie auch so erstellt hast, dann guck mal, ob du sie im Windowsverzeichnis wieder findest. Und beim Laden gib mal den vollen absoluten Pfad an.
Ini := TIniFile.Create('servers.ini');
|
Re: TIniFile: "ReadSections" funktioniert nicht
Hallo Lannes,
das Problem ist, das ich die Sektionen nicht kenne, ich möchte sie mir nur alle in eine StringList laden. ne Ahnung wie das geht? @Luckie: DIe Datei gibts in meinem Windows(System)-Ordner nicht, es wird shcon die richtige Datei hier genommen. |
Re: TIniFile: "ReadSections" funktioniert nicht
Da wäre ich mir nicht so sicher. Bist du sicher, dass das Arbeitsverzeichnis zu dem Zeitpunkt auch das Programmverzeichnis deiner Anwendung ist? Ich würde mich nicht drauf verlassen. Aber wie du meinst.
|
Re: TIniFile: "ReadSections" funktioniert nicht
Moin moin,
die Unit IniFiles verwendet intern die funktion GetPrivateProfileString Zitat:
|
Re: TIniFile: "ReadSections" funktioniert nicht
Schon, aber da keine Datei namens "servers.ini" im Windowsdir vorhanden ist, wird die aus dem Programmpfad benutzt.
|
Re: TIniFile: "ReadSections" funktioniert nicht
Zitat:
Gebe bei deinem geposteten code den vollen Pfad zu deiner servers.ini an, bzw. kopiere sie in dein Windowsverzeichnis und du wirst sehen, dass dir die sections alle angezeigt werden.
Delphi-Quellcode:
ServerGroups := TStringList.Create;
Ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'servers.ini'); try ini.ReadSections(ServerGroups); Showmessage(IntToStr(ServerGroups.Count)); finally Ini.Free; ServerGroups.Free; end; |
Re: TIniFile: "ReadSections" funktioniert nicht
Zitat:
|
Re: TIniFile: "ReadSections" funktioniert nicht
Hallo,
@Pseudemys Nelsoni hätte besser lesen sollen :pale: ReadSection <> ReadSections Nimm den Code von x000x dann wird Die ini auch dann gefunden, wenn das aktuelle Arbeitsverzeichnis nicht mit dem Programmverzeichnis identisch ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz