![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как искать по русски в 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.