Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

Как искать по русски в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.035 c
4-1088416870
vertal
2004-06-28 14:01
2004.08.15
Передача управления другой программе без возврата


14-1090846183
ИМХО
2004-07-26 16:49
2004.08.15
Небольшой опрос


3-1090492217
AD_infiniTUM
2004-07-22 14:30
2004.08.15
Как правильно внести изменения в базу


1-1090887651
Valera
2004-07-27 04:20
2004.08.15
Использование OleContainer


1-1091177242
TUser
2004-07-30 12:47
2004.08.15
FindFirst/FindNext и скорость





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский