Gå til innhold

Anbefalte innlegg

Skrevet

Hei har laget et program som søker i en mappe eller harddisk etter film filer, dette blir lagt til i en listbox hvordan kan jeg søke etter en fil som er i listboxen?

 

Og hvordan kan jeg søke slik at den også finner skjulte og system filer?

Videoannonse
Annonse
Skrevet

For søking i ein listbox, benytter du følgende kode (ikkje testa). Dersom det er fleire like verdiar i lista, vil den returnere nummeret på den siste.

 

function FinnIListbox(Listbox: TListBox; Finn: String): Integer;
var
 n: Integer;
begin
 for n := 0 to listbox.length do 
 begin
   if UpperCase(listbox.items[n]) = UpperCase(Finn) then
     result := n;
 end;
end;

 

Angåande å finne alle filer (inkludert systemfiler), kan du slå opp på FindFirst i Delphi Help; her står det greit korleis du skal gjere det. Som andre parameter til den funksjonen kan du sende noko slikt som "(faAnyFile or faHidden or faSysFile or faReadOnly)", evt. bytte ut "or" med "+" (huskar ikkje heilt korleis det funkar i Delphi).

 

Håpar dette hjelper. :)

Skrevet

Alternativet er å bruke TListbox.Items.IndexOf (Finn), sammenliget med eksemplet ovenfor. IndexOf er en innebygd søkefunksjon som returnerer posisjonen til strengen Finn. Posisjonen er nullbasert. Hvis Finn ikke finnes, returneres -1.

Skrevet

Nok ein gang viser det seg at eg burde ha lest dokumentasjonen betre. :blush: Søkemetoden eg har beskrevet over er kanskje ein meir generell søkemetode ein kan bruke når ein har med lister som manglar IndexOf()-funksjonar. :)

Skrevet

Jo, det er så. Alle bør beherske søking vha. løkke slik du har demonstrert. Delphi blir bare mer og mer raffinert og mange trivielle oppgaver er implementert som metoder til de forskjellige objektene. IndexOf er implementert for alt som består av TStrings og TStringlists. Disse gjelder i utvidet forstand for StringGrids også ++

:-)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...