![]() |
Datenbank: INI • Version: bö? • Zugriff über: Direkt
Sehr Schwierige Frage ;-) INI Musik Datenbank
Hallo
Ich bin gerade daran einen Musik Player zu Programmieren bei dem man Via DragDrop Files Hinzufügen kann wa auch alles super klappt. Die Lieder werden gespeichert und auch geladen. Doch das Problem isst wenn ich sie aus der Listbox Entferne, dann werden sie auch automatisch aus der INI Entfern und zwar so
Delphi-Quellcode:
Und dann bleibt in der INI das zurück
VAR
sel:integer; begin SEL := Listbox1.ItemIndex; Listbox1.Items.Delete(sel); listbox2.Items.Delete(sel); ini.EarseSection(inttostr(sel);
Code:
Das Problem ist, das mein Programm die LIST Box so füllt
[LISTB1]
CAPACITY=1[LISTB2] CAPACITY=1 [1] 1=C:\Dokumente und Einstellungen\hedie\Eigene Dateien\Eigene Musik\03 inxs-taste it.mp3 2=Taste It [VARIABLE] VARI=0
Delphi-Quellcode:
Und daher einfach die zahlen von 0 - i überprüft
procedure TForm1.FormCreate(Sender: TObject);
var ii:integer; label return2; begin ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'msett.ini'); i := ini.ReadInteger('VARIABLE','VARI',0); ii := 0; RETURN2:; if ii = i then begin showmessage ('MD0052 -- Load Erfolgreich'); exit; end Else begin Listbox1.Items.Add(ini.ReadString(inttostr(ii),'2','ER0098')); Listbox2.Items.Add(ini.ReadString(inttostr(ii),'1','ER0099')); ii := ii + 1; goto return2; end; Aber wenn ich ja einen eintrag lösche dan existiert 0 zb nicht mehr und es beginnt bei 1 worauf ein LISTBox Platz leer ist und mit einem Error versehen wird. Ich bin echt am verzweifeln weill ich keine idee habe wie ich das problem lösen könnte. Am besten wäre es wenn es das INI File automatisch neu Ordnet also zb so Vorher: 0 4 7 10 Nachher: 0 1 2 3 Doch wie ich das hinbekommen könnte habe ich keine ahnung Ich bitte um hilfe Vielen dank bereits jetzt schon Liebe grüsse Claudio |
Re: Sehr Schwierige Frage ;-) INI Musik Datenbank
Hallo,
oh je, kennst Du denn kein
Delphi-Quellcode:
Das mit dem GOTO braucht man in Delphi wirklich nicht!!
repeat .. until
Wenn Du Deine Liste erst abspeicherst, wenn dass Programm beendet wird oder per Menü/Button-Aktion, kannst Du die Einträge neu nummerieren und wenn Du ne Abfrage einbaust, hast Du ein simples Undo :wink: Oder Du schreibst immer alle Einträge - natürlich neu nummeriert - nach einem Löschvorgang. Die Methode TIniFile.ReadSections liest übrigens alle Sektionen der Ini-Datei in eine Stringliste ein. Die kannst Du beim Laden abklappern! Gruß Andreas |
Re: Sehr Schwierige Frage ;-) INI Musik Datenbank
Also das mit dem Repeat ... Until kenne ich noch nicht.
Ich bin frogh das du ne idee hast. Könntest du mir ein klein wenig beispiel Code Posten? |
Re: Sehr Schwierige Frage ;-) INI Musik Datenbank
Vielen vielen dank
Es hat suuuper geklappt Sie wissen gar nicht wie sehr sie mir geholfen haben :D und die repeat until funktion habe ich auch gerade gelernt :D Es lädt nun die Liste aus der Datenbank und Speichert sie erst am schluss aber erstellt sie neu also neue nummerierung. |
Re: Sehr Schwierige Frage ;-) INI Musik Datenbank
Hallo,
freut mich, dass Du es alleine so schnell geschafft hast! :thumb: Ich habe noch nie GOTO benutzt. :coder: In der Delphi-Hilfe steht einiges über Schleifen-Konstrukte:
Schleifen kann man übrigens mit break abbrechen und mit continue weiterschalten. Gruß Andreas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz