|
Тема
|
udf на Delphi
|
|
Автор | stupid_555 (Нерегистриран) |
Публикувано | 07.12.06 01:26 |
|
Привет!
Имам зор с писането на УДФ функция на Делфи, която да приема стринг и да го връща с главни букви. Тука имаше някаква особенност ама съм забравил.
Ако може някой да ми драсне една примерна но със стрингове ще съм благодарен.
| |
Тема
|
Re: udf на Delphi
[re: stupid_555]
|
|
Автор | Desso (Нерегистриран) |
Публикувано | 07.12.06 15:00 |
|
ANSIUpperCase(<string>) - върши същата работа, като работи и на кирилица...
| |
Тема
|
Re: udf на Delphi
[re: stupid_555]
|
|
Автор | nettle (Нерегистриран) |
Публикувано | 09.12.06 13:28 |
|
library myudf;
uses Windows, SysUtils;
{
DECLARE EXTERNAL FUNCTION MYUPCASE CSTRING(255) RETURNS CSTRING(255)
ENTRY_POINT 'MyUpCase' MODULE_NAME 'MYUDF'
}
function MyUpCase(aValue: PChar): PChar; cdecl; export;
begin
CharUpperBuff(aValue, Length(aValue));
Result:=aValue;
end;
exports MyUpCase;
begin
isMultiThread:=True;
end.
| |
|
Струва ми се, че нямаш нужда от udf за uppercase(). Във Firebird имаш внедрена upper функция. Ако не бачка с кирилицата, виж дали базата ти е създадена с default charset WIN1251. Ако не е - оправи я и не се чупи да пишеш udf-и, щото ако се наложи да си сложиш базата на линукс машина с Firebird, ще трябва да пишеш .so библиотека.
| |
|
Не си написал сървъра, за който е UDF-то (предполагам Firebird or Interbase), но в случая можеш да минеш и без удф. Не ти препоръчвам да се пишеш удф-та ако можеш да минеш без тях. Освен че ако минеш на линух трябва да пишеш .so, но са и доста "тънък" момент(може да си докараш 330 главоболия): http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_howto5
| |
|
|
|
|