AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Sehr Schwierige Frage ;-) INI Musik Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Sehr Schwierige Frage ;-) INI Musik Datenbank

Ein Thema von hedie · begonnen am 30. Dez 2006 · letzter Beitrag vom 30. Dez 2006
Antwort Antwort
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

Sehr Schwierige Frage ;-) INI Musik Datenbank

  Alt 30. Dez 2006, 17:10
Datenbank: INI • Version: bö? • Zugriff über: Direkt
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:
VAR
sel:integer;
begin
SEL := Listbox1.ItemIndex;
Listbox1.Items.Delete(sel);
listbox2.Items.Delete(sel);
ini.EarseSection(inttostr(sel);
Und dann bleibt in der INI das zurück

Code:
[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
Das Problem ist, das mein Programm die LIST Box so füllt

Delphi-Quellcode:
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;
Und daher einfach die zahlen von 0 - i überprüft

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
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Andreas H.
Andreas H.

Registriert seit: 3. Mär 2006
Ort: Schopfloch
163 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Sehr Schwierige Frage ;-) INI Musik Datenbank

  Alt 30. Dez 2006, 18:44
Hallo,


oh je, kennst Du denn kein repeat .. until Das mit dem GOTO braucht man in Delphi wirklich nicht!!

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

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
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#3

Re: Sehr Schwierige Frage ;-) INI Musik Datenbank

  Alt 30. Dez 2006, 18:47
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?
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#4

Re: Sehr Schwierige Frage ;-) INI Musik Datenbank

  Alt 30. Dez 2006, 19:11
Vielen vielen dank


Es hat suuuper geklappt

Sie wissen gar nicht wie sehr sie mir geholfen haben

und die repeat until funktion habe ich auch gerade gelernt


Es lädt nun die Liste aus der Datenbank und Speichert sie erst am schluss aber erstellt sie neu also neue nummerierung.
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Andreas H.
Andreas H.

Registriert seit: 3. Mär 2006
Ort: Schopfloch
163 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Sehr Schwierige Frage ;-) INI Musik Datenbank

  Alt 30. Dez 2006, 20:13
Hallo,

freut mich, dass Du es alleine so schnell geschafft hast!

Ich habe noch nie GOTO benutzt.

In der Delphi-Hilfe steht einiges über Schleifen-Konstrukte:
  • for-Schleife
  • repeat..until-Schleife
  • while-Schleife

Schleifen kann man übrigens mit break abbrechen und mit continue weiterschalten.

Gruß Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:34 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