FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Модератор: Модераторы

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 01.09.2008 15:09:26

Добавил файл с этими данными.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение Attid » 21.10.2008 18:46:15

alexs

мне кажется или в ЮТФ8 поиск по TFBDataSet.Locate(LocateField,searchstring,[loCaseInsensitive, loPartialKey]); не разу не регистро не независимый ? можешь глянуть ? или ты тут не виновен ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 21.10.2008 20:17:36

возможно - проверю
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение Vadim » 22.10.2008 08:19:28

alexs писал(а):надо дублировать на этом сайте мысли по работе с FBDataSet

Надо, очень надо. :)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 22.10.2008 11:11:18

вроде всё работает. По крайней мере в линухе.
Там использую для регистронезависимого сравнения функцию AnsiCompareText. Может где-либо она не верно работает (в винде)?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение Attid » 22.10.2008 12:26:08

ну в лине смогу только вечером проверить

Добавлено спустя 6 часов 33 минуты 12 секунд:
ага в лине пашет, для меня в принципе основной линух, так что это не так страшно,
завтра точно проверю по поводу работы в венде и пойду жаловаться в мантис и Максиму =)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 22.10.2008 20:00:29

В принципе можно добавить обёртку вокруг этого дела и сдать временно для винды сравнение через UTF8-процедуры в явном виде
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение Attid » 23.10.2008 11:24:39

если рускоезычное сообщество не исправит, то оно никогда не будет исправленно. завел баг 0012466.

в коде чего-то не пойму где концы =(
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 23.10.2008 12:22:51

если нужно - могу костыль для винды пока вставить
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение Attid » 23.10.2008 12:33:09

alexs писал(а):если нужно - могу костыль для винды пока вставить

погодь пока, лучше раскажи куда после
Код: Выделить всё
    CompareTextAnsiStringProc : function(const S1, S2: ansistring): PtrInt;


копать =), чет не пойму где это описываться должно =/
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 23.10.2008 13:58:50

как я понимаю - есть модуль корый подключает менеджер управления строками в винде. А вот что это за модуль - я ещё не искал. Еси найдёш - скажи.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение Attid » 23.10.2008 15:00:24

c:\FPC\2.2.2\fpcsrc\rtl\win\sysutils.pp

procedure InitWin32Widestrings;

widestringmanager.CompareTextAnsiStringProc:=@Win32AnsiCompareText;


function Win32AnsiCompareText(const S1, S2: string): PtrInt;
begin
result:=CompareString(LOCALE_USER_DEFAULT,NORM_IGNORECASE,pchar(s1),length(s1),
pchar(s2),length(s2))-2;
end;


function CompareString(Locale:LCID; dwCmpFlags:DWORD; lpString1:LPCSTR; cchCount1:longint; lpString2:LPCSTR;cchCount2:longint):longint; external 'kernel32' name 'CompareStringA';

что дальше не знаю =(
я так понимаю что надо CompareString заменить на что-то что работает с ЮТФ8

Добавлено спустя 8 минут 48 секунд:
а в лине так

Код: Выделить всё
function AnsiCompareText(const S1, S2: ansistring): PtrInt;
  var
    a, b: AnsiString;
  begin
    a:=UpperAnsistring(s1);
    b:=UpperAnsistring(s2);
    result:=StrCompAnsiIntern(pchar(a),pchar(b),length(a),length(b),true,true);
  end;


Добавлено спустя 12 минут 29 секунд:
сделал себе заплатку в fbmisc так

Код: Выделить всё
      if (loCaseInsensitive in Options) then
      {$IFDEF MSWINDOWS}
          Result := AnsiCompareText(UTF8UpperCase(S), UTF8UpperCase(S1)) = 0
      {$ELSE}
          Result := AnsiCompareText(S, S1) = 0
      {$ENDIF}
      else
        Result := AnsiCompareStr(S, S1) = 0;
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 23.10.2008 17:03:43

чуть-чуть развернул твой код - сделал временную дерективу. Можено скачивать с шаманграда.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение Attid » 22.11.2008 15:04:05

эксепшены показываются квадратикам. я так понимаю виноват сам UIB, но чет не пойму где он их хранит или откуда достает. не скажешь где глянуть ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение mak » 26.11.2008 19:33:02

Всем добрый день!
Принимайте нового пользователя FBDataset'а.
Естественно, вместе с вопросами :)
Насколько сыра последняя ревизия (20) из Svn ?
Под Delphi 7 сразу не скомпилировалась. Пришлось немного подправить исходники, просто чтобы установился пакет.
Но может там еще что-то в промежуточной стадии разработки ? Если так, то хотелось бы знать, что недоделано ?
Аватара пользователя
mak
новенький
 
Сообщения: 24
Зарегистрирован: 26.11.2008 18:14:07
Откуда: г.Обнинск

Пред.След.

Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru