09. april 2003 - 18:15Der er
3 kommentarer og 1 løsning
Mangel på design til program
Hej
Jeg er igang med en opgave hvor jeg skal fremstille et program der er i stand til at registrere hvilke numre man har på hvilke CD'er. Mit problem ligger i at jeg skal have oprettet en søgefunktion. Jeg skal i første omgang have lavet fire checkboxe hvor man kan krydse af om man vil søge på kunstner, tittel, album eller længden af nummeret. Der udover skal der naturligvis også være en edit hvori man kan skrive en søge ord. Alt dette skal blive aktiveret via en knap. Jeg har selv forestillet mig en if kommando
f.eks.
if not CheckBoxKunstner.Checked=False then begin ......... end; if CheckBoxTittel.Checked=False then begin ved ikke helt om det er holdbart...
Desuden mangler jeg et design hertil nogenforslag???
Det er simplere blot at skrive if CheckBoxKunstner.Checked then Det er det samme som if not CheckBoxKunstner.Checked=False then Men ang. dit design: Det kunne være simplere og mere intuitivt (stedet for CheckBoxes) at bruge 4 TEdit hvor man indtaste henh. Kunstner, Titel, Album og/eller Længde af nummer. Så kan du skrive: if KunstnerEdit.Text <> '' then {søg efter kunstner} og så en TButton der aktiverer søgningen. En TEdit hvor der ikke er indtastet betyder at man ikke vil søge på den kategori. Mere simpelt og forståeligt for brugeren synes jeg.
Jeg er enig med tolderlund, drop checkboxes, og drop radiobuttons. Dog ville jeg udvide det med editboxene lidt.
Du kan på en editbox'es OnChange Event have en stump kode der søger ned gennem din database efterhånden som man taster... Eller hvis du vil have det til at virke lidt ala Internet explorer når du skriver adresserne ind, filtreres alt det væk der ikke opfylder kriteriet... Så skriver du noget i stil af: (Du kan sætte alle fire editboxes OnChange Event til at pege på samme procedure.
EditKunstnerOnChange(Sender:TObject); begin SetTableFilter; end;
procedure TForm1.SetTableFilter; begin table1.DisableControls; try table1.Filter := format('KUNSTNER = ''%s'' AND ALBUM = ''%s''',[EditKunster.text, EditAlbum.text]); table1.Filtered := true; finally table1.EnableControls; end; end;
Hvis du har alle rækkerne vis i et grid, vil de efterhånden forsvinde ud af griddet som man taster. Der kan godt blive lidt med at du skal nulstille filteret på det rette tidspunkt...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.