Cześć,
Mam prośbę o pomoc, pisze program na zaliczenie który operuje na bazie danych (plikowej - dBase), baza jest prosta, składa się z kolumn (Imie, Nazwisko, Pesel). Do programu chcę zaimplementować wyszukiwarkę, żeby szukała rekordów w DBGrid, i wyświetlała tam te które tylko pasują. Czy mógłbym prosić o pomoc? Dzięki
właściwość FILTER komponentu table :>
mam coś takiego:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
var
wpisane: string;
szukane: string;
begin
wpisane := Form1.Edit1.Text;
if wpisane <> then szukane := 'IMIE =
' + wpisane + `';
if szukane <> '' then
begin
myDbf.Filter := szukane;
myDbf.Filtered := True;
end;
end;
działa ok, ale:
1) wpisując jakies imię z polskimi znakami - nie wyświetla nic
2) jeżeli wpiszę Waldemar, potem skasuję to jak zrobić żeby wróciło do starej wersji tabeli
ensim napisał(a)
1) wpisując jakies imię z polskimi znakami - nie wyświetla nic
najprawdopodobniej kodowanie się nie zgadza (tabele w innym niż WIN1250)2) jeżeli wpiszę Waldemar, potem skasuję to jak zrobić żeby wróciło do starej wersji tabeli
myDbf.Filtered := False;
Misiekd, a w jaki sposób mogę sprawdzić w jakim kodowaniu są tabele, ew. jak przekonwertować na CP1250 ?,
Z wyszukiwaniem sobie poradziłem, nie rozumiem jeszcze w jaki sposób zrobić PartialSearch. Zebym jak wpiszę 'demar' żeby znalazło Waldemara, Odemara
zobacz '%demar%'
Niestety ale :
wpisane := '%'+Form1.Edit1.Text+'%';
nie pomaga, nie wyświetla żadnego rekordu. W czym może być problem?
brak koncepcji? czyli wychodzi na to że nie da się wyszukiwać w bazie DBF po części kolumny?
nie mam pojęcia, już próbowałem w różnoraki sposób, czy ma ktoś koncepcję w jaki sposób zrobić wyszukiwanie po cześci pola ?
Witam
Ja co prawda pisze w Lazarusie, ale w Delphi powinno być tak samo. U mnie działa w taki sposób:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
var
wpisane: string;
szukane: string;
begin
wpisane := Form1.Edit1.Text;
if wpisane <> '' then szukane := 'IMIE = ''*' + wpisane + '*''';
if szukane <> '' then
begin
myDbf.Filter := szukane;
myDbf.Filtered := True;
end;
end;
Pozdrawiam
Paweł Dmitruk