![]() |
Delphi-Version: 2006
inifile beschreiben
Hallo zusammen,
wie beschreibe ich ein inifile ? Auslesen habe ich bisher so gemacht:
Delphi-Quellcode:
Gruss
function MyGetInifileValue(myIniFile, mysection, myentry, mydefault:string):string;
var myIni:TInifile; strtemp:string; inipath:string; begin inipath := ExtractFilePath(Application.ExeName); if Copy(inipath,Length(inipath),1) <> '\' then inipath := inipath +'\'; myini := TInifile.Create(inipath+myIniFile+'.ini'); strtemp := myini.ReadString(mysection,myentry,mydefault); myGetInifileValue := strtemp; myini.Free; end; Holger |
AW: inifile beschreiben
Hallo,
zu "ReadString" gibt es z. B. auch das Pendant "WriteString". Gruß Frank |
AW: inifile beschreiben
Bin ich denn eben so daneben gewesen. Hatte mich schon gewundert das mir das nciht angeboten wurde.
Naja. Klappt nun. Danke für den Klapps auf den Hinterkopf. Gruss Holger |
AW: inifile beschreiben
Und wenn du schon dabei bist, mach es gleich ordentlich. Sollte das Lesen/Schreiben fehlschlagen, wird die Ini-Datei nicht mehr freigegeben. Daher gibt es die sog. Ressourcenschutzblöcke:
Delphi-Quellcode:
myini := TInifile.Create(inipath + myIniFile + '.ini');
try strtemp := myini.ReadString(mysection, myentry, mydefault); myGetInifileValue := strtemp; finally myini.Free; // oder FreeAndNil(myini); end; |
AW: inifile beschreiben
Delphi-Quellcode:
function MyGetInifileValue(myIniFile, mysection, myentry, mydefault:string):string;
var myIni:TInifile; strtemp:string; inipath:string; begin inipath := ExtractFilePath(Application.ExeName); // Das kann man sich komplett schenken, denn ExtractFilePath liefert den Pfad // und der ist immer mit abschliessendem PathDelimiter definiert // ExtractFilePath( Application.ExeName ) => '<Verzeichnisse>\' // ExtractFileDir( Application.ExeName ) => '<Verzeichnisse>' if Copy(inipath,Length(inipath),1) <> '\' then inipath := inipath +'\'; myini := TInifile.Create(inipath+myIniFile+'.ini'); strtemp := myini.ReadString(mysection,myentry,mydefault); myGetInifileValue := strtemp; myini.Free; end; |
AW: inifile beschreiben
Danke.
Habe es übernommen. |
AW: inifile beschreiben
@Sir Rufo: Und wenn ich die Ini-Datei dahin haben möchte, wo sie hingehört, nämlich ins Anwendungsverzeichnis des Benutzers?
Und das mit dem abschließenden Pfadtrennzeichen kann man auch über IncludeTrailingPathDelimiter regeln. |
AW: inifile beschreiben
Zitat:
![]() ![]() PS: Wenn eine Datei mit Pfad übergeben wird, dann liefert ![]() Im Gegensatz zu ![]() (IncludeTrailingPathDelimiter beachtet übrigens diesen Sonderfall) PSS: Wenn inipath keinen Pfad wäre, sondern leer, dann würde dieses IF Probleme bereiten. Aus 'test.exe' würde '\deine.ini' was die INI ins Hauptverzeichnis legen würde, wärend die EXE im aktiven Arbeitsverzeichnis liegt. Also falls du solche '\'-Operationen öfters mal machst. (Application.ExeName liefert zum Glück immer einen Pfad, so daß dein IF hier nix kaputt machen kann und da immer ein '\' macht dieses IF garnichts, außer sinnlos Rechenzeit zu verschwenden, für das Copy und den Vergleich) |
AW: inifile beschreiben
Zitat:
Delphi-Quellcode:
völlig auf dem Holzweg.
ExtractFilePath( Application.ExeName )
Aber darum ging es mir ja gar nicht, sondern um diese umständliche PathDelimiter-Orgie, die zudem völlig überflüssig ist/war Weil dann muss ich mir den Pfad über die SpecialFolders holen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 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