Autor Beitrag
Wolle92
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1296

Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
BeitragVerfasst: Di 21.07.09 16:07 
Hallo,

ich möchte die letzte Section aus einer INI haben, und hole sie mir mit der IniFile.ReadSections... Nur leider wird dabei irgendwie das erste Zeichen jeder Section verschluckt...

Hier mal eine Portion Code:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.FormCreate(Sender: TObject);
var strings: TStringList;
begin
  strings := TStringList.Create;
  newestQuote := 0;
  ini := TIniFile.Create('./quotes.ini');
  if ini.ValueExists('Basic','Count') then
    Label2.Caption := 'Gespeicherte Zitate: '+IntToStr(ini.ReadInteger('Basic','Count',0))
  else
  begin
    ini.WriteInteger('Basic','Count',0);
    ini.WriteString('Basic','LastUpdate',FormatDateTime('dd-mm-yyy hh:nn',Now));
  end;
  ini.ReadSections(strings);
  ShowMessage(strings.ValueFromIndex[strings.Count-1]);
  Memo1.Lines.Add('Initialisierung abgeschlossen...');
end;


Aus ShowMessage kommt bei z.B. "Basic" nur "asic"...

Kann mir jemand sagen, was ich falsch mache?

Danke,
Wolle

_________________
1405006117752879898543142606244511569936384000000000.
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 21.07.09 18:43 
Hallo,

mit ValueFromIndex greift man auf das Werte-Paar name/value zu.
Werte-Paare hast Du nicht als Ergebnis von ReadSections, das sind nur die Namen der Sectionen.

Einfach über den Index die Items der StringList lesen:
ausblenden Delphi-Quelltext
1:
showmessage(sL[sL.Count-1]);					


Ps.: strings als Name für eine StringList würde ich nicht verwenden

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 21.07.09 18:50 
Jo, Lannes hat die Lösung schon verraten.

Noch zwei Ergänzungen von mir:
du bist nun schon 2 JAHRE dabei, und beherrschst immer noch nicht
1. Try ... finally .. end;
2. Absolute Dateipfade

das solltest du bei Gelegenheit ändern.

Edit:
3. Unter Windows verwendet man den \ und nicht /

_________________
PROGRAMMER: A device for converting coffee into software.
Wolle92 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1296

Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
BeitragVerfasst: Di 21.07.09 19:25 
Xentar, ich hab lange nicht mehr in Delphi gearbeitet, sondern fast nur PHP in letzter Zeit... Muss mich erst wieder umgewöhnen ;)

Ok, die try, finally und end-Blöcke sind eine schwäche von mir.

_________________
1405006117752879898543142606244511569936384000000000.