Kan det være sandt ?

Tags:    delphi

I VB kan og har jeg ofte lavet en tekstboks (DBEdit) hvor jeg kan skrive alt det jeg vil og efter at have trykket på en knap (Søg) søger den efter det/de ord som findes i tekstfeltet.
Den gennemgår hele databasen i de felter der er.
Men i Delphi kan det ikke lade sig gøre.
Snart er det forkert Indexfelt snart er der en ID i vejen den VIL bare ikke søge noget som helst og laver ustandselig fejl.
Kan det være sandt ?
At det kan være så vanskeligt ?

tarsankode



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Kan det være sandt ?
At det kan være så vanskeligt ?


Næh, det kan det sådan set ikke. Det kommer bare an på hvordan man gør det. :)
Det er dog svært at kommer mere specifikt ind på det uden lidt flere informationer. Hvilke DB komponenter bruger du? Hvad for en database er der tale om?

Der ud over vil sige at du ikke skal bruge en DBEdit, men bare en edit, og så sætte det indtastede ind i en søge rutine.

Hvad er formålet med øvelsen iøvrigt? (Ren nysgerrighed)
---
Thomas Due
tdue@mail.dk



Kan det være sandt ?
At det kan være så vanskeligt ?


Næh, det kan det sådan set ikke. Det kommer bare an på hvordan man gør det. :)
Det er dog svært at kommer mere specifikt ind på det uden lidt flere informationer. Hvilke DB komponenter bruger du? Hvad for en database er der tale om?

Der ud over vil sige at du ikke skal bruge en DBEdit, men bare en edit, og så sætte det indtastede ind i en søge rutine.

Hvad er formålet med øvelsen iøvrigt? (Ren nysgerrighed)
---
Thomas Due
tdue@mail.dk


Jeg har fået lavet en SELV : ) som virker MEN ikke helt som jeg vil have det da den ikke søger videre men stopper ved første fund.
Den ser sådan ud :

datamodul.DataModule1.Table1.IndexName:='mitindex';
datamodul.DataModule1.Table1.SetRangeStart;
datamodul.DataModule1.Table1.FindKey([Edit1.text]);
datamodul.DataModule1.Table1.SetKey;
datamodul.DataModule1.Table1.Fields[0].asstring:=edit1.Text;
datamodul.DataModule1.Table1.GotoNearest;

Den er jeg ret stolt af, den tog mig kun? 2 dage at lave.

Hvordan får jeg den til at søge gennem hele databasen og finde ALLE ord der måtte være lig det der står i edit1.text ?

Bemærk at jeg også har fået lavet et datamodul , det var mega svært inden jeg opdagede hvordan jeg kunne bruge det i min almindelige ? UNIT.
Det kunne i godt have fortalt mig.

Tak for hjælpen det er rart ikke at være helt alene om det.

tarsankode



Kan det være sandt ?
At det kan være så vanskeligt ?


Næh, det kan det sådan set ikke. Det kommer bare an på hvordan man gør det. :)
Det er dog svært at kommer mere specifikt ind på det uden lidt flere informationer. Hvilke DB komponenter bruger du? Hvad for en database er der tale om?

Der ud over vil sige at du ikke skal bruge en DBEdit, men bare en edit, og så sætte det indtastede ind i en søge rutine.

Hvad er formålet med øvelsen iøvrigt? (Ren nysgerrighed)
---
Thomas Due
tdue@mail.dk

Jeg har fået lavet en SELV : ) som virker MEN ikke helt som jeg vil have det da den ikke søger videre men stopper ved første fund.
Den ser sådan ud :

datamodul.DataModule1.Table1.IndexName:='mitindex';
datamodul.DataModule1.Table1.SetRangeStart;
datamodul.DataModule1.Table1.FindKey([Edit1.text]);
datamodul.DataModule1.Table1.SetKey;
datamodul.DataModule1.Table1.Fields[0].asstring:=edit1.Text;
datamodul.DataModule1.Table1.GotoNearest;

Den er jeg ret stolt af, den tog mig kun? 2 dage at lave.

Hvordan får jeg den til at søge gennem hele databasen og finde ALLE ord der måtte være lig det der står i edit1.text ?

Bemærk at jeg også har fået lavet et datamodul , det var mega svært inden jeg opdagede hvordan jeg kunne bruge det i min almindelige ? UNIT.
Det kunne i godt have fortalt mig.

Tak for hjælpen det er rart ikke at være helt alene om det.

tarsankode



Hej Allan.

For at finde den først forekomst af en tekst skal din kode blot være:
datamodul.DataModule1.Table1.IndexName:='mitindex';
datamodul.DataModule1.Table1.FindKey([Edit1.text]);

For at finde alle forekomster skal din kode blot være:
datamodul.DataModule1.Table1.IndexName:='mitindex';
datamodul.DataModule1.Table1.SetRange([Edit1.text], [Edit1.text]);

Så simpelt er det.

DevDude




t