![]() |
Datenmenge filtern
Hallo Zusammen,
ich muss im Rahmen meines Studiums eine Abschlussarbeit in Delphi schreiben. Thema ist die Erstellung einer Musik- und Videosammlung. Nun verzweifel ich gerade an einer Stelle und hoffe, dass man mir hier weiterhelfen kann. Zu den einzelnen Stücken wird jeweils: Interpret, Titel, Jahr und Art(Musik oder Video) erfasst. Es soll möglich sein zwischen den einzelnen Datensätzen zu navigieren (Erster, Nächster, Vorheriger und Letzter). Das ist soweit auch kein Problem. Jetzt soll ich jedoch eine zusätzliche Auswahl ermöglichen, sodass nur Videos, nur Musik oder Alles angezeigt wird. Ich habe dafür, wie bereits für die "Art" eine RadioGroup erstellt. Wie schaffe ich es nun, dass beispielsweise bei Auswahl "nur Videos", wenn ich auf meinen Button "erster Datensatz" klicke, das erste Video aus den gesamten Datensätzen angezeigt wird. Mit Schleifen bin ich leider bisher nicht zu einem Erfolg gekommen. |
AW: Hilfe!
Auch hier: Mit vorenthaltenem Quelltext / Projekt wird die Hilfe für Dich bestenfalls zum Blick in eine Glaskugel.
|
AW: Hilfe!
Code:
Ich will jetzt, dass bei RadioGroup2=0 der erste Datensatz angezeigt wird, bei dem RadioGroup1=0 ist und bei RadioGroup2=1 der erste Datensatz, bei dem RadioGroup1=1 ist
procedure TForm1.btnErsterClick(Sender: TObject);
begin if radiogroup2.itemindex=2 then begin btnErster.Visible:=true; btnNaechster.Visible:=true; btnVorheriger.Visible:=true; btnLetzter.Visible:=true; lblsongnummer.Caption:='1'; with aSammlung[1] do begin edtInterpret.Text:=Interpret; edtTitel.Text:=Titel; edtAlbum.Text:=Album; begin case Art of Musik: RadioGroup1.ItemIndex:=0; Video: RadioGroup1.ItemIndex:=1; end; //case cBox1.Text:=Genre; edtJahr.Text:=IntToStr (Jahr); edtDauerStunden.Text:=IntToStr (DauerStunden); edtDauerMinuten.Text:=IntToStr (DauerMinuten); edtDauerSekunden.Text:=IntToStr (DauerSekunden); edtSpeicherort.text:=Speicherort; end; nIndex:=1 end; //with aSammlung[1] do end; end; |
AW: Hilfe!
Hallo und willkommen in der DP. :hi:
Sei doch bitte grad' so gut und gib Deinem Thema einen aussagekräftigen Titel. Danke Dir. :-) |
AW: Hilfe!
Zitat:
Für einen Click auf einen Button sollter dieser "enabled" und "Visible" sein. Somit ist
Delphi-Quellcode:
eigentlich überflüssig.
btnErster.Visible:=true;
"Radiogroup" ist eine Komponente der Oberfläche und stellt in den allermeisten Fällen, keine Eigenschaft eines Datensatzes dar. Vielleicht wäre es sinnvoll, wenn Du noch einmal in Dich gehst, und Deine Absichten noch einmal neu formulierst. Gruß K-H P.S. "Hilfe" ist als aussagekräftiger Titel kaum zu überbieten. |
AW: Hilfe!
|
AW: Hilfe!
Mal angenommen du hat ein Feld "MediaTyp", das angibt um welches Medium (Audio-CD, DVD, VHS, MP3,...) sich handelt.
Dann kannst du zur Laufzeit einen Filter setzen:
Delphi-Quellcode:
Man kann die Daten natürlich auch mit einer SQL-Where-Bedingung filtern, aber ich würde erst einmal die aller einfachste Lösung wählen.
Tabelle1.Filter := 'MediaTyp="VHS"'; // Filter setzen
// oder auch so, falls der MediaTyp eine Zahl ist Tabelle1.Filter := 'MediaTyp=3'; // 3 = VHS Tabelle1.Filtered := True; // und aktivieren Falls keine Dataset-Komponenten verwendet werden kann man den Filter leider nicht anwenden! |
AW: Hilfe!
Zitat:
|
AW: Datenmenge filtern
... Manche Dinge muss man selbst machen, wenn sie gut werden sollen. ;-) Ich habe den Titel eben angepasst.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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-2025 by Thomas Breitkreuz