Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ini ReadSectionValue Problem (https://www.delphipraxis.net/12102-ini-readsectionvalue-problem.html)

Die Muhkuh 20. Nov 2003 16:51


Ini ReadSectionValue Problem
 
Hiho,

mal wieder Ini^^

Ich erzeuge mit:

Delphi-Quellcode:
  Beni := TInifile.Create(ExtractFilePath(ParamStr(0)) + 'Users.ini');
  i := random (1000);
    try
      Beni.WriteString('User','Name' + inttostr(i),User.text);
    finally
      Beni.Free;
    end;
Eine Ini Datei. In der steht das dann so:
Code:
[User]
Name1=Spider
Mit nem Timer tue ich das ganze auslesen und in ne Listbox schreiben:
Delphi-Quellcode:
  Beni := TInifile.Create(ExtractFilePath(ParamStr(0)) + 'Users.ini');
  Beni.ReadSectionValues('User',Userliste.items);
Das Problem ist das in der Listbox dann steht:
Code:
Name1=Spider
Aber ich möchte das bloß
Code:
Spider
Da steht!

Meine Frage wie bekommen ich das "Name1=" weg?

CalganX 20. Nov 2003 17:03

Re: Ini ReadSectionValue Problem
 
Hi Spider,
du musst eine temporäre StringListe anlegen und daraus dann die Values lesen:
Delphi-Quellcode:
aIniFile.ReadSectionValues('section', slTemp);
Userliste.items.clear;
for i:=0 to slTemp.Count - 1 do begin
  Userliste.items.Add(slTemp[i]);
end;
So sollte es funktionieren. :)

Chris

Die Muhkuh 20. Nov 2003 17:11

Re: Ini ReadSectionValue Problem
 
@Chako


Sorry geht aber net

Delphi-Quellcode:
var
  Liste: TStringlist;
begin
  Beni := TInifile.Create(ExtractFilePath(ParamStr(0)) + 'Users.ini');

  Beni.ReadSectionValues('User', Liste); //<-- Alles was nach dem kommt bringt er ne Fehlermelung!
    for i:=0 to Liste.Count - 1 do begin
  Userliste.items.Add(Liste[i]);
end;

So ^^oben^^ bringt er ne Fehler meldung ala Zugriffsverletzung!

CalganX 20. Nov 2003 17:14

Re: Ini ReadSectionValue Problem
 
Delphi-Quellcode:
Liste := TStringList.Create; // initialisieren hilft
Chris

PS: Objekte _müssen_ immer erst erstellt/initialisiert und freigegeben (Free verwenden) werden! Solltest du dir merken. :)

Die Muhkuh 20. Nov 2003 17:22

Re: Ini ReadSectionValue Problem
 
Delphi-Quellcode:
procedure TMain.User_aTimer(Sender: TObject);
var
  Liste: TStringlist;
  ii: Integer;
begin
  Beni := TInifile.Create(ExtractFilePath(ParamStr(0)) + 'Users.ini');

  Liste := TStringList.Create;
  Beni.ReadSectionValues('User', Liste);
    for ii:=0 to Liste.Count - 1 do
  Userliste.items.Add(Liste[ii]);
end;
Was mache ich falsch? Es geht trotzdem net :cry:

CalganX 20. Nov 2003 17:31

Re: Ini ReadSectionValue Problem
 
Hi,
du hast das Values vergessen (okay, habe ich auch). Sollte dann aber funktionieren. Zu den Values musst du ggf. mal in der Hilfe nachschauen.

Chris

Die Muhkuh 20. Nov 2003 17:51

Re: Ini ReadSectionValue Problem
 
@Chako

was meinst du denn mit den Values?

CalganX 20. Nov 2003 18:23

Re: Ini ReadSectionValue Problem
 
Hi Spider,
die Eigenschaft mit jedem Namen. Und guck mal bitte in der Hilfe zu "Names" und "Values". Wenn du diese beiden Eigenschaften miteinander verbindest, so kommst auf das gewünschte Ergebnis.

Code:
Names=Values
So sieht das Schema aus.

Chris


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