22. oktober 2004 - 23:29Der er
26 kommentarer og 1 løsning
"Kontinuerlig opdateret stringsøgning"
Hey boys (and girl)?
Jeg har brug for noget kode som kontinuerligt søger i en sorteret ArrayList og returnerer den string som kommer tættest på det, i en tekstbox, indtastede.
Altså, fra en ArrayList indeholdende følgende strenge:
Anders Anita Anne Arne Asker Bo Carl
returneres ved Indtastening af A i tekstboksen:
Anders Anita Anne Arne Asker
Og ved indtastning af det næste bogstav n returneres:
Anders Anita Anne
osv osv. Det skal bruges således at, man i en tekstboks indtastes bogstaverne efterhånden. I en combobox vises så de mulige resultater.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Jo tak, det ser sgu fino ud. Jeg glemte nok at fortælle (DOH!) at jeg arbejder i compact framework, og der kan man ikke skrive direkte i en comboBox. :-(
Ellers fuldstændig hvad jeg har brug for. Jeg har bare smidt en tekstboks oven i comboboxen, så man indtaster i tekstboxen og det er så det input som metoden skal lede efter i ArrayListen.
Kan ikke helt lure hvorfor det ikke virker. COMBOBOKS bliver godt nok tømt, men de ønskede ojekter bliver ikke tilføjet efterfølgende. Jeg håbede lidt at jeg kunne bruge StartsWith(string); til at finde de mulige objekter. Er det far-fetched?
Jeg kan godt se at mit kode (hvis du ellers kan lure hvad jeg vil) er noget mere primitivt end det eks. du sendte mig, men det ku være sjovt selv (næsten) at have lavet noget der virker.
Og ud over det, så skal comboboxen ikke autocomplete, men kun vise de muligheder som er tilgængelige ud fra de indtastede bogstaver/den indtastede string i tekstboksen.
hvilket bringer mig til et nyt spørgsmål om hvorledes man "Aktiverer" comboboxen, så den er "rullet ned" med de mulige valg?
Jeg bruger VS 2003 hvor man kan oprette et Smart Device Application, så bruger den automatisk Compact Framework. Jeg skal indrømme at jeg ikke aner hvordan man evt. kunne gøre det i tidligere versioner.
Yup, thx det virker. Jeg synes egentliget at det ligner min oprindelige kode ret meget:
cmbCOMBOBOX.Items.Clear(); // ArrayList arr = ARRAYLIST MED OBJEKTER; // foreach(OBJEKT obj in arr) // { // // if(obj.Navn.StartsWith(text)) // { // cmbCOMBOBOX.Items.Add(obj); // } // } Bortset fra at jeg kalder en metode, og du kører det direkte i TextChanged-eventen. Mærkeligt det gør en forskel, men det gør det jo :-) .
Lidt en skam at comboboxen ikke kan være dropped down, det var lidt en del af ideen. Men måske jeg kan lave noegt fusk med en listbox under comboboxen :-D
Smid lige et svar så du kan få nogle points. Tak for hjælpen :-)
og ja det ligner din kode meget, og du kunne såmænd sagtes have kaldt en metode, jeg tror forskellen er at du prøver at adde obj, mens det vel burde være obj.Navn?
ok, så kan jeg ikke forklare det, men nu har du da noget der kører
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.