Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

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

 
Piter ©   (2004-06-29 20:53) [0]

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


 
Johnmen ©   (2004-06-29 23:35) [1]

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


 
Piter ©   (2004-06-29 23:38) [2]

Johnmen (29.06.04 23:35) [1]

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


 
Johnmen ©   (2004-06-29 23:55) [3]

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

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


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

Johnmen (29.06.04 23:55) [3]

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


 
Piter ©   (2004-07-01 23:20) [5]

Johnmen (29.06.04 23:55) [3]
?


 
Piter ©   (2004-07-05 15:20) [6]

Ау


 
Johnmen ©   (2004-07-05 15:51) [7]

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


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


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


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

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


 
Piter ©   (2004-07-06 18:55) [9]

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


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

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


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

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


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

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

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

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


 
Piter ©   (2004-07-13 01:38) [12]

Johnmen ©   (09.07.04 11:41) [11]

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


 
jack128 ©   (2004-07-13 02:07) [13]

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


 
Piter ©   (2004-07-13 17:04) [14]

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


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


 
jack128 ©   (2004-07-13 18:03) [15]

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

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


 
Piter ©   (2004-07-19 15:48) [16]

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


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

Johnmen ©   (29.06.04 23:55) [3]

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


 
Johnmen ©   (2004-07-19 17:33) [18]

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

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


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

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

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;



Страницы: 1 вся ветка

Текущий архив: 2004.08.15;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.041 c
3-1090226443
GanibalLector
2004-07-19 12:40
2004.08.15
синтаксис в ХП


6-1087196537
Separator
2004-06-14 11:02
2004.08.15
закачка на FTP


3-1090257058
pusrg
2004-07-19 21:10
2004.08.15
Ошибка при бекапе БД в FireBird


1-1091514577
Veetyok
2004-08-03 10:29
2004.08.15
Атрибуты в файле


3-1090299812
Tempo
2004-07-20 09:03
2004.08.15
Как узнать номер новой записи.