kosteek писал(а):- Код: Выделить всё
uses ...LConvEncoding, LazUTF8;
...
type
{ TForm1 }
TForm1 = class(TForm)
...
procedure AllText(Sender: TField; var AText: string; DisplayText: Boolean);
...
procedure TForm1.AllText(Sender: TField; var AText: string; DisplayText: Boolean);
begin
AText:= CP1251ToUTF8(Sender.AsString);
end;
procedure TForm1.Dbf1AfterOpen(DataSet: TDataSet);
var i:Integer;
begin
for i:=0 to Dbf1.Fields.Count-1 do
if Dbf1.Fields[i].DataType=ftString then
Dbf1.Fields[i].OnGetText:=@AllText;
end;
...
Таким образом конвертируется и показывается нормально. Но свойство filter работает почему то только с числами, а при попытке искать по тексту - не находит(((
Добавляю Edit1 и пишу обработчик:
- Код: Выделить всё
procedure TForm1.Edit1Change(Sender: TObject);
begin
Dbf1.Filtered:=false;
dbf1.Filter:='NAME='+'"'+Edit1.Text+'*"';
Dbf1.Filtered:=true;
end;
Если вводить числа то работает, если текст, то ничего не фильтрует...подозреваю что проблема в кодировке...может кто знает как решить проблему?