Entwickler-Ecke

Dateizugriff - Ini wird nicht geladen


Delete - So 27.12.09 04:17
Titel: Ini wird nicht geladen
- Nachträglich durch die Entwickler-Ecke gelöscht -


jaenicke - So 27.12.09 04:30

user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.bLadenClick(Sender: TObject);  // Button LADEN
var
  Ini : TMemIniFile;
  i   : integer;
begin
  Ini := TMemIniFile.Create('MeineIni.ini');
  for i := 0 to (ListBox1.Items.Count-1do
Überlege doch bitte einmal was da passiert...
Was wird wohl die Anzahl der Einträge in der ListBox sein bevor diese hinein geladen sind? :idea:

Und ein anderes gravierendes Problem:
Du hast die Pfadangabe vergessen, speicherst also an einem mehr oder weniger zufälligen Ort, kannst also nicht sicher sein, ob du die Daten auch wieder laden kannst...
http://www.delphi-library.de/viewtopic.php?p=499701


Delete - So 27.12.09 04:43

- Nachträglich durch die Entwickler-Ecke gelöscht -


jaenicke - So 27.12.09 04:52

user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Die Pfadeingabe ist im moment nicht wichtig, ich lasse sie vorrübergehend in dem Programmordner erzeugen
Tust du ja gerade nicht. Du benutzt das Arbeitsverzeichnis, also weißt du im Grunde gar nicht welches Verzeichnis du gerade benutzt. Bei deinen Tests wird es zufällig das deiner Exe gewesen sein...

user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Zitat:
Was wird wohl die Anzahl der Einträge in der ListBox sein bevor diese hinein geladen sind? :idea:

Die Anzahl wird 0 sein ?!
Und weiter ?
Naja... wie oft wird dann wohl die Schleife durchlaufen?
Genau: Nie
Wieviele Einträge werden also geladen?
Genau: Keine


Delete - So 27.12.09 05:21

- Nachträglich durch die Entwickler-Ecke gelöscht -


Xentar - So 27.12.09 05:32

Wie viele Einträge hast du wohl beim Programmstart in der Listbox? In den meisten Fällen 0.
Wie lässt sich das umgehen? -> Speicher die Anzahl der Einträge mit in der Ini. Z.B. [Bücherliste] Bücher=12
Alternative: Iterier alle Einträge der Ini durch, und prüf den Namen, ob der hinkommt.


Delete - So 27.12.09 05:44

- Nachträglich durch die Entwickler-Ecke gelöscht -


Delete - So 27.12.09 13:55

- Nachträglich durch die Entwickler-Ecke gelöscht -


Peter Schmelzer - So 27.12.09 17:00

Ich bin stolz auf Euch - morgens um 04:45 Uhr noch am schaffen - Mittags schon wieder an Bord.

Mit dem Code kannst die alle Bücher lesen, ohne die Anzahl zuvor zu speichern.

Delphi-Quelltext
1:
2:
3:
  ini.readSectionValues('Bücherliste', MeineStringListe);
  for i := 0 to MeineStringListe.count-1 do
    ListBox1.Items.Add(MeineStringListe.ValueOfIndex[i]);


Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt


Delete - So 27.12.09 19:57

- Nachträglich durch die Entwickler-Ecke gelöscht -