Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Listbox ohne Wertbezeichnung aus INI füllen? (https://www.delphipraxis.net/137729-listbox-ohne-wertbezeichnung-aus-ini-fuellen.html)

mlspider 27. Jul 2009 18:32


Listbox ohne Wertbezeichnung aus INI füllen?
 
Irgendwie stehe ich heute völlig neben mir.

Delphi-Quellcode:
ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+
    'Conf\Data\Core.ini');
ini.ReadSectionValues('Name',ListBox1.Items);
Ini.Free;
Als Ergebnis würde es beispielsweise wie folgt aussehen:

01=Versuch
02=Test

usw.

Wie könnte man aber den jeweiligen Wertebezeichner wegschneiden, so das eine Listbox nur mit den jeweiligen Wert befüllt wird?

Aphton 27. Jul 2009 18:39

Re: Listbox ohne Wertbezeichnung aus INI füllen?
 
Gehe alle einzelnen Einträge (Items) durch und schneide jeweils pro Eintrag alles bis '=' (inklusive) per Delete() ab. Mit Pos() ermittelst du die Stelle von '='.

MfG

mlspider 27. Jul 2009 18:40

Re: Listbox ohne Wertbezeichnung aus INI füllen?
 
Und wie könnte so eine For-Schleife aussehen?

DeddyH 27. Jul 2009 18:55

Re: Listbox ohne Wertbezeichnung aus INI füllen?
 
Delphi-Quellcode:
var s: string;
    i: integer;
begin
  ListBox1.Items.BeginUpdate;
  try
    for i := 0 to Pred(ListBox1.Items.Count) do
      begin
        s := Copy(Pos('=',ListBox1.Items[i]) + 1, Length(ListBox1.Items[i]));
        ListBox1.Items[i] := s;
      end;
  finally
    ListBox1.Items.EndUpdate;
  end;
end;
Nur so heruntergetippt und nicht getestet.

mlspider 27. Jul 2009 18:59

Re: Listbox ohne Wertbezeichnung aus INI füllen?
 
Inkompatible Typen. Leider

DeddyH 27. Jul 2009 19:03

Re: Listbox ohne Wertbezeichnung aus INI füllen?
 
Was soll da inkompatibel sein? Hab ich was übersehen?

mlspider 27. Jul 2009 19:08

Re: Listbox ohne Wertbezeichnung aus INI füllen?
 
Delphi-Quellcode:
try
    for i := 0 to Pred(ListBox2.Items.Count) do
      begin

        // ab dieser Zeile zickt der Compiler
        s := Copy(Pos('=',ListBox2.Items[i]) + 1, Length(ListBox2.Items[i]));

        ListboxBox2.Items[i] := s;
      end;
  finally
    ListBox2.Items.EndUpdate;
  end;

DeddyH 27. Jul 2009 19:13

Re: Listbox ohne Wertbezeichnung aus INI füllen?
 
Jetzt hab ich mir 3 mal die Brille geputzt, aber immer noch nichts gefunden. Gut, dann mal in der Langform:
Delphi-Quellcode:
try
    for i := 0 to Pred(ListBox2.Items.Count) do
      begin
        s := ListBox2.Items[i];
        iPos := Pos('=', s) + 1; //iPos: integer
        s := Copy(s, iPos, Length(s)); //hier ist der Fehler, sorry, hab das s vergessen
        Listbox2.Items[i] := s;
      end;
  finally
    ListBox2.Items.EndUpdate;
  end;
Heißt also, in der Version von oben muss es lauten
Delphi-Quellcode:
var s: string;
    i: integer;
begin
  ListBox1.Items.BeginUpdate;
  try
    for i := 0 to Pred(ListBox1.Items.Count) do
      begin
        s := Copy(ListBox1.Items[i], Pos('=',ListBox1.Items[i]) + 1, Length(ListBox1.Items[i]));
        ListBox1.Items[i] := s;
      end;
  finally
    ListBox1.Items.EndUpdate;
  end;
end;

mlspider 27. Jul 2009 19:20

Re: Listbox ohne Wertbezeichnung aus INI füllen?
 
Auch ich habe meine Brille erneut geputzt.

Gerade auch gesehen. Jetzt funzt es. Danke.


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