Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi DJ BPM Programm,brauche dringend Hilfe!!! (https://www.delphipraxis.net/5969-dj-bpm-programm-brauche-dringend-hilfe.html)

joe.fresh 24. Jun 2003 20:56


DJ BPM Programm,brauche dringend Hilfe!!!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi!
Muss ein Programm für die Schule machen.
Und zwar sollen in das Programm ein Interpret(edit1.text),Titel(edit2.text) und Geschwindigkeit(edit3.text)
eines Songs aufgenommen werden und gespeichert bleiben.
Gespeichert soll alles in einen File oder in ein Array[1..300] das in einem File gespeichert wird.Anschliessend soll man auch wieder alles einzeln löschen können.(Also ein Interpret,Titel und eine Geschwindigkeit eines einzelnen Liedes sollen gelöscht werden]

Was ich bereits geschafft habe ist :
Um alles leichter Anzeigen zu können werden die eingegebenen
Interpreten und Titel in einer Listbox angezeigt.
Und es können Einträge aus der Listbox gelöscht werden.


Kann mir jemand bei dem Programm Code helfen bzw ihn ergänzen?

Danke im Vorraus

Joe.Fresh

Hier sollen die Titel hinzugefügt werden und dann in einer Datei gespeichert werden.

Code:
procedure TForm1.Button2Click(Sender: TObject);

var hilf,hilf2,hilf3:string ; zaehler:integer;

begin

hilf:=edit1.text;
hilf2:=edit2.text;
hilf3:=' - ';
if edit1.text=''
then showmessage ('Bitte erst den Namen eingeben')
else listbox1.items.add(hilf+hilf3+hilf2);
zaehler:=listbox1.items.count;
end;

Hier sollen die gespeicherten Daten einzeln gelöscht werden.
Code:
procedure TForm1.Button3Click(Sender: TObject);

var i:integer;
begin
if listbox1.itemindex = -1
then showmessage ('Bitte erst Eintrag markieren')
else showmessage ('Eintrag gelöscht');
for i:=0 to 300 do
begin
if listbox1.itemindex = i
then listbox1.items.delete (i);
end;

end;

und hier sollen die gespeicherten Daten wieder angezeigt werden.
Am besten in den 3 Textfeldern.
Code:
procedure TForm1.Button4Click(Sender: TObject);

begin

end;

Christian Seehase 24. Jun 2003 21:08

Moin Joe,

mal eben zu Punkt 2:
Die for-Schleife brauchst Du da gar nicht.
Wenn ListBox1.ItemIndex <> -1 ist, kannst Du diesen Wert auch direkt zum löschen verwenden.

Delphi-Quellcode:
// Statt der for Schleife
ListBox1.Items.Delete(ListBox1.ItemIndex);
Da Du ja vorher geprüft hast, das es ein gültiger Index ist sollte da so gehen.
Wenn, müsste die Schleife von 0 bis ListBox1.Items.Count-1 gehen, da der Index hier nullbasiert ist. Passieren würde in Deinem Beispiel zwar nichts, aber es ist sauberer.

Habt ihr irgendeine Vorgabe, wie das Array aussehen soll?

joe.fresh 24. Jun 2003 21:13

Danke schonmal für das mit der Schleife.
Ja das bei dem Array is eigentlich egal

Hauptsache so in der Art

teintrag=Record
interpret,titel,geschwindigkeit:string[100];

und das vielleicht das ganze array so maximal
1000 felder hat.aller höchstens.


mfg

joe.fresh

Christian Seehase 24. Jun 2003 21:24

Moin Joe,

was das Speichern angeht:
Welche Zugriffe auf Dateien habt ihr denn behandelt?
Es gibt da verschiedene Möglichkeiten, die zwar intern gleich funktionieren, aber nach aussen hin doch ganz anders zu handhaben sind.
Wäre vielleicht nicht so passend, die falsche Variante hier anzubieten, die ihr noch gar nicht hattet.

joe.fresh 24. Jun 2003 21:35

Hmm wir haben die ganz normalen
standardmässigen ein und ausgabe routinen
behandelt.also so sachen mit assign file
write und read usw.
das alles in einer datei. z b datei.dat gespeichert wird.
also so die anfänge von speichern.
also nur normale dateien keine textdateien.

mfg

dominik

Christian Seehase 25. Jun 2003 14:57

Moin Dominik,

sorry, aber mit diesen Funktionen hab' ich leider keine sonderliche Erfahrung.
Ich hatte sie schon "befürchtet".

Das sollte sich mal jemand ansehen, der Dir da gezielt helfen kann.

Christian Seehase 25. Jun 2003 15:39

Moin Dominik,

zwei Sachen fallen mir da noch ein
  1. Was ist hiermit gemeint:
    "und hier sollen die gespeicherten Daten wieder angezeigt werden. "
    Die Daten stehen doch in der Listbox, was soll da zusätzlich mit angezeigt werden?
  2. Wenn Du beim Einfügen in die Listbox einfach nur die drei Felder hintereinander setzt, sähe das etwas seltsam aus. Du müsstest sie also mindestens mit Leerzeichen trennen.

BTW: Gibt es eine genaue Aufgabenstellung für dieses Programm?

Christian Seehase 25. Jun 2003 15:46

Moin Dominik,

zum Thema Dateien mit Assign usw. kannst Du mal hier schauen

Filmarchiv in Delphi

joe.fresh 25. Jun 2003 15:51

ja das mit der ausgabe steht nur da,
es soll halt der 4te button angeklickt werden und
dann die daten ausgegeben werden in die 3 textfelder.

und mir is eingefallen eigentlich könnte man ja nur die listbox in einen file speichern und alles ohne arrays machen,oder?
und dann wie du gesagt hast alles einfach mit leerzeichen in die
listbox schreiben oder?

mfg


dominik

joe.fresh 25. Jun 2003 15:57

hehe,das is einer aus meiner klasse :-)

mfg

dominik


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 Uhr.
Seite 1 von 3  1 23      

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-2025 by Thomas Breitkreuz