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
Frühlingsrolle hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.bLadenClick(Sender: TObject); var Ini : TMemIniFile; i : integer; begin Ini := TMemIniFile.Create('MeineIni.ini'); for i := 0 to (ListBox1.Items.Count-1) do | |
Ü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
Frühlingsrolle hat folgendes geschrieben : |
| 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...
Frühlingsrolle hat folgendes geschrieben : |
| 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
Christian S.: Code- durch Delphi-Tags ersetzt
Delete - So 27.12.09 19:57
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!