Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit ReadSectionValues bei den IniFiles! (https://www.delphipraxis.net/19040-problem-mit-readsectionvalues-bei-den-inifiles.html)

maximi 28. Mär 2004 01:53


Problem mit ReadSectionValues bei den IniFiles!
 
Ich habe ein Problem mit ReadSectionValues bei den IniFiles.
Der Code bei den IniFiles:

Code:
[Animation]
dateiname=c:\asd.bmp
so und mein Delphi-Code:

Delphi-Quellcode:
var daten:TStringlist;
...
projektdatei.ReadSectionValues('Animation',daten);
so ich bekomme aber bei 'daten.strings[0]' nicht 'c:\asd.bmp' sondern 'dateiname=c:\asd.bmp'. Was kann ich machen?

Max

Markus K. 28. Mär 2004 01:59

Re: Problem mit ReadSectionValues bei den IniFiles!
 
Hallo maximi,
du könntest zum Beispiel den String hinter dem = mit Hilfe der Copy Funktion, etc. auslesen. Dafür bestimmst du die Position des = und kopiert dann von der Position+1 den String.

Tschüß Markus

Die Muhkuh 28. Mär 2004 08:14

Re: Problem mit ReadSectionValues bei den IniFiles!
 
Hier noch ein kleines Beispiel:

Delphi-Quellcode:
var
  S, Temp: String;
begin
[...]
Temp := Ini.ReadSectionValues('Animation',daten);
S := Copy(Temp,Pos('=',Temp), Length(Temp));

Ungetestet!!!

yankee 28. Mär 2004 10:27

Re: Problem mit ReadSectionValues bei den IniFiles!
 
Also ich habe das Problem bei mir so gelöst:
INI:
[Animation]
nof=1
dateiname1=c:\asd.bmp

also nof (number of Lines) wieviele Einträge es gibt. Und dann so:
Delphi-Quellcode:
procedure IniAuslesen;
var nof,s:integer;
    daten:string;
    ini:TIniFile;
begin
    nof :=ini.ReadInteger('Animation','count',0);
    for s:=1 to nof do //sooft wie es Einträge gibt
    begin
        daten[s]=readString('Animation','dateiname'+inttostr(s),'');
    end;
ini.free;
end;
So können beliebig viele Dateinamen drinstehen. Also auch
[Animation]
nof=3
dateiname1=c:\asd.bmp
dateiname2=d:\bilder\bahnhof.bmp
dateiname3=c:\gedöne\airport.bmp

kleine Ärgenzung. Ich weiß nicht so genau, wie das mit den Arrys geht, dass must du noch anpassen.

maximi 28. Mär 2004 13:04

Re: Problem mit ReadSectionValues bei den IniFiles!
 
Danke an alle.
Ich habs ich habs jetzt so gelöst:
Delphi-Quellcode:
projektdatei.ReadSectionValues('Animation',daten);
for i := 0 to daten.Count-1 do
  daten.Strings[i] := copy(daten.Strings[i],length('Dateiname0=')+1,length(daten.strings[i])-length('Dateiname0='));

Christian Seehase 28. Mär 2004 13:04

Re: Problem mit ReadSectionValues bei den IniFiles!
 
Moin Max,

oder Du könnest, wenn Du unbedingt die Section komplett einlesen willst, mit

Delphi-Quellcode:
sDateiName := daten.Values['dateiname']
den Wert auslesen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 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 by Thomas Breitkreuz