Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как искать по русски в Blob без учета регистра?


Piter ©   (2004-06-29 20:53:00) 

Может, есть какой-нибудь способ?
База Firebird Embedded


jack128   (2004-07-19 18:01:00) [1]

не хочешь учиться - не надо. У нас же меньше конкурентов будет при поиске работы.
что нить типа этого (не тестил)

type

THandle = Cardinal;

Tblob_get_segment = function(Blob_handle : THandle;
                             Buffer : Pointer;
                             Buffer_size : Longint;
                             var ActualBytes : Longint) : Longint;cdecl;

Tblob_put_segment = function(Blob_handle : THandle;
                             Buffer : Pointer;
                             Buffer_size : Longint) : Longint;cdecl;

PBlob = ^TBlob;

TBlob = record
   blob_get_segment : Tblob_get_segment;
   blob_handle : THandle;
   number_segments : longint ;
   max_seglen : longint ;
   total_size : longint ;
   blob_put_segment : Tblob_put_segment ;
end;

function PosStrInBlob(blob : PBlob; s: PChar;
  CaseInsensitive: PInteger) : integer; cdecl;export;
var
 ActualBytes : integer;
 Buffer : string;
begin
 SetLength(Buffer, blob^.max_seglen);
 blob.blob_get_segment(blob^.blob_handle,PChar(Buffer),
        blob^.max_seglen,ActualBytes);
 if ActualBytes <> blob^.max_seglen then
   Result := -1
 else
   if CaseInsensitive^ = 0 then
     Result := Pos(s, Buffer)
   else
     Result := Pos(UpperCase(s), UpperCase(Buffer));
end;


Johnmen   (2004-07-19 17:33:00) [2]

>Piter ©   (19.07.04 17:25) [17]

Ну прямо так, как хочешь, нету. Но есть функции работы с блобами.
Их можно задействовать, можно посмотреть реализацию...


Piter   (2004-07-19 17:25:00) [3]

Johnmen ©   (29.06.04 23:55) [3]

а как в BLOB с помощью RFUNC искать? Не понимаю... вроде там в описании ничего такого нету...


Piter   (2004-07-19 15:48:00) [4]

>Нужна библиотека, которая только и делает как ищет >русский текст в Блобах без учета регистра


jack128   (2004-07-13 18:03:00) [5]

ну что я те могу сказать. Плохо. Плохо не то, что ты не можешь написать, а то что ты не пытаешся это сделать. На ibase как всегда все расписано...

лично я никогда не использовал udf в своих приложениях, но такие вещи, коли ты работашь с IB знать нужно в обязательном порядке..


Piter   (2004-07-13 17:04:00) [6]

jack128 ©   (13.07.04 2:07) [13]
проще самому написать


мне не проще :(


jack128   (2004-07-13 02:07:00) [7]

проще самому написать... Заодно практика неплохая..


Piter   (2004-07-13 01:38:00) [8]

Johnmen ©   (09.07.04 11:41) [11]

непонятно какую UDF библиотеку взять. Нужна библиотека, которая только и делает как ищет русский текст в Блобах без учета регистра. А желательно, чтобы она еще и в Varchar искала без учета регистра, если даже у поля не выставлен CHARSET


Johnmen   (2004-07-09 11:41:00) [9]

>Piter ©   (09.07.04 11:38) [10]
> Народец! Ну помогите...

Типа мелкий что ли ? :)))

Чем же тебе помочь ? Про UDF уже сказали.
Что конкретно не получается ?


Piter   (2004-07-09 11:38:00) [10]

Народец! Ну помогите...


Piter   (2004-07-06 18:55:00) [11]

Vlad (05.07.04 16:12) [8]
> А не мог бы ты посоветовать какую-нибудь библиотеку, которая
> только и делает, что в UDF ищет?


блин, я хотел сказать

"которая только и делает, что в базе ищет"


Vlad   (2004-07-05 16:12:00) [12]


> Piter ©   (30.06.04 00:41) [4]


> А не мог бы ты посоветовать какую-нибудь библиотеку, которая
> только и делает, что в UDF ищет?

UDF это есть функция библиотеки, которая подключается к базе, и может использоваться в SQL выражениях


Johnmen   (2004-07-05 15:51:00) [13]

Да здесь я...:)
Что такое UDF уже знаешь ?


Piter   (2004-07-05 15:20:00) [14]

Ау


Piter   (2004-07-01 23:20:00) [15]

Johnmen (29.06.04 23:55) [3]
?


Piter   (2004-06-30 00:41:00) [16]

Johnmen (29.06.04 23:55) [3]

А не мог бы ты посоветовать какую-нибудь библиотеку, которая только и делает, что в UDF ищет?
Ну чтобы не увеличивать размер программы без надобности...


Johnmen   (2004-06-29 23:55:00) [17]

>Piter ©  (29.06.04 23:38) [2]

Ищи в инете библиотеки УДФ для ИБ. Я пользую RFUNC.
Ну и как обычно на ibase.ru :)


Piter   (2004-06-29 23:38:00) [18]

Johnmen (29.06.04 23:35) [1]

а можно ссылку на существующий UDF и как с ним работать? А то я про UDF слышал, но никогда с ним не работал. Или подробнее где-нибудь почитать на эту тему?


Johnmen   (2004-06-29 23:35:00) [19]

Есть. Написать свою или использовать существующую UDF.


Наверх

Титульная страница Поиск, карта сайта Написать письмо